From eb1bd2a543a8964ac3b4a2c6269f61001ed53a09 Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期四, 12 十月 2023 18:39:26 +0800
Subject: [PATCH] 产能分配优化
---
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def | 21 +
_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/_ROOT_Component_FormPanelMaterialSpecializedDisplay.def | 1
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_listContextMenuCapacityAllocationResultsRuleConfiguration_MenuAutoC.def | 20 +
_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl | 11
_Main/UI/MacroPlannerWebApp/Views/填产.vw | 607 +++++++++++++++++++++++++++++++
_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonSalesFillingCapacity_O.def | 16
_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl | 54 ++
_Main/UI/MacroPlannerWebApp/Views/Test.vw | 285 --------------
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_AutomaticallyGenerateRule.qbl | 8
/dev/null | 17
_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl | 20
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def | 9
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews#633.def | 4
15 files changed, 760 insertions(+), 323 deletions(-)
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl
new file mode 100644
index 0000000..a3edaf0
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration3.qbl
@@ -0,0 +1,54 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod IterativeGeneration3 (
+ Supply_MP smp,
+ Number numberOfPlies,
+ Real fulfillmentQuantity
+)
+{
+ TextBody:
+ [*
+ info( "灞傛暟锛�", numberOfPlies );
+ ontype ( smp ) {
+ NewSupply as ns : {
+ info( "渚涘簲绫诲瀷锛圢ewSupply锛�", " 渚涘簲閲忥細", ns.Quantity(), " 瀹為檯鐢ㄩ噺锛�", fulfillmentQuantity );
+ ontype ( ns.PeriodTask_MP() ) {
+ PeriodTaskOperation as pto : {
+ info( "鎿嶄綔鍛ㄦ湡浠诲姟 ", "渚涘簲鏃堕棿锛�", ns.Start().Format( "Y-M2-D2" ), " 鍛ㄦ湡浠诲姟KEY锛�", pto.Key(), " ",
+ ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
+ traverse ( pto, DependentDemand, dd, dd.Quantity() > 0 ) {
+ traverse ( dd, Fulfillment, f ) {
+ smp1 := f.Supply_MP();
+ numberOfPlies++;
+ info( "--------------------------------------------------------------" );
+ fulfillmentQuantity := fulfillmentQuantity * ns.ProcessOutput().astype( OperationOutput ).Quantity() *
+ dd.ProcessInput().astype( OperationInput ).Quantity();
+ CapacityAllocationResults::IterativeGeneration3( smp1, numberOfPlies, fulfillmentQuantity );
+ numberOfPlies--;
+ }
+ }
+ }
+
+ PeriodTaskLaneLeg as ptll : {
+ targetDependentDemand := select( ptll, DependentDemand, dd, dd.ProcessInput().ProductInStockingPoint_MP().ProductID() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() and
+ dd.Quantity() = ns.Quantity() );
+ info( "杞﹂亾鍛ㄦ湡浠诲姟 ", "渚涘簲鏃堕棿锛�", ns.Start().Format( "Y-M2-D2" ), " 鍛ㄦ湡浠诲姟KEY锛�", ptll.Key(), " ",
+ targetDependentDemand.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
+ traverse ( targetDependentDemand, Fulfillment, f ) {
+ smp1 := f.Supply_MP();
+ numberOfPlies++;
+ info( "--------------------------------------------------------------" );
+ CapacityAllocationResults::IterativeGeneration3( smp1, numberOfPlies, f.Quantity() );
+ numberOfPlies--;
+ }
+ }
+ }
+ }
+
+ InventorySupply as is : {
+ info( "渚涘簲绫诲瀷锛圛nventorySupply锛� ", "渚涘簲鏃堕棿锛�", is.Date().Format( "Y-M2-D2" ), " 渚涘簲閲忥細", is.Quantity(),
+ " 瀹為檯鐢ㄩ噺锛�", fulfillmentQuantity, " ", is.ProductInStockingPoint_MP().Name() );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl
index 7eb00a2..7000af7 100644
--- a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_Test.qbl
@@ -6,10 +6,13 @@
{
TextBody:
[*
- traverse ( macroPlan, SalesDemand, sd, sd.ProductID() = "ProXOver 1 D2.6 A" and
- sd.StockingPointID() = "Carco Philadelphia" and
- sd.StartDate() = Date::Construct( 2020, 4, 1 ) ) {
- info( "鏁伴噺锛�", sd.Quantity() );
+ traverse ( macroPlan, Product_MP.ProductInStockingPoint_MP, pisp, pisp.ProductID() = "ProXOver 1 D2.6 A" and
+ pisp.StockingPointID() = "Carco Philadelphia" ) {
+ traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ).Supply_MP, smp,
+ smp.ProductInStockingPointInPeriodPlanning().Start().Date() = Date::Construct( 2020, 4, 7 ) and
+ smp.Quantity() > 0 ) {
+ CapacityAllocationResults::IterativeGeneration3( smp, 1, smp.Quantity() );
+ }
}
*]
}
diff --git a/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_AutomaticallyGenerateRule.qbl b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_AutomaticallyGenerateRule.qbl
new file mode 100644
index 0000000..c2effb5
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_AutomaticallyGenerateRule.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod AutomaticallyGenerateRule (
+ MacroPlan macroPlan,
+ GlobalOTDTable globalOTDTable
+)
+{
+}
diff --git a/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl
index 0f86052..bb13b39 100644
--- a/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl
+++ b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl
@@ -1,21 +1,25 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateData (
- MacroPlan macroPlan
+ MacroPlan macroPlan,
+ Scenario scenario
)
{
TextBody:
[*
+ macroPlan.CustomerAndForecastOrder( relflush );
+
traverse ( macroPlan, SalesDemand.astype( CustomerOrder ), co, true ) {
macroPlan.CustomerAndForecastOrder( relnew,
- OrderID := co.OrderID(),
- ProductID := co.ProductID(),
- BusinessType := co.BusinessType(),
- Customer := co.CustomerName(),
- CustomerID := co.CustomerID(),
- Quantity := co.Quantity(),
+ VerNo := scenario.Name(),
+ OrderID := co.OrderID(),
+ ProductID := co.ProductID(),
+ BusinessType := co.BusinessType(),
+ Customer := co.CustomerName(),
+ CustomerID := co.CustomerID(),
+ Quantity := co.Quantity(),
UnitOfMeasureName := co.UnitOfMeasureName(),
- DemandDate := co.StartDate()
+ DemandDate := co.StartDate()
);
}
*]
diff --git a/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl
index dc39665..9bc36fc 100644
--- a/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl
+++ b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl
@@ -9,9 +9,9 @@
[*
// NBoTk Sep-13-2023 (created)
- owner.FillingCapacityOrder(relnew,ProductID := data.ProductID(),BusinessType := data.BusinessType(),Customer := data.Customer(),CustomerID := data.CustomerID(),
- Quantity := data.Quantity(),UnitOfMeasureName := data.UnitOfMeasureName(),PanelBigSheetQuantity := data.PanelBigSheetQuantity(),SalesAmount := data.SalesAmount(),
- ForecastDemandDate := data.ForecastDemandDate(),DemandDate := data.DemandDate(),VerNo := data.VerNo(),SalesSegmentName := data.SalesSegmentName()
- );
+ //owner.FillingCapacityOrder(relnew,ProductID := data.ProductID(),BusinessType := data.BusinessType(),Customer := data.Customer(),CustomerID := data.CustomerID(),
+ // Quantity := data.Quantity(),UnitOfMeasureName := data.UnitOfMeasureName(),PanelBigSheetQuantity := data.PanelBigSheetQuantity(),SalesAmount := data.SalesAmount(),
+ // ForecastDemandDate := data.ForecastDemandDate(),DemandDate := data.DemandDate(),VerNo := data.VerNo(),SalesSegmentName := data.SalesSegmentName()
+ // );
*]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews\043633.def" "b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews\043633.def"
index de9515e..71b9352 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews\043633.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews\043633.def"
@@ -7,10 +7,6 @@
{
#keys: '[414382.0.436830247]'
BaseType: 'WebButton'
- Children:
- [
- #child: ContextMenuSalesFillingCapacity
- ]
Properties:
[
Image: 'BLOT'
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuSalesFillingCapacity.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuSalesFillingCapacity.def
deleted file mode 100644
index 0aae48c..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuSalesFillingCapacity.def
+++ /dev/null
@@ -1,49 +0,0 @@
-Quintiq file version 2.0
-Component ContextMenuSalesFillingCapacity
-{
- #keys: '[414382.0.437003283]'
- BaseType: 'WebContextMenu'
- Children:
- [
- Component MenuSalesFillingCapacity
- {
- #keys: '[414382.0.437003284]'
- BaseType: 'WebMenu'
- Properties:
- [
- Image: 'ELEMENT_BLUE'
- Taborder: 0
- Title: '澶栧崠CELL'
- Tooltip: '澶栧崠CELL'
- ]
- }
- Component MenuSalesFillingSchemeDetail
- {
- #keys: '[414382.0.436840646]'
- BaseType: 'WebMenu'
- Properties:
- [
- Image: 'ELEMENT_ORANGE'
- Taborder: 1
- Title: '濉骇鏂规鍒楄〃'
- Tooltip: '濉骇鏂规鍒楄〃'
- ]
- }
- Component MenuSalesFillingSchemeHistorical
- {
- #keys: '[414382.0.455751651]'
- BaseType: 'WebMenu'
- Properties:
- [
- Image: 'ELEMENT_ORANGE'
- Taborder: 2
- Title: '濉骇鍘嗗彶璁㈠崟鍒楄〃'
- Tooltip: '濉骇鍘嗗彶璁㈠崟鍒楄〃'
- ]
- }
- ]
- Properties:
- [
- Taborder: 0
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
index 4a5d5b5..9dd6fd4 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
@@ -13,7 +13,7 @@
[
Image: 'WATER_FISH'
Taborder: 0
- Title: '浜ц兘鍒嗛厤&濉骇'
+ Title: '浜ц兘鍒嗛厤'
]
}
Component mnAnnualProductionAndSalesReview
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonSalesFillingCapacity_O.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonSalesFillingCapacity_O.def
new file mode 100644
index 0000000..21b1e4c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonSalesFillingCapacity_O.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ActionBarGroupSalesViews/ButtonSalesFillingCapacity
+Response OnClick () id:Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonSalesFillingCapacity_OnClick
+{
+ #keys: '[414702.1.55424758]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "濉骇", true );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingCapac.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingCapac.def
deleted file mode 100644
index 73a0e05..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingCapac.def
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: ContextMenuSalesFillingCapacity/MenuSalesFillingCapacity
-Response OnClick () id:Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingCapacity_OnClick
-{
- #keys: '[414382.0.437390498]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebMenu_OnClick'
- QuillAction
- {
- Body:
- [*
- // Open view
- //ApplicationMacroPlanner.OpenView( 'FillingCapacityOrder', ButtonSalesFillingCapacity );
- ApplicationScope.ViewManager().ResetUserViewById( "FillingCapacityOrder",true);
- *]
- GroupServerCalls: false
- }
-}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingS\043360.def" "b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingS\043360.def"
deleted file mode 100644
index 067c423..0000000
--- "a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingS\043360.def"
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: ContextMenuSalesFillingCapacity/MenuSalesFillingSchemeHistorical
-Response OnClick () id:Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingSchemeHistorical_OnClick
-{
- #keys: '[414382.0.455751650]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebMenu_OnClick'
- QuillAction
- {
- Body:
- [*
- // Open view
- ApplicationScope.ViewManager().ResetUserViewById( "FillingCapacityOrderHistorical",true);
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingSchem.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingSchem.def
deleted file mode 100644
index 22b6bc7..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingSchem.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: ContextMenuSalesFillingCapacity/MenuSalesFillingSchemeDetail
-Response OnClick () id:Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingSchemeDetail_OnClick
-{
- #keys: '[414382.0.439022595]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebMenu_OnClick'
- QuillAction
- {
- Body:
- [*
- // Open view
- ApplicationScope.ViewManager().ResetUserViewById( "FillingCapacitySchemeList",true);
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def
index 597ad1b..594eaef 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def
@@ -51,6 +51,27 @@
Title: '鍏ㄩ��'
]
}
+ Component Menu666
+ {
+ #keys: '[414702.1.55207187]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Separator: true
+ Taborder: 7
+ ]
+ }
+ Component MenuAutoCreate
+ {
+ #keys: '[414702.1.55207442]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'COMPONENT'
+ Taborder: 8
+ Title: '鑷姩鍒涘缓瑙勫垯'
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_listContextMenuCapacityAllocationResultsRuleConfiguration_MenuAutoC.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_listContextMenuCapacityAllocationResultsRuleConfiguration_MenuAutoC.def
new file mode 100644
index 0000000..c4e09ed
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_listContextMenuCapacityAllocationResultsRuleConfiguration_MenuAutoC.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: listContextMenuCapacityAllocationResultsRuleConfiguration/MenuAutoCreate
+Response OnClick () id:Response_listContextMenuCapacityAllocationResultsRuleConfiguration_MenuAutoCreate_OnClick
+{
+ #keys: '[414702.1.55268133]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ Precondition:
+ [*
+ return not isnull( MacroPlan ) and not isnull( GlobalOTDTable );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ //CapacityAllocationResultsRuleConfiguration::AutomaticallyGenerateRule( MacroPlan, GlobalOTDTable );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def
index 30c3208..fd6d7b1 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def
@@ -13,7 +13,14 @@
{
Body:
[*
- CustomerAndForecastOrder::CreateData( MacroPlan );
+ CustomerAndForecastOrder::CreateData( MacroPlan, DataHolderActiveScenario.Data() );
+
+ message := "鎬昏鍗曚釜鏁帮細" +
+ [String]counter( MacroPlan, SalesDemand.astype( CustomerOrder ), cs, true ) +
+ " 鎴愬姛杞崲涓暟锛�" +
+ [String]counter( MacroPlan, SalesDemand.astype( CustomerOrder ), cs, true )
+
+ WebMessageBox::Success( message, true );
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/_ROOT_Component_FormPanelMaterialSpecializedDisplay.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/_ROOT_Component_FormPanelMaterialSpecializedDisplay.def
index 74e4ff6..70bf43d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/_ROOT_Component_FormPanelMaterialSpecializedDisplay.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialSpecializedDisplay/_ROOT_Component_FormPanelMaterialSpecializedDisplay.def
@@ -32,7 +32,6 @@
]
Properties:
[
- Description: '涓撴樉'
Image: 'LAPTOP2'
Title: '涓撴樉'
]
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Test.vw b/_Main/UI/MacroPlannerWebApp/Views/Test.vw
index 808d3e8..f59a1db 100644
--- a/_Main/UI/MacroPlannerWebApp/Views/Test.vw
+++ b/_Main/UI/MacroPlannerWebApp/Views/Test.vw
@@ -159,300 +159,19 @@
}
}
}
- form_FormCustomerAndForecastOrder
- {
- title: 'QTIANMA_JITUAN::FormCustomerAndForecastOrder'
- shown: true
- componentID: 'QTIANMA_JITUAN::FormCustomerAndForecastOrder'
- layout
- {
- mode: 'open'
- rowPosition: 16
- rowSpan: 16
- columnPosition: 1
- columnSpan: 4
- }
- components
- {
- FormCustomerAndForecastOrder_PanelButton
- {
- sizeRatio: 1
- }
- FormCustomerAndForecastOrder_ListCustomerAndFillingCapacityOrder
- {
- }
- FormCustomerAndForecastOrder_DataSetLevelCustomerAndFillingCapacityOrder
- {
- groupDepth: -1
- column_VerNo
- {
- columnId: 'VerNo'
- dataPath: 'VerNo'
- dataType: 'string'
- index: 0
- subtotals: ''
- width: 150
- }
- column_OrderID
- {
- columnId: 'OrderID'
- dataPath: 'OrderID'
- dataType: 'string'
- index: 1
- subtotals: ''
- width: 150
- }
- column_ProductID
- {
- columnId: 'ProductID'
- dataPath: 'ProductID'
- dataType: 'string'
- index: 2
- subtotals: ''
- width: 150
- }
- column_BusinessType
- {
- columnId: 'BusinessType'
- dataPath: 'BusinessType'
- dataType: 'string'
- index: 3
- subtotals: ''
- width: 150
- }
- column_Customer
- {
- columnId: 'Customer'
- dataPath: 'Customer'
- dataType: 'string'
- index: 4
- subtotals: ''
- width: 150
- }
- column_ServiceType
- {
- columnId: 'ServiceType'
- dataPath: 'ServiceType'
- dataType: 'string'
- index: 5
- subtotals: ''
- width: 150
- }
- column_Quantity
- {
- columnId: 'Quantity'
- dataPath: 'Quantity'
- dataType: 'real'
- index: 6
- subtotals: ''
- width: 150
- }
- column_UnitOfMeasureName
- {
- columnId: 'UnitOfMeasureName'
- dataPath: 'UnitOfMeasureName'
- dataType: 'string'
- index: 7
- subtotals: ''
- width: 150
- }
- column_PanelBigSheetQuantity
- {
- columnId: 'PanelBigSheetQuantity'
- dataPath: 'PanelBigSheetQuantity'
- dataType: 'real'
- index: 8
- subtotals: ''
- width: 150
- }
- column_SalesAmount
- {
- columnId: 'SalesAmount'
- dataPath: 'SalesAmount'
- dataType: 'number'
- index: 9
- subtotals: ''
- width: 150
- }
- column_ForecastDemandDate
- {
- columnId: 'ForecastDemandDate'
- dataPath: 'ForecastDemandDate'
- dataType: 'date'
- index: 10
- subtotals: ''
- width: 150
- }
- column_DemandDate
- {
- columnId: 'DemandDate'
- dataPath: 'DemandDate'
- dataType: 'date'
- index: 11
- subtotals: ''
- width: 150
- }
- }
- }
- }
- form_FormFillingCapacityOrder
- {
- title: 'QTIANMA_JITUAN::FormFillingCapacityOrder'
- shown: true
- componentID: 'QTIANMA_JITUAN::FormFillingCapacityOrder'
- layout
- {
- mode: 'open'
- rowPosition: 16
- rowSpan: 16
- columnPosition: 5
- columnSpan: 8
- }
- components
- {
- FormFillingCapacityOrder_PanelFillingCapacityOrder
- {
- sizeRatio: 1
- }
- FormFillingCapacityOrder_ListFillingCapacityOrder
- {
- }
- FormFillingCapacityOrder_DataSetLevelFillingCapacityOrder
- {
- groupDepth: -1
- column_VerNo
- {
- columnId: 'VerNo'
- dataPath: 'VerNo'
- dataType: 'string'
- index: 0
- subtotals: ''
- width: 150
- }
- column_ProductID
- {
- columnId: 'ProductID'
- dataPath: 'ProductID'
- dataType: 'string'
- index: 1
- subtotals: ''
- width: 150
- }
- column_BusinessType
- {
- columnId: 'BusinessType'
- dataPath: 'BusinessType'
- dataType: 'string'
- index: 2
- subtotals: ''
- width: 150
- }
- column_SalesSegmentName
- {
- columnId: 'SalesSegmentName'
- dataPath: 'SalesSegmentName'
- dataType: 'string'
- index: 3
- subtotals: ''
- width: 150
- }
- column_StockingPointID
- {
- columnId: 'StockingPointID'
- dataPath: 'StockingPointID'
- dataType: 'string'
- index: 4
- subtotals: ''
- width: 150
- }
- column_Customer
- {
- columnId: 'Customer'
- dataPath: 'Customer'
- dataType: 'string'
- index: 5
- subtotals: ''
- width: 150
- }
- column_Quantity
- {
- columnId: 'Quantity'
- dataPath: 'Quantity'
- dataType: 'real'
- index: 6
- subtotals: ''
- width: 150
- }
- column_UnitOfMeasureName
- {
- columnId: 'UnitOfMeasureName'
- dataPath: 'UnitOfMeasureName'
- dataType: 'string'
- index: 7
- subtotals: ''
- width: 150
- }
- column_PanelBigSheetQuantity
- {
- columnId: 'PanelBigSheetQuantity'
- dataPath: 'PanelBigSheetQuantity'
- dataType: 'real'
- index: 8
- subtotals: ''
- width: 150
- }
- column_SalesAmount
- {
- columnId: 'SalesAmount'
- dataPath: 'SalesAmount'
- dataType: 'number'
- index: 9
- subtotals: ''
- width: 150
- }
- column_ForecastDemandDate
- {
- columnId: 'ForecastDemandDate'
- dataPath: 'ForecastDemandDate'
- dataType: 'date'
- index: 10
- subtotals: ''
- width: 150
- }
- column_DemandDate
- {
- columnId: 'DemandDate'
- dataPath: 'DemandDate'
- dataType: 'date'
- index: 11
- subtotals: ''
- width: 150
- }
- column_OrderType
- {
- columnId: 'OrderType'
- dataPath: 'OrderType'
- dataType: 'string'
- index: 12
- subtotals: ''
- width: 150
- }
- }
- }
- }
}
userconfigurableinformation
{
}
+ image: 'BEAR'
page: ''
group: ''
index: 0
- image: 'BEAR'
description: ''
}
formatversion: 2
id: 'Test'
- name: '浜ц兘鍒嗛厤_濉骇'
+ name: '浜ц兘鍒嗛厤'
isglobal: false
isroot: true
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\345\241\253\344\272\247.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\345\241\253\344\272\247.vw"
new file mode 100644
index 0000000..12b8317
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Views/\345\241\253\344\272\247.vw"
@@ -0,0 +1,607 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormCustomerAndForecastOrder
+ {
+ title: 'QTIANMA_JITUAN::FormCustomerAndForecastOrder'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormCustomerAndForecastOrder'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 16
+ columnPosition: 1
+ columnSpan: 4
+ }
+ components
+ {
+ FormCustomerAndForecastOrder_PanelButton
+ {
+ sizeRatio: 1
+ }
+ FormCustomerAndForecastOrder_ListCustomerAndFillingCapacityOrder
+ {
+ }
+ FormCustomerAndForecastOrder_DataSetLevelCustomerAndFillingCapacityOrder
+ {
+ groupDepth: -1
+ column_VerNo
+ {
+ columnId: 'VerNo'
+ dataPath: 'VerNo'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_OrderID
+ {
+ columnId: 'OrderID'
+ dataPath: 'OrderID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_BusinessType
+ {
+ columnId: 'BusinessType'
+ dataPath: 'BusinessType'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_Customer
+ {
+ columnId: 'Customer'
+ dataPath: 'Customer'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_ServiceType
+ {
+ columnId: 'ServiceType'
+ dataPath: 'ServiceType'
+ dataType: 'string'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ column_Quantity
+ {
+ columnId: 'Quantity'
+ dataPath: 'Quantity'
+ dataType: 'real'
+ index: 6
+ subtotals: ''
+ width: 150
+ }
+ column_UnitOfMeasureName
+ {
+ columnId: 'UnitOfMeasureName'
+ dataPath: 'UnitOfMeasureName'
+ dataType: 'string'
+ index: 7
+ subtotals: ''
+ width: 150
+ }
+ column_PanelBigSheetQuantity
+ {
+ columnId: 'PanelBigSheetQuantity'
+ dataPath: 'PanelBigSheetQuantity'
+ dataType: 'real'
+ index: 8
+ subtotals: ''
+ width: 150
+ }
+ column_SalesAmount
+ {
+ columnId: 'SalesAmount'
+ dataPath: 'SalesAmount'
+ dataType: 'number'
+ index: 9
+ subtotals: ''
+ width: 150
+ }
+ column_ForecastDemandDate
+ {
+ columnId: 'ForecastDemandDate'
+ dataPath: 'ForecastDemandDate'
+ dataType: 'date'
+ index: 10
+ subtotals: ''
+ width: 150
+ }
+ column_DemandDate
+ {
+ columnId: 'DemandDate'
+ dataPath: 'DemandDate'
+ dataType: 'date'
+ index: 11
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormFillingCapacityOrder
+ {
+ title: 'QTIANMA_JITUAN::FormFillingCapacityOrder'
+ shown: true
+ componentID: 'QTIANMA_JITUAN::FormFillingCapacityOrder'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 16
+ columnPosition: 5
+ columnSpan: 8
+ }
+ components
+ {
+ FormFillingCapacityOrder_PanelFillingCapacityOrder
+ {
+ sizeRatio: 1
+ }
+ FormFillingCapacityOrder_ListFillingCapacityOrder
+ {
+ }
+ FormFillingCapacityOrder_DataSetLevelFillingCapacityOrder
+ {
+ groupDepth: -1
+ column_VerNo
+ {
+ columnId: 'VerNo'
+ dataPath: 'VerNo'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 150
+ }
+ column_ProductID
+ {
+ columnId: 'ProductID'
+ dataPath: 'ProductID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_BusinessType
+ {
+ columnId: 'BusinessType'
+ dataPath: 'BusinessType'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_SalesSegmentName
+ {
+ columnId: 'SalesSegmentName'
+ dataPath: 'SalesSegmentName'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_StockingPointID
+ {
+ columnId: 'StockingPointID'
+ dataPath: 'StockingPointID'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_Customer
+ {
+ columnId: 'Customer'
+ dataPath: 'Customer'
+ dataType: 'string'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ column_Quantity
+ {
+ columnId: 'Quantity'
+ dataPath: 'Quantity'
+ dataType: 'real'
+ index: 6
+ subtotals: ''
+ width: 150
+ }
+ column_UnitOfMeasureName
+ {
+ columnId: 'UnitOfMeasureName'
+ dataPath: 'UnitOfMeasureName'
+ dataType: 'string'
+ index: 7
+ subtotals: ''
+ width: 150
+ }
+ column_PanelBigSheetQuantity
+ {
+ columnId: 'PanelBigSheetQuantity'
+ dataPath: 'PanelBigSheetQuantity'
+ dataType: 'real'
+ index: 8
+ subtotals: ''
+ width: 150
+ }
+ column_SalesAmount
+ {
+ columnId: 'SalesAmount'
+ dataPath: 'SalesAmount'
+ dataType: 'number'
+ index: 9
+ subtotals: ''
+ width: 150
+ }
+ column_ForecastDemandDate
+ {
+ columnId: 'ForecastDemandDate'
+ dataPath: 'ForecastDemandDate'
+ dataType: 'date'
+ index: 10
+ subtotals: ''
+ width: 150
+ }
+ column_DemandDate
+ {
+ columnId: 'DemandDate'
+ dataPath: 'DemandDate'
+ dataType: 'date'
+ index: 11
+ subtotals: ''
+ width: 150
+ }
+ column_OrderType
+ {
+ columnId: 'OrderType'
+ dataPath: 'OrderType'
+ dataType: 'string'
+ index: 12
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormCustomerOrders
+ {
+ title: 'QLibMacroPlannerWebUI::FormCustomerOrders'
+ shown: true
+ componentID: 'QLibMacroPlannerWebUI::FormCustomerOrders'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 17
+ rowSpan: 17
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components
+ {
+ FormCustomerOrders_PanelSalesDemands
+ {
+ sizeRatio: 1
+ }
+ FormCustomerOrders_PanelAllSalesDemands
+ {
+ sizeRatio: 2
+ }
+ FormCustomerOrders_ListSalesDemands
+ {
+ }
+ FormCustomerOrders_DataSetLevelSalesDemands
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_StockingPoint_MP_ID
+ {
+ columnId: 'StockingPoint_MP.ID'
+ dataPath: 'StockingPoint_MP.ID'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_SalesSegment_MP_Name
+ {
+ columnId: 'SalesSegment_MP.Name'
+ dataPath: 'SalesSegment_MP.Name'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 150
+ }
+ column_CustomerName
+ {
+ columnId: 'CustomerName'
+ dataPath: 'CustomerName'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_CustomerID
+ {
+ columnId: 'CustomerID'
+ dataPath: 'CustomerID'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_OrderID
+ {
+ columnId: 'OrderID'
+ dataPath: 'OrderID'
+ dataType: 'string'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ column_OrderLineID
+ {
+ columnId: 'OrderLineID'
+ dataPath: 'OrderLineID'
+ dataType: 'string'
+ index: 6
+ subtotals: ''
+ width: 150
+ }
+ column_StartDate
+ {
+ columnId: 'StartDate'
+ dataPath: 'StartDate'
+ dataType: 'date'
+ index: 7
+ subtotals: ''
+ width: 150
+ }
+ column_Product_MP_ID
+ {
+ columnId: 'Product_MP.ID'
+ dataPath: 'Product_MP.ID'
+ dataType: 'string'
+ index: 8
+ subtotals: ''
+ width: 150
+ }
+ column_UnitOfMeasure_MP_Name
+ {
+ columnId: 'UnitOfMeasure_MP.Name'
+ dataPath: 'UnitOfMeasure_MP.Name'
+ dataType: 'string'
+ index: 9
+ subtotals: ''
+ width: 150
+ }
+ column_Quantity
+ {
+ columnId: 'Quantity'
+ dataPath: 'Quantity'
+ dataType: 'real'
+ index: 10
+ subtotals: ''
+ width: 150
+ }
+ column_FulfilledQuantity
+ {
+ columnId: 'FulfilledQuantity'
+ dataPath: 'FulfilledQuantity'
+ dataType: 'real'
+ index: 11
+ subtotals: ''
+ width: 150
+ }
+ column_Fulfillment
+ {
+ columnId: 'Fulfillment'
+ dataPath: 'Fulfillment'
+ dataType: 'string'
+ index: 12
+ subtotals: ''
+ width: 150
+ }
+ column_IsFirmed
+ {
+ columnId: 'IsFirmed'
+ dataPath: 'IsFirmed'
+ dataType: 'boolean'
+ index: 13
+ subtotals: ''
+ width: 150
+ }
+ column_IsEligibleForNetting
+ {
+ columnId: 'IsEligibleForNetting'
+ dataPath: 'IsEligibleForNetting'
+ dataType: 'boolean'
+ index: 14
+ subtotals: ''
+ width: 150
+ }
+ column_Price
+ {
+ columnId: 'Price'
+ dataPath: 'Price'
+ dataType: 'real'
+ index: 15
+ subtotals: ''
+ width: 150
+ }
+ column_PriceUoM
+ {
+ columnId: 'PriceUoM'
+ dataPath: 'PriceUoM'
+ dataType: 'string'
+ index: 16
+ subtotals: ''
+ width: 150
+ }
+ column_OrderTag
+ {
+ columnId: 'OrderTag'
+ dataPath: 'OrderTag'
+ dataType: 'string'
+ index: 17
+ subtotals: ''
+ width: 150
+ }
+ }
+ FormCustomerOrders_PanelSDIP
+ {
+ sizeRatio: 1
+ }
+ FormCustomerOrders_ListSDIP
+ {
+ }
+ FormCustomerOrders_DataSetLevelSDIP
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_ImgIsRestricted
+ {
+ columnId: 'ImgIsRestricted'
+ dataPath: 'ImgIsRestricted'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 150
+ }
+ column_SalesSegmentName
+ {
+ columnId: 'SalesSegmentName'
+ dataPath: 'SalesSegmentName'
+ 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_StartDate
+ {
+ columnId: 'StartDate'
+ dataPath: 'StartDate'
+ dataType: 'date'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ column_EndDate
+ {
+ columnId: 'EndDate'
+ dataPath: 'EndDate'
+ dataType: 'date'
+ index: 6
+ subtotals: ''
+ width: 150
+ }
+ column_MasterSalesDemand_UnitOfMeasureName
+ {
+ columnId: 'MasterSalesDemand.UnitOfMeasureName'
+ dataPath: 'MasterSalesDemand.UnitOfMeasureName'
+ dataType: 'string'
+ index: 7
+ subtotals: ''
+ width: 150
+ }
+ column_QuantityInSalesDemandUOM
+ {
+ columnId: 'QuantityInSalesDemandUOM'
+ dataPath: 'QuantityInSalesDemandUOM'
+ dataType: 'real'
+ index: 8
+ subtotals: ''
+ width: 150
+ }
+ column_FulfilledQuantityInSalesDemandUOM
+ {
+ columnId: 'FulfilledQuantityInSalesDemandUOM'
+ dataPath: 'FulfilledQuantityInSalesDemandUOM'
+ dataType: 'real'
+ index: 9
+ subtotals: ''
+ width: 150
+ }
+ column_Fulfillment
+ {
+ columnId: 'Fulfillment'
+ dataPath: 'Fulfillment'
+ dataType: 'string'
+ index: 10
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ image: 'BOOK_BLUE_VIEW'
+ page: ''
+ group: ''
+ index: 0
+ description: ''
+ }
+ formatversion: 2
+ id: '濉骇'
+ name: '濉骇'
+ isglobal: false
+ isroot: true
+}
--
Gitblit v1.9.3