From a89f9faebe6e90c5cf1faeb1d551825e0cb2a06d Mon Sep 17 00:00:00 2001 From: yanweiyuan3 <yanweiyuan3@gmail.com> Date: 星期四, 26 十月 2023 22:24:47 +0800 Subject: [PATCH] Create GlobalParameters --- _Main/BL/Type_GlobalParameters/Attribute_Address.qbl | 8 _Main/BL/Type_MacroPlan/StaticMethod_DoASync#253.qbl | 54 +- _Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlContent.def | 83 ++++ _Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl | 10 _Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl | 10 _Main/UI/MacroPlannerWebApp/Views/全局参数.vw | 351 +++++++++++++++++++ _Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_PanelGlobalParameters.def | 14 _Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnOk_OnClick.def | 15 _Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/_ROOT_Component_FormGlobalParameters.def | 18 + _Main/BL/Relations/Relation_GlobalParameters_GlobalOTDTable_GlobalOTDTable_GlobalParameters.qbl | 23 + _Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/_ROOT_Component_DialogGlobalParameters.def | 31 + _Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNew_OnClick.def | 2 _Main/BL/Type_GlobalParameters/_ROOT_Type_GlobalParameters.qbl | 10 _Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_ListGlobalParameters.def | 59 +++ _Main/BL/Type_GlobalParameters/StaticMethod_TestForApiRequest.qbl | 52 ++ _Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_ClickBtnOk.def | 19 + _Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlContent_IsApi_OnChanged.def | 18 + _Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_New.def | 15 _Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlActions.def | 40 ++ _Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl | 10 _Main/BL/Type_GlobalParameters/Attribute_PostRequestBody.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listContextMenuGlobalParameters.def | 46 ++ _Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuDelete_OnClick.def | 19 + _Main/BL/Type_GlobalParameters/Attribute_AttributeName.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuNew_OnClick.def | 18 + _Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan#127.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuEdit_OnClick.def | 20 + _Main/BL/Type_GlobalParameters/Attribute_AttributeValue.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_Edit.def | 17 _Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listActionBarPageGlobalParameters.def | 10 _Main/BL/Type_GlobalParameters/Attribute_Port.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnCancel_OnClick.def | 15 34 files changed, 986 insertions(+), 61 deletions(-) diff --git a/_Main/BL/Relations/Relation_GlobalParameters_GlobalOTDTable_GlobalOTDTable_GlobalParameters.qbl b/_Main/BL/Relations/Relation_GlobalParameters_GlobalOTDTable_GlobalOTDTable_GlobalParameters.qbl new file mode 100644 index 0000000..05afed6 --- /dev/null +++ b/_Main/BL/Relations/Relation_GlobalParameters_GlobalOTDTable_GlobalOTDTable_GlobalParameters.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation GlobalParameters_GlobalOTDTable_GlobalOTDTable_GlobalParameters +{ + #keys: '1[412960.0.369930029]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[412960.0.369930031][412960.0.369930030][412960.0.369930032]' + Cardinality: '0to1' + ObjectDefinition: GlobalParameters + OwningSide: 'Reference' + } + RelationSide.RightSide GlobalParameters + { + #keys: '3[412960.0.369930034][412960.0.369930033][412960.0.369930035]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git "a/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan\043127.qbl" "b/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan\043127.qbl" index 12a5633..66ff081 100644 --- "a/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan\043127.qbl" +++ "b/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan\043127.qbl" @@ -101,14 +101,6 @@ Global_MappingOperationCost::SynchronizeMacroPlanData( this, macroPlan, executionUser, businessTypes, organcodelist ); } - //if ( isDOI_DSI ) { - // Global_MappingDOI_DSI::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_DOI_DSI" ); - //} - // - //if ( isCustomerGrade ) { - // Global_MappingCustomerGrade::SynchronizeInterfaceData( this, executionUser, "GlobalOTDTable_CustomerGrade" ); - //} - if ( isStockingPoint_MP ) { Global_MappingStockingPoint_MP::SynchronizeMacroPlanData( this, macroPlan, executionUser ); } diff --git a/_Main/BL/Type_GlobalParameters/Attribute_Address.qbl b/_Main/BL/Type_GlobalParameters/Attribute_Address.qbl new file mode 100644 index 0000000..f2e1fe6 --- /dev/null +++ b/_Main/BL/Type_GlobalParameters/Attribute_Address.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Address +{ + #keys: '3[412960.0.369930086][412960.0.369930085][412960.0.369930087]' + Description: 'Api浣跨敤鐨勫湴鍧�' + ValueType: String +} diff --git a/_Main/BL/Type_GlobalParameters/Attribute_AttributeName.qbl b/_Main/BL/Type_GlobalParameters/Attribute_AttributeName.qbl new file mode 100644 index 0000000..85f6698 --- /dev/null +++ b/_Main/BL/Type_GlobalParameters/Attribute_AttributeName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute AttributeName +{ + #keys: '3[412960.0.369930046][412960.0.369930045][412960.0.369930047]' + Description: '鍙橀噺鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_GlobalParameters/Attribute_AttributeValue.qbl b/_Main/BL/Type_GlobalParameters/Attribute_AttributeValue.qbl new file mode 100644 index 0000000..378b5e3 --- /dev/null +++ b/_Main/BL/Type_GlobalParameters/Attribute_AttributeValue.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute AttributeValue +{ + #keys: '3[412960.0.369930056][412960.0.369930055][412960.0.369930057]' + Description: '鍙橀噺鍊�' + ValueType: String +} diff --git a/_Main/BL/Type_GlobalParameters/Attribute_Port.qbl b/_Main/BL/Type_GlobalParameters/Attribute_Port.qbl new file mode 100644 index 0000000..29658ab --- /dev/null +++ b/_Main/BL/Type_GlobalParameters/Attribute_Port.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Port +{ + #keys: '3[412960.0.369930066][412960.0.369930065][412960.0.369930067]' + Description: 'Api浣跨敤鐨勭鍙�' + ValueType: String +} diff --git a/_Main/BL/Type_GlobalParameters/Attribute_PostRequestBody.qbl b/_Main/BL/Type_GlobalParameters/Attribute_PostRequestBody.qbl new file mode 100644 index 0000000..c1fe72b --- /dev/null +++ b/_Main/BL/Type_GlobalParameters/Attribute_PostRequestBody.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PostRequestBody +{ + #keys: '3[412960.0.369930076][412960.0.369930075][412960.0.369930077]' + Description: 'Api浣跨敤鐨刾ost body' + ValueType: String +} diff --git a/_Main/BL/Type_GlobalParameters/StaticMethod_TestForApiRequest.qbl b/_Main/BL/Type_GlobalParameters/StaticMethod_TestForApiRequest.qbl new file mode 100644 index 0000000..90a2a45 --- /dev/null +++ b/_Main/BL/Type_GlobalParameters/StaticMethod_TestForApiRequest.qbl @@ -0,0 +1,52 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod TestForApiRequest ( + GlobalOTDTable owner +) +{ + TextBody: + [* + // Administrator Oct-26-2023 (created) + info( "Sales Segment Finished, Start Get StockingPoint From Api" ) + bodynumber := "2"; + postrequestbody := JSON::Object() + .Add( "serviceInterfaceCode", "ESBOTDH000" + bodynumber ) + .Add( "fromSystemCode", "OTDH000" + bodynumber ) + .Add( "toInterfaceCode", "QIDH000" + bodynumber ) + .Add( "ouZone", "OU_TMSH" ) + .Add( "uuid", "1617355496bb588e353e80147eea5f45" ) + .Add( "requestTime", DateTime::Now().Format( "Y-M2-D2 H:m:s" ) ) + .Add( "dataType", "JSON" ) + .Add( "data", JSON::Object() + .Add( "pageIndex", "1" ) ).Build(); + + info( DateTime::Now().Format( "Y-M2-D2 H:m:s" ) ); + postrequestbodystring := postrequestbody.AsString(); + info( postrequestbodystring ); + + parameter := select( owner, GlobalParameters, param, param.AttributeName() = "test" ); + body := parameter.PostRequestBody(); + address := parameter.Address(); + url := parameter.AttributeValue(); + port := [Number]parameter.Port(); + + // for HTTPS requests: + i := HTTPInterface::Create( address, port); + //i := HTTPInterface::Create( address ,443); + info( address, url, port, body ); + + i.URL(url); + i.SSL(false); + //i.SSL(true); + //i.SSLKeystore('MyKeystore'); // created in the Config Utility + + i.PostMethod(true); //it's a POST method + + i.Call(body); // Call's argument is for POST method's content. + htmlresult := i.Result(); + info( htmlresult ); + + htmlresponse := JSON::Parse( htmlresult ); + info( htmlresponse ); + *] +} diff --git a/_Main/BL/Type_GlobalParameters/_ROOT_Type_GlobalParameters.qbl b/_Main/BL/Type_GlobalParameters/_ROOT_Type_GlobalParameters.qbl new file mode 100644 index 0000000..7496bd1 --- /dev/null +++ b/_Main/BL/Type_GlobalParameters/_ROOT_Type_GlobalParameters.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type GlobalParameters +{ + #keys: '5[412960.0.369930026][412960.0.369930024][0.0.0][412960.0.369930025][412960.0.369930027]' + BaseType: Object + Description: '鍏ㄥ眬鍙傛暟' + StructuredName: 'GlobalParameterss' +} diff --git a/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl index e3b0e63..c8828b9 100644 --- a/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl +++ b/_Main/BL/Type_Global_MappingCurrencyRate_MP/StaticMethod_CreateByAPI.qbl @@ -8,11 +8,11 @@ [* globalOTDTable.Global_MappingCurrencyRate_MP( relflush ); - bodynumber := "5"; - postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber ); - address := "api-uat-sgc.tianma.cn"; - url := "/otdService/https/GetCurrencyRatesInfo"; - port := 443; + parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "CurrencyRates" ); + postrequestbody := parameter.PostRequestBody(); + address := parameter.Address(); + url := parameter.AttributeValue(); + port := [Number]parameter.Port(); i := HTTPInterface::Create( address, port); i.URL( url ); i.SSL( true ); diff --git a/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl index 2480088..cf9ba2f 100644 --- a/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl +++ b/_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl @@ -8,11 +8,11 @@ [* globalOTDTable.Global_MappingCurrency_MP( relflush ); - bodynumber := "1"; - postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber ); - address := "api-uat-sgc.tianma.cn"; - url := "/otdService/https/GetCurrenciesInfo"; - port := 443; + parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "CurrencyInfo" ); + postrequestbody := parameter.PostRequestBody(); + address := parameter.Address(); + url := parameter.AttributeValue(); + port := [Number]parameter.Port(); i := HTTPInterface::Create( address, port); i.URL( url ); i.SSL( true ); diff --git a/_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl index e46efd6..d1f365c 100644 --- a/_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl +++ b/_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl @@ -8,11 +8,11 @@ [* globalOTDTable.Global_MappingLane( relflush ); - bodynumber := "3"; - postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber ); - address := "api-uat-sgc.tianma.cn"; - url := "/otdService/https/GetLanesInfo"; - port := 443; + parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "Lanes" ); + postrequestbody := parameter.PostRequestBody(); + address := parameter.Address(); + url := parameter.AttributeValue(); + port := [Number]parameter.Port(); i := HTTPInterface::Create( address, port); i.URL( url ); i.SSL( true ); diff --git a/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl index 7899f6e..ad5182b 100644 --- a/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl +++ b/_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl @@ -8,11 +8,11 @@ [* globalOTDTable.Global_MappingLaneLeg( relflush ); - bodynumber := "4"; - postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber ); - address := "api-uat-sgc.tianma.cn"; - url := "/otdService/https/GetLaneLegsInfo"; - port := 443; + parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "LaneLegs" ); + postrequestbody := parameter.PostRequestBody(); + address := parameter.Address(); + url := parameter.AttributeValue(); + port := [Number]parameter.Port(); i := HTTPInterface::Create( address, port); i.URL( url ); i.SSL( true ); diff --git a/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl b/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl index 4901d0a..749075f 100644 --- a/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl +++ b/_Main/BL/Type_Global_MappingStockingPoint_MP/StaticMethod_CreateByAPI.qbl @@ -8,11 +8,11 @@ [* globalOTDTable.Global_MappingStockingPoint_MP( relflush ); - bodynumber := "2"; - postrequestbody := globalOTDTable.ApiBuildPostRequestBody( bodynumber ); - address := "api-uat-sgc.tianma.cn"; - url := "/otdService/https/GetStockingPointsInfo"; - port := 443; + parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "StockingPoint" ); + postrequestbody := parameter.PostRequestBody(); + address := parameter.Address(); + url := parameter.AttributeValue(); + port := [Number]parameter.Port(); i := HTTPInterface::Create( address, port); i.URL( url ); i.SSL( true ); diff --git "a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl" "b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl" index 50f6bc7..ac04bdd 100644 --- "a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl" +++ "b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl" @@ -45,31 +45,31 @@ // 搴撳瓨鐐�-3 info( "Sales Segment Finished, Start Get StockingPoint From Api" ) - bodynumber := "2"; - postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); - address := "api-uat-sgc.tianma.cn"; - url := "/otdService/https/GetStockingPointsInfo"; - port := 443; + parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "StockingPoint" ); + postrequestbody := parameter.PostRequestBody(); + address := parameter.Address(); + url := parameter.AttributeValue(); + port := [Number]parameter.Port(); data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); macroPlan.ApiStockingPointData( data ); // 璐у竵淇℃伅-4 info( "Get StockingPoint From Api Finished, Start Get CurrencyInfo From Api" ) - bodynumber := "1"; - postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); - address := "api-uat-sgc.tianma.cn"; - url := "/otdService/https/GetCurrenciesInfo"; - port := 443; + parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "CurrencyInfo" ); + postrequestbody := parameter.PostRequestBody(); + address := parameter.Address(); + url := parameter.AttributeValue(); + port := [Number]parameter.Port(); data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); macroPlan.ApiCurenciesData( data ); //璐у竵姹囩巼淇℃伅-5 info( "Get CurrencyInfo From Api Finished, Start Get CurrencyRates From Api" ) - bodynumber := "5"; - postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); - address := "api-uat-sgc.tianma.cn"; - url := "/otdService/https/GetCurrencyRatesInfo"; - port := 443; + parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "CurrencyRates" ); + postrequestbody := parameter.PostRequestBody(); + address := parameter.Address(); + url := parameter.AttributeValue(); + port := [Number]parameter.Port(); data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); macroPlan.ApiCurencyRatesData( data ); @@ -93,21 +93,21 @@ //杞﹂亾淇℃伅-10 info( "BOM Finished, Start Get Lanes From Api" ); - bodynumber := "3"; - postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); - address := "api-uat-sgc.tianma.cn"; - url := "/otdService/https/GetLanesInfo"; - port := 443; + parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "Lanes" ); + postrequestbody := parameter.PostRequestBody(); + address := parameter.Address(); + url := parameter.AttributeValue(); + port := [Number]parameter.Port(); data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); macroPlan.ApiLanesData( data ); //杞﹂亾杩愯緭娈�-11 info( "Get Lanes From Api Finished, Start Get LaneLegs From Api" ); - bodynumber := "4"; - postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber ); - address := "api-uat-sgc.tianma.cn"; - url := "/otdService/https/GetLaneLegsInfo"; - port := 443; + parameter := select( globalOTDTable, GlobalParameters, param, param.AttributeName() = "LaneLegs" ); + postrequestbody := parameter.PostRequestBody(); + address := parameter.Address(); + url := parameter.AttributeValue(); + port := [Number]parameter.Port(); data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody ); macroPlan.ApiLaneLegsData( data ); @@ -115,7 +115,7 @@ //info( "Get Lanelegs From Api Finished, Start ProductInLane Data Broker" ); //macroPlan.Broker_OTD_ProductInLane().Execute(); info( "ProductInLane Data Broker Finished, Start ProductInLane Mapping" ); - macroPlan.DoASyncMappingProductInLaneData(globalOTDTable,businessTypeName); + macroPlan.DoASyncMappingProductInLaneData(globalOTDTable,guard( businessTypeName.Element( 0 ), "" )); // 鍦ㄥ簱搴撳瓨鏁版嵁-13 //info( "ProductInLane Finished, Start ActualPISPIP Data Broker" ); @@ -130,7 +130,7 @@ macroPlan.DoASyncMappingExternalSupplyData( businessTypeName, isKeyProduct ,globalOTDTable, organcodelist ); // 搴撳瓨鎴愭湰-15 - InventoryValueAndCost::DoASync( macroPlan,globalOTDTable, businessTypeName ); + InventoryValueAndCost::DoASync( macroPlan,globalOTDTable,guard( businessTypeName.Element( 0 ), "" ) ); // todo 鍒堕�犳垚鏈�-16 info( "InventoryCost Finished, Start OperationCost Mapping" ); diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlActions.def new file mode 100644 index 0000000..aa8f552 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlActions.def @@ -0,0 +1,40 @@ +Quintiq file version 2.0 +Component pnlActions +{ + #keys: '[412960.0.370310585]' + BaseType: 'WebPanel' + Children: + [ + Component btnOk + { + #keys: '[412960.0.370310589]' + BaseType: 'WebButton' + Properties: + [ + Label: 'OK' + Taborder: 0 + ] + } + Component btnCancel + { + #keys: '[412960.0.370310591]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Cancel' + Taborder: 1 + ] + } + ] + Properties: + [ + Alignment: 'trailing' + Border: true + ExcludeFromActiveComponent: true + FixedSize: true + Orientation: 'horizontal' + Padding: 'true' + Style: 'footer' + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlContent.def new file mode 100644 index 0000000..8474857 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlContent.def @@ -0,0 +1,83 @@ +Quintiq file version 2.0 +Component pnlContent +{ + #keys: '[412960.0.370310583]' + BaseType: 'WebPanel' + Children: + [ + Component editAttributeName + { + #keys: '[412960.0.370311392]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderGlobalParameters.Data.AttributeName' + Label: '鍙傛暟鍚嶇О' + Taborder: 1 + ] + } + Component editAttributeValue + { + #keys: '[412960.0.370311429]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderGlobalParameters.Data.AttributeValue' + Label: '鍙傛暟鍊�' + Taborder: 2 + ] + } + Component editAddress + { + #keys: '[412960.0.370311489]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderGlobalParameters.Data.Address' + Label: 'Api鍦板潃' + Taborder: 3 + Visible: false + ] + } + Component editPort + { + #keys: '[412960.0.370311527]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderGlobalParameters.Data.Port' + Label: 'Api绔彛鍙�' + Taborder: 4 + Visible: false + ] + } + Component editPostRequestBody + { + #keys: '[412960.0.370311577]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderGlobalParameters.Data.PostRequestBody' + Label: 'Api璇锋眰涓讳綋' + Taborder: 5 + Visible: false + ] + } + Component IsApi + { + #keys: '[412960.0.370311617]' + BaseType: 'WebCheckbox' + Properties: + [ + Description: '鏄惁涓篈PI鐩稿叧鍙傛暟' + Label: 'API閰嶇疆' + Taborder: 0 + ] + } + ] + Properties: + [ + Padding: 'true' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_ClickBtnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_ClickBtnOk.def new file mode 100644 index 0000000..afdf6c4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_ClickBtnOk.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: #root +Method ClickBtnOk () id:Method_DialogGlobalParameters_ClickBtnOk +{ + #keys: '[412960.0.370310978]' + Body: + [* + // Disabled button to prevent the possibility of multiple firing + + btnOk.Enabled(false,''); + + // OnOk + this.ApplyChanges(); + + DataHolderGlobalParameters.Data().Commit(); + + this.Close(); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_Edit.def new file mode 100644 index 0000000..338ca9c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_Edit.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Method Edit ( + GlobalParameters selection +) id:Method_DialogGlobalParameters_Edit +{ + #keys: '[412960.0.370310979]' + Body: + [* + // Edits assumption + data := shadow( selection ); + + DataHolderGlobalParameters.Data( &data ); + + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_New.def new file mode 100644 index 0000000..047b889 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_New.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: #root +Method New ( + GlobalOTDTable owner +) id:Method_DialogGlobalParameters_New +{ + #keys: '[412960.0.370310981]' + Body: + [* + data := owner.GlobalParameters(relshadow); + DataHolderGlobalParameters.Data( &data); + + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnCancel_OnClick.def new file mode 100644 index 0000000..ee5b753 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnCancel_OnClick.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnCancel +Response OnClick () id:Response_pnlActions_btnCancel_OnClick +{ + #keys: '[412960.0.370310595]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnOk_OnClick.def new file mode 100644 index 0000000..235dbb5 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnOk_OnClick.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnOk +Response OnClick () id:Response_pnlActions_btnOk_OnClick +{ + #keys: '[412960.0.370310594]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.ClickBtnOk() + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlContent_IsApi_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlContent_IsApi_OnChanged.def new file mode 100644 index 0000000..20929e5 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlContent_IsApi_OnChanged.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: pnlContent/IsApi +Response OnChanged () id:Response_pnlContent_IsApi_OnChanged +{ + #keys: '[412960.0.370311653]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebCheckbox_OnChanged' + GroupServerCalls: true + QuillAction + { + Body: + [* + editAddress.Visible( this.Checked() ); + editPort.Visible( this.Checked() ); + editPostRequestBody.Visible( this.Checked() ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/_ROOT_Component_DialogGlobalParameters.def b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/_ROOT_Component_DialogGlobalParameters.def new file mode 100644 index 0000000..a898ae5 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/_ROOT_Component_DialogGlobalParameters.def @@ -0,0 +1,31 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent DialogGlobalParameters +{ + #keys: '[412960.0.370310581]' + BaseType: 'WebForm' + Children: + [ + #child: pnlContent + #child: pnlActions + Component DataHolderGlobalParameters + { + #keys: '[412960.0.370311111]' + BaseType: 'WebDataHolder' + Databinding: 'shadow[GlobalParameters]*' + Properties: + [ + Taborder: 2 + ] + } + ] + Properties: + [ + Alignment: 'trailing' + EnterButton: 'btnOk' + EscapeButton: 'btnCancel' + ExcludeFromActiveComponent: true + Padding: 'false' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNew_OnClick.def index f81f38b..7c48b5a 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNew_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_MenuNew_OnClick.def @@ -2,7 +2,7 @@ #parent: ListBusinessType Response OnClick () id:Response_ListBusinessType_MenuNew_OnClick { - #keys: '[414382.0.377975353]' + #keys: '[412960.0.373110863]' CanBindMultiple: false DefinitionID => /ListBusinessType/Responsedef_ListBusinessType_WebMenu_OnClick GroupServerCalls: true diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_ListGlobalParameters.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_ListGlobalParameters.def new file mode 100644 index 0000000..18364b4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_ListGlobalParameters.def @@ -0,0 +1,59 @@ +Quintiq file version 2.0 +Component ListGlobalParameters +{ + #keys: '[412960.0.370311764]' + BaseType: 'WebList' + Children: + [ + Component DataExtractorGlobalParameters + { + #keys: '[412960.0.370311765]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' + Taborder: 0 + Transformation: 'GlobalParameters' + ] + } + #child: listActionBarPageGlobalParameters + Component DataSetLevelGlobalParameters + { + #keys: '[412960.0.370311770]' + BaseType: 'WebDataSetLevel' + Children: + [ + #child: listContextMenuGlobalParameters + ] + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AttributeName","title":"AttributeName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"AttributeName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AttributeValue","title":"AttributeValue","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"AttributeValue"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Address","title":"Address","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Address"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Port","title":"Port","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Port"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PostRequestBody","title":"PostRequestBody","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PostRequestBody"}}]' + ContextMenu: 'listContextMenuGlobalParameters' + Taborder: 2 + ] + } + ] + Properties: + [ + Taborder: 0 + ] + ResponseDefinitions: + [ + DelegatedResponseDefinition OnClick id:Responsedef_ListGlobalParameters_WebMenu_OnClick + { + #keys: '[412960.0.373111120]' + Initiator: 'WebMenu' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selection + { + #keys: '[693.0.13162755]' + Binding: 'this.Selection()' + } + ] + } + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_PanelGlobalParameters.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_PanelGlobalParameters.def new file mode 100644 index 0000000..dd6186c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_PanelGlobalParameters.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component PanelGlobalParameters +{ + #keys: '[412960.0.370311750]' + BaseType: 'WebPanel' + Children: + [ + #child: ListGlobalParameters + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listActionBarPageGlobalParameters.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listActionBarPageGlobalParameters.def new file mode 100644 index 0000000..5d480f6 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listActionBarPageGlobalParameters.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listActionBarPageGlobalParameters +{ + #keys: '[412960.0.370311767]' + BaseType: 'listActionBarPage' + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listContextMenuGlobalParameters.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listContextMenuGlobalParameters.def new file mode 100644 index 0000000..4750b4a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listContextMenuGlobalParameters.def @@ -0,0 +1,46 @@ +Quintiq file version 2.0 +Component listContextMenuGlobalParameters +{ + #keys: '[412960.0.370311772]' + BaseType: 'listContextMenu' + Children: + [ + Component MenuNew id:MenuNew_21 + { + #keys: '[412960.0.370312224]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'ADD2' + Taborder: 3 + Title: 'New' + ] + } + Component MenuEdit id:MenuEdit_368 + { + #keys: '[412960.0.370312277]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'PENCIL' + Taborder: 4 + Title: 'Edit' + ] + } + Component MenuDelete id:MenuDelete_832 + { + #keys: '[412960.0.370312355]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'DELETE' + Taborder: 5 + Title: 'Delete' + ] + } + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuDelete_OnClick.def new file mode 100644 index 0000000..f68b43c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuDelete_OnClick.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: ListGlobalParameters +Response OnClick ( + GlobalParameters selection +) id:Response_ListGlobalParameters_MenuDelete_OnClick +{ + #keys: '[412960.0.373113087]' + CanBindMultiple: false + DefinitionID => /ListGlobalParameters/Responsedef_ListGlobalParameters_WebMenu_OnClick + GroupServerCalls: true + Initiator: 'MenuDelete' + QuillAction + { + Body: + [* + selection.Delete(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuEdit_OnClick.def new file mode 100644 index 0000000..6094065 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuEdit_OnClick.def @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: ListGlobalParameters +Response OnClick ( + GlobalParameters selection +) id:Response_ListGlobalParameters_MenuEdit_OnClick +{ + #keys: '[412960.0.373112994]' + CanBindMultiple: false + DefinitionID => /ListGlobalParameters/Responsedef_ListGlobalParameters_WebMenu_OnClick + GroupServerCalls: true + Initiator: 'MenuEdit' + QuillAction + { + Body: + [* + dlg := construct( DialogGlobalParameters ); + dlg.Edit( selection ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuNew_OnClick.def new file mode 100644 index 0000000..a222fe1 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuNew_OnClick.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: ListGlobalParameters +Response OnClick () id:Response_ListGlobalParameters_MenuNew_OnClick +{ + #keys: '[412960.0.373111139]' + CanBindMultiple: false + DefinitionID => /ListGlobalParameters/Responsedef_ListGlobalParameters_WebMenu_OnClick + GroupServerCalls: true + Initiator: 'MenuNew' + QuillAction + { + Body: + [* + dlg := construct( DialogGlobalParameters ); + dlg.New( GlobalOTDTable ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/_ROOT_Component_FormGlobalParameters.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/_ROOT_Component_FormGlobalParameters.def new file mode 100644 index 0000000..a193e5c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/_ROOT_Component_FormGlobalParameters.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormGlobalParameters +{ + #keys: '[412960.0.367611841]' + BaseType: 'WebForm' + Children: + [ + #child: PanelGlobalParameters + ] + Properties: + [ + Description: '瀛樻斁鍚勭被鍏ㄥ眬鍙傛暟锛岀洰鍓嶄粎鍖呭惈API鐩稿叧' + Image: 'EARTH2' + Title: 'Global Parameters' + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\345\205\250\345\261\200\345\217\202\346\225\260.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\345\205\250\345\261\200\345\217\202\346\225\260.vw" new file mode 100644 index 0000000..3e9b9c2 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Views/\345\205\250\345\261\200\345\217\202\346\225\260.vw" @@ -0,0 +1,351 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_legacy_1 + { + title: 'Scenario manager' + shown: true + componentID: 'FormScenarioManager' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 8 + columnPosition: 1 + columnSpan: 5 + } + components + { + FormScenarioManager_ListScenario + { + } + FormScenarioManager_DataSetLevelScenario + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 90 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: '鍚嶇О' + index: 1 + subtotals: '' + width: 277 + } + column_ChangedBy + { + columnId: 'ChangedBy' + dataPath: 'ChangedBy' + dataType: 'string' + title: 'Changed by' + index: 2 + subtotals: '' + width: 106 + } + column_ChangedOn + { + columnId: 'ChangedOn' + dataPath: 'ChangedOn' + dataType: 'datetime' + title: 'Changed on' + index: 3 + subtotals: '' + width: 99 + } + column_StorageMode + { + columnId: 'StorageMode' + dataPath: 'StorageMode' + dataType: 'string' + title: 'StorageMode' + index: 4 + subtotals: '' + width: 40 + } + } + } + } + form_legacy_2 + { + title: 'Assumptions' + shown: true + componentID: 'FormAssumptions' + layout + { + mode: 'open' + rowPosition: 9 + rowSpan: 8 + columnPosition: 1 + columnSpan: 5 + } + components + { + FormAssumptions_ListAssumptions + { + } + FormAssumptions_DataSetLevelAssumptions + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Category + { + columnId: 'Category' + dataPath: 'Category' + dataType: 'string' + title: '绫诲埆' + index: 1 + subtotals: '' + width: 108 + } + column_Importance + { + columnId: 'Importance' + dataPath: 'Importance' + dataType: 'string' + title: '閲嶈鎬�' + index: 2 + subtotals: '' + width: 110 + } + column_Title + { + columnId: 'Title' + dataPath: 'Title' + dataType: 'string' + title: '鏍囬' + index: 3 + subtotals: '' + width: 150 + } + column_ChangedBy + { + columnId: 'ChangedBy' + dataPath: 'ChangedBy' + dataType: 'string' + title: 'Changed by' + index: 4 + subtotals: '' + width: 150 + } + column_CreatedOn + { + columnId: 'CreatedOn' + dataPath: 'CreatedOn' + dataType: 'datetime' + title: 'Created on' + index: 5 + subtotals: '' + width: 150 + } + } + } + } + form_FormScenariosKPIsComparison + { + title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison' + shown: true + componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 16 + columnPosition: 6 + columnSpan: 7 + } + components + { + FormScenariosKPIsComparison_MatrixEditorFinancialKPIs + { + gridColor: '#c4c4c4' + totalHeaderWidth: 200 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs' + state + { + cells + { + attributes + { + attribute_DisplayValue + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'DisplayValue' + } + } + } + columns + { + sorting + { + criteria: '' + } + } + rows + { + sorting + { + criteria: "datamember:'KPISetting.DisplayIndex'" + } + } + } + } + } + } + } + form_FormOptimizerPuzzles + { + title: 'Optimizer Puzzles' + shown: false + componentID: 'FormOptimizerPuzzles' + layout + { + mode: 'dockright' + index: 0 + } + components + { + FormOptimizerPuzzles_ListOptimizerPuzzles + { + } + FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: '鍚嶇О' + index: 1 + subtotals: '' + width: 109 + } + column_Description + { + columnId: 'Description' + dataPath: 'Description' + dataType: 'string' + title: '鎻忚堪' + index: 2 + subtotals: '' + width: 207 + } + } + } + } + form_FormKPI + { + title: 'KPI Dashboard' + shown: true + componentID: 'FormKPI' + layout + { + mode: 'dockright' + index: 1 + } + components + { + FormKPI_PanelKPI + { + sizeRatio: 1 + activeChild: 'PanelKPISelection' + } + FormKPI_PanelKPIDashboard + { + sizeRatio: 1 + } + FormKPI_PanelKPISelection + { + sizeRatio: 1 + } + FormKPI_ListKPISelection + { + QuillViewData + { + Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' + } + } + FormKPI_DataSetLevelKPISelection + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: '鍚嶇О' + index: 1 + subtotals: '' + width: 200 + } + } + } + } + } + userconfigurableinformation + { + } + page: 'applicationDevelopmentActionBarPageDef' + group: '' + index: 4 + image: 'EARTH2' + description: '' + } + formatversion: 2 + id: '鍏ㄥ眬鍙傛暟' + name: '鍏ㄥ眬鍙傛暟' + isglobal: false + isroot: true +} -- Gitblit v1.9.3