From 843ca4d3d3e499d08c06eb718bef3ee92115ab9c Mon Sep 17 00:00:00 2001 From: hongjli <3117313295@qq.com> Date: 星期四, 21 九月 2023 23:52:10 +0800 Subject: [PATCH] 产能分配结果 --- _Main/BL/Type_CapacityAllocationResults/Attribute_PanelBase.qbl | 8 + _Main/BL/Type_CapacityAllocationResults/Attribute_VersionNumber.qbl | 8 + _Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl | 55 +++++++ _Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfPanels.qbl | 8 + _Main/BL/Type_CapacityAllocationResults/_ROOT_Type_CapacityAllocationResults.qbl | 10 + _Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMaterialCode.qbl | 8 + _Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def | 4 _Main/BL/Type_CapacityAllocationResults/Attribute_PanelMaterialCode.qbl | 8 + _Main/BL/Type_CapacityAllocationResults/Attribute_PanelMeasurementUnit.qbl | 8 + _Main/BL/Type_CapacityAllocationResults/Attribute_Division.qbl | 8 + _Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfModules.qbl | 8 + _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def | 10 + _Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def | 12 + _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def | 41 +++++ _Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def | 50 +++++++ _Main/BL/Type_CapacityAllocationResults/Attribute_ModuleBase.qbl | 8 + _Main/BL/Type_CapacityAllocationResults/Attribute_RequirementDate.qbl | 8 + _Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl | 25 +++ _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def | 28 ++++ _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def | 10 + _Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def | 16 ++ _Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl | 23 +++ _Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl | 28 ++++ _Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMeasurementUnit.qbl | 8 + 24 files changed, 400 insertions(+), 0 deletions(-) diff --git a/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl b/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl new file mode 100644 index 0000000..278c0e9 --- /dev/null +++ b/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAllocationResults +{ + #keys: '1[414702.0.340560333]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414702.0.340560335][414702.0.340560334][414702.0.340560336]' + Cardinality: '0to1' + ObjectDefinition: CapacityAllocationResults + OwningSide: 'Reference' + } + RelationSide.RightSide CapacityAllocationResults + { + #keys: '3[414702.0.340560338][414702.0.340560337][414702.0.340560339]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_Division.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_Division.qbl new file mode 100644 index 0000000..09c1ae9 --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_Division.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Division +{ + #keys: '3[414702.0.340560478][414702.0.340560477][414702.0.340560479]' + Description: '浜嬩笟閮�' + ValueType: String +} diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleBase.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleBase.qbl new file mode 100644 index 0000000..ae1564e --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleBase.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ModuleBase +{ + #keys: '3[414702.0.340560468][414702.0.340560467][414702.0.340560469]' + Description: '妯$粍鍩哄湴' + ValueType: String +} diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMaterialCode.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMaterialCode.qbl new file mode 100644 index 0000000..837fe5a --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMaterialCode.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ModuleMaterialCode +{ + #keys: '3[414702.0.340560429][414702.0.340560428][414702.0.340560430]' + Description: '妯$粍鐗╂枡缂栫爜' + ValueType: String +} diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMeasurementUnit.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMeasurementUnit.qbl new file mode 100644 index 0000000..bbaff01 --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMeasurementUnit.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ModuleMeasurementUnit +{ + #keys: '3[414702.0.340560458][414702.0.340560457][414702.0.340560459]' + Description: '妯$粍鍗曚綅' + ValueType: String +} diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfModules.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfModules.qbl new file mode 100644 index 0000000..efcf4e6 --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfModules.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute NumberOfModules +{ + #keys: '3[414702.0.340560442][414702.0.340560441][414702.0.340560443]' + Description: '妯$粍鏁伴噺' + ValueType: Real +} diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfPanels.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfPanels.qbl new file mode 100644 index 0000000..ad4630f --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfPanels.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute NumberOfPanels +{ + #keys: '3[414702.0.340560391][414702.0.340560390][414702.0.340560392]' + Description: '闈㈡澘鏁伴噺' + ValueType: Real +} diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelBase.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelBase.qbl new file mode 100644 index 0000000..5feb094 --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelBase.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PanelBase +{ + #keys: '3[414702.0.340560371][414702.0.340560370][414702.0.340560372]' + Description: '闈㈡澘鍩哄湴' + ValueType: String +} diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMaterialCode.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMaterialCode.qbl new file mode 100644 index 0000000..883bd5c --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMaterialCode.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PanelMaterialCode +{ + #keys: '3[414702.0.340560381][414702.0.340560380][414702.0.340560382]' + Description: '闈㈡澘鐗╂枡缂栫爜' + ValueType: String +} diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMeasurementUnit.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMeasurementUnit.qbl new file mode 100644 index 0000000..d722862 --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMeasurementUnit.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute PanelMeasurementUnit +{ + #keys: '3[414702.0.340560404][414702.0.340560403][414702.0.340560405]' + Description: '闈㈡澘鍗曚綅' + ValueType: String +} diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_RequirementDate.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_RequirementDate.qbl new file mode 100644 index 0000000..3d48677 --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_RequirementDate.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute RequirementDate +{ + #keys: '3[414702.0.340560506][414702.0.340560505][414702.0.340560507]' + Description: '闇�姹傛棩鏈�' + ValueType: Date +} diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_VersionNumber.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_VersionNumber.qbl new file mode 100644 index 0000000..490bfdf --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_VersionNumber.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute VersionNumber +{ + #keys: '3[414702.0.340560355][414702.0.340560354][414702.0.340560356]' + Description: '鐗堟湰鍙�' + ValueType: String +} diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl new file mode 100644 index 0000000..ef9782f --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl @@ -0,0 +1,28 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateDate ( + GlobalOTDTable globalOTDTable, + MacroPlan macroPlan +) +{ + TextBody: + [* + globalOTDTable.CapacityAllocationResults( relflush ); + + finaleProduct_MPs := CapacityAllocationResults::ObtainTheFinalOutputProduct( macroPlan ); + + period_MPS := null( Period_MPs ); + traverse ( macroPlan, PeriodSpecification_MP, psmp, psmp.ID() = "Planning periods" ) { + period_MPS := selectsortedset( psmp, PeriodSpecificationPeriod.Period_MP, pmp, not pmp.IsHistorical(), pmp.StartDate() ); + } + + traverse ( finaleProduct_MPs, Elements, fpmp/*, fpmp.ID() = "ProXOver 1 D2.6 A"*/ ) { + traverse ( fpmp, ProductInStockingPoint_MP, pisp, /*pisp.Name() = "ProXOver 1 D2.6 A in Finished Cars (France)" and*/ not pisp.IsSystem() ) { + traverse ( period_MPS, Elements, pmp ) { + CapacityAllocationResults::IterativeGeneration( globalOTDTable, pisp, 1, null( NewSupply ), -1.0, pmp.StartDate() ); + } + // info( pisp.Name() ); + } + } + *] +} diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl new file mode 100644 index 0000000..af2857c --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl @@ -0,0 +1,55 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod IterativeGeneration ( + GlobalOTDTable globalOTDTable, + ProductInStockingPoint_MP pisp, + Number numberOfLayers, + NewSupply finaleNewSupply, + Real finaleDependentDemand, + Date targetDate +) +{ + TextBody: + [* + traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, pispippl.Start().Date() = targetDate ) { + traverse ( pispippl, NewSupply, ns, ns.Quantity() > 0 ) { + // info( "鐢熸垚鐨勪骇鍝侊細", pisp.ProductID(), " 浜у搧鍦ㄥ簱瀛樼偣锛�", pisp.Name(), " 灞傛暟锛�", numberOfLayers, " 鎬荤敓浜ч噺锛�", ns.Quantity(), " 鏈�缁堜緷璧栫墿鏂欐暟閲忥細", finaleDependentDemand ); + if ( finaleDependentDemand < 0 ) { + finaleDependentDemand := ns.Quantity(); + } + if ( isnull( finaleNewSupply ) ) { + finaleNewSupply := ns; + } + if ( guard( ns.PeriodTask_MP().astype( PeriodTaskOperation ).DependentDemand( relsize ) > 0, false ) ) { + numberOfLayers++; + traverse ( ns, PeriodTask_MP.astype( PeriodTaskOperation ).DependentDemand, dd ) { + oo := ns.ProcessOutput().astype( OperationOutput ); + oi := dd.ProcessInput().astype( OperationInput ); + finaleDependentDemand := finaleDependentDemand * oo.Quantity() * oi.Quantity(); + // info( "渚濊禆闇�姹備骇鍝両D锛�", dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), " 渚濊禆鏁伴噺锛�", dd.Quantity(), " 褰撳墠鍛ㄦ湡浠诲姟Key锛�", dd.PeriodTask_MP().astype( PeriodTaskOperation ).Key() ); + CapacityAllocationResults::IterativeGeneration( globalOTDTable, dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(), numberOfLayers, finaleNewSupply, finaleDependentDemand, targetDate ); + } + // info( "----------------------------------------------------" ); + } else { + // info( "鏃犱緷璧栭渶姹傦紝闇�瑕佺敓鎴愪骇鑳藉垎閰嶇粨鏋溿�傘�傘��" ); + // info( "======" ); + pispPanel := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(); + pispModule := finaleNewSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(); + globalOTDTable.CapacityAllocationResults( relnew, + PanelBase := pispPanel.StockingPointID(), + PanelMaterialCode := pispPanel.ProductID(), + NumberOfPanels := finaleDependentDemand, + PanelMeasurementUnit := pispPanel.UnitOfMeasure_MP().Name(), + ModuleMaterialCode := pispModule.ProductID(), + NumberOfModules := finaleNewSupply.Quantity(), + ModuleMeasurementUnit := pispModule.UnitOfMeasure_MP().Name(), + ModuleBase := pispModule.StockingPointID(), + RequirementDate := finaleNewSupply.Start().Date() + ); + } + finaleNewSupply := null( NewSupply ); + } + numberOfLayers := 1; + } + *] +} diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl new file mode 100644 index 0000000..0db5a04 --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl @@ -0,0 +1,25 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ObtainTheFinalOutputProduct ( + MacroPlan macroPlan +) as owning Product_MPs +{ + TextBody: + [* + finaleProducts := construct( Product_MPs ); + + traverse ( macroPlan, Product_MP, pmp, pmp.IsLeaf() ) { + flag := true; + traverse ( macroPlan, Routing.RoutingStep.Operation.OperationInput, oi, flag ) { + if ( pmp = oi.ProductInStockingPoint_MP().Product_MP() ) { + flag := false; + } + } + if ( flag ) { + finaleProducts.Add( pmp ); + } + } + + return &finaleProducts; + *] +} diff --git a/_Main/BL/Type_CapacityAllocationResults/_ROOT_Type_CapacityAllocationResults.qbl b/_Main/BL/Type_CapacityAllocationResults/_ROOT_Type_CapacityAllocationResults.qbl new file mode 100644 index 0000000..e6f475e --- /dev/null +++ b/_Main/BL/Type_CapacityAllocationResults/_ROOT_Type_CapacityAllocationResults.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type CapacityAllocationResults +{ + #keys: '5[414702.0.340560330][414702.0.340560328][0.0.0][414702.0.340560329][414702.0.340560331]' + BaseType: Object + Description: '浜ц兘鍒嗛厤缁撴灉鎶ヨ〃' + StructuredName: 'CapacityAllocationResultss' +} diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def index 20ed0bd..7aa83c9 100644 --- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def +++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def @@ -136,6 +136,8 @@ [ Component menuSeparator457 { #keys: '[414702.0.265704251]' BaseType: 'Menu' Properties: [ Separator: true ] } Component ComponentMenu666 { #keys: '[414702.0.265704260]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormBrokerExecuteLog' Text: '' ] } + Component menuSeparator822 { #keys: '[414702.0.340555024]' BaseType: 'Menu' Properties: [ Separator: true ] } + Component ComponentMenu783 { #keys: '[414702.0.340555035]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormTestButtonCollection' Text: '' ] } ] Properties: [ @@ -154,6 +156,8 @@ c: menuExit c: menuSeparator457 c: ComponentMenu666 + c: menuSeparator822 + c: ComponentMenu783 } ] } diff --git a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def new file mode 100644 index 0000000..7b1da32 --- /dev/null +++ b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def @@ -0,0 +1,12 @@ +Quintiq file version 2.0 +#parent: Button398 +Response OnClick () id:Response_FormTestButtonCollection_Button398_OnClick +{ + #keys: '[414702.0.340554926]' + Body: + [* + CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan ); + *] + CanBindMultiple: false + DefinitionID: 'Responsedef_GUIButtonBase_OnClick' +} diff --git a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def new file mode 100644 index 0000000..53a8703 --- /dev/null +++ b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def @@ -0,0 +1,50 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlanner +OrphanComponent FormTestButtonCollection +{ + #keys: '[414702.0.340554698]' + BaseType: 'Form' + GBLayout + { + Type: 'internal[GBLayoutDefinition]' + Columns: + [ + GBFlow.Column { grow: 0 id: 454 parent: 0 } + ] + Elements: + [ + GBElement + { + Component => Button398 + Position { startcolumn: 454 startrow: 649 endcolumn: 454 endrow: 649 } + } + ] + Gaps: [ left: 5 right: 5 top: 5 bottom: 5 inner: 5 ] + Rows: + [ + GBFlow.Row { grow: 0 id: 649 parent: 0 } + ] + } + Children: + [ + Component Button398 + { + #keys: '[414702.0.340554799]' + BaseType: 'Button' + Properties: + [ + Image: 'HARDHAT' + Text: '鐢熸垚浜ц兘鍒嗛厤缁撴灉鏁版嵁' + ] + } + ] + Properties: + [ + Height: 209 + Image: 'PIPETTE_TEST' + IncludeInView: true + Title: '鍔熻兘娴嬭瘯鎸夐挳' + Width: 535 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def new file mode 100644 index 0000000..c07b922 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def @@ -0,0 +1,41 @@ +Quintiq file version 2.0 +Component ListCapacityAllocationResults +{ + #keys: '[414702.0.338762075]' + BaseType: 'WebList' + Children: + [ + Component DataExtractorCapacityAllocationResults + { + #keys: '[414702.0.338762076]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' + Taborder: 0 + Transformation: 'CapacityAllocationResults' + ] + } + #child: listActionBarPageCapacityAllocationResults + Component DataSetLevelCapacityAllocationResults + { + #keys: '[414702.0.338762081]' + BaseType: 'WebDataSetLevel' + Children: + [ + #child: listContextMenuCapacityAllocationResults + ] + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VersionNumber","title":"VersionNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VersionNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMeasurementUnit","title":"PanelMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMaterialCode","title":"PanelMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfPanels","title":"NumberOfPanels","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfPanels"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMeasurementUnit","title":"PanelMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMaterialCode","title":"ModuleMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfModules","title":"NumberOfModules","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfModules"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMeasurementUnit","title":"ModuleMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMeasurementUnit","title":"ModuleMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Division","title":"Division","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Division"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"RequirementDate","title":"RequirementDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"RequirementDate"}}]' + ContextMenu: 'listContextMenuCapacityAllocationResults' + Taborder: 2 + ] + } + ] + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def new file mode 100644 index 0000000..5384f4a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listActionBarPageCapacityAllocationResults +{ + #keys: '[414702.0.338762078]' + BaseType: 'listActionBarPage' + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def new file mode 100644 index 0000000..62d4067 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listContextMenuCapacityAllocationResults +{ + #keys: '[414702.0.338762083]' + BaseType: 'listContextMenu' + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def new file mode 100644 index 0000000..2d97d02 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: ButtonGenerateCapacityAllocationResults +Response OnClick () id:Response_FormCapacityAllocationResults_ButtonGenerateCapacityAllocationResults_OnClick +{ + #keys: '[414702.0.340111671]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def new file mode 100644 index 0000000..432fdfa --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def @@ -0,0 +1,28 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormCapacityAllocationResults +{ + #keys: '[414702.0.338731526]' + BaseType: 'WebForm' + Children: + [ + #child: ListCapacityAllocationResults + Component ButtonGenerateCapacityAllocationResults + { + #keys: '[414702.0.340677556]' + BaseType: 'WebButton' + Properties: + [ + Image: 'PROCESS' + Label: '鐢熸垚鏁版嵁' + Taborder: 0 + ] + } + ] + Properties: + [ + Image: 'PUMPKIN_HALLOWEEN' + Title: '浜ц兘鍒嗛厤缁撴灉' + ] +} -- Gitblit v1.9.3