From 96c87053c9646462cb85af73fe01a3cae4ed1848 Mon Sep 17 00:00:00 2001
From: chaiyunying <chaiyunying>
Date: 星期一, 30 十月 2023 14:25:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev'
---
_Main/BL/Type_GlobalParameters/Attribute_Address.qbl | 8
_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl | 7
_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl | 4
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def | 3
_Main/BL/Type_Global_MappingLaneLeg/StaticMethod_CreateByAPI.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def | 2
_Main/BL/Type_Global_MappingLane/StaticMethod_CreateByAPI.qbl | 10
_Main/UI/MacroPlannerWebApp/Views/全局参数.vw | 351 +++++++++++++
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged#613.def | 3
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/_ROOT_Component_FormGlobalParameters.def | 18
_Main/BL/Relations/Relation_GlobalParameters_GlobalOTDTable_GlobalOTDTable_GlobalParameters.qbl | 23
_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl | 16
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/_ROOT_Component_DialogGlobalParameters.def | 31 +
_Main/BL/Type_GlobalParameters/_ROOT_Type_GlobalParameters.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_listContextMenuGlobalParameters_MenuInitial_OnClick.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_ListGlobalParameters.def | 59 ++
_Main/BL/Type_GlobalParameters/StaticMethod_TestForApiRequest.qbl | 172 ++++++
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_ClickBtnOk.def | 19
_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl | 7
_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/BL/Type_GlobalParameters/Attribute_AttributeName.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def | 2
_Main/UI/MacroPlannerWebApp/Views/PR_DATA.vw | 204 +++++++
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuEdit_OnClick.def | 20
_Main/BL/Type_GlobalParameters/Attribute_AttributeValue.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral#549.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listActionBarPageGlobalParameters.def | 10
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlActions_btnCancel_OnClick.def | 15
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def | 2
_Main/BL/Type_MacroPlan/StaticMethod_DoASync#253.qbl | 54 +-
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Component_pnlContent.def | 83 +++
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_PanelGlobalParameters.def | 14
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_TIANMA_JITUAN_PanelGeneral_549_dsPlanningStart_OnCreated.def | 16
_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_Form367/Response_ListBusinessType_MenuNew_OnClick.def | 2
_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn#56.qbl | 0
_Main/BL/Type_Global_MappingCurrency_MP/StaticMethod_CreateByAPI.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Response_pnlContent_IsApi_OnChanged.def | 18
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listContextMenuGlobalParameters.def | 57 ++
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuDelete_OnClick.def | 19
/dev/null | 18
_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_ListGlobalParameters_MenuNew_OnClick.def | 18
_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan#127.qbl | 8
_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl | 12
_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl | 12
_Main/UI/MacroPlannerWebApp/Component_DialogGlobalParameters/Method_Edit.def | 17
_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl | 53 +
_Main/BL/Type_GlobalParameters/Attribute_Port.qbl | 8
52 files changed, 1,463 insertions(+), 102 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..c10cd30
--- /dev/null
+++ b/_Main/BL/Type_GlobalParameters/StaticMethod_TestForApiRequest.qbl
@@ -0,0 +1,172 @@
+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 );
+
+ info( "Init StockingPoint For Api" )
+ existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "StockingPoint" );
+ if( not isnull( existparameter ) ){
+ existparameter.Delete();
+ }
+ spparameter := owner.GlobalParameters( relnew );
+ spparameter.AttributeName( "StockingPoint" );
+ spparameter.AttributeValue( "/otdService/https/GetStockingPointsInfo" );
+ spparameter.Address( "api-uat-sgc.tianma.cn" );
+ spparameter.Port( "443" );
+ 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();
+ postrequestbodystring := postrequestbody.AsString();
+ spparameter.PostRequestBody( postrequestbodystring );
+
+ info( "Init CurrencyInfo For Api" )
+ existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "CurrencyInfo" );
+ if( not isnull( existparameter ) ){
+ existparameter.Delete();
+ }
+ ciparameter := owner.GlobalParameters( relnew );
+ ciparameter.AttributeName( "CurrencyInfo" );
+ ciparameter.AttributeValue( "/otdService/https/GetCurrenciesInfo" );
+ ciparameter.Address( "api-uat-sgc.tianma.cn" );
+ ciparameter.Port( "443" );
+ bodynumber := "1";
+ 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();
+ postrequestbodystring := postrequestbody.AsString();
+ ciparameter.PostRequestBody( postrequestbodystring );
+
+ info( "Init CurrencyRates For Api" )
+ existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "CurrencyRates" );
+ if( not isnull( existparameter ) ){
+ existparameter.Delete();
+ }
+ crparameter := owner.GlobalParameters( relnew );
+ crparameter.AttributeName( "CurrencyRates" );
+ crparameter.AttributeValue( "/otdService/https/GetCurrencyRatesInfo" );
+ crparameter.Address( "api-uat-sgc.tianma.cn" );
+ crparameter.Port( "443" );
+ bodynumber := "5";
+ 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();
+ postrequestbodystring := postrequestbody.AsString();
+ crparameter.PostRequestBody( postrequestbodystring );
+
+ info( "Init Lanes For Api" )
+ existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "Lanes" );
+ if( not isnull( existparameter ) ){
+ existparameter.Delete();
+ }
+ lparameter := owner.GlobalParameters( relnew );
+ lparameter.AttributeName( "Lanes" );
+ lparameter.AttributeValue( "/otdService/https/GetLanesInfo" );
+ lparameter.Address( "api-uat-sgc.tianma.cn" );
+ lparameter.Port( "443" );
+ bodynumber := "3";
+ 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();
+ postrequestbodystring := postrequestbody.AsString();
+ lparameter.PostRequestBody( postrequestbodystring );
+
+ info( "Init LaneLegs For Api" )
+ existparameter := select( owner, GlobalParameters, param, param.AttributeName() = "LaneLegs" );
+ if( not isnull( existparameter ) ){
+ existparameter.Delete();
+ }
+ llparameter := owner.GlobalParameters( relnew );
+ llparameter.AttributeName( "LaneLegs" );
+ llparameter.AttributeValue( "/otdService/https/GetLaneLegsInfo" );
+ llparameter.Address( "api-uat-sgc.tianma.cn" );
+ llparameter.Port( "443" );
+ bodynumber := "4";
+ 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();
+ postrequestbodystring := postrequestbody.AsString();
+ llparameter.PostRequestBody( postrequestbodystring );
+ *]
+}
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_InventoryValueAndCost/StaticMethod_DoASync.qbl b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl
index 391ecf9..0b2323a 100644
--- a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl
+++ b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl
@@ -3,7 +3,7 @@
StaticMethod DoASync (
MacroPlan macroPlan,
const GlobalOTDTable globalOTDTable,
- String businessTypeName
+ Strings businessTypeNames
)
{
TextBody:
@@ -12,6 +12,6 @@
//info( "ActualPISPIP Finished, Start InventoryCost Data Broker" );
//macroPlan.Broker_OTD_InventoryCost().Execute();
info( "InventoryCost Data Broker Finished, Start InventoryCost Mapping" );
- macroPlan.DoASyncMappingInventoryValueAndCostData(globalOTDTable,businessTypeName);
+ macroPlan.DoASyncMappingInventoryValueAndCostData(globalOTDTable,businessTypeNames);
*]
}
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl
index d2f5724..4c98455 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl
@@ -12,9 +12,10 @@
// renhao Aug-14-2023 (created)
listtodeal := construct( Global_MappingActualProductInStockingPointInPeriods, constcontent );
if ( businessTypes.Size() > 0 ) {
- businessTypeName := businessTypes.Element( 0 );
- targetGlobal_ProductCategory := select( globalOTDTable, Global_ProductCategory, tempGPC, tempGPC.BusinessTypeName() = businessTypeName );
- listtodeal := selectset( targetGlobal_ProductCategory, Global_MappingProduct_MP.Global_MAPISPIPCategory.Global_MappingActualProductInStockingPointInPeriod,
+ targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC,
+ exists( businessTypes, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) );
+ listtodeal := selectset( targetGlobal_ProductCategory,
+ Elements.Global_MappingProduct_MP.Global_MAPISPIPCategory.Global_MappingActualProductInStockingPointInPeriod,
tempGMPIL,
( tempGMPIL.ActualInventoryLevelEnd() > 0 ) and
( organcodelist.Find( tempGMPIL.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl
index 6596139..ad47aed 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl
@@ -15,9 +15,10 @@
listtodeal := construct( Global_MappingInventorySupplys, constcontent );
if ( businessTypes.Size() > 0 ) {
- businessTypeName := businessTypes.Element( 0 );
- targetGlobal_ProductCategory := select( globalOTDTable, Global_ProductCategory, tempGPC, tempGPC.BusinessTypeName() = businessTypeName );
- listtodeal := selectset( targetGlobal_ProductCategory, Global_MappingProduct_MP.Global_InventorySupplyCategory.Global_MappingInventorySupply,
+ targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC,
+ exists( businessTypes, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) );
+ listtodeal := selectset( targetGlobal_ProductCategory,
+ Elements.Global_MappingProduct_MP.Global_InventorySupplyCategory.Global_MappingInventorySupply,
tempGMIS,
( tempGMIS.UserQuantity()>0 ) and
( tempGMIS.Date() >= queryStartDate ) and
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl
index 78b1f55..b000fe9 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl
@@ -2,18 +2,22 @@
#parent: #root
Method DoASyncMappingInventoryValueAndCostData (
const GlobalOTDTable globalOTDTable,
- String businessTypeName
+ Strings businessTypeNames
)
{
TextBody:
[*
// yypsybs Aug-15-2023 (created)
listtodeal := construct( Global_MappingStockingPointCosts, constcontent );
- if ( businessTypeName = "" ) {
+ if ( businessTypeNames.Size() = 0 ) {
listtodeal := selectset( globalOTDTable,Global_MappingStockingPointCost,item,true );
} else {
- targetGlobal_ProductCategory := select( globalOTDTable, Global_ProductCategory, tempGPC, tempGPC.BusinessTypeName() = businessTypeName );
- listtodeal := selectset( targetGlobal_ProductCategory, Global_MappingProduct_MP.Global_StockingPointCostCategory.Global_MappingStockingPointCost, tempGMPIL, true );
+ targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC,
+ exists( businessTypeNames, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) );
+ listtodeal := selectset( targetGlobal_ProductCategory,
+ Elements.Global_MappingProduct_MP.Global_StockingPointCostCategory.Global_MappingStockingPointCost,
+ tempGMPIL,
+ true );
}
totalcount := listtodeal.Size();
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl
index 43f35a0..b575592 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl
@@ -65,8 +65,11 @@
true, trash );
mainBOM.Quantity( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() );
mainBOM.MaxQuantityInGroup( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() );
+ mainBOM.MinQuantityInGroup(0);
mainQty := mainBOM.Quantity();
Transaction::Transaction().Propagate();
+
+ altersize := alterRows.Size();
// 娣诲姞杈呮枡
traverse( alterRows, Elements, alterRow ) {
alterProd := Product_MP::FindById( this, alterRow.AlternativeMaterialCode() );
@@ -84,14 +87,23 @@
trash := construct( OperationBOMs );
if( not isnull( mainInput ) ) {
alterBom := mainInput.Operation().LinkPISP( pispAlter, true, mainInput.OperationLinkGroupID(), trash );
- alterBom.Quantity( mainBOM.MaxQuantityInGroup() * alterRow.AlternativeRate() );
+ //alterBom.Quantity( mainBOM.MaxQuantityInGroup() * alterRow.AlternativeRate() );
+ //alterBom.MaxQuantityInGroup( mainBOM.MaxQuantityInGroup() );
+ alterBom.Quantity( mainBOM.MaxQuantityInGroup() / altersize );
alterBom.MaxQuantityInGroup( mainBOM.MaxQuantityInGroup() );
+ alterBom.MinQuantityInGroup(0);
// info( "Quantity" + [String]alterBom.Quantity() )
// info( "MaxQuantityInGroup" + [String]alterBom.MaxQuantityInGroup() )
mainQty := mainQty - alterBom.Quantity();
}
}
- mainBOM.Quantity( mainQty );
+
+ Transaction::Transaction().Propagate( relation( OperationBOM, OperationInputGroup));
+ if( not isnull( mainBOM.OperationInputGroup())){
+ mainBOM.OperationInputGroup().InputGroupQuantity(mainBOM.MaxQuantityInGroup());
+ mainBOM.Quantity( mainBOM.MaxQuantityInGroup() / altersize );
+ }
+
}
}
}
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl
index 38a7a8b..b1434d1 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl
@@ -2,7 +2,7 @@
#parent: #root
Method DoASyncMappingProductInLaneData (
const GlobalOTDTable globalOTDTable,
- String businessTypeName
+ Strings businessTypeNames
)
{
Description: 'Get Product In Line data'
@@ -11,11 +11,15 @@
// Administrator Aug-17-2023 (created)
// list to deal
listtodeal := construct( Global_MappingProductInLanes, constcontent );
- if ( businessTypeName = "" ) {
+ if ( businessTypeNames.Size() = 0 ) {
listtodeal := selectset( globalOTDTable, Global_MappingProductInLane, item ,true );
} else {
- targetGlobal_ProductCategory := select( globalOTDTable, Global_ProductCategory, tempGPC, tempGPC.BusinessTypeName() = businessTypeName );
- listtodeal := selectset( targetGlobal_ProductCategory, Global_MappingProduct_MP.Global_ProductInLineCategory.Global_MappingProductInLane, tempGMPIL, true );
+ targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC,
+ exists( businessTypeNames, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) );
+ listtodeal := selectset( targetGlobal_ProductCategory,
+ Elements.Global_MappingProduct_MP.Global_ProductInLineCategory.Global_MappingProductInLane,
+ tempGMPIL,
+ true );
}
totalcount := listtodeal.Size();
info( "ProductInLane has " + totalcount.AsQUILL() + " rows in total" );
diff --git "a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl" "b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl"
index 0f6ac65..0c397f4 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,guard( businessTypeName.Element( 0 ), "" ));
+ macroPlan.DoASyncMappingProductInLaneData( globalOTDTable,businessTypeName );
// 鍦ㄥ簱搴撳瓨鏁版嵁-13
//info( "ProductInLane Finished, Start ActualPISPIP Data Broker" );
@@ -130,7 +130,7 @@
macroPlan.DoASyncMappingExternalSupplyData( businessTypeName, isKeyProduct ,globalOTDTable, organcodelist );
// 搴撳瓨鎴愭湰-15
- InventoryValueAndCost::DoASync( macroPlan,globalOTDTable,guard( businessTypeName.Element( 0 ), "" ) );
+ InventoryValueAndCost::DoASync( macroPlan,globalOTDTable,businessTypeName );
// todo 鍒堕�犳垚鏈�-16
info( "InventoryCost Finished, Start OperationCost Mapping" );
diff --git a/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl b/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl
new file mode 100644
index 0000000..4f4edbb
--- /dev/null
+++ b/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl
@@ -0,0 +1,53 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ExportTheFileStream (
+ PRDatas toExportList
+) as BinaryValue
+{
+ TextBody:
+ [*
+ text:= '<?xml version="1.0" encoding="utf-8" standalone="yes"?><table><name>PR</name><column><name>鐗╂枡缂栫爜</name><type>String</type></column><column><name>鐗╂枡鍚嶇О</name><type>String</type></column><column><name>闈㈡澘鐗╂枡鏍囪瘑</name><type>String</type></column><column><name>浜よ揣鏃ユ湡</name><type>String</type></column><column><name>PR寤鸿鏃ユ湡</name><type>String</type></column><column><name>浜よ揣鏁伴噺</name><type>Number</type></column><column><name>MRP璁$畻鐗堟湰鍙�</name><type>String</type></column><column><name>涓氬姟绫诲瀷</name><type>String</type></column><column><name>缁勭粐缂栫爜</name><type>String</type></column><column><name>鏄惁闀垮懆鏈�</name><type>String</type></column><column><name>鏄惁涓撶敤鏂�</name><type>String</type></column><column><name>鐗╂枡璁″垝绛栫暐</name><type>String</type></column><column><name>鎻愬墠鏈�</name><type>Number</type></column><column><name>渚涘簲鍟嗕唬鐮�</name><type>String</type></column><column><name>渚涘簲鍟嗗悕绉�</name><type>String</type></column><column><name>鏀惰揣搴撳瓨鐐�</name><type>String</type></column><column><name>璁¢噺鍗曚綅</name><type>String</type></column><column><name>PR鏁版嵁鍙戦�佺姸鎬�</name><type>String</type></column><column><name>鍙戦�佹椂闂�</name><type>String</type></column><column><name>鍙戦�佷汉</name><type>String</type></column></table>';
+
+ sc := DateToString::StandardConverter();
+ sc.SetCustomConversion();
+ sc.CustomFormatString( 'yyyy-MM-dd' );
+
+ xmlDOMImplementation := XMLDOMImplementation::Create();
+ xmlDOMDocument := xmlDOMImplementation.CreateDocumentFromString( text );
+
+ tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 );
+
+ traverse ( toExportList, Elements, prd ) {
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProductID(), "鐗╂枡缂栫爜" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProductName(), "鐗╂枡鍚嶇О" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.IsPanelMaterial(), "闈㈡澘鐗╂枡鏍囪瘑" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, sc.Convert( prd.DeliveryDate() ), "浜よ揣鏃ユ湡" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, sc.Convert( prd.PRSuggestionDate() ), "PR寤鸿鏃ユ湡" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]( prd.Quantity().Round( 0 ) ), "浜よ揣鏁伴噺" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.MRPCalverNo(), "MRP璁$畻鐗堟湰鍙�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.BusinessType(), "涓氬姟绫诲瀷" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.OrganCode(), "缁勭粐缂栫爜" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.IsLongLeadItem(), "鏄惁闀垮懆鏈�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.IsGenericMaterial(), "鏄惁涓撶敤鏂�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.MaterialMRPType(), "鐗╂枡璁″垝绛栫暐" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]prd.LeadTime(), "鎻愬墠鏈�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProviderCode(), "渚涘簲鍟嗕唬鐮�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.ProviderName(), "渚涘簲鍟嗗悕绉�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.StockingPointID(), "鏀惰揣搴撳瓨鐐�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.UnitOfMeasure(), "璁¢噺鍗曚綅" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.PRReleaseStatus(), "PR鏁版嵁鍙戦�佺姸鎬�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.CreateTimeString(), "鍙戦�佹椂闂�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, prd.CreateBy(), "鍙戦�佷汉" );
+ }
+
+ xmlDOMSerializer := xmlDOMImplementation.CreateSerializer();
+ xmlTableString := xmlDOMSerializer.WriteToString( xmlDOMDocument );
+
+ tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTableString ) );
+ tableGroupHandle := TableGroupHandle::Create( "PR" );
+ tableGroupHandle.Add( tableHandle );
+ tableBinaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true );
+
+ return tableBinaryData.AsBinaryValue();
+ *]
+}
diff --git a/_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl "b/_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn\04356.qbl"
similarity index 100%
rename from _Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl
rename to "_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn\04356.qbl"
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def"
index 687eea6..cfe3fcb 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def"
@@ -79,5 +79,15 @@
Taborder: 4
]
}
+ Component dsPlanningStart
+ {
+ #keys: '[414702.1.259278858]'
+ BaseType: 'WebDateSelector'
+ Properties:
+ [
+ Label: '璁″垝寮�濮嬫椂闂�'
+ Taborder: 8
+ ]
+ }
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
index d2aa450..fe1ca3b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
@@ -123,6 +123,8 @@
macroPlanNew.IsKeyProduct( data.IsKeyProduct() );
macroPlanNew.CreatePurchaseSupplyMaterial( data.CreatePurchaseSupplyMaterial() );
+ MacroPlan.UpdateStartOfPlanning( dsPlanningStart.Date().DateTime() );
+
this.Close();
*]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_TIANMA_JITUAN_PanelGeneral_549_dsPlanningStart_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_TIANMA_JITUAN_PanelGeneral_549_dsPlanningStart_OnCreated.def
new file mode 100644
index 0000000..bb9a6b3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_TIANMA_JITUAN_PanelGeneral_549_dsPlanningStart_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelGeneral_549/dsPlanningStart
+Response OnCreated () id:Response_TIANMA_JITUAN_PanelGeneral_549_dsPlanningStart_OnCreated
+{
+ #keys: '[414702.1.259420402]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ this.Date( Date::ActualDate() );
+ *]
+ GroupServerCalls: false
+ }
+}
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_Form633/Component_PanelPRDataButton.def b/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def
index e0f9eb6..e5b380b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def
@@ -41,6 +41,8 @@
]
Properties:
[
+ FixedSize: true
+ Orientation: 'horizontal'
Taborder: 0
]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_DataHolderChecked_OnDataChanged\043774.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_DataHolderChecked_OnDataChanged\043774.def"
deleted file mode 100644
index 2e992ec..0000000
--- "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_DataHolderChecked_OnDataChanged\043774.def"
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: DataHolderChecked_187
-Response OnDataChanged () id:Response_ListPRData_844_DataHolderChecked_OnDataChanged_774
-{
- #keys: '[414384.0.799231412]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
- QuillAction
- {
- Body:
- [*
- //traverse ( this.Data(), Elements, e ) {
- // info( "閫変腑鐨勭墿鏂欏彿锛�", e.MatCode() );
- //}
- *]
- GroupServerCalls: false
- }
-}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged\043613.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged\043613.def"
index 20e3571..b844e5a 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged\043613.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged\043613.def"
@@ -5,13 +5,12 @@
#keys: '[414384.0.798051611]'
CanBindMultiple: false
DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
- GroupServerCalls: true
QuillAction
{
Body:
[*
- info( "checked 0 PRs" );
DataHolderChecked.Data().Flush();
*]
+ GroupServerCalls: false
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def
index 5783a47..4988e05 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_OnUserCheckedChanged.def
@@ -7,13 +7,12 @@
#keys: '[414384.0.798051163]'
CanBindMultiple: false
DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
- GroupServerCalls: true
QuillAction
{
Body:
[*
- info( "checked " + [String]checkeditems.Size() + " PRs" );
DataHolderChecked.Data( checkeditems.Copy() );
*]
+ GroupServerCalls: false
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def
index b9d8b6e..d189e36 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonExportPR_OnClick.def
@@ -13,7 +13,7 @@
{
Body:
[*
- Application.Download( "PRData.xlsx", PRData::Export( MacroPlan ) );
+ Application.Download( "PRData.xlsx", PRData::ExportTheFileStream( DataHolderChecked.Data() ).AsBinaryData() );
*]
GroupServerCalls: false
}
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..e031569
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Component_listContextMenuGlobalParameters.def
@@ -0,0 +1,57 @@
+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'
+ ]
+ }
+ Component MenuInitial
+ {
+ #keys: '[412960.0.376011203]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'ARROW_LOOP3'
+ Taborder: 6
+ Title: 'Init Api'
+ ]
+ }
+ ]
+ 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/Response_listContextMenuGlobalParameters_MenuInitial_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_listContextMenuGlobalParameters_MenuInitial_OnClick.def
new file mode 100644
index 0000000..c2c4dd2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormGlobalParameters/Response_listContextMenuGlobalParameters_MenuInitial_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: listContextMenuGlobalParameters/MenuInitial
+Response OnClick () id:Response_listContextMenuGlobalParameters_MenuInitial_OnClick
+{
+ #keys: '[412960.0.376011242]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ GlobalParameters::TestForApiRequest( 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/PR_DATA.vw b/_Main/UI/MacroPlannerWebApp/Views/PR_DATA.vw
new file mode 100644
index 0000000..8a1455b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/PR_DATA.vw
@@ -0,0 +1,204 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormPRHistoryData
+ {
+ title: 'QTIANMA_JITUAN::FormPRHistoryData'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormPRHistoryData'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 15
+ columnPosition: 5
+ columnSpan: 8
+ }
+ components
+ {
+ FormPRHistoryData_PanelPRHistoryButton
+ {
+ sizeRatio: 1
+ }
+ FormPRHistoryData_ListPRHistoryData
+ {
+ }
+ FormPRHistoryData_DataSetLevelPRHistoryData
+ {
+ groupDepth: -1
+ column_BusinessType
+ {
+ columnId: 'BusinessType'
+ dataPath: 'BusinessType'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_MRPCalverNo
+ {
+ columnId: 'MRPCalverNo'
+ dataPath: 'MRPCalverNo'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_OrganCode
+ {
+ columnId: 'OrganCode'
+ dataPath: 'OrganCode'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_Quantity
+ {
+ columnId: 'Quantity'
+ dataPath: 'Quantity'
+ dataType: 'real'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ column_SendStatus
+ {
+ columnId: 'SendStatus'
+ dataPath: 'SendStatus'
+ dataType: 'string'
+ index: 6
+ subtotals: ''
+ width: 150
+ }
+ column_ReleaseBy
+ {
+ columnId: 'ReleaseBy'
+ dataPath: 'ReleaseBy'
+ dataType: 'string'
+ index: 7
+ subtotals: ''
+ width: 150
+ }
+ column_ReceiveStatus
+ {
+ columnId: 'ReceiveStatus'
+ dataPath: 'ReceiveStatus'
+ dataType: 'string'
+ index: 8
+ subtotals: ''
+ width: 150
+ }
+ column_ReceiveError
+ {
+ columnId: 'ReceiveError'
+ dataPath: 'ReceiveError'
+ dataType: 'string'
+ index: 9
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormPRData
+ {
+ title: 'QTIANMA_JITUAN::FormPRData'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormPRData'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 15
+ columnPosition: 1
+ columnSpan: 4
+ }
+ components
+ {
+ FormPRData_PanelPRDataButton
+ {
+ sizeRatio: 1
+ }
+ FormPRData_ListPRData
+ {
+ }
+ FormPRData_DataSetLevelPRData
+ {
+ groupDepth: -1
+ column_MRPCalverNo
+ {
+ columnId: 'MRPCalverNo'
+ dataPath: 'MRPCalverNo'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_Quantity
+ {
+ columnId: 'Quantity'
+ dataPath: 'Quantity'
+ dataType: 'real'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: 'ActionBarPageData'
+ group: ''
+ index: 0
+ image: 'BEAR'
+ description: 'PR鐢宠'
+ }
+ formatversion: 2
+ id: 'PR_DATA'
+ name: 'PR_DATA'
+ isglobal: false
+ isroot: true
+}
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