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