From 6abb15fbe15c966e5281160baacab45ab8bc741b Mon Sep 17 00:00:00 2001 From: lihongji <3117313295@qq.com> Date: 星期六, 12 十月 2024 16:32:06 +0800 Subject: [PATCH] 下线计划存档建模 --- _Main/BL/Type_NewOfflinePlanCell/Attribute_TotalQuantity.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixEditorActionBarPage338.def | 10 _Main/BL/Type_NewOfflinePlanCell/Attribute_Quantity.qbl | 8 _Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ProductionLine.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bNewOfflinePlan_OnClick.def | 16 _Main/BL/Type_NewOfflinePlanRow/Attribute_ProductID.qbl | 8 _Main/BL/Type_NewOfflinePlanCell/Function_CalcStartDate.qbl | 13 _Main/BL/Type_NewOfflinePlanRow/Attribute_Type.qbl | 13 _Main/BL/Type_NewOfflinePlanCell/Function_CalcEndDate.qbl | 13 _Main/BL/Relations/Relation_InterfaceNewOfflinePlanDetailData_InterfaceNewOfflinePlanVersion_In.qbl | 23 + _Main/BL/Type_NewOfflinePlanCell/_ROOT_Type_NewOfflinePlanCell.qbl | 10 _Main/BL/Type_NewOfflinePlanCell/Attribute_EndDate.qbl | 7 _Main/BL/Relations/Relation_NewOfflinePlanTable_NewOfflinePlanColumn_NewOfflinePlanColumn_NewOf.qbl | 23 + _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pDetail.def | 15 _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pTotal.def | 14 _Main/BL/Type_NewOfflinePlanRow/_ROOT_Type_NewOfflinePlanRow.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_dhNewOfflinePlanTable_OnCreated.def | 22 _Main/UI/MacroPlannerWebApp/Views/NewOfflinePlan.vw | 215 +++++++++ _Main/BL/Type_InterfaceNewOfflinePlanDetailData/_ROOT_Type_InterfaceNewOfflinePlanDetailData.qbl | 10 _Main/BL/Type_NewOfflinePlanCell/Attribute_ShiftPatternName.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixeditorContextMenu229.def | 10 _Main/BL/Type_NewOfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl | 93 ++++ _Main/BL/Type_NewOfflinePlanTable/_ROOT_Type_NewOfflinePlanTable.qbl | 9 _Main/BL/Type_NewOfflinePlanCell/Attribute_StartDate.qbl | 7 _Main/BL/Type_NewOfflinePlanRow/Attribute_ProductionLine.qbl | 8 _Main/BL/Relations/Relation_NewOfflinePlanTable_MacroPlan_MacroPlan_NewOfflinePlanTable.qbl | 23 + _Main/BL/Type_NewOfflinePlanCell/Attribute_Order.qbl | 8 _Main/BL/Type_NewOfflinePlanColumn/_ROOT_Type_NewOfflinePlanColumn.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixEditorActionBarPage623.def | 10 _Main/BL/Type_NewOfflinePlanTable/Attribute_SaveDateTime.qbl | 8 _Main/BL/Type_NewOfflinePlanRow/Function_CalcName.qbl | 13 _Main/BL/Type_NewOfflinePlanColumn/Attribute_EndDate.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_pHeader_bRefresh_OnClick.def | 25 + _Main/BL/Type_InterfaceOfflinePlanVersion/Attribute_ScenarioName.qbl | 8 _Main/BL/Type_NewOfflinePlanColumn/Attribute_StartDate.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_MatrixEditor515.def | 99 ++++ _Main/BL/Relations/Relation_NewOfflinePlanRow_NewOfflinePlanCell_NewOfflinePlanCell_NewOfflineP.qbl | 34 + _Main/BL/Type_NewOfflinePlanCell/Function_CalcTotalQuantity.qbl | 13 _Main/BL/Type_InterfaceOfflinePlanVersion/_ROOT_Type_InterfaceNewOfflinePlanVersion.qbl | 10 _Main/BL/Relations/Relation_NewOfflinePlanCell_NewOfflinePlanColumn_NewOfflinePlanColumn_NewOff.qbl | 23 + _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def | 19 _Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ShiftPatternName.qbl | 8 _Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_StartDate.qbl | 8 _Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_OrderNr.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_MatrixEditor583.def | 98 ++++ _Main/BL/Type_NewOfflinePlanRow/Attribute_Name.qbl | 8 _Main/BL/Type_NewOfflinePlanCell/Attribute_ShiftPatternEnd.qbl | 8 _Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ShiftPatternStart.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def | 26 + _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/_ROOT_Component_FormNewOfflinePlan.def | 84 +++ _Main/Sys/Repr/Global/NewOfflinePlanCell.qrp | 26 + _Main/BL/Type_NewOfflinePlanCell/Attribute_InventoryWeight.qbl | 8 _Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ProductID.qbl | 8 _Main/BL/Relations/Relation_NewOfflinePlanTable_NewOfflinePlanRow_NewOfflinePlanRow_NewOfflineP.qbl | 23 + _Main/BL/Type_NewOfflinePlanCell/Attribute_OrderNr.qbl | 8 _Main/BL/Relations/Relation_InterfaceNewOfflinePlanVersion_InterfaceDataset_InterfaceDataset_In.qbl | 23 + _Main/BL/Type_NewOfflinePlanCell/Attribute_ShiftPatternStart.qbl | 8 _Main/BL/Relations/Relation_NewOfflinePlanCell_Detailed_NewOfflinePlanCell_Total.qbl | 23 + _Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_Order.qbl | 8 _Main/BL/Type_NewOfflinePlanRow/Method_Filter.qbl | 17 _Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_Quantity.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixeditorContextMenu267.def | 10 _Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ShiftPatternEnd.qbl | 8 _Main/UI/MacroPlannerWebApp/HighlightRules.hl | 15 64 files changed, 1,343 insertions(+), 4 deletions(-) diff --git a/_Main/BL/Relations/Relation_InterfaceNewOfflinePlanDetailData_InterfaceNewOfflinePlanVersion_In.qbl b/_Main/BL/Relations/Relation_InterfaceNewOfflinePlanDetailData_InterfaceNewOfflinePlanVersion_In.qbl new file mode 100644 index 0000000..d78d574 --- /dev/null +++ b/_Main/BL/Relations/Relation_InterfaceNewOfflinePlanDetailData_InterfaceNewOfflinePlanVersion_In.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation InterfaceNewOfflinePlanDetailData_InterfaceNewOfflinePlanVersion_InterfaceNewOfflinePlanVersion_InterfaceNewOfflinePlanDetailData +{ + #keys: '1[413988.0.1635820084]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide InterfaceNewOfflinePlanVersion + { + #keys: '3[413988.0.1635820086][413988.0.1635820085][413988.0.1635820087]' + Cardinality: '0to1' + ObjectDefinition: InterfaceNewOfflinePlanDetailData + OwningSide: 'Reference' + } + RelationSide.RightSide InterfaceNewOfflinePlanDetailData + { + #keys: '3[413988.0.1635820089][413988.0.1635820088][413988.0.1635820090]' + Cardinality: '1toN' + ObjectDefinition: InterfaceNewOfflinePlanVersion + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_InterfaceNewOfflinePlanVersion_InterfaceDataset_InterfaceDataset_In.qbl b/_Main/BL/Relations/Relation_InterfaceNewOfflinePlanVersion_InterfaceDataset_InterfaceDataset_In.qbl new file mode 100644 index 0000000..c86c407 --- /dev/null +++ b/_Main/BL/Relations/Relation_InterfaceNewOfflinePlanVersion_InterfaceDataset_InterfaceDataset_In.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation InterfaceNewOfflinePlanVersion_InterfaceDataset_InterfaceDataset_InterfaceNewOfflinePlanVersion +{ + #keys: '1[413988.0.1635820033]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide InterfaceDataset + { + #keys: '3[413988.0.1635820035][413988.0.1635820034][413988.0.1635820036]' + Cardinality: '0to1' + ObjectDefinition: InterfaceNewOfflinePlanVersion + OwningSide: 'Reference' + } + RelationSide.RightSide InterfaceNewOfflinePlanVersion + { + #keys: '3[413988.0.1635820038][413988.0.1635820037][413988.0.1635820039]' + Cardinality: '1toN' + ObjectDefinition: InterfaceDataset + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_NewOfflinePlanCell_Detailed_NewOfflinePlanCell_Total.qbl b/_Main/BL/Relations/Relation_NewOfflinePlanCell_Detailed_NewOfflinePlanCell_Total.qbl new file mode 100644 index 0000000..5aa8dcc --- /dev/null +++ b/_Main/BL/Relations/Relation_NewOfflinePlanCell_Detailed_NewOfflinePlanCell_Total.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation NewOfflinePlanCell_Detailed_NewOfflinePlanCell_Total +{ + #keys: '1[413988.0.1603460432]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Detailed + { + #keys: '3[413988.0.1603460434][413988.0.1603460433][413988.0.1603460435]' + Cardinality: '1toN' + ObjectDefinition: NewOfflinePlanCell + OwningSide: 'Reference' + } + RelationSide.RightSide Total + { + #keys: '3[413988.0.1603460437][413988.0.1603460436][413988.0.1603460438]' + Cardinality: '0to1' + ObjectDefinition: NewOfflinePlanCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_NewOfflinePlanCell_NewOfflinePlanColumn_NewOfflinePlanColumn_NewOff.qbl b/_Main/BL/Relations/Relation_NewOfflinePlanCell_NewOfflinePlanColumn_NewOfflinePlanColumn_NewOff.qbl new file mode 100644 index 0000000..3b3e2a0 --- /dev/null +++ b/_Main/BL/Relations/Relation_NewOfflinePlanCell_NewOfflinePlanColumn_NewOfflinePlanColumn_NewOff.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation NewOfflinePlanCell_NewOfflinePlanColumn_NewOfflinePlanColumn_NewOfflinePlanCell +{ + #keys: '1[413988.0.1603460144]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide NewOfflinePlanColumn + { + #keys: '3[413988.0.1603460146][413988.0.1603460145][413988.0.1603460147]' + Cardinality: '0to1' + ObjectDefinition: NewOfflinePlanCell + OwningSide: 'Reference' + } + RelationSide.RightSide NewOfflinePlanCell + { + #keys: '3[413988.0.1603460149][413988.0.1603460148][413988.0.1603460150]' + Cardinality: '1toN' + ObjectDefinition: NewOfflinePlanColumn + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_NewOfflinePlanRow_NewOfflinePlanCell_NewOfflinePlanCell_NewOfflineP.qbl b/_Main/BL/Relations/Relation_NewOfflinePlanRow_NewOfflinePlanCell_NewOfflinePlanCell_NewOfflineP.qbl new file mode 100644 index 0000000..2b549bf --- /dev/null +++ b/_Main/BL/Relations/Relation_NewOfflinePlanRow_NewOfflinePlanCell_NewOfflinePlanCell_NewOfflineP.qbl @@ -0,0 +1,34 @@ +Quintiq file version 2.0 +#parent: #root +Relation NewOfflinePlanRow_NewOfflinePlanCell_NewOfflinePlanCell_NewOfflinePlanRow +{ + #keys: '1[413988.0.1603460131]' + DeclarativeSequenceRelationStrategy + { + #keys: '13[0.0.0][413988.0.1603460275][413988.0.1603460269][413988.0.1603460276][413988.0.1603460270][413988.0.1603460277][413988.0.1603460271][413988.0.1603460278][413988.0.1603460272][413988.0.1603460279][413988.0.1603460273][413988.0.1603460280][413988.0.1603460274]' + SequenceElementSuffix: 'NOPCell' + SequenceSuffix: 'NOPCell' + SortAttributes: + [ + DeclarativeSequenceRelationSortAttribute + { + #keys: '1[413988.0.1603460282]' + Attribute: 'StartDate' + } + ] + } + RelationSide.LeftSide NewOfflinePlanCell + { + #keys: '3[413988.0.1603460133][413988.0.1603460132][413988.0.1603460134]' + Cardinality: '1toN' + ObjectDefinition: NewOfflinePlanRow + OwningSide: 'Owned' + } + RelationSide.RightSide NewOfflinePlanRow + { + #keys: '3[413988.0.1603460136][413988.0.1603460135][413988.0.1603460137]' + Cardinality: '0to1' + ObjectDefinition: NewOfflinePlanCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_NewOfflinePlanTable_MacroPlan_MacroPlan_NewOfflinePlanTable.qbl b/_Main/BL/Relations/Relation_NewOfflinePlanTable_MacroPlan_MacroPlan_NewOfflinePlanTable.qbl new file mode 100644 index 0000000..894617c --- /dev/null +++ b/_Main/BL/Relations/Relation_NewOfflinePlanTable_MacroPlan_MacroPlan_NewOfflinePlanTable.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation NewOfflinePlanTable_MacroPlan_MacroPlan_NewOfflinePlanTable +{ + #keys: '1[413988.0.1603460049]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1603460051][413988.0.1603460050][413988.0.1603460052]' + Cardinality: '0to1' + ObjectDefinition: NewOfflinePlanTable + OwningSide: 'Reference' + } + RelationSide.RightSide NewOfflinePlanTable + { + #keys: '3[413988.0.1603460054][413988.0.1603460053][413988.0.1603460055]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_NewOfflinePlanTable_NewOfflinePlanColumn_NewOfflinePlanColumn_NewOf.qbl b/_Main/BL/Relations/Relation_NewOfflinePlanTable_NewOfflinePlanColumn_NewOfflinePlanColumn_NewOf.qbl new file mode 100644 index 0000000..c0d44b2 --- /dev/null +++ b/_Main/BL/Relations/Relation_NewOfflinePlanTable_NewOfflinePlanColumn_NewOfflinePlanColumn_NewOf.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation NewOfflinePlanTable_NewOfflinePlanColumn_NewOfflinePlanColumn_NewOfflinePlanTable +{ + #keys: '1[413988.0.1603460118]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide NewOfflinePlanColumn + { + #keys: '3[413988.0.1603460120][413988.0.1603460119][413988.0.1603460121]' + Cardinality: '1toN' + ObjectDefinition: NewOfflinePlanTable + OwningSide: 'Owned' + } + RelationSide.RightSide NewOfflinePlanTable + { + #keys: '3[413988.0.1603460123][413988.0.1603460122][413988.0.1603460124]' + Cardinality: '0to1' + ObjectDefinition: NewOfflinePlanColumn + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_NewOfflinePlanTable_NewOfflinePlanRow_NewOfflinePlanRow_NewOfflineP.qbl b/_Main/BL/Relations/Relation_NewOfflinePlanTable_NewOfflinePlanRow_NewOfflinePlanRow_NewOfflineP.qbl new file mode 100644 index 0000000..2f26b34 --- /dev/null +++ b/_Main/BL/Relations/Relation_NewOfflinePlanTable_NewOfflinePlanRow_NewOfflinePlanRow_NewOfflineP.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation NewOfflinePlanTable_NewOfflinePlanRow_NewOfflinePlanRow_NewOfflinePlanTable +{ + #keys: '1[413988.0.1603460091]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide NewOfflinePlanRow + { + #keys: '3[413988.0.1603460093][413988.0.1603460092][413988.0.1603460094]' + Cardinality: '1toN' + ObjectDefinition: NewOfflinePlanTable + OwningSide: 'Owned' + } + RelationSide.RightSide NewOfflinePlanTable + { + #keys: '3[413988.0.1603460096][413988.0.1603460095][413988.0.1603460097]' + Cardinality: '0to1' + ObjectDefinition: NewOfflinePlanRow + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_Order.qbl b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_Order.qbl new file mode 100644 index 0000000..8cd58fa --- /dev/null +++ b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_Order.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Order +{ + #keys: '3[413988.0.1635820128][413988.0.1635820127][413988.0.1635820129]' + Description: '鐢熶骇椤哄簭锛圫tring锛�' + ValueType: String +} diff --git a/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_OrderNr.qbl b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_OrderNr.qbl new file mode 100644 index 0000000..44a5a8d --- /dev/null +++ b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_OrderNr.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderNr +{ + #keys: '3[413988.0.1635820138][413988.0.1635820137][413988.0.1635820139]' + Description: '鐢熶骇椤哄簭锛圢umber锛�' + ValueType: Number +} diff --git a/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ProductID.qbl b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ProductID.qbl new file mode 100644 index 0000000..4dc7cd0 --- /dev/null +++ b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ProductID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[413988.0.1635820181][413988.0.1635820180][413988.0.1635820182]' + Description: '浜у搧ID' + ValueType: String +} diff --git a/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ProductionLine.qbl b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ProductionLine.qbl new file mode 100644 index 0000000..f3c8f62 --- /dev/null +++ b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ProductionLine.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductionLine +{ + #keys: '3[413988.0.1635820098][413988.0.1635820097][413988.0.1635820099]' + Description: '浜х嚎鍚�' + ValueType: String +} diff --git a/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_Quantity.qbl b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_Quantity.qbl new file mode 100644 index 0000000..16922d0 --- /dev/null +++ b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_Quantity.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[413988.0.1635820108][413988.0.1635820107][413988.0.1635820109]' + Description: '鏁伴噺' + ValueType: Real +} diff --git a/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ShiftPatternEnd.qbl b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ShiftPatternEnd.qbl new file mode 100644 index 0000000..65372d1 --- /dev/null +++ b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ShiftPatternEnd.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ShiftPatternEnd +{ + #keys: '3[413988.0.1635820171][413988.0.1635820170][413988.0.1635820172]' + Description: '鐝缁撴潫鏃堕棿' + ValueType: String +} diff --git a/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ShiftPatternName.qbl b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ShiftPatternName.qbl new file mode 100644 index 0000000..1c38c87 --- /dev/null +++ b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ShiftPatternName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ShiftPatternName +{ + #keys: '3[413988.0.1635820151][413988.0.1635820150][413988.0.1635820152]' + Description: '鐝鍚�' + ValueType: String +} diff --git a/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ShiftPatternStart.qbl b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ShiftPatternStart.qbl new file mode 100644 index 0000000..ec09520 --- /dev/null +++ b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_ShiftPatternStart.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ShiftPatternStart +{ + #keys: '3[413988.0.1635820161][413988.0.1635820160][413988.0.1635820162]' + Description: '鐝寮�濮嬫椂闂�' + ValueType: String +} diff --git a/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_StartDate.qbl b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_StartDate.qbl new file mode 100644 index 0000000..a84aeba --- /dev/null +++ b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/Attribute_StartDate.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[413988.0.1635820118][413988.0.1635820117][413988.0.1635820119]' + Description: '寮�濮嬫椂闂�' + ValueType: Date +} diff --git a/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/_ROOT_Type_InterfaceNewOfflinePlanDetailData.qbl b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/_ROOT_Type_InterfaceNewOfflinePlanDetailData.qbl new file mode 100644 index 0000000..eaa4ee7 --- /dev/null +++ b/_Main/BL/Type_InterfaceNewOfflinePlanDetailData/_ROOT_Type_InterfaceNewOfflinePlanDetailData.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type InterfaceNewOfflinePlanDetailData +{ + #keys: '5[413988.0.1635820064][413988.0.1635820062][0.0.0][413988.0.1635820063][413988.0.1635820065]' + BaseType: Object + Description: '涓嬬嚎璁″垝姣忎釜鐗堟湰璇︾粏鏁版嵁' + StructuredName: 'InterfaceNewOfflinePlanDetailDatas' +} diff --git a/_Main/BL/Type_InterfaceOfflinePlanVersion/Attribute_ScenarioName.qbl b/_Main/BL/Type_InterfaceOfflinePlanVersion/Attribute_ScenarioName.qbl new file mode 100644 index 0000000..2697709 --- /dev/null +++ b/_Main/BL/Type_InterfaceOfflinePlanVersion/Attribute_ScenarioName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ScenarioName +{ + #keys: '3[413988.0.1635820050][413988.0.1635820049][413988.0.1635820051]' + Description: '鐗堟湰鍚�' + ValueType: String +} diff --git a/_Main/BL/Type_InterfaceOfflinePlanVersion/_ROOT_Type_InterfaceNewOfflinePlanVersion.qbl b/_Main/BL/Type_InterfaceOfflinePlanVersion/_ROOT_Type_InterfaceNewOfflinePlanVersion.qbl new file mode 100644 index 0000000..75894ce --- /dev/null +++ b/_Main/BL/Type_InterfaceOfflinePlanVersion/_ROOT_Type_InterfaceNewOfflinePlanVersion.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type InterfaceNewOfflinePlanVersion +{ + #keys: '5[413988.0.1635820030][413988.0.1635820028][0.0.0][413988.0.1635820029][413988.0.1635820031]' + BaseType: Object + Description: '涓嬬嚎璁″垝鐗堟湰瀛樻。鏁版嵁' + StructuredName: 'InterfaceNewOfflinePlanVersions' +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Attribute_EndDate.qbl b/_Main/BL/Type_NewOfflinePlanCell/Attribute_EndDate.qbl new file mode 100644 index 0000000..48949e6 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Attribute_EndDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EndDate +{ + #keys: '3[413988.0.1603460249][413988.0.1603460248][413988.0.1603460250]' + ValueType: Date +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Attribute_InventoryWeight.qbl b/_Main/BL/Type_NewOfflinePlanCell/Attribute_InventoryWeight.qbl new file mode 100644 index 0000000..1abba91 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Attribute_InventoryWeight.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute InventoryWeight +{ + #keys: '3[413988.0.1606610060][413988.0.1606610059][413988.0.1606610061]' + Description: '鍓╀綑搴撳瓨 - 鏈�灏忓簱瀛�' + ValueType: Real +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Attribute_Order.qbl b/_Main/BL/Type_NewOfflinePlanCell/Attribute_Order.qbl new file mode 100644 index 0000000..67e6252 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Attribute_Order.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Order +{ + #keys: '3[413988.0.1603460357][413988.0.1603460356][413988.0.1603460358]' + Description: '鐢熶骇椤哄簭锛圫tring锛�' + ValueType: String +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Attribute_OrderNr.qbl b/_Main/BL/Type_NewOfflinePlanCell/Attribute_OrderNr.qbl new file mode 100644 index 0000000..b356ade --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Attribute_OrderNr.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderNr +{ + #keys: '3[413988.0.1607288352][413988.0.1607288351][413988.0.1607288353]' + Description: '鐢熶骇椤哄簭锛圢umber锛�' + ValueType: Number +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Attribute_Quantity.qbl b/_Main/BL/Type_NewOfflinePlanCell/Attribute_Quantity.qbl new file mode 100644 index 0000000..4a1087a --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Attribute_Quantity.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[413988.0.1603460347][413988.0.1603460346][413988.0.1603460348]' + Description: '鏁伴噺' + ValueType: Real +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Attribute_ShiftPatternEnd.qbl b/_Main/BL/Type_NewOfflinePlanCell/Attribute_ShiftPatternEnd.qbl new file mode 100644 index 0000000..7f0b7ba --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Attribute_ShiftPatternEnd.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ShiftPatternEnd +{ + #keys: '3[413988.0.1603460415][413988.0.1603460414][413988.0.1603460416]' + Description: '鐝缁撴潫鏃堕棿' + ValueType: String +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Attribute_ShiftPatternName.qbl b/_Main/BL/Type_NewOfflinePlanCell/Attribute_ShiftPatternName.qbl new file mode 100644 index 0000000..be9fc09 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Attribute_ShiftPatternName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ShiftPatternName +{ + #keys: '3[413988.0.1603460389][413988.0.1603460388][413988.0.1603460390]' + Description: '鐝鍚�' + ValueType: String +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Attribute_ShiftPatternStart.qbl b/_Main/BL/Type_NewOfflinePlanCell/Attribute_ShiftPatternStart.qbl new file mode 100644 index 0000000..42d8002 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Attribute_ShiftPatternStart.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ShiftPatternStart +{ + #keys: '3[413988.0.1603460402][413988.0.1603460401][413988.0.1603460403]' + Description: '鐝寮�濮嬫椂闂�' + ValueType: String +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Attribute_StartDate.qbl b/_Main/BL/Type_NewOfflinePlanCell/Attribute_StartDate.qbl new file mode 100644 index 0000000..3a89c81 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Attribute_StartDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[413988.0.1603460239][413988.0.1603460238][413988.0.1603460240]' + ValueType: Date +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Attribute_TotalQuantity.qbl b/_Main/BL/Type_NewOfflinePlanCell/Attribute_TotalQuantity.qbl new file mode 100644 index 0000000..664619a --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Attribute_TotalQuantity.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TotalQuantity +{ + #keys: '3[413988.0.1603460379][413988.0.1603460378][413988.0.1603460380]' + Description: '鍚堣' + ValueType: Real +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Function_CalcEndDate.qbl b/_Main/BL/Type_NewOfflinePlanCell/Function_CalcEndDate.qbl new file mode 100644 index 0000000..8b47662 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Function_CalcEndDate.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcEndDate +{ + TextBody: + [* + // lihongji Oct-11-2024 (created) + + value := guard( this.NewOfflinePlanColumn().EndDate(), Date::MinDate() ); + + this.EndDate( value ); + *] +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Function_CalcStartDate.qbl b/_Main/BL/Type_NewOfflinePlanCell/Function_CalcStartDate.qbl new file mode 100644 index 0000000..4b8214e --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Function_CalcStartDate.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcStartDate +{ + TextBody: + [* + // lihongji Oct-11-2024 (created) + + value := guard( this.NewOfflinePlanColumn().StartDate(), Date::MinDate() ); + + this.StartDate( value ); + *] +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Function_CalcTotalQuantity.qbl b/_Main/BL/Type_NewOfflinePlanCell/Function_CalcTotalQuantity.qbl new file mode 100644 index 0000000..f483fbe --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/Function_CalcTotalQuantity.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcTotalQuantity +{ + TextBody: + [* + // lihongji Oct-11-2024 (created) + + value := sum( this, Detailed, tempNOPC, true, tempNOPC.Quantity() ); + + this.TotalQuantity( value ); + *] +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl b/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl new file mode 100644 index 0000000..1d7eafb --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl @@ -0,0 +1,93 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod RefreshOfflinePlan ( + MacroPlan macroPlan +) +{ + TextBody: + [* + macroPlan.NewOfflinePlanTable( relflush ); + + nopt := macroPlan.NewOfflinePlanTable( relnew, SaveDateTime := DateTime::ActualTime() ); + + // 鐢熸垚涓嬬嚎璁″垝琛ㄣ�愪竴鏉′骇绾垮湪鍚屼竴澶╀笉浼氫骇鐢熶袱娆$浉鍚屼骇鍝佺殑鍛ㄦ湡浠诲姟銆� + traverse ( macroPlan, Unit, u, u.HasCapacityTypeTime() + // and u.Name() = "eMotor Assy (France)" // 娴嬭瘯鏈湴鍦烘櫙鏃跺彲浠ヨ繃婊� + // and u.Name() = "DL-MoMo" // 娴嬭瘯瀹為檯鍦烘櫙鏃跺彲浠ヨ繃婊� + ) + { + // 寰幆閬嶅巻鍛ㄦ湡浠诲姟鐨凬ewSupply銆愮敓鎴愭槑缁嗕笅绾胯鍒掋�� + traverse ( u, Operation, o ) { + traverse ( o, PeriodTaskOperation.NewSupply, ns ) { + // ProductInStockingPoint_MP + pisp := ns.AsProductionSupply().ProductInStockingPoint_MP(); + // ProductInStockingPointInPeriodPlanningLeaf + pispippl := ns.ProductInStockingPointInPeriodPlanningLeaf(); + // Period_MP + pmp := pispippl.Period_MP(); + // ShiftPattern + sp := ns.PeriodTask_MP().UnitPeriod().astype( UnitPeriodTimeBase ).ShiftPattern(); + // ShiftDayTime + sdt := select( sp, ShiftDayTime, tempSDT, tempSDT.Name() = tempSDT.ShiftPattern().Name() ); + + // 鐢熸垚涓嬬嚎璁″垝銆愪骇绾挎槑缁嗐�戣 + detailedNOPR := select( nopt, NewOfflinePlanRow, tempNOPR, tempNOPR.ProductionLine() = u.ID() and tempNOPR.ProductID() = pisp.ProductID() and tempNOPR.Type() = "1" ); + if ( isnull( detailedNOPR ) ) { + detailedNOPR := nopt.NewOfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := pisp.ProductID(), Type := "1" ); + } + + // 鐢熸垚涓嬬嚎璁″垝鍒� + nopc := select( nopt, NewOfflinePlanColumn, tempNOPC, tempNOPC.StartDate() = pmp.StartDate() and tempNOPC.EndDate() = pmp.EndDate() ); + if ( isnull( nopc ) ) { + nopc := nopt.NewOfflinePlanColumn( relnew, StartDate := pmp.StartDate(), EndDate := pmp.EndDate() ); + } + + // 鐢熸垚涓嬬嚎璁″垝銆愪骇绾挎槑缁嗐�戝崟鍏冩牸 + detaileNOPCell := select( detailedNOPR, NewOfflinePlanCell, tempNOPCell, tempNOPCell.NewOfflinePlanColumn() = nopc ); + if ( isnull ( detaileNOPCell ) ) { + detaileNOPCell := detailedNOPR.NewOfflinePlanCell( relnew, + Quantity := ns.Quantity().Round( 0 ), + InventoryWeight := pispippl.InventoryLevelEnd() - pispippl.MinInventoryLevel(), + ShiftPatternName := guard( sdt.Name(), "" ), + ShiftPatternStart := guard( sdt.StartDateTime().Format( "H:m" ), "" ), + ShiftPatternEnd := guard( sdt.EndDateTIme().Format( "H:m" ), "" ) ); + detaileNOPCell.NewOfflinePlanColumn( relset, nopc ); + } + } + } + + // 璁剧疆鐢熶骇椤哄簭銆愬涓嬬嚎璁″垝鏄庣粏鐢熸晥銆� + + + // 銆愮敓鎴愬悎璁′笅绾胯鍒掋�� + totalNOPR := nopt.NewOfflinePlanRow( relnew, ProductID := "All", ProductionLine := u.ID(), Type := "2" ); + detailNOPRs := selectset( nopt, NewOfflinePlanRow, tempNOPR, tempNOPR.ProductionLine() = u.ID() and tempNOPR.Type() = "1" ); + traverse ( detailNOPRs, Elements, detailNOPR ) { + traverse ( detailNOPR, NewOfflinePlanCell, detailNOPCell ) { + // 鐢熶骇涓嬬嚎璁″垝銆愪骇绾垮悎璁°�戝崟鍏冩牸 + totalNOPRCell := select( totalNOPR, NewOfflinePlanCell, tempNOPCell, tempNOPCell.NewOfflinePlanColumn() = detailNOPCell.NewOfflinePlanColumn() ); + if ( isnull( totalNOPRCell ) ) { + totalNOPRCell := totalNOPR.NewOfflinePlanCell( relnew ); + totalNOPRCell.NewOfflinePlanColumn( relset, detailNOPCell.NewOfflinePlanColumn() ); // 璁剧疆鍒� + // 灏嗘槑缁嗗崟鍏冩牸鍏宠仈鍒板悎璁″崟鍏冩牸 + totalNOPRCell.Detailed( relinsert, detailNOPCell ); + } else { + // 灏嗘槑缁嗗崟鍏冩牸鍏宠仈鍒板悎璁″崟鍏冩牸 + totalNOPRCell.Detailed( relinsert, detailNOPCell ); + } + } + } + + // 琛ラ綈绌烘牸瀛� + traverse ( nopt, NewOfflinePlanRow, nopr ) { + traverse ( nopt, NewOfflinePlanColumn, nopc ) { + cell := select( nopr, NewOfflinePlanCell, tempNOPCell, tempNOPCell.NewOfflinePlanColumn() = nopc ); + if ( isnull( cell ) ) { + cell := nopr.NewOfflinePlanCell( relnew ); + cell.NewOfflinePlanColumn( relset, nopc ); + } + } + } + } + *] +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/_ROOT_Type_NewOfflinePlanCell.qbl b/_Main/BL/Type_NewOfflinePlanCell/_ROOT_Type_NewOfflinePlanCell.qbl new file mode 100644 index 0000000..4bb9f4a --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanCell/_ROOT_Type_NewOfflinePlanCell.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type NewOfflinePlanCell +{ + #keys: '5[413988.0.1603460079][413988.0.1603460077][0.0.0][413988.0.1603460078][413988.0.1603460080]' + BaseType: Object + Description: '涓嬬嚎璁″垝鍗曞厓鏍�' + StructuredName: 'NewOfflinePlanCells' +} diff --git a/_Main/BL/Type_NewOfflinePlanColumn/Attribute_EndDate.qbl b/_Main/BL/Type_NewOfflinePlanColumn/Attribute_EndDate.qbl new file mode 100644 index 0000000..87a6355 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanColumn/Attribute_EndDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EndDate +{ + #keys: '3[413988.0.1603460170][413988.0.1603460169][413988.0.1603460171]' + ValueType: Date +} diff --git a/_Main/BL/Type_NewOfflinePlanColumn/Attribute_StartDate.qbl b/_Main/BL/Type_NewOfflinePlanColumn/Attribute_StartDate.qbl new file mode 100644 index 0000000..60c31e0 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanColumn/Attribute_StartDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[413988.0.1603460160][413988.0.1603460159][413988.0.1603460161]' + ValueType: Date +} diff --git a/_Main/BL/Type_NewOfflinePlanColumn/_ROOT_Type_NewOfflinePlanColumn.qbl b/_Main/BL/Type_NewOfflinePlanColumn/_ROOT_Type_NewOfflinePlanColumn.qbl new file mode 100644 index 0000000..d221eaf --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanColumn/_ROOT_Type_NewOfflinePlanColumn.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type NewOfflinePlanColumn +{ + #keys: '5[413988.0.1603460074][413988.0.1603460072][0.0.0][413988.0.1603460073][413988.0.1603460075]' + BaseType: Object + Description: '涓嬬嚎璁″垝鍒�' + StructuredName: 'NewOfflinePlanColumns' +} diff --git a/_Main/BL/Type_NewOfflinePlanRow/Attribute_Name.qbl b/_Main/BL/Type_NewOfflinePlanRow/Attribute_Name.qbl new file mode 100644 index 0000000..4dc081e --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanRow/Attribute_Name.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[413988.0.1607288491][413988.0.1607288490][413988.0.1607288492]' + Description: '鏄剧ず鍚�' + ValueType: String +} diff --git a/_Main/BL/Type_NewOfflinePlanRow/Attribute_ProductID.qbl b/_Main/BL/Type_NewOfflinePlanRow/Attribute_ProductID.qbl new file mode 100644 index 0000000..9ff8ffb --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanRow/Attribute_ProductID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[413988.0.1603460321][413988.0.1603460320][413988.0.1603460322]' + Description: '浜у搧ID' + ValueType: String +} diff --git a/_Main/BL/Type_NewOfflinePlanRow/Attribute_ProductionLine.qbl b/_Main/BL/Type_NewOfflinePlanRow/Attribute_ProductionLine.qbl new file mode 100644 index 0000000..369ad26 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanRow/Attribute_ProductionLine.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductionLine +{ + #keys: '3[413988.0.1603460311][413988.0.1603460310][413988.0.1603460312]' + Description: '浜х嚎鍚�' + ValueType: String +} diff --git a/_Main/BL/Type_NewOfflinePlanRow/Attribute_Type.qbl b/_Main/BL/Type_NewOfflinePlanRow/Attribute_Type.qbl new file mode 100644 index 0000000..4c444e9 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanRow/Attribute_Type.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Type +{ + #keys: '3[413988.0.1603460334][413988.0.1603460333][413988.0.1603460335]' + Description: + [* + 1锛氭槑缁嗘樉绀� + + 2锛氬悎璁℃樉绀� + *] + ValueType: String +} diff --git a/_Main/BL/Type_NewOfflinePlanRow/Function_CalcName.qbl b/_Main/BL/Type_NewOfflinePlanRow/Function_CalcName.qbl new file mode 100644 index 0000000..92e3125 --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanRow/Function_CalcName.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcName +{ + TextBody: + [* + // lihongji Oct-12-2024 (created) + + value := this.ProductionLine() + ifexpr( this.ProductID() = "All", "", "_" + this.ProductID() ); + + this.Name( value ); + *] +} diff --git a/_Main/BL/Type_NewOfflinePlanRow/Method_Filter.qbl b/_Main/BL/Type_NewOfflinePlanRow/Method_Filter.qbl new file mode 100644 index 0000000..d5e399d --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanRow/Method_Filter.qbl @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Method Filter ( + Entitys entitys +) declarative remote as Boolean +{ + TextBody: + [* + flag := false; + + traverse ( entitys, Elements.astype( Unit ), u, not flag ) { + flag := u.Name() = this.ProductionLine(); + } + + return flag; + *] +} diff --git a/_Main/BL/Type_NewOfflinePlanRow/_ROOT_Type_NewOfflinePlanRow.qbl b/_Main/BL/Type_NewOfflinePlanRow/_ROOT_Type_NewOfflinePlanRow.qbl new file mode 100644 index 0000000..fd71fdd --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanRow/_ROOT_Type_NewOfflinePlanRow.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type NewOfflinePlanRow +{ + #keys: '5[413988.0.1603460069][413988.0.1603460067][0.0.0][413988.0.1603460068][413988.0.1603460070]' + BaseType: Object + Description: '涓嬬嚎璁″垝琛�' + StructuredName: 'NewOfflinePlanRows' +} diff --git a/_Main/BL/Type_NewOfflinePlanTable/Attribute_SaveDateTime.qbl b/_Main/BL/Type_NewOfflinePlanTable/Attribute_SaveDateTime.qbl new file mode 100644 index 0000000..759519d --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanTable/Attribute_SaveDateTime.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SaveDateTime +{ + #keys: '3[413988.0.1603460037][413988.0.1603460036][413988.0.1603460038]' + Description: '淇濆瓨鑽夌鐨勬椂闂�' + ValueType: DateTime +} diff --git a/_Main/BL/Type_NewOfflinePlanTable/_ROOT_Type_NewOfflinePlanTable.qbl b/_Main/BL/Type_NewOfflinePlanTable/_ROOT_Type_NewOfflinePlanTable.qbl new file mode 100644 index 0000000..b83130c --- /dev/null +++ b/_Main/BL/Type_NewOfflinePlanTable/_ROOT_Type_NewOfflinePlanTable.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type NewOfflinePlanTable +{ + #keys: '5[413988.0.1603460031][413988.0.1603460029][0.0.0][413988.0.1603460030][413988.0.1603460032]' + BaseType: Object + StructuredName: 'NewOfflinePlanTables' +} diff --git a/_Main/Sys/Repr/Global/NewOfflinePlanCell.qrp b/_Main/Sys/Repr/Global/NewOfflinePlanCell.qrp new file mode 100644 index 0000000..e2b939c --- /dev/null +++ b/_Main/Sys/Repr/Global/NewOfflinePlanCell.qrp @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +#parent: #root +TypeRepresentation NewOfflinePlanCell +{ + AttributeRepresentation ShiftPatternEnd + { + AttributeKey: '[413988.0.1603460414]' + Synonym: '鐝缁撴潫鏃堕棿' + } + AttributeRepresentation ShiftPatternName + { + AttributeKey: '[413988.0.1603460388]' + Synonym: '鐝' + } + AttributeRepresentation ShiftPatternStart + { + AttributeKey: '[413988.0.1603460401]' + Synonym: '鐝寮�濮嬫椂闂�' + } + AttributeRepresentation TotalQuantity + { + AttributeKey: '[413988.0.1603460378]' + Synonym: '鎬婚噺' + } + RelationRepresentation AsFirstNOPCell { RelationKey: '[413988.0.1603460270]' Visibility: 'Normal' } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def index 36b4beb..8a7c394 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def @@ -22,7 +22,7 @@ BaseType: 'WebButton' Properties: [ - Taborder: 5 + Taborder: 6 ] } Component bOfflinePlan @@ -45,7 +45,7 @@ Description: 'AssemblyOnlinePlan' Image: 'PALM_TREE' Label: 'Filing plan' - Taborder: 2 + Taborder: 3 ] } Component bPackagingPlan @@ -56,7 +56,7 @@ [ Image: 'SIXPACK_BEER' Label: 'Packaging plan' - Taborder: 3 + Taborder: 4 ] } Component bShippingActualData @@ -67,7 +67,18 @@ [ Image: 'TABLE_CONNECTION' Label: 'Shipping data' - Taborder: 4 + Taborder: 5 + ] + } + Component bNewOfflinePlan + { + #keys: '[413988.0.1607471411]' + BaseType: 'WebButton' + Properties: + [ + Image: 'LIGHTBULB' + Label: 'Output plan' + Taborder: 2 ] } ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bNewOfflinePlan_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bNewOfflinePlan_OnClick.def new file mode 100644 index 0000000..c15a91d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bNewOfflinePlan_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: abgSecondDevelopmentPlan/bNewOfflinePlan +Response OnClick () id:Response_MacroPlanner_abgSecondDevelopmentPlan_bNewOfflinePlan_OnClick +{ + #keys: '[413988.0.1607471572]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + ApplicationScope.ViewManager().ResetUserViewById( "NewOfflinePlan", true ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_MatrixEditor515.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_MatrixEditor515.def new file mode 100644 index 0000000..fbd9bc5 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_MatrixEditor515.def @@ -0,0 +1,99 @@ +Quintiq file version 2.0 +Component MatrixEditor515 +{ + #keys: '[413988.0.1607432871]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCell568 + { + #keys: '[413988.0.1607432872]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractor802 + { + #keys: '[413988.0.1607432873]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[NewOfflinePlanRow]' + Source: 'dhSelectedDetailNewOfflinePlanRow' + Taborder: 0 + Transformation: 'Elements.NewOfflinePlanCell' + ] + } + ] + Properties: + [ + Attributes: 'Quantity;Order' + Column: 'NewOfflinePlanColumn' + Row: 'NewOfflinePlanRow' + Taborder: 0 + ] + } + Component MatrixEditorRows710 + { + #keys: '[413988.0.1607432876]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor206 + { + #keys: '[413988.0.1607432877]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[NewOfflinePlanRow]' + Source: 'dhSelectedDetailNewOfflinePlanRow' + Taborder: 0 + Transformation: 'Elements' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'ProductionLine;ProductID' + Taborder: 1 + ] + } + Component MatrixEditorColumns748 + { + #keys: '[413988.0.1607432880]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor675 + { + #keys: '[413988.0.1607432881]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'NewOfflinePlanTable' + Source: 'dhNewOfflinePlanTable' + Taborder: 0 + Transformation: 'NewOfflinePlanColumn' + ] + } + ] + Properties: + [ + Legend: 'StartDate' + SortCriteria: 'StartDate' + Taborder: 2 + ] + } + #child: matrixEditorActionBarPage623 + #child: matrixeditorContextMenu229 + ] + Properties: + [ + AllowAttributeConfiguration: true + AllowMultipleAttributes: true + Columns: 'MatrixEditorColumns748' + ContextMenu: 'matrixeditorContextMenu229' + Rows: 'MatrixEditorRows710' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_MatrixEditor583.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_MatrixEditor583.def new file mode 100644 index 0000000..83cf21e --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_MatrixEditor583.def @@ -0,0 +1,98 @@ +Quintiq file version 2.0 +Component MatrixEditor583 +{ + #keys: '[413988.0.1607432902]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCell950 + { + #keys: '[413988.0.1607432903]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractor782 + { + #keys: '[413988.0.1607432904]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[NewOfflinePlanRow]' + Source: 'dhSelectedTotalNewOfflinePlanRow' + Taborder: 0 + Transformation: 'Elements.NewOfflinePlanCell' + ] + } + ] + Properties: + [ + Attributes: 'TotalQuantity;ShiftPatternName;ShiftPatternStart;ShiftPatternEnd' + Column: 'NewOfflinePlanColumn' + Row: 'NewOfflinePlanRow' + Taborder: 0 + ] + } + Component MatrixEditorRows569 + { + #keys: '[413988.0.1607432907]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor195 + { + #keys: '[413988.0.1607432908]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[NewOfflinePlanRow]' + Source: 'dhSelectedTotalNewOfflinePlanRow' + Taborder: 0 + Transformation: 'Elements' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'ProductionLine;ProductID' + Taborder: 1 + ] + } + Component MatrixEditorColumns473 + { + #keys: '[413988.0.1607432911]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor526 + { + #keys: '[413988.0.1607432912]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'NewOfflinePlanTable' + Source: 'dhNewOfflinePlanTable' + Taborder: 0 + Transformation: 'NewOfflinePlanColumn' + ] + } + ] + Properties: + [ + Legend: 'StartDate' + SortCriteria: 'StartDate' + Taborder: 2 + ] + } + #child: matrixEditorActionBarPage338 + #child: matrixeditorContextMenu267 + ] + Properties: + [ + AllowMultipleAttributes: true + Columns: 'MatrixEditorColumns473' + ContextMenu: 'matrixeditorContextMenu267' + Rows: 'MatrixEditorRows569' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixEditorActionBarPage338.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixEditorActionBarPage338.def new file mode 100644 index 0000000..616f454 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixEditorActionBarPage338.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPage338 +{ + #keys: '[413988.0.1607432915]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 3 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixEditorActionBarPage623.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixEditorActionBarPage623.def new file mode 100644 index 0000000..244bcae --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixEditorActionBarPage623.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPage623 +{ + #keys: '[413988.0.1607432884]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 3 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixeditorContextMenu229.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixeditorContextMenu229.def new file mode 100644 index 0000000..0c35e50 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixeditorContextMenu229.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenu229 +{ + #keys: '[413988.0.1607432887]' + BaseType: 'matrixeditorContextMenu' + Properties: + [ + Taborder: 4 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixeditorContextMenu267.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixeditorContextMenu267.def new file mode 100644 index 0000000..c36959c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_matrixeditorContextMenu267.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenu267 +{ + #keys: '[413988.0.1607432918]' + BaseType: 'matrixeditorContextMenu' + Properties: + [ + Taborder: 4 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pDetail.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pDetail.def new file mode 100644 index 0000000..3a2576c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pDetail.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +Component pDetail +{ + #keys: '[413988.0.1607470703]' + BaseType: 'WebPanel' + Children: + [ + #child: MatrixEditor515 + ] + Properties: + [ + Border: true + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def new file mode 100644 index 0000000..90182d1 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pHeader.def @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +Component pHeader +{ + #keys: '[413988.0.1607470685]' + BaseType: 'WebPanel' + Children: + [ + Component bRefresh + { + #keys: '[413988.0.1607470932]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Refresh' + Taborder: 0 + ] + } + ] + Properties: + [ + Border: true + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pTotal.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pTotal.def new file mode 100644 index 0000000..b5e9aa1 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Component_pTotal.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component pTotal +{ + #keys: '[413988.0.1607470720]' + BaseType: 'WebPanel' + Children: + [ + #child: MatrixEditor583 + ] + Properties: + [ + Taborder: 2 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_dhNewOfflinePlanTable_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_dhNewOfflinePlanTable_OnCreated.def new file mode 100644 index 0000000..47cc3be --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_dhNewOfflinePlanTable_OnCreated.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: dhNewOfflinePlanTable +Response OnCreated () id:Response_FormNewOfflinePlan_dhNewOfflinePlanTable_OnCreated +{ + #keys: '[413988.0.1612870517]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + nopt := maxselect( MacroPlan, NewOfflinePlanTable, tempOPT, true, tempOPT.SaveDateTime() ); + + this.Data( nopt ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_pHeader_bRefresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_pHeader_bRefresh_OnClick.def new file mode 100644 index 0000000..d422c3a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/Response_pHeader_bRefresh_OnClick.def @@ -0,0 +1,25 @@ +Quintiq file version 2.0 +#parent: pHeader/bRefresh +Response OnClick () id:Response_pHeader_bRefresh_OnClick +{ + #keys: '[413988.0.1607471065]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + NewOfflinePlanCell::RefreshOfflinePlan( MacroPlan ); + + nopt := maxselect( MacroPlan, NewOfflinePlanTable, tempNOPT, true, tempNOPT.SaveDateTime() ); + dhNewOfflinePlanTable.Data( nopt ); + + WebMessageBox::Success( Translations::A_VWED_Success() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/_ROOT_Component_FormNewOfflinePlan.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/_ROOT_Component_FormNewOfflinePlan.def new file mode 100644 index 0000000..2763c65 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewOfflinePlan/_ROOT_Component_FormNewOfflinePlan.def @@ -0,0 +1,84 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormNewOfflinePlan +{ + #keys: '[413988.0.1606778977]' + BaseType: 'WebForm' + Children: + [ + #child: pTotal + #child: pHeader + #child: pDetail + Component dhNewOfflinePlanTable + { + #keys: '[413988.0.1607471150]' + BaseType: 'WebDataHolder' + Databinding: 'NewOfflinePlanTable' + Properties: + [ + Taborder: 3 + ] + } + Component dhSelectedDetailNewOfflinePlanRow + { + #keys: '[413988.0.1607433222]' + BaseType: 'WebDataHolder' + Databinding: 'structured[NewOfflinePlanRow]*' + Children: + [ + Component deSelectedNewOfflinePlanRow + { + #keys: '[413988.0.1608510877]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'NewOfflinePlanTable' + FilterArguments: 'entities:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderCheckedEntities' + FixedFilter: 'object.Filter( entities ) and object.Type() = "1"' + Source: 'dhNewOfflinePlanTable' + Taborder: 0 + Transformation: 'NewOfflinePlanRow' + ] + } + ] + Properties: + [ + Taborder: 4 + ] + } + Component dhSelectedTotalNewOfflinePlanRow + { + #keys: '[413988.0.1609979741]' + BaseType: 'WebDataHolder' + Databinding: 'structured[NewOfflinePlanRow]*' + Children: + [ + Component deSelectedNewOfflinePlanRow681 + { + #keys: '[413988.0.1609979742]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'NewOfflinePlanTable' + FilterArguments: 'entities:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderCheckedEntities' + FixedFilter: 'object.Filter( entities ) and object.Type() = "2"' + Source: 'dhNewOfflinePlanTable' + Taborder: 0 + Transformation: 'NewOfflinePlanRow' + ] + } + ] + Properties: + [ + Taborder: 5 + ] + } + ] + Properties: + [ + Description: '鏂拌閰嶄笅绾胯鍒�' + Image: 'WIND_ENGINE_OFFSHORE' + Title: 'Output plan' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/HighlightRules.hl b/_Main/UI/MacroPlannerWebApp/HighlightRules.hl new file mode 100644 index 0000000..639b01d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/HighlightRules.hl @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: #root +HighlightRules +{ + HighlightRule + { + #keys: '1[413988.0.1616240421]' + Bidirectional: true + ContinueHighlighting: true + Description: '涓嬬嚎璁″垝鏍规嵁缁嗗垎绐佸嚭鏄剧ず鍚堣' + Groups: Default + HighlightPathString: 'Total' + StartTypeString: 'NewOfflinePlanCell' + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/NewOfflinePlan.vw b/_Main/UI/MacroPlannerWebApp/Views/NewOfflinePlan.vw new file mode 100644 index 0000000..bcd0a9f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/NewOfflinePlan.vw @@ -0,0 +1,215 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormNewOfflinePlan + { + title: 'QMacroPlanner::FormNewOfflinePlan' + shown: true + componentID: 'QMacroPlanner::FormNewOfflinePlan' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 14 + columnPosition: 1 + columnSpan: 12 + } + components + { + FormNewOfflinePlan_pHeader + { + sizeRatio: 1 + } + FormNewOfflinePlan_pDetail + { + sizeRatio: 1 + } + FormNewOfflinePlan_MatrixEditor515 + { + gridColor: '#c4c4c4' + totalHeaderWidth: 511 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QMacroPlanner::FormNewOfflinePlan.MatrixEditor515' + state + { + cells + { + attributes + { + attribute_Quantity + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: 'sum' + attribute: 'Quantity' + } + attribute_Order + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 1 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'Order' + } + } + } + columns + { + sorting + { + criteria: "datamember:'StartDate'" + } + } + rows + { + sorting + { + criteria: "datamember:'ProductionLine';datamember:'ProductID'" + } + } + } + } + } + FormNewOfflinePlan_pTotal + { + sizeRatio: 1 + } + FormNewOfflinePlan_MatrixEditor583 + { + gridColor: '#c4c4c4' + totalHeaderWidth: 510 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QMacroPlanner::FormNewOfflinePlan.MatrixEditor583' + state + { + cells + { + attributes + { + attribute_TotalQuantity + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'TotalQuantity' + } + attribute_ShiftPatternName + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 1 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'ShiftPatternName' + } + attribute_ShiftPatternStart + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 2 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'ShiftPatternStart' + } + attribute_ShiftPatternEnd + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 3 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'ShiftPatternEnd' + } + } + } + columns + { + sorting + { + criteria: "datamember:'StartDate'" + } + } + rows + { + sorting + { + criteria: "datamember:'ProductionLine';datamember:'ProductID'" + } + } + } + } + } + } + } + form_FormGeneralSettings + { + title: 'General Settings' + shown: true + componentID: 'FormGeneralSettings' + layout + { + mode: 'dockright' + index: 0 + } + components + { + FormGeneralSettings_PanelContent + { + sizeRatio: 1 + } + FormGeneralSettings_PanelGeneralParameter + { + sizeRatio: 1 + } + FormGeneralSettings_PanelLeadTimeDependent + { + sizeRatio: 1 + } + FormGeneralSettings_PanelShelfLife + { + sizeRatio: 1 + } + FormGeneralSettings_PanelSustainability + { + sizeRatio: 1 + } + FormGeneralSettings_PanelForecastNetting + { + sizeRatio: 1 + } + FormGeneralSettings_PanelActions + { + sizeRatio: 1 + } + } + } + } + userconfigurableinformation + { + } + page: '' + group: '' + index: 0 + image: 'CHART_DONUT' + description: '' + } + formatversion: 2 + id: 'NewOfflinePlan' + name: 'NewOfflinePlan' + isglobal: false + isroot: true +} -- Gitblit v1.9.3