From 7a8fd5ab0aad4a41a8898b7084b1bceb9a2a8a51 Mon Sep 17 00:00:00 2001
From: renhao <renhui.hao@capgemini.com>
Date: 星期二, 24 十月 2023 16:07:29 +0800
Subject: [PATCH] Merge branch 'dev'
---
_Main/BL/Type_Global_MAPISPIPCategory/_ROOT_Type_Global_MAPISPIPCategory.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Response_pnlActions_btnOk_OnClick.def | 11
_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl | 28 +
_Main/BL/Type_Global_StockingPointCostCategory/_ROOT_Type_Global_StockingPointCostCategory.qbl | 9
_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingProduct_MP_Global_Ma.qbl | 23 +
_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl | 14
_Main/BL/Type_Global_ProductCategory/_ROOT_Type_Global_ProductCategory.qbl | 9
_Main/BL/Type_Global_ProductInLineCategory/StaticMethod_Create.qbl | 17
_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl | 5
_Main/BL/Type_MacroPlan/StaticMethod_DoASync.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button1_OnClick.def | 16
_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl | 14
_Main/BL/Type_Global_MAPISPIPCategory/Attribute_ProductID.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button4_OnClick.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button5_OnClick.def | 24 +
_Main/BL/Relations/Relation_Global_StockingPointCostCategory_GlobalOTDTable_GlobalOTDTable_Glob.qbl | 23 +
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button2_OnClick.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button3_OnClick.def | 16
_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingInventorySupply_Global.qbl | 23 +
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def | 2
_Main/BL/Type_Global_ProductInLineCategory/_ROOT_Type_Global_ProductInLineCategory.qbl | 9
_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcKeyProduct.qbl | 13
_Main/BL/Relations/Relation_Global_ProductCategory_GlobalOTDTable_GlobalOTDTable_Global_Product.qbl | 23 +
_Main/BL/Type_Global_InventorySupplyCategory/Function_CalcIsCommon.qbl | 13
_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl | 33 +
_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl | 14
_Main/BL/Type_Global_MappingStockingPointCost/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl | 14
_Main/BL/Type_Global_StockingPointCostCategory/StaticMethod_Create.qbl | 17
_Main/BL/Relations/Relation_Global_InventorySupplyCategory_GlobalOTDTable_GlobalOTDTable_Global.qbl | 23 +
_Main/BL/Relations/Relation_Global_ProductCategory_Global_MappingProduct_MP_Global_MappingProdu.qbl | 23 +
_Main/BL/Type_Global_ProductCategory/Attribute_BusinessTypeName.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Method_DataDistribution.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ButtonGenerateProductCategory_OnClick.def | 20 +
_Main/BL/Type_Global_InventorySupplyCategory/_ROOT_Type_Global_InventorySupplyCategory.qbl | 9
_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingProduct_MP_Global_MappingProd.qbl | 23 +
_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def | 66 +++
_Main/BL/Relations/Relation_Global_ProductInLineCategory_GlobalOTDTable_GlobalOTDTable_Global_P.qbl | 23 +
_Main/BL/Type_Global_StockingPointCostCategory/Attribute_ProductID.qbl | 7
_Main/BL/Type_MacroPlan/StaticMethod_DoASync#253.qbl | 46 -
_Main/BL/Type_Global_MAPISPIPCategory/Attribute_IsCommon.qbl | 7
_Main/BL/Type_Global_InventorySupplyCategory/Attribute_IsCommon.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderAllScenario_OnDataChanged.def | 33 +
_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl | 14
_Main/BL/Type_Global_ProductCategory/StaticMethod_Create.qbl | 17
_Main/BL/Relations/Relation_Global_MAPISPIPCategory_GlobalOTDTable_GlobalOTDTable_Global_MAPISP.qbl | 23 +
_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductCategory.qbl | 14
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def | 26 +
_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProduct_MP_Global_Mappin.qbl | 23 +
_Main/BL/Type_Global_InventorySupplyCategory/Attribute_ProductID.qbl | 7
_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingActualProductInStockingPointI.qbl | 23 +
_Main/BL/Type_Global_ProductInLineCategory/Attribute_ProductID.qbl | 7
_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingStockingPointCost_Gl.qbl | 23 +
_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcIsCommon.qbl | 13
_Main/BL/Type_Global_MappingInventorySupply/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl | 14
/dev/null | 23 -
_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Component_pnlContent.def | 39 +
_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl | 11
_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl | 11
_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProductInLane_Global_Map.qbl | 23 +
_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl | 14
_Main/BL/Type_Global_InventorySupplyCategory/StaticMethod_Create.qbl | 18
_Main/BL/Type_Global_MAPISPIPCategory/StaticMethod_Create.qbl | 18
_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingProduct_MP_Global_Mapp.qbl | 23 +
_Main/UI/MacroPlannerWebApp/Views/接口测试.vw | 4
_Main/BL/Type_Global_MAPISPIPCategory/Attribute_KeyProduct.qbl | 7
_Main/BL/Type_Global_MappingProductInLane/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl | 14
66 files changed, 1,025 insertions(+), 104 deletions(-)
diff --git a/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_GlobalOTDTable_GlobalOTDTable_Global.qbl b/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_GlobalOTDTable_GlobalOTDTable_Global.qbl
new file mode 100644
index 0000000..6828008
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_GlobalOTDTable_GlobalOTDTable_Global.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_InventorySupplyCategory_GlobalOTDTable_GlobalOTDTable_Global_InventorySupplyCategory
+{
+ #keys: '1[414702.1.220612437]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.1.220612439][414702.1.220612438][414702.1.220612440]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_InventorySupplyCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_InventorySupplyCategory
+ {
+ #keys: '3[414702.1.220612442][414702.1.220612441][414702.1.220612443]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingInventorySupply_Global.qbl b/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingInventorySupply_Global.qbl
new file mode 100644
index 0000000..d5b1a83
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingInventorySupply_Global.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_InventorySupplyCategory_Global_MappingInventorySupply_Global_MappingInventorySupply_Global_InventorySupplyCategory
+{
+ #keys: '1[414702.1.220612411]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingInventorySupply
+ {
+ #keys: '3[414702.1.220612413][414702.1.220612412][414702.1.220612414]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_InventorySupplyCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_InventorySupplyCategory
+ {
+ #keys: '3[414702.1.220612416][414702.1.220612415][414702.1.220612417]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingInventorySupply
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingProduct_MP_Global_Mapp.qbl b/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingProduct_MP_Global_Mapp.qbl
new file mode 100644
index 0000000..76a7147
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_InventorySupplyCategory_Global_MappingProduct_MP_Global_Mapp.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_InventorySupplyCategory_Global_MappingProduct_MP_Global_MappingProduct_MP_Global_InventorySupplyCategory
+{
+ #keys: '1[414702.1.220612424]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProduct_MP
+ {
+ #keys: '3[414702.1.220612426][414702.1.220612425][414702.1.220612427]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_InventorySupplyCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_InventorySupplyCategory
+ {
+ #keys: '3[414702.1.220612429][414702.1.220612428][414702.1.220612430]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProduct_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_GlobalOTDTable_GlobalOTDTable_Global_MAPISP.qbl b/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_GlobalOTDTable_GlobalOTDTable_Global_MAPISP.qbl
new file mode 100644
index 0000000..783e09e
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_GlobalOTDTable_GlobalOTDTable_Global_MAPISP.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_MAPISPIPCategory_GlobalOTDTable_GlobalOTDTable_Global_MAPISPIPCategory
+{
+ #keys: '1[414702.1.226768030]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.1.226768032][414702.1.226768031][414702.1.226768033]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MAPISPIPCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_MAPISPIPCategory
+ {
+ #keys: '3[414702.1.226768035][414702.1.226768034][414702.1.226768036]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingActualProductInStockingPointI.qbl b/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingActualProductInStockingPointI.qbl
new file mode 100644
index 0000000..3952c31
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingActualProductInStockingPointI.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_MAPISPIPCategory_Global_MappingActualProductInStockingPointInPeriod_Global_MappingActualProductInStockingPointInPeriod_Global_MAPISPIPCategory
+{
+ #keys: '1[414702.1.226768004]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingActualProductInStockingPointInPeriod
+ {
+ #keys: '3[414702.1.226768006][414702.1.226768005][414702.1.226768007]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_MAPISPIPCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_MAPISPIPCategory
+ {
+ #keys: '3[414702.1.226768009][414702.1.226768008][414702.1.226768010]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingActualProductInStockingPointInPeriod
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingProduct_MP_Global_MappingProd.qbl b/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingProduct_MP_Global_MappingProd.qbl
new file mode 100644
index 0000000..408356c
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_MAPISPIPCategory_Global_MappingProduct_MP_Global_MappingProd.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_MAPISPIPCategory_Global_MappingProduct_MP_Global_MappingProduct_MP_Global_MAPISPIPCategory
+{
+ #keys: '1[414702.1.226768017]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProduct_MP
+ {
+ #keys: '3[414702.1.226768019][414702.1.226768018][414702.1.226768020]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_MAPISPIPCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_MAPISPIPCategory
+ {
+ #keys: '3[414702.1.226768022][414702.1.226768021][414702.1.226768023]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProduct_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_ProductCategory_GlobalOTDTable_GlobalOTDTable_Global_Product.qbl b/_Main/BL/Relations/Relation_Global_ProductCategory_GlobalOTDTable_GlobalOTDTable_Global_Product.qbl
new file mode 100644
index 0000000..b35e9f5
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_ProductCategory_GlobalOTDTable_GlobalOTDTable_Global_Product.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_ProductCategory_GlobalOTDTable_GlobalOTDTable_Global_ProductCategory
+{
+ #keys: '1[414702.1.222746446]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.1.222746448][414702.1.222746447][414702.1.222746449]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_ProductCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_ProductCategory
+ {
+ #keys: '3[414702.1.222746451][414702.1.222746450][414702.1.222746452]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_ProductCategory_Global_MappingProduct_MP_Global_MappingProdu.qbl b/_Main/BL/Relations/Relation_Global_ProductCategory_Global_MappingProduct_MP_Global_MappingProdu.qbl
new file mode 100644
index 0000000..0be0b32
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_ProductCategory_Global_MappingProduct_MP_Global_MappingProdu.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_ProductCategory_Global_MappingProduct_MP_Global_MappingProduct_MP_Global_ProductCategory
+{
+ #keys: '1[414702.1.222746433]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProduct_MP
+ {
+ #keys: '3[414702.1.222746435][414702.1.222746434][414702.1.222746436]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_ProductCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_ProductCategory
+ {
+ #keys: '3[414702.1.222746438][414702.1.222746437][414702.1.222746439]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProduct_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_ProductInLineCategory_GlobalOTDTable_GlobalOTDTable_Global_P.qbl b/_Main/BL/Relations/Relation_Global_ProductInLineCategory_GlobalOTDTable_GlobalOTDTable_Global_P.qbl
new file mode 100644
index 0000000..399cbfd
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_ProductInLineCategory_GlobalOTDTable_GlobalOTDTable_Global_P.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_ProductInLineCategory_GlobalOTDTable_GlobalOTDTable_Global_ProductInLineCategory
+{
+ #keys: '1[414702.1.220556276]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.1.220556278][414702.1.220556277][414702.1.220556279]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_ProductInLineCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_ProductInLineCategory
+ {
+ #keys: '3[414702.1.220556281][414702.1.220556280][414702.1.220556282]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProductInLane_Global_Map.qbl b/_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProductInLane_Global_Map.qbl
new file mode 100644
index 0000000..f827bdb
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProductInLane_Global_Map.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_ProductInLineCategory_Global_MappingProductInLane_Global_MappingProductInLane_Global_ProductInLineCategory
+{
+ #keys: '1[414702.1.220556250]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProductInLane
+ {
+ #keys: '3[414702.1.220556252][414702.1.220556251][414702.1.220556253]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_ProductInLineCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_ProductInLineCategory
+ {
+ #keys: '3[414702.1.220556255][414702.1.220556254][414702.1.220556256]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProductInLane
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProduct_MP_Global_Mappin.qbl b/_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProduct_MP_Global_Mappin.qbl
new file mode 100644
index 0000000..bff781f
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_ProductInLineCategory_Global_MappingProduct_MP_Global_Mappin.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_ProductInLineCategory_Global_MappingProduct_MP_Global_MappingProduct_MP_Global_ProductInLineCategory
+{
+ #keys: '1[414702.1.220556263]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProduct_MP
+ {
+ #keys: '3[414702.1.220556265][414702.1.220556264][414702.1.220556266]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_ProductInLineCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_ProductInLineCategory
+ {
+ #keys: '3[414702.1.220556268][414702.1.220556267][414702.1.220556269]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProduct_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_GlobalOTDTable_GlobalOTDTable_Glob.qbl b/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_GlobalOTDTable_GlobalOTDTable_Glob.qbl
new file mode 100644
index 0000000..5f4ae65
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_GlobalOTDTable_GlobalOTDTable_Glob.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_StockingPointCostCategory_GlobalOTDTable_GlobalOTDTable_Global_StockingPointCostCategory
+{
+ #keys: '1[414702.1.224718240]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.1.224718242][414702.1.224718241][414702.1.224718243]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_StockingPointCostCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_StockingPointCostCategory
+ {
+ #keys: '3[414702.1.224718245][414702.1.224718244][414702.1.224718246]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingProduct_MP_Global_Ma.qbl b/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingProduct_MP_Global_Ma.qbl
new file mode 100644
index 0000000..9a77d29
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingProduct_MP_Global_Ma.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_StockingPointCostCategory_Global_MappingProduct_MP_Global_MappingProduct_MP_Global_StockingPointCostCategory
+{
+ #keys: '1[414702.1.224718214]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingProduct_MP
+ {
+ #keys: '3[414702.1.224718216][414702.1.224718215][414702.1.224718217]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_StockingPointCostCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_StockingPointCostCategory
+ {
+ #keys: '3[414702.1.224718219][414702.1.224718218][414702.1.224718220]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingProduct_MP
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingStockingPointCost_Gl.qbl b/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingStockingPointCost_Gl.qbl
new file mode 100644
index 0000000..207890c
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_StockingPointCostCategory_Global_MappingStockingPointCost_Gl.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_StockingPointCostCategory_Global_MappingStockingPointCost_Global_MappingStockingPointCost_Global_StockingPointCostCategory
+{
+ #keys: '1[414702.1.224718227]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide Global_MappingStockingPointCost
+ {
+ #keys: '3[414702.1.224718229][414702.1.224718228][414702.1.224718230]'
+ Cardinality: '1toN'
+ ObjectDefinition: Global_StockingPointCostCategory
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide Global_StockingPointCostCategory
+ {
+ #keys: '3[414702.1.224718232][414702.1.224718231][414702.1.224718233]'
+ Cardinality: '0to1'
+ ObjectDefinition: Global_MappingStockingPointCost
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Type_Global_InventorySupplyCategory/Attribute_IsCommon.qbl b/_Main/BL/Type_Global_InventorySupplyCategory/Attribute_IsCommon.qbl
new file mode 100644
index 0000000..0ee01a8
--- /dev/null
+++ b/_Main/BL/Type_Global_InventorySupplyCategory/Attribute_IsCommon.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsCommon
+{
+ #keys: '3[414702.1.228025354][414702.1.228025353][414702.1.228025355]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_InventorySupplyCategory/Attribute_ProductID.qbl b/_Main/BL/Type_Global_InventorySupplyCategory/Attribute_ProductID.qbl
new file mode 100644
index 0000000..8ed3bfe
--- /dev/null
+++ b/_Main/BL/Type_Global_InventorySupplyCategory/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.220612402][414702.1.220612401][414702.1.220612403]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_InventorySupplyCategory/Function_CalcIsCommon.qbl b/_Main/BL/Type_Global_InventorySupplyCategory/Function_CalcIsCommon.qbl
new file mode 100644
index 0000000..3f5b37c
--- /dev/null
+++ b/_Main/BL/Type_Global_InventorySupplyCategory/Function_CalcIsCommon.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcIsCommon
+{
+ TextBody:
+ [*
+ // hongjli Oct-24-2023 (created)
+
+ value := guard( select( this, Global_MappingProduct_MP, tempGMPMP, true ).IsCommon(), false );
+
+ this.IsCommon( value );
+ *]
+}
diff --git a/_Main/BL/Type_Global_InventorySupplyCategory/StaticMethod_Create.qbl b/_Main/BL/Type_Global_InventorySupplyCategory/StaticMethod_Create.qbl
new file mode 100644
index 0000000..da22117
--- /dev/null
+++ b/_Main/BL/Type_Global_InventorySupplyCategory/StaticMethod_Create.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_InventorySupplyCategory( relflush );
+
+ productIDs := selectuniquevalues( globalOTDTable, Global_MappingInventorySupply,
+ tempGMIS, true, tempGMIS.ProductID() );
+
+ traverse ( productIDs, Elements, id ) {
+ globalOTDTable.Global_InventorySupplyCategory( relnew, ProductID := id );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Global_InventorySupplyCategory/_ROOT_Type_Global_InventorySupplyCategory.qbl b/_Main/BL/Type_Global_InventorySupplyCategory/_ROOT_Type_Global_InventorySupplyCategory.qbl
new file mode 100644
index 0000000..9acdd56
--- /dev/null
+++ b/_Main/BL/Type_Global_InventorySupplyCategory/_ROOT_Type_Global_InventorySupplyCategory.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_InventorySupplyCategory
+{
+ #keys: '5[414702.1.220612398][414702.1.220612396][0.0.0][414702.1.220612397][414702.1.220612399]'
+ BaseType: Object
+ StructuredName: 'Global_InventorySupplyCategorys'
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_IsCommon.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_IsCommon.qbl
new file mode 100644
index 0000000..037726d
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_IsCommon.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsCommon
+{
+ #keys: '3[414702.1.226768068][414702.1.226768067][414702.1.226768069]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_KeyProduct.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_KeyProduct.qbl
new file mode 100644
index 0000000..6d30cca
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_KeyProduct.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute KeyProduct
+{
+ #keys: '3[414702.1.226768051][414702.1.226768050][414702.1.226768052]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_ProductID.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_ProductID.qbl
new file mode 100644
index 0000000..694b52b
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.226767995][414702.1.226767994][414702.1.226767996]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcIsCommon.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcIsCommon.qbl
new file mode 100644
index 0000000..3f5b37c
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcIsCommon.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcIsCommon
+{
+ TextBody:
+ [*
+ // hongjli Oct-24-2023 (created)
+
+ value := guard( select( this, Global_MappingProduct_MP, tempGMPMP, true ).IsCommon(), false );
+
+ this.IsCommon( value );
+ *]
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcKeyProduct.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcKeyProduct.qbl
new file mode 100644
index 0000000..1e84bcc
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/Function_CalcKeyProduct.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcKeyProduct
+{
+ TextBody:
+ [*
+ // hongjli Oct-24-2023 (created)
+
+ value := guard( select( this, Global_MappingProduct_MP, tempGMPMP, true ).KeyProduct(), false );
+
+ this.KeyProduct( value );
+ *]
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/StaticMethod_Create.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/StaticMethod_Create.qbl
new file mode 100644
index 0000000..2134324
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/StaticMethod_Create.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_MAPISPIPCategory( relflush );
+
+ productIDs := selectuniquevalues( globalOTDTable, Global_MappingActualProductInStockingPointInPeriod,
+ tempGMAPISPIP, true, tempGMAPISPIP.ProductID() );
+
+ traverse ( productIDs, Elements, id ) {
+ globalOTDTable.Global_MAPISPIPCategory( relnew, ProductID := id );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Global_MAPISPIPCategory/_ROOT_Type_Global_MAPISPIPCategory.qbl b/_Main/BL/Type_Global_MAPISPIPCategory/_ROOT_Type_Global_MAPISPIPCategory.qbl
new file mode 100644
index 0000000..a8193a5
--- /dev/null
+++ b/_Main/BL/Type_Global_MAPISPIPCategory/_ROOT_Type_Global_MAPISPIPCategory.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_MAPISPIPCategory
+{
+ #keys: '5[414702.1.226767991][414702.1.226767989][0.0.0][414702.1.226767990][414702.1.226767992]'
+ BaseType: Object
+ StructuredName: 'Global_MAPISPIPCategorys'
+}
diff --git a/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl
new file mode 100644
index 0000000..c5cc65f
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingActualProductInStockingPointInPeriod/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_MAPISPIPCategory
+{
+ #keys: '1[414702.1.226768045]'
+ Expression:
+ [*
+ targetGlobal_MAPISPIPCategory := select( this.GlobalOTDTable(), Global_MAPISPIPCategory, tempGMAPISPIPC,
+ tempGMAPISPIPC.ProductID() = this.ProductID() );
+
+ return targetGlobal_MAPISPIPCategory;
+ *]
+ Relation: Global_MAPISPIPCategory
+}
diff --git a/_Main/BL/Type_Global_MappingInventorySupply/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl b/_Main/BL/Type_Global_MappingInventorySupply/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl
new file mode 100644
index 0000000..3756789
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingInventorySupply/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_InventorySupplyCategory
+{
+ #keys: '1[414702.1.220612460]'
+ Expression:
+ [*
+ targetGlobal_InventorySupplyCategory := select( this.GlobalOTDTable(), Global_InventorySupplyCategory, tempGISC,
+ tempGISC.ProductID() = this.ProductID() );
+
+ return targetGlobal_InventorySupplyCategory;
+ *]
+ Relation: Global_InventorySupplyCategory
+}
diff --git a/_Main/BL/Type_Global_MappingProductInLane/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl b/_Main/BL/Type_Global_MappingProductInLane/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl
new file mode 100644
index 0000000..e3c341b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProductInLane/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_ProductInLineCategory
+{
+ #keys: '1[414702.1.224718199]'
+ Expression:
+ [*
+ targeGlobal_ProductInLineCategory := select( this.GlobalOTDTable(), Global_ProductInLineCategory, tempGPILC,
+ tempGPILC.ProductID() = this.ProductID() );
+
+ return targeGlobal_ProductInLineCategory;
+ *]
+ Relation: Global_ProductInLineCategory
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl
new file mode 100644
index 0000000..3abbab2
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_InventorySupplyCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_InventorySupplyCategory
+{
+ #keys: '1[414702.1.220612452]'
+ Expression:
+ [*
+ targetGlobal_InventorySupplyCategory := select( this.GlobalOTDTable(), Global_InventorySupplyCategory, tempGISC,
+ tempGISC.ProductID() = this.ID() );
+
+ return targetGlobal_InventorySupplyCategory;
+ *]
+ Relation: Global_InventorySupplyCategory
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl
new file mode 100644
index 0000000..163005b
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_MAPISPIPCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_MAPISPIPCategory
+{
+ #keys: '1[414702.1.220556366]'
+ Expression:
+ [*
+ targetGlobal_MAPISPIPCategory := select( this.GlobalOTDTable(), Global_MAPISPIPCategory, tempGMAPISPIPC,
+ tempGMAPISPIPC.ProductID() = this.ID() );
+
+ return targetGlobal_MAPISPIPCategory;
+ *]
+ Relation: Global_MAPISPIPCategory
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductCategory.qbl b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductCategory.qbl
new file mode 100644
index 0000000..435f27d
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_ProductCategory
+{
+ #keys: '1[414702.1.223351035]'
+ Expression:
+ [*
+ targetGlobal_ProductCategory := select( this.GlobalOTDTable(), Global_ProductCategory, tempGPC,
+ tempGPC.BusinessTypeName() = this.BusinessType() );
+
+ return targetGlobal_ProductCategory;
+ *]
+ Relation: Global_ProductCategory
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl
new file mode 100644
index 0000000..1b1d556
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_ProductInLineCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_ProductInLineCategory
+{
+ #keys: '1[414702.1.220556292]'
+ Expression:
+ [*
+ targetGlobal_ProductInLineCategory := select( this.GlobalOTDTable(), Global_ProductInLineCategory, tempGPILC,
+ tempGPILC.ProductID() = this.ID() );
+
+ return targetGlobal_ProductInLineCategory;
+ *]
+ Relation: Global_ProductInLineCategory
+}
diff --git a/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl
new file mode 100644
index 0000000..de4cbd5
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingProduct_MP/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_StockingPointCostCategory
+{
+ #keys: '1[414702.1.224718256]'
+ Expression:
+ [*
+ targetGlobal_StockingPointCostCategory := select( this.GlobalOTDTable(), Global_StockingPointCostCategory, tempGSPCC,
+ tempGSPCC.ProductID() = this.ID() );
+
+ return targetGlobal_StockingPointCostCategory;
+ *]
+ Relation: Global_StockingPointCostCategory
+}
diff --git a/_Main/BL/Type_Global_MappingStockingPointCost/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl b/_Main/BL/Type_Global_MappingStockingPointCost/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl
new file mode 100644
index 0000000..09e4ac2
--- /dev/null
+++ b/_Main/BL/Type_Global_MappingStockingPointCost/DeclarativeReferenceRelation_CalcGlobal_StockingPointCostCategory.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+DeclarativeReferenceRelation CalcGlobal_StockingPointCostCategory
+{
+ #keys: '1[414702.1.224718261]'
+ Expression:
+ [*
+ targetGlobal_StockingPointCostCategory := select( this.GlobalOTDTable(), Global_StockingPointCostCategory, tempGSPCC,
+ tempGSPCC.ProductID() = this.ProductID() );
+
+ return targetGlobal_StockingPointCostCategory;
+ *]
+ Relation: Global_StockingPointCostCategory
+}
diff --git a/_Main/BL/Type_Global_ProductCategory/Attribute_BusinessTypeName.qbl b/_Main/BL/Type_Global_ProductCategory/Attribute_BusinessTypeName.qbl
new file mode 100644
index 0000000..e7db0cb
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductCategory/Attribute_BusinessTypeName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessTypeName
+{
+ #keys: '3[414702.1.223351026][414702.1.223351025][414702.1.223351027]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_ProductCategory/StaticMethod_Create.qbl b/_Main/BL/Type_Global_ProductCategory/StaticMethod_Create.qbl
new file mode 100644
index 0000000..22faab2
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductCategory/StaticMethod_Create.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_ProductCategory( relflush );
+
+ businessTypes := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, tempGMPMP, true, tempGMPMP.BusinessType() );
+
+ traverse ( businessTypes, Elements, bt ) {
+ globalOTDTable.Global_ProductCategory( relnew, BusinessTypeName := bt );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Global_ProductCategory/_ROOT_Type_Global_ProductCategory.qbl b/_Main/BL/Type_Global_ProductCategory/_ROOT_Type_Global_ProductCategory.qbl
new file mode 100644
index 0000000..1e27352
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductCategory/_ROOT_Type_Global_ProductCategory.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_ProductCategory
+{
+ #keys: '5[414702.1.222746430][414702.1.222746428][0.0.0][414702.1.222746429][414702.1.222746431]'
+ BaseType: Object
+ StructuredName: 'Global_ProductCategorys'
+}
diff --git a/_Main/BL/Type_Global_ProductInLineCategory/Attribute_ProductID.qbl b/_Main/BL/Type_Global_ProductInLineCategory/Attribute_ProductID.qbl
new file mode 100644
index 0000000..4611fa8
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductInLineCategory/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.220556241][414702.1.220556240][414702.1.220556242]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_ProductInLineCategory/StaticMethod_Create.qbl b/_Main/BL/Type_Global_ProductInLineCategory/StaticMethod_Create.qbl
new file mode 100644
index 0000000..57d8a51
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductInLineCategory/StaticMethod_Create.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_ProductInLineCategory( relflush );
+
+ productIDs := selectuniquevalues( globalOTDTable, Global_MappingProductInLane, tempGMPIL, true, tempGMPIL.ProductID() );
+
+ traverse ( productIDs, Elements, id ) {
+ globalOTDTable.Global_ProductInLineCategory( relnew, ProductID := id );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Global_ProductInLineCategory/_ROOT_Type_Global_ProductInLineCategory.qbl b/_Main/BL/Type_Global_ProductInLineCategory/_ROOT_Type_Global_ProductInLineCategory.qbl
new file mode 100644
index 0000000..0f700ee
--- /dev/null
+++ b/_Main/BL/Type_Global_ProductInLineCategory/_ROOT_Type_Global_ProductInLineCategory.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_ProductInLineCategory
+{
+ #keys: '5[414702.1.220556230][414702.1.220556228][0.0.0][414702.1.220556229][414702.1.220556231]'
+ BaseType: Object
+ StructuredName: 'Global_ProductInLineCategorys'
+}
diff --git a/_Main/BL/Type_Global_StockingPointCostCategory/Attribute_ProductID.qbl b/_Main/BL/Type_Global_StockingPointCostCategory/Attribute_ProductID.qbl
new file mode 100644
index 0000000..27e2084
--- /dev/null
+++ b/_Main/BL/Type_Global_StockingPointCostCategory/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414702.1.224718205][414702.1.224718204][414702.1.224718206]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Global_StockingPointCostCategory/StaticMethod_Create.qbl b/_Main/BL/Type_Global_StockingPointCostCategory/StaticMethod_Create.qbl
new file mode 100644
index 0000000..5d5ba37
--- /dev/null
+++ b/_Main/BL/Type_Global_StockingPointCostCategory/StaticMethod_Create.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDTable globalOTDTable
+)
+{
+ TextBody:
+ [*
+ globalOTDTable.Global_StockingPointCostCategory( relflush );
+
+ productIDs := selectuniquevalues( globalOTDTable, Global_MappingStockingPointCost, tempGMSPC, true, tempGMSPC.ProductID() );
+
+ traverse ( productIDs, Elements, id ) {
+ globalOTDTable.Global_StockingPointCostCategory( relnew, ProductID := id );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_Global_StockingPointCostCategory/_ROOT_Type_Global_StockingPointCostCategory.qbl b/_Main/BL/Type_Global_StockingPointCostCategory/_ROOT_Type_Global_StockingPointCostCategory.qbl
new file mode 100644
index 0000000..eec0dca
--- /dev/null
+++ b/_Main/BL/Type_Global_StockingPointCostCategory/_ROOT_Type_Global_StockingPointCostCategory.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_StockingPointCostCategory
+{
+ #keys: '5[414702.1.220556235][414702.1.220556233][0.0.0][414702.1.220556234][414702.1.220556236]'
+ BaseType: Object
+ StructuredName: 'Global_StockingPointCostCategorys'
+}
diff --git a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl
index 076964d..391ecf9 100644
--- a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl
+++ b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoASync.qbl
@@ -2,7 +2,8 @@
#parent: #root
StaticMethod DoASync (
MacroPlan macroPlan,
- const GlobalOTDTable globalOTDTable
+ const GlobalOTDTable globalOTDTable,
+ String businessTypeName
)
{
TextBody:
@@ -11,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);
+ macroPlan.DoASyncMappingInventoryValueAndCostData(globalOTDTable,businessTypeName);
*]
}
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl
index f9c40e7..d2f5724 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingActualPISPIPData.qbl
@@ -10,11 +10,21 @@
TextBody:
[*
// renhao Aug-14-2023 (created)
- listtodeal := selectset( globalOTDTable,
- Global_MappingActualProductInStockingPointInPeriod,
- actual,
- ( actual.ActualInventoryLevelEnd() > 0 ) and
- ( organcodelist.Find( actual.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
+ 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,
+ tempGMPIL,
+ ( tempGMPIL.ActualInventoryLevelEnd() > 0 ) and
+ ( organcodelist.Find( tempGMPIL.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
+ } else {
+ listtodeal := selectset( globalOTDTable,
+ Global_MappingActualProductInStockingPointInPeriod,
+ actual,
+ ( actual.ActualInventoryLevelEnd() > 0 ) and
+ ( organcodelist.Find( actual.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
+ }
totalcount := listtodeal.Size();
info( "ActualPISPIP has " + totalcount.AsQUILL() + " rows in total" );
@@ -24,13 +34,13 @@
if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){
info( "Now is dealing with the " + count.AsQUILL() + "ActualPISPIP " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
}
- product := select( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = actual.ProductID() and product.KeyProduct() = nuclear,true);
- if( not isnull( product)){
+ //product := select( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = actual.ProductID() and product.KeyProduct() = nuclear,true);
+ if( /*not isnull( product*/ guard( actual.Global_MAPISPIPCategory().KeyProduct() = nuclear, false ) ){
if( not isnull(businessTypes)){
for( i :=0 ;i < businessTypes.Size();i++ ){
- businessType := businessTypes.Element( i );
- if( product.BusinessType() = businessType and not product.IsCommon()){
+ //businessType := businessTypes.Element( i );
+ if( /*product.BusinessType() = businessType and not product.IsCommon()*/ not actual.Global_MAPISPIPCategory().IsCommon() ){
ActualProductInStockingPointInPeriod::CreateOrUpdate( this,
actual.ProductID(),
actual.StockingPointID(),
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl
index e8950bc..6596139 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl
@@ -12,12 +12,25 @@
// renhao Aug-14-2023 (created)
queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date();
queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
- listtodeal := selectset( globalOTDTable,
- Global_MappingInventorySupply,
- externalSupply,
- ( externalSupply.UserQuantity()>0 ) and
- ( externalSupply.Date() >= queryStartDate ) and
- ( organcodelist.Find( externalSupply.StockingPointID().SubString( 0, 3 ) ) >= 0 )/*and externalSupply.Date() <= queryEndDate*/);
+
+ 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,
+ tempGMIS,
+ ( tempGMIS.UserQuantity()>0 ) and
+ ( tempGMIS.Date() >= queryStartDate ) and
+ ( organcodelist.Find( tempGMIS.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
+ } else {
+ listtodeal := selectset( globalOTDTable,
+ Global_MappingInventorySupply,
+ externalSupply,
+ ( externalSupply.UserQuantity()>0 ) and
+ ( externalSupply.Date() >= queryStartDate ) and
+ ( organcodelist.Find( externalSupply.StockingPointID().SubString( 0, 3 ) ) >= 0 )/*and externalSupply.Date() <= queryEndDate*/);
+ }
+
totalcount := listtodeal.Size();
description := "鍦ㄩ�斿湪鍒�";
info( "ExternalSupply has " + totalcount.AsQUILL() + " rows in total" );
@@ -28,18 +41,18 @@
if( count - [Number](count/1000) * 1000 = 0 or count = totalcount ){
info( "Now is dealing with the " + count.AsQUILL() + "ExternalSupply " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
}
- product := select( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = externalSupply.ProductID(),true);
+ //product := select( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = externalSupply.ProductID(),true);
- if( not isnull( product)){
+ if( /*not isnull( product)*/ not isnull( externalSupply.Global_InventorySupplyCategory() ) ){
productMP := Product_MP :: FindProductTypeIndex( externalSupply.ProductID());
stockingpoint := select( this,StockingPoint_MP,st,st.ID() = externalSupply.StockingPointID(),true);
if( not isnull( stockingpoint) and not isnull( productMP)){
if( not isnull(businessTypes)){
for( i :=0 ;i < businessTypes.Size();i++ ){
- businessType := businessTypes.Element( i );
- if( product.BusinessType() = businessType and not product.IsCommon()){
+ //businessType := businessTypes.Element( i );
+ if( /*product.BusinessType() = businessType and not product.IsCommon()*/ not externalSupply.Global_InventorySupplyCategory().IsCommon() ){
InventorySupply::CreateOrUpdate( externalSupply.ID(),
productMP,
stockingpoint,
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl
index b0e0349..78b1f55 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingInventoryValueAndCostData.qbl
@@ -1,13 +1,20 @@
Quintiq file version 2.0
#parent: #root
Method DoASyncMappingInventoryValueAndCostData (
- const GlobalOTDTable globalOTDTable
+ const GlobalOTDTable globalOTDTable,
+ String businessTypeName
)
{
TextBody:
[*
// yypsybs Aug-15-2023 (created)
- listtodeal := selectset( globalOTDTable,Global_MappingStockingPointCost,item,true );
+ listtodeal := construct( Global_MappingStockingPointCosts, constcontent );
+ if ( businessTypeName = "" ) {
+ 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 );
+ }
totalcount := listtodeal.Size();
info( "InventoryCost has " + totalcount.AsQUILL() + " rows in total" );
diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl
index a0521a8..38a7a8b 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingProductInLaneData.qbl
@@ -1,7 +1,8 @@
Quintiq file version 2.0
#parent: #root
Method DoASyncMappingProductInLaneData (
- const GlobalOTDTable globalOTDTable
+ const GlobalOTDTable globalOTDTable,
+ String businessTypeName
)
{
Description: 'Get Product In Line data'
@@ -9,7 +10,13 @@
[*
// Administrator Aug-17-2023 (created)
// list to deal
- listtodeal := selectset( globalOTDTable, Global_MappingProductInLane, item ,true );
+ listtodeal := construct( Global_MappingProductInLanes, constcontent );
+ if ( businessTypeName = "" ) {
+ 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 );
+ }
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 8e5e156..0f6ac65 100644
--- "a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl"
+++ "b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043253.qbl"
@@ -2,11 +2,11 @@
#parent: #root
StaticMethod DoASync (
MacroPlan macroPlan,
- Strings businessTypes,
+ const BusinessType businessType,
Boolean isKeyProduct,
Boolean createPurchaseSupplyMaterial,
const GlobalOTDTable globalOTDTable
-)
+) as stream[MacroPlan]
{
Description: '鍗曟鍚屾'
TextBody:
@@ -16,20 +16,8 @@
//Currency_MP::CreateCurrencyFromJson( macroPlan, jsonDataRow );
info( "Prepare to do sync" )
info( "Get organ code list" )
- organcodelist := selectvalues( globalOTDTable, Global_MappingOperationBOM, bom,true, bom.OrganCode() );
- if( not isnull( businessTypes ) and businessTypes.Size() > 0 ) {
- traverse( businessTypes, Elements, item ) {
- info( "Business type : " + item )
- }
- organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, businessTypes.Find( organ.BusinessType().BusinessTypeName() ) <> -1, organ.OrganCodeName() );
- }
- else{
- if( businessTypes.Size() = 0 ){
- if( not isnull( selectset( globalOTDTable, BusinessType, b, b.BusinessTypeName() = "" ) ) ){
- organcodelist := selectvalues( globalOTDTable, BusinessType.OrganCode, organ, organ.BusinessType().BusinessTypeName() = "", organ.OrganCodeName() );
- }
- }
- }
+ businessTypeName := businessType.BusinessTypeName().Tokenize( "," );
+ organcodelist := selectvalues( businessType, OrganCode, organ, true, organ.OrganCodeName() );
if( organcodelist.Size() = 0 ){
organcodelist := selectvalues( globalOTDTable, Global_MappingOperationBOM, bom,true, bom.OrganCode() );
@@ -46,14 +34,14 @@
UnitOfMeasure_MP::DoASync( globalOTDTable, macroPlan );
// 閿�鍞儴闂�-2
- SalesSegment_MP::DoASync( macroPlan, businessTypes,globalOTDTable );
+ SalesSegment_MP::DoASync( macroPlan, businessTypeName,globalOTDTable );
// Unit-9
// 涓嶰peration涓�鍚屽鐞�
//info( "BaseConversionFactor Finished, Start Operation Data Broker" );
//macroPlan.Broker_OTD_Operation().Execute();
info( "Operation Data Broker Finished, Start Unit Mapping" );
- macroPlan.DoASyncMappingUnitData( businessTypes ,globalOTDTable, organcodelist);
+ macroPlan.DoASyncMappingUnitData( businessTypeName ,globalOTDTable, organcodelist);
// 搴撳瓨鐐�-3
info( "Sales Segment Finished, Start Get StockingPoint From Api" )
@@ -90,18 +78,18 @@
//macroPlan.Broker_OTD_Product().Execute();
info( "Product Data Broker Finished, Start Product Mapping" );
//testproduct := construct( Strings );
- macroPlan.DoASyncMappingProductData( businessTypes, globalOTDTable,isKeyProduct );
+ macroPlan.DoASyncMappingProductData( businessTypeName, globalOTDTable,isKeyProduct );
//鍗曚綅杞崲-7
BaseConversionFactor::DoASync( macroPlan ,globalOTDTable);
// 宸ヨ壓璺嚎 + BOM-9
info( "Unit Finished, Start Operation Mapping" );
- macroPlan.DoASyncMappingOperationData( businessTypes ,globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingOperationData( businessTypeName ,globalOTDTable, organcodelist );
//info( "Operation Finished, Start BOM Data Broker" );
//macroPlan.Broker_OTD_BOM().Execute();
info( "BOM Data Broker Finished, Start BOM Mapping" );
- macroPlan.DoASyncMappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial,globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingOperationBOMData( businessTypeName, isKeyProduct, createPurchaseSupplyMaterial,globalOTDTable, organcodelist );
//杞﹂亾淇℃伅-10
info( "BOM Finished, Start Get Lanes From Api" );
@@ -127,32 +115,32 @@
//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);
+ macroPlan.DoASyncMappingProductInLaneData(globalOTDTable,guard( businessTypeName.Element( 0 ), "" ));
// 鍦ㄥ簱搴撳瓨鏁版嵁-13
//info( "ProductInLane Finished, Start ActualPISPIP Data Broker" );
//macroPlan.Broker_OTD_ActualPISPIP().Execute();
info( "ActualPISPIP Data Broker Finished, Start ActualPISPIP Mapping" );
- macroPlan.DoASyncMappingActualPISPIPData( businessTypes, globalOTDTable,isKeyProduct, organcodelist );
+ macroPlan.DoASyncMappingActualPISPIPData( businessTypeName, globalOTDTable,isKeyProduct, organcodelist );
// 鍦ㄩ�斿簱瀛�-14
//info( "ActualPISPIP Finished, Start ExternalSupply Data Broker" );
//macroPlan.Broker_OTD_ExternalSupply().Execute();
info( "ExternalSupply Data Broker Finished, Start ExternalSupply Mapping" );
- macroPlan.DoASyncMappingExternalSupplyData( businessTypes, isKeyProduct ,globalOTDTable, organcodelist );
+ macroPlan.DoASyncMappingExternalSupplyData( businessTypeName, isKeyProduct ,globalOTDTable, organcodelist );
// 搴撳瓨鎴愭湰-15
- InventoryValueAndCost::DoASync( macroPlan,globalOTDTable );
+ InventoryValueAndCost::DoASync( macroPlan,globalOTDTable,guard( businessTypeName.Element( 0 ), "" ) );
// todo 鍒堕�犳垚鏈�-16
info( "InventoryCost Finished, Start OperationCost Mapping" );
- macroPlan.DoASyncMappingOperationCostData( globalOTDTable, businessTypes, organcodelist );
+ macroPlan.DoASyncMappingOperationCostData( globalOTDTable, businessTypeName, organcodelist );
// 璁㈠崟棰勬祴-17
- Forecast::DoASync( macroPlan, businessTypes, globalOTDTable, organcodelist );
+ Forecast::DoASync( macroPlan, businessTypeName, globalOTDTable, organcodelist );
// 璁㈠崟闇�姹�-18
- CustomerOrder::DoASync( macroPlan, businessTypes, globalOTDTable, organcodelist );
+ CustomerOrder::DoASync( macroPlan, businessTypeName, globalOTDTable, organcodelist );
//鍒犻櫎澶氫綑鎶ラ敊鏁版嵁-19
macroPlan.DeleteSnaityCheck();
@@ -162,5 +150,7 @@
//// todo 渚涘簲鍟嗗洖澶�
//info( "ProviderReply::DoSync" )
+
+ return emit( macroPlan );
*]
}
diff --git "a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043896.qbl" "b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043896.qbl"
deleted file mode 100644
index fc549a7..0000000
--- "a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync\043896.qbl"
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod DoASync (
- MacroPlan macroPlan,
- String businessTypeStr,
- Boolean isKeyProduct,
- Boolean createPurchaseSupplyMaterial,
- const GlobalOTDTable globalOTDTable
-) as stream[MacroPlan]
-{
- Description: '鍗曟鍚屾'
- TextBody:
- [*
- // yypsybs Aug-17-2023 (created)
- businessTypes := construct( Strings );
- if( businessTypeStr.Length() > 0 ) {
- businessTypes := businessTypeStr.Tokenize( ',' );
- }
- MacroPlan::DoASync( macroPlan, businessTypes, isKeyProduct, createPurchaseSupplyMaterial ,globalOTDTable);
-
- return emit( macroPlan );
- *]
-}
diff --git a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync.qbl b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync.qbl
index 4fb0a6b..d92126d 100644
--- a/_Main/BL/Type_MacroPlan/StaticMethod_DoASync.qbl
+++ b/_Main/BL/Type_MacroPlan/StaticMethod_DoASync.qbl
@@ -2,7 +2,7 @@
#parent: #root
StaticMethod DoASync (
Scenario scenario,
- String businessTypeStr,
+ const BusinessType businessType,
Boolean isKeyProduct,
Boolean createPurchaseSupplyMaterial,
const GlobalOTDTable globalOTDTable
@@ -10,10 +10,10 @@
{
TextBody:
[*
- info( scenario.DatasetMDSID(), " 浜嬩笟閮細", businessTypeStr, " isKeyProduct锛�", isKeyProduct, " createPurchaseSupplyMaterial锛�", createPurchaseSupplyMaterial );
+ info( scenario.DatasetMDSID(), " 浜嬩笟閮細", businessType.BusinessTypeName(), " isKeyProduct锛�", isKeyProduct, " createPurchaseSupplyMaterial锛�", createPurchaseSupplyMaterial );
MDSMacroPlan::Root( scenario.DatasetMDSID() )
- -> MacroPlan::DoASync( businessTypeStr,
+ -> MacroPlan::DoASync( businessType,
isKeyProduct,
createPurchaseSupplyMaterial,
globalOTDTable
diff --git a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
index 4209271..1bd2418 100644
--- a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
+++ b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
@@ -9,7 +9,7 @@
//CapacityAllocationResultsRuleConfiguration::AutomaticallyGenerateCapacityRules( GlobalOTDTable, MacroPlan );
- CapacityAllocationResults::Test( MacroPlan, GlobalOTDTable );
+ //CapacityAllocationResults::Test( MacroPlan, GlobalOTDTable );
*]
CanBindMultiple: false
DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderAllScenario_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderAllScenario_OnDataChanged.def
new file mode 100644
index 0000000..0470654
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_DataHolderAllScenario_OnDataChanged.def
@@ -0,0 +1,33 @@
+Quintiq file version 2.0
+#parent: DataHolderAllScenario
+Response OnDataChanged () id:Response_TIANMA_JITUAN_ApplicationMacroPlanner_DataHolderAllScenario_OnDataChanged
+{
+ #keys: '[414702.1.169517835]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ user := QuintiqUser::CurrentUser();
+ scenarionodes := construct( ScenarioNodes );
+
+ if( user.IsAdministrator()
+ or not exists( ScenarioManager, ScenarioNode.ScenarioAuthorization, sa, true ) )
+ {
+ scenarionodes := selectset( ScenarioManager, ScenarioNode, scenarionode, true );
+ }
+ else
+ {
+ scenarionodes := selectset( ScenarioManager, ScenarioNode, scenarionode,
+ guard( scenarionode.astype( ScenarioFolder ).IsRecycleBin(), false )
+ or scenarionode.CreatedBy().ToUpper() = user.ShortName().ToUpper()
+ or exists( scenarionode, ScenarioAuthorization, sa,
+ user.IsMemberOfGroup( sa.Name() ) ) );
+ }
+
+ DataHolderAvailableScenarios.Data( &scenarionodes );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
index 49e8c72..219db76 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
@@ -80,5 +80,31 @@
Component DataHolderCurrentUser #extension
{
}
+ Component DataHolderAllScenario
+ {
+ #keys: '[414702.1.169450613]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[ScenarioNode]*'
+ Children:
+ [
+ Component DataExtractorAllScenario
+ {
+ #keys: '[414702.1.166961408]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'ScenarioManager'
+ FixedFilter: 'not object.IsDeleted()'
+ Source: 'ScenarioManager'
+ Taborder: 0
+ Transformation: 'ScenarioNode'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 46
+ ]
+ }
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Component_pnlContent.def
index 5c05df7..a5e8867 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Component_pnlContent.def
@@ -5,18 +5,6 @@
BaseType: 'WebPanel'
Children:
[
- Component dropDownStringListGeneral id:dropDownStringListGeneral_549
- {
- #keys: '[414702.1.87540205]'
- BaseType: 'WebDropDownStringList'
- Properties:
- [
- AllowEmpty: true
- DataBinding: 'DataHolderScenario.Data.ScenarioName'
- Label: 'Scenario Name'
- Taborder: 0
- ]
- }
Component checkboxIsKeyProduct id:checkboxIsKeyProduct_593
{
#keys: '[414702.1.87540263]'
@@ -49,6 +37,33 @@
Taborder: 3
]
}
+ Component ddlBusinessType
+ {
+ #keys: '[414702.1.169614090]'
+ BaseType: 'WebDropDownList'
+ Databinding: 'BusinessType'
+ Children:
+ [
+ Component deContent
+ {
+ #keys: '[414702.1.169614092]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDTable'
+ Source: 'GlobalOTDTable'
+ Taborder: 0
+ Transformation: 'BusinessType'
+ ]
+ }
+ ]
+ Properties:
+ [
+ DisplayField: 'ScenarioName'
+ Label: 'Scenario Name'
+ Taborder: 0
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Method_DataDistribution.def b/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Method_DataDistribution.def
index c72dc11..08f0bf0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Method_DataDistribution.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Method_DataDistribution.def
@@ -9,8 +9,6 @@
[*
DataHolderScenario.Data( scenario );
- dropDownStringListGeneral.Strings( GlobalOTDTable::GetBusnessStrings( GlobalOTDTable ) );
-
ApplicationMacroPlanner.ShowFormModal( this );
*]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Response_pnlActions_btnOk_OnClick.def
index fcba155..d4696a6 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogDataDistribution/Response_pnlActions_btnOk_OnClick.def
@@ -10,8 +10,9 @@
activeScenario := DataHolderActiveScenario.Data();
currentScenario := DataHolderScenario.Data();
+ businessType := ddlBusinessType.Data();
- if ( activeScenario = currentScenario ) {
+ if ( activeScenario = currentScenario or isnull( businessType ) ) {
flag := false;
feedback := "鏃犳硶瀵瑰綋鍓嶉�変腑鍦烘櫙杩涜鍒嗗彂";
}
@@ -30,15 +31,9 @@
[*
Form.ApplyChanges();
- businessType := select( GlobalOTDTable,
- BusinessType,
- b,
- b.ScenarioName() = dropDownStringListGeneral.Text()
- );
-
DataDistributionLog::Create( GlobalOTDLog, ApplicationMacroPlanner.GetUserName(), DataHolderScenario.Data().DatasetMDSID(), DataHolderScenario.Data().Name() );
MacroPlan::DoASync( DataHolderScenario.Data(),
- businessType.BusinessTypeName(),
+ ddlBusinessType.Data(),
checkboxIsKeyProduct.Checked(),
checkboxCreatePurchaseSupplyProduct.Checked(),
GlobalOTDTable );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button1_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button1_OnClick.def
new file mode 100644
index 0000000..bf4fda9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button1_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: Button1
+Response OnClick () id:Response_FormInterfaceTest_Button1_OnClick
+{
+ #keys: '[414702.1.224832095]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ Global_ProductInLineCategory::Create( GlobalOTDTable );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button2_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button2_OnClick.def
new file mode 100644
index 0000000..4da9e70
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button2_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: Button2
+Response OnClick () id:Response_FormInterfaceTest_Button2_OnClick
+{
+ #keys: '[414702.1.224832394]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ Global_StockingPointCostCategory::Create( GlobalOTDTable );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button3_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button3_OnClick.def
new file mode 100644
index 0000000..43d8ae2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button3_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: Button3
+Response OnClick () id:Response_FormInterfaceTest_Button3_OnClick
+{
+ #keys: '[414702.1.226882201]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ Global_MAPISPIPCategory::Create( GlobalOTDTable );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button4_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button4_OnClick.def
new file mode 100644
index 0000000..43ad89d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button4_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: Button4
+Response OnClick () id:Response_FormInterfaceTest_Button4_OnClick
+{
+ #keys: '[414702.1.226892014]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ Global_InventorySupplyCategory::Create( GlobalOTDTable );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button5_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button5_OnClick.def
new file mode 100644
index 0000000..93cfb84
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_Button5_OnClick.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: Button5
+Response OnClick () id:Response_FormInterfaceTest_Button5_OnClick
+{
+ #keys: '[414702.1.228751233]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ GlobalOTDTable.Global_ProductCategory( relflush );
+ GlobalOTDTable.Global_ProductInLineCategory( relflush );
+ GlobalOTDTable.Global_InventorySupplyCategory( relflush );
+ GlobalOTDTable.Global_StockingPointCostCategory( relflush );
+ GlobalOTDTable.Global_MAPISPIPCategory( relflush );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ButtonGenerateProductCategory_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ButtonGenerateProductCategory_OnClick.def
new file mode 100644
index 0000000..6e100b7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ButtonGenerateProductCategory_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: ButtonGenerateProductCategory
+Response OnClick () id:Response_FormInterfaceTest_ButtonGenerateProductCategory_OnClick
+{
+ #keys: '[414702.1.220904292]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( GlobalOTDTable );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ Global_ProductCategory::Create( GlobalOTDTable );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def
index 91a9af4..16917a6 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def
@@ -13,6 +13,72 @@
#child: PanelInterfaceOption3
#child: PanelInterfaceOption2
#child: PanelInterfaceOption1
+ Component ButtonGenerateProductCategory
+ {
+ #keys: '[414702.1.220980872]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'TELEPHONE2'
+ Label: '鏍规嵁浜嬩笟閮ㄧ敓鎴愪骇鍝佸垎绫�'
+ Taborder: 6
+ ]
+ }
+ Component Button1
+ {
+ #keys: '[414702.1.225920560]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'BRUSH2'
+ Label: '鏍规嵁浜у搧ID鐢熸垚ProductInLine鍒嗙被'
+ Taborder: 7
+ ]
+ }
+ Component Button2
+ {
+ #keys: '[414702.1.225920577]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'INDUSTRIAL_ROBOT'
+ Label: '鏍规嵁浜у搧ID鐢熸垚StockingPoingCost鍒嗙被'
+ Taborder: 8
+ ]
+ }
+ Component Button3
+ {
+ #keys: '[414702.1.226882098]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'BANANA'
+ Label: '鏍规嵁浜у搧ID鐢熸垚MAPISPIP鍒嗙被'
+ Taborder: 9
+ ]
+ }
+ Component Button4
+ {
+ #keys: '[414702.1.226891739]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'BEER_GLASS'
+ Label: '鏍规嵁浜у搧ID鐢熸垚InventorySupply鍒嗙被'
+ Taborder: 10
+ ]
+ }
+ Component Button5
+ {
+ #keys: '[414702.1.228751221]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'BROOM'
+ Label: '娓呯┖鍒嗙被'
+ Taborder: 11
+ ]
+ }
]
Properties:
[
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw"
index 31929b6..1977281 100644
--- "a/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw"
+++ "b/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw"
@@ -13,7 +13,7 @@
{
mode: 'open'
rowPosition: 1
- rowSpan: 16
+ rowSpan: 23
columnPosition: 1
columnSpan: 6
}
@@ -1184,10 +1184,10 @@
userconfigurableinformation
{
}
+ image: 'SKIN_TIGER'
page: ''
group: ''
index: 0
- image: 'SKIN_TIGER'
description: ''
}
formatversion: 2
--
Gitblit v1.9.3