From 5ed2c2076e3b8a907ac2d271ea627cc9f9c9b3f4 Mon Sep 17 00:00:00 2001 From: lihongji <3117313295@qq.com> Date: 星期二, 09 七月 2024 13:19:13 +0800 Subject: [PATCH] 装配上线计划 --- _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Response_pHeader_bDownload_OnClick.def | 22 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_MatrixEditor951#480.def | 97 +++ _Main/BL/Relations/Relation_OfflinePlanTable_MacroPlan_MacroPlan_OfflinePlanTable.qbl | 23 _Main/BL/Type_AssemblyOnlinePlanCell/Attribute_Value.qbl | 7 _Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_RowNr.qbl | 6 _Main/BL/Type_AssemblyOnlinePlanColumn/Attribute_ColumnIndex.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Component_pnlContent.def | 36 + _Main/BL/Type_AssemblyOnlinePlanCell/_ROOT_Type_AssemblyOnlinePlanCell.qbl | 9 _Main/BL/Type_AssemblyOnlinePlanColumn/Function_CalcColumnName.qbl | 13 _Main/BL/Type_AssemblyOnlinePlanCell/Attribute_Quantity.qbl | 7 _Main/BL/Type_AssemblyOnlineQuantity/_ROOT_Type_AssemblyOnlineQuantity.qbl | 9 _Main/BL/Type_OfflinePlanCell/Attribute_Quantity.qbl | 7 _var/_Main/ProjSettings/EditorTC/Views/车道整班分析_[413988.0.1301140601].vw | 59 - _Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_ProductID.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bDownload_OnClick.def | 10 _Main/BL/Type_AssemblyOnlinePlanColumn/DefaultValue_ColumnName.qbl | 6 _Main/BL/Relations/Relation_OfflinePlanColumn_OfflinePlanTable_OfflinePlanTable_OfflinePlanColu.qbl | 34 + _Main/BL/Type_OfflinePlanRow/Attribute_ProductionLine.qbl | 1 _Main/BL/Type_OfflinePlanCell/Attribute_InventoryWeight.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pContent_dhOfflinePlanTable_OnCreated.def | 18 _Main/BL/Type_OfflinePlanTable/_ROOT_Type_OfflinePlanTable.qbl | 9 _Main/BL/Type_AssemblyOnlinePlanRow/_ROOT_Type_AssemblyOnlinePlanRow.qbl | 9 _Main/BL/Type_OfflinePlanCell/StaticMethod_Download.qbl | 48 + _Main/UI/MacroPlannerWebApp/Views/AssemblyOnlinePlan.vw | 134 +++++ _Main/BL/Relations/Relation_OfflinePlanRow_OfflinePlanTable_OfflinePlanTable_OfflinePlanRow.qbl | 23 _Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_Type.qbl | 6 _Main/BL/Type_AssemblyOnlinePlanRow/Attribute_ProductionLine.qbl | 7 _Main/BL/Type_OfflinePlanColumn/Function_CalcColumnName.qbl | 2 _Main/BL/Type_AssemblyOnlinePlanColumn/_ROOT_Type_AssemblyOnlinePlanColumn.qbl | 9 _Main/BL/Type_AssemblyOnlinePlanRow/Attribute_RowNr.qbl | 7 _Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_ProductionLine.qbl | 6 _Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_MacroPlan_MacroPlan_AssemblyOnlinePlanColu.qbl | 34 + _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pContent#611.def | 10 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/_ROOT_Component_FormAssemblyOnlinePlan.def | 17 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bRestore_OnClick.def | 15 _Main/BL/Type_AssemblyOnlinePlanCell/Attribute_InventoryWeight.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Response_pnlActions_btnOk_OnClick.def | 16 _Main/BL/Type_AssemblyOnlinePlanColumn/Attribute_ColumnDate.qbl | 7 _Main/BL/Type_AssemblyOnlineQuantity/Attribute_DLMoMo.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Response_pnlActions_btnCancel_OnClick.def | 15 _Main/BL/Type_AssemblyOnlinePlanRow/Attribute_Type.qbl | 15 _Main/BL/Type_AssemblyOnlineQuantity/Attribute_CCMoMo.qbl | 7 _Main/BL/Type_OfflinePlanColumn/Attribute_ColumnDate.qbl | 1 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def | 14 _Main/BL/Type_AssemblyOnlinePlanCell/Attribute_ProductionSerialNumber.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bAssemblyOnlinePlan_OnClick.def | 16 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_pHeader.def | 46 + _Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_Download.qbl | 47 + _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_MatrixEditor951.def | 12 _Main/BL/Type_OfflinePlanCell/StaticMethod_SaveAsDraft.qbl | 16 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bSaveAsDraft_OnClick.def | 11 _Main/BL/Type_OfflinePlanCell/Attribute_ProductionSerialNumber.qbl | 7 _Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl | 36 + _Main/BL/Type_TransferPlanCell/StaticMethod_Download.qbl | 61 ++ _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Response_pHeader_bOnlineQuantity_OnClick.def | 27 + _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bRefresh_OnClick.def | 5 _Main/BL/Relations/Relation_AssemblyOnlineQuantity_MacroPlan_MacroPlan_AssemblyOnlineQuantity.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bDownload_OnClick.def | 10 _Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/_ROOT_Component_DialogAssemblyOnlineQuantity.def | 22 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_pContent.def | 14 _Main/BL/Type_AssemblyOnlinePlanColumn/Attribute_ColumnName.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_matrixEditorActionBarPage250#1.def | 10 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Response_pHeader_bRefresh_OnClick#774.def | 24 _Main/BL/Type_AssemblyOnlinePlanRow/Attribute_ProductID.qbl | 7 _Main/BL/Type_OfflinePlanTable/Attribute_SaveDateTime.qbl | 7 _Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_AssemblyOnlinePlanCell_AssemblyOnlinePlanC.qbl | 23 _Main/BL/Relations/Relation_AssemblyOnlinePlanRow_MacroPlan_MacroPlan_AssemblyOnlinePlanRow.qbl | 23 _Main/BL/Relations/Relation_AssemblyOnlinePlanRow_AssemblyOnlinePlanCell_AssemblyOnlinePlanCell.qbl | 23 /dev/null | 20 _Main/UI/MacroPlannerWebApp/Views/OfflinePlan.vw | 2 _Main/BL/Type_AssemblyOnlinePlanCell/DefaultValue_Shift.qbl | 6 _Main/BL/Type_OfflinePlanCell/Method_FindType2.qbl | 9 _Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Component_pnlActions.def | 40 + _Main/BL/Type_OfflinePlanRow/Attribute_ProductID.qbl | 1 _Main/BL/Type_AssemblyOnlinePlanCell/Attribute_Shift.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_matrixeditorContextMenu204#1.def | 10 _Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl | 103 +++ _Main/BL/Type_AssemblyOnlinePlanCell/DefaultValue_Value.qbl | 6 _Main/BL/Type_OfflinePlanRow/Attribute_Type.qbl | 1 79 files changed, 1,412 insertions(+), 89 deletions(-) diff --git a/_Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_AssemblyOnlinePlanCell_AssemblyOnlinePlanC.qbl b/_Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_AssemblyOnlinePlanCell_AssemblyOnlinePlanC.qbl new file mode 100644 index 0000000..234a042 --- /dev/null +++ b/_Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_AssemblyOnlinePlanCell_AssemblyOnlinePlanC.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation AssemblyOnlinePlanColumn_AssemblyOnlinePlanCell_AssemblyOnlinePlanCell_AssemblyOnlinePlanColumn +{ + #keys: '1[413988.0.1348175595]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide AssemblyOnlinePlanCell + { + #keys: '3[413988.0.1348175597][413988.0.1348175596][413988.0.1348175598]' + Cardinality: '1toN' + ObjectDefinition: AssemblyOnlinePlanColumn + OwningSide: 'Owned' + } + RelationSide.RightSide AssemblyOnlinePlanColumn + { + #keys: '3[413988.0.1348175600][413988.0.1348175599][413988.0.1348175601]' + Cardinality: '0to1' + ObjectDefinition: AssemblyOnlinePlanCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_MacroPlan_MacroPlan_AssemblyOnlinePlanColu.qbl b/_Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_MacroPlan_MacroPlan_AssemblyOnlinePlanColu.qbl new file mode 100644 index 0000000..bc0d983 --- /dev/null +++ b/_Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_MacroPlan_MacroPlan_AssemblyOnlinePlanColu.qbl @@ -0,0 +1,34 @@ +Quintiq file version 2.0 +#parent: #root +Relation AssemblyOnlinePlanColumn_MacroPlan_MacroPlan_AssemblyOnlinePlanColumn +{ + #keys: '1[413988.0.1348175552]' + DeclarativeSequenceRelationStrategy + { + #keys: '13[0.0.0][413988.0.1348175574][413988.0.1348175568][413988.0.1348175575][413988.0.1348175569][413988.0.1348175576][413988.0.1348175570][413988.0.1348175577][413988.0.1348175571][413988.0.1348175578][413988.0.1348175572][413988.0.1348175579][413988.0.1348175573]' + SequenceElementSuffix: 'Column' + SequenceSuffix: 'Column' + SortAttributes: + [ + DeclarativeSequenceRelationSortAttribute + { + #keys: '1[413988.0.1348175584]' + Attribute: 'ColumnDate' + } + ] + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1348175554][413988.0.1348175553][413988.0.1348175555]' + Cardinality: '0to1' + ObjectDefinition: AssemblyOnlinePlanColumn + OwningSide: 'Reference' + } + RelationSide.RightSide AssemblyOnlinePlanColumn + { + #keys: '3[413988.0.1348175557][413988.0.1348175556][413988.0.1348175558]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_AssemblyOnlinePlanRow_AssemblyOnlinePlanCell_AssemblyOnlinePlanCell.qbl b/_Main/BL/Relations/Relation_AssemblyOnlinePlanRow_AssemblyOnlinePlanCell_AssemblyOnlinePlanCell.qbl new file mode 100644 index 0000000..e878ce8 --- /dev/null +++ b/_Main/BL/Relations/Relation_AssemblyOnlinePlanRow_AssemblyOnlinePlanCell_AssemblyOnlinePlanCell.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation AssemblyOnlinePlanRow_AssemblyOnlinePlanCell_AssemblyOnlinePlanCell_AssemblyOnlinePlanRow +{ + #keys: '1[413988.0.1348175621]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide AssemblyOnlinePlanCell + { + #keys: '3[413988.0.1348175623][413988.0.1348175622][413988.0.1348175624]' + Cardinality: '1toN' + ObjectDefinition: AssemblyOnlinePlanRow + OwningSide: 'Reference' + } + RelationSide.RightSide AssemblyOnlinePlanRow + { + #keys: '3[413988.0.1348175626][413988.0.1348175625][413988.0.1348175627]' + Cardinality: '0to1' + ObjectDefinition: AssemblyOnlinePlanCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_AssemblyOnlinePlanRow_MacroPlan_MacroPlan_AssemblyOnlinePlanRow.qbl b/_Main/BL/Relations/Relation_AssemblyOnlinePlanRow_MacroPlan_MacroPlan_AssemblyOnlinePlanRow.qbl new file mode 100644 index 0000000..103c7c9 --- /dev/null +++ b/_Main/BL/Relations/Relation_AssemblyOnlinePlanRow_MacroPlan_MacroPlan_AssemblyOnlinePlanRow.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation AssemblyOnlinePlanRow_MacroPlan_MacroPlan_AssemblyOnlinePlanRow +{ + #keys: '1[413988.0.1348175608]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1348175610][413988.0.1348175609][413988.0.1348175611]' + Cardinality: '0to1' + ObjectDefinition: AssemblyOnlinePlanRow + OwningSide: 'Reference' + } + RelationSide.RightSide AssemblyOnlinePlanRow + { + #keys: '3[413988.0.1348175613][413988.0.1348175612][413988.0.1348175614]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_AssemblyOnlineQuantity_MacroPlan_MacroPlan_AssemblyOnlineQuantity.qbl b/_Main/BL/Relations/Relation_AssemblyOnlineQuantity_MacroPlan_MacroPlan_AssemblyOnlineQuantity.qbl new file mode 100644 index 0000000..3064591 --- /dev/null +++ b/_Main/BL/Relations/Relation_AssemblyOnlineQuantity_MacroPlan_MacroPlan_AssemblyOnlineQuantity.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation AssemblyOnlineQuantity_MacroPlan_MacroPlan_AssemblyOnlineQuantity +{ + #keys: '1[413988.0.1348200027]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1348200029][413988.0.1348200028][413988.0.1348200030]' + Cardinality: '0to1' + ObjectDefinition: AssemblyOnlineQuantity + OwningSide: 'Reference' + } + RelationSide.RightSide AssemblyOnlineQuantity + { + #keys: '3[413988.0.1348200032][413988.0.1348200031][413988.0.1348200033]' + Cardinality: '0to1' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_OfflinePlanColumn_MacroPlan_MacroPlan_OfflinePlanColumn.qbl b/_Main/BL/Relations/Relation_OfflinePlanColumn_MacroPlan_MacroPlan_OfflinePlanColumn.qbl deleted file mode 100644 index ddb1bef..0000000 --- a/_Main/BL/Relations/Relation_OfflinePlanColumn_MacroPlan_MacroPlan_OfflinePlanColumn.qbl +++ /dev/null @@ -1,23 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Relation OfflinePlanColumn_MacroPlan_MacroPlan_OfflinePlanColumn -{ - #keys: '1[413988.0.1296697061]' - DefaultRelationStrategy - { - } - RelationSide.LeftSide MacroPlan - { - #keys: '3[413988.0.1296697063][413988.0.1296697062][413988.0.1296697064]' - Cardinality: '0to1' - ObjectDefinition: OfflinePlanColumn - OwningSide: 'Reference' - } - RelationSide.RightSide OfflinePlanColumn - { - #keys: '3[413988.0.1296697066][413988.0.1296697065][413988.0.1296697067]' - Cardinality: '1toN' - ObjectDefinition: MacroPlan - OwningSide: 'Owned' - } -} diff --git a/_Main/BL/Relations/Relation_OfflinePlanColumn_OfflinePlanTable_OfflinePlanTable_OfflinePlanColu.qbl b/_Main/BL/Relations/Relation_OfflinePlanColumn_OfflinePlanTable_OfflinePlanTable_OfflinePlanColu.qbl new file mode 100644 index 0000000..d24e7bb --- /dev/null +++ b/_Main/BL/Relations/Relation_OfflinePlanColumn_OfflinePlanTable_OfflinePlanTable_OfflinePlanColu.qbl @@ -0,0 +1,34 @@ +Quintiq file version 2.0 +#parent: #root +Relation OfflinePlanColumn_OfflinePlanTable_OfflinePlanTable_OfflinePlanColumn +{ + #keys: '1[413988.0.1337732899]' + DeclarativeSequenceRelationStrategy + { + #keys: '13[0.0.0][413988.0.1337732918][413988.0.1337732912][413988.0.1337732919][413988.0.1337732913][413988.0.1337732920][413988.0.1337732914][413988.0.1337732921][413988.0.1337732915][413988.0.1337732922][413988.0.1337732916][413988.0.1337732923][413988.0.1337732917]' + SequenceElementSuffix: 'Column' + SequenceSuffix: 'Column' + SortAttributes: + [ + DeclarativeSequenceRelationSortAttribute + { + #keys: '1[413988.0.1337732928]' + Attribute: 'ColumnDate' + } + ] + } + RelationSide.LeftSide OfflinePlanTable + { + #keys: '3[413988.0.1337732901][413988.0.1337732900][413988.0.1337732902]' + Cardinality: '0to1' + ObjectDefinition: OfflinePlanColumn + OwningSide: 'Reference' + } + RelationSide.RightSide OfflinePlanColumn + { + #keys: '3[413988.0.1337732904][413988.0.1337732903][413988.0.1337732905]' + Cardinality: '1toN' + ObjectDefinition: OfflinePlanTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_OfflinePlanRow_MacroPlan_MacroPlan_OfflinePlanRow.qbl b/_Main/BL/Relations/Relation_OfflinePlanRow_MacroPlan_MacroPlan_OfflinePlanRow.qbl deleted file mode 100644 index c9dde81..0000000 --- a/_Main/BL/Relations/Relation_OfflinePlanRow_MacroPlan_MacroPlan_OfflinePlanRow.qbl +++ /dev/null @@ -1,23 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Relation OfflinePlanRow_MacroPlan_MacroPlan_OfflinePlanRow -{ - #keys: '1[413988.0.1296696992]' - DefaultRelationStrategy - { - } - RelationSide.LeftSide MacroPlan - { - #keys: '3[413988.0.1296696994][413988.0.1296696993][413988.0.1296696995]' - Cardinality: '0to1' - ObjectDefinition: OfflinePlanRow - OwningSide: 'Reference' - } - RelationSide.RightSide OfflinePlanRow - { - #keys: '3[413988.0.1296696997][413988.0.1296696996][413988.0.1296696998]' - Cardinality: '1toN' - ObjectDefinition: MacroPlan - OwningSide: 'Owned' - } -} diff --git a/_Main/BL/Relations/Relation_OfflinePlanRow_OfflinePlanTable_OfflinePlanTable_OfflinePlanRow.qbl b/_Main/BL/Relations/Relation_OfflinePlanRow_OfflinePlanTable_OfflinePlanTable_OfflinePlanRow.qbl new file mode 100644 index 0000000..c17df01 --- /dev/null +++ b/_Main/BL/Relations/Relation_OfflinePlanRow_OfflinePlanTable_OfflinePlanTable_OfflinePlanRow.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation OfflinePlanRow_OfflinePlanTable_OfflinePlanTable_OfflinePlanRow +{ + #keys: '1[413988.0.1337732881]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide OfflinePlanTable + { + #keys: '3[413988.0.1337732883][413988.0.1337732882][413988.0.1337732884]' + Cardinality: '0to1' + ObjectDefinition: OfflinePlanRow + OwningSide: 'Reference' + } + RelationSide.RightSide OfflinePlanRow + { + #keys: '3[413988.0.1337732886][413988.0.1337732885][413988.0.1337732887]' + Cardinality: '1toN' + ObjectDefinition: OfflinePlanTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_OfflinePlanTable_MacroPlan_MacroPlan_OfflinePlanTable.qbl b/_Main/BL/Relations/Relation_OfflinePlanTable_MacroPlan_MacroPlan_OfflinePlanTable.qbl new file mode 100644 index 0000000..781206d --- /dev/null +++ b/_Main/BL/Relations/Relation_OfflinePlanTable_MacroPlan_MacroPlan_OfflinePlanTable.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation OfflinePlanTable_MacroPlan_MacroPlan_OfflinePlanTable +{ + #keys: '1[413988.0.1337732865]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1337732867][413988.0.1337732866][413988.0.1337732868]' + Cardinality: '0to1' + ObjectDefinition: OfflinePlanTable + OwningSide: 'Reference' + } + RelationSide.RightSide OfflinePlanTable + { + #keys: '3[413988.0.1337732870][413988.0.1337732869][413988.0.1337732871]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_InventoryWeight.qbl b/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_InventoryWeight.qbl new file mode 100644 index 0000000..4feff43 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_InventoryWeight.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute InventoryWeight +{ + #keys: '3[413988.0.1348175527][413988.0.1348175526][413988.0.1348175528]' + Description: '鍓╀綑搴撳瓨 - 鏈�灏忓簱瀛�' + ValueType: Real +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_ProductionSerialNumber.qbl b/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_ProductionSerialNumber.qbl new file mode 100644 index 0000000..d4f3732 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_ProductionSerialNumber.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductionSerialNumber +{ + #keys: '3[413988.0.1348175536][413988.0.1348175535][413988.0.1348175537]' + ValueType: Number +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_Quantity.qbl b/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_Quantity.qbl new file mode 100644 index 0000000..4a88e03 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_Quantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[413988.0.1348175533][413988.0.1348175532][413988.0.1348175534]' + ValueType: Real +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_Shift.qbl b/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_Shift.qbl new file mode 100644 index 0000000..7a2ac9b --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_Shift.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Shift +{ + #keys: '3[413988.0.1348175530][413988.0.1348175529][413988.0.1348175531]' + Description: '鐝' + ValueType: String +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_Value.qbl b/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_Value.qbl new file mode 100644 index 0000000..07d672a --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanCell/Attribute_Value.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Value +{ + #keys: '3[413988.0.1348175524][413988.0.1348175523][413988.0.1348175525]' + ValueType: String +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanCell/DefaultValue_Shift.qbl b/_Main/BL/Type_AssemblyOnlinePlanCell/DefaultValue_Shift.qbl new file mode 100644 index 0000000..b925fd8 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanCell/DefaultValue_Shift.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Shift +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanCell/DefaultValue_Value.qbl b/_Main/BL/Type_AssemblyOnlinePlanCell/DefaultValue_Value.qbl new file mode 100644 index 0000000..913414b --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanCell/DefaultValue_Value.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Value +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_Download.qbl b/_Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_Download.qbl new file mode 100644 index 0000000..3fc9100 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_Download.qbl @@ -0,0 +1,47 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Download ( + MacroPlan macroPlan +) as BinaryValue +{ + TextBody: + [* + xmlDOMI := XMLDOMImplementation::Create(); + xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>Sheet1</name></table>' ); + + tableElement := xmlDOM.GetElementByTagName( "table", 0 ); + + opcs := selectsortedset( macroPlan, AssemblyOnlinePlanColumn, tempOPC, true, tempOPC.ColumnDate() ); + oprs := selectsortedset( macroPlan, AssemblyOnlinePlanRow, tempOPR, true, tempOPR.ProductionLine(), tempOPR.ProductID(), tempOPR.Type() ); + traverse ( opcs, Elements, opc ) { + column := xmlDOM.CreateElement( "column" ); + name := xmlDOM.CreateElement( "name" ); + type := xmlDOM.CreateElement( "type" ); + name.TextContent( ifexpr( opc.ColumnDate() < macroPlan.StartOfPlanning().Date(), "", opc.ColumnDate().Format( "Y/M2/D2" ) ) ); + type.TextContent( "String" ); + column.AppendChild( name ); + column.AppendChild( type ); + + traverse ( oprs, Elements, opr ) { + c := select( opc, AssemblyOnlinePlanCell, tempOPC, tempOPC.AssemblyOnlinePlanRow() = opr ); + cell := xmlDOM.CreateElement( "cell" ); + cell.SetAttribute( "value", guard( c.Value(), "" ) ); + column.AppendChild( cell ); + } + + tableElement.AppendChild( column ); + } + + xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ) + + //info( xmlString ); + + tableGroupHandle := TableGroupHandle::Create( "Sheet1" ); + tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); + tableGroupHandle.Add( tableHandle ); + + binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); + + return binaryData.AsBinaryValue(); + *] +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl b/_Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl new file mode 100644 index 0000000..733d439 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl @@ -0,0 +1,36 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod RefreshData ( + MacroPlan macroPlan, + OfflinePlanTable opt +) +{ + TextBody: + [* + macroPlan.AssemblyOnlinePlanRow( relflush ); + macroPlan.AssemblyOnlinePlanColumn( relflush ); + + // 鎵捐閰嶇嚎琛� + oprs := selectsortedset( opt, OfflinePlanRow, tempOPR, tempOPR.ProductionLine() = "Spider Assy Line 1", tempOPR.ProductionLine(), tempOPR.ProductID(), tempOPR.Type() ); + opcs := selectsortedset( opt, OfflinePlanColumn, tempOPC, true, tempOPC.ColumnDate() ); + + // 鐢熸垚琛ㄦ牸 + traverse ( opcs, Elements, opc ) { + aopc := macroPlan.AssemblyOnlinePlanColumn( relnew, ColumnDate := opc.ColumnDate(), ColumnIndex := opc.ColumnIndex() ); + traverse ( oprs, Elements, opr ) { + aopr := select( macroPlan, AssemblyOnlinePlanRow, tempAOPR, tempAOPR.ProductID() = opr.ProductID() and tempAOPR.ProductionLine() = opr.ProductionLine() and tempAOPR.Type() = opr.Type() ); + if ( isnull( aopr ) ) { + aopr := macroPlan.AssemblyOnlinePlanRow( relnew, ProductID := opr.ProductID(), ProductionLine := opr.ProductionLine(), Type := opr.Type() ); + } + + cellOPC := select( opr, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanColumn() = opc ); + if ( not isnull( cellOPC ) ) { + cellAOPC := aopc.AssemblyOnlinePlanCell( relnew, Value := cellOPC.Value() ); + cellAOPC.AssemblyOnlinePlanRow( relset, aopr ); + } + } + } + + // 澶勭悊鏃ュ巻浜嬩欢 + *] +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanCell/_ROOT_Type_AssemblyOnlinePlanCell.qbl b/_Main/BL/Type_AssemblyOnlinePlanCell/_ROOT_Type_AssemblyOnlinePlanCell.qbl new file mode 100644 index 0000000..f0ce00e --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanCell/_ROOT_Type_AssemblyOnlinePlanCell.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type AssemblyOnlinePlanCell +{ + #keys: '5[413988.0.1348175520][413988.0.1348175518][0.0.0][413988.0.1348175519][413988.0.1348175521]' + BaseType: Object + StructuredName: 'AssemblyOnlinePlanCells' +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanColumn/Attribute_ColumnDate.qbl b/_Main/BL/Type_AssemblyOnlinePlanColumn/Attribute_ColumnDate.qbl new file mode 100644 index 0000000..8121276 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanColumn/Attribute_ColumnDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ColumnDate +{ + #keys: '3[413988.0.1348175542][413988.0.1348175541][413988.0.1348175543]' + ValueType: Date +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanColumn/Attribute_ColumnIndex.qbl b/_Main/BL/Type_AssemblyOnlinePlanColumn/Attribute_ColumnIndex.qbl new file mode 100644 index 0000000..350460c --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanColumn/Attribute_ColumnIndex.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ColumnIndex +{ + #keys: '3[413988.0.1348175545][413988.0.1348175544][413988.0.1348175546]' + ValueType: Number +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanColumn/Attribute_ColumnName.qbl b/_Main/BL/Type_AssemblyOnlinePlanColumn/Attribute_ColumnName.qbl new file mode 100644 index 0000000..d7e636b --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanColumn/Attribute_ColumnName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ColumnName +{ + #keys: '3[413988.0.1348175548][413988.0.1348175547][413988.0.1348175549]' + ValueType: String +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanColumn/DefaultValue_ColumnName.qbl b/_Main/BL/Type_AssemblyOnlinePlanColumn/DefaultValue_ColumnName.qbl new file mode 100644 index 0000000..2ba9476 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanColumn/DefaultValue_ColumnName.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ColumnName +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanColumn/Function_CalcColumnName.qbl b/_Main/BL/Type_AssemblyOnlinePlanColumn/Function_CalcColumnName.qbl new file mode 100644 index 0000000..5063e35 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanColumn/Function_CalcColumnName.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcColumnName +{ + TextBody: + [* + // lihongji Jun-27-2024 (created) + + value := ifexpr( this.ColumnDate() < this.MacroPlan().StartOfPlanning().Date(), "", this.ColumnDate().Format( "Y/M2/D2" ) ); + + this.ColumnName( value ); + *] +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanColumn/_ROOT_Type_AssemblyOnlinePlanColumn.qbl b/_Main/BL/Type_AssemblyOnlinePlanColumn/_ROOT_Type_AssemblyOnlinePlanColumn.qbl new file mode 100644 index 0000000..5387722 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanColumn/_ROOT_Type_AssemblyOnlinePlanColumn.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type AssemblyOnlinePlanColumn +{ + #keys: '5[413988.0.1348175510][413988.0.1348175508][0.0.0][413988.0.1348175509][413988.0.1348175511]' + BaseType: Object + StructuredName: 'AssemblyOnlinePlanColumns' +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_ProductID.qbl b/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_ProductID.qbl new file mode 100644 index 0000000..c0e500f --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_ProductID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[413988.0.1348175641][413988.0.1348175640][413988.0.1348175642]' + ValueType: String +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_ProductionLine.qbl b/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_ProductionLine.qbl new file mode 100644 index 0000000..55d52d6 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_ProductionLine.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductionLine +{ + #keys: '3[413988.0.1348175644][413988.0.1348175643][413988.0.1348175645]' + ValueType: String +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_RowNr.qbl b/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_RowNr.qbl new file mode 100644 index 0000000..57cebfa --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_RowNr.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute RowNr +{ + #keys: '3[413988.0.1348175635][413988.0.1348175634][413988.0.1348175636]' + ValueType: String +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_Type.qbl b/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_Type.qbl new file mode 100644 index 0000000..9796d2d --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanRow/Attribute_Type.qbl @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Type +{ + #keys: '3[413988.0.1348175638][413988.0.1348175637][413988.0.1348175639]' + Description: + [* + 浜х嚎鍚嶈 锛�0 + Quantity琛岋細1 + Order琛� 锛�2 + 鍚堣琛� 锛�3 + 鐝琛� 锛�4 + *] + ValueType: String +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_ProductID.qbl b/_Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_ProductID.qbl new file mode 100644 index 0000000..98649b2 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_ProductID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductID +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_ProductionLine.qbl b/_Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_ProductionLine.qbl new file mode 100644 index 0000000..c59ec43 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_ProductionLine.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductionLine +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_RowNr.qbl b/_Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_RowNr.qbl new file mode 100644 index 0000000..a05f652 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_RowNr.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: RowNr +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_Type.qbl b/_Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_Type.qbl new file mode 100644 index 0000000..fd112e9 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanRow/DefaultValue_Type.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Type +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanRow/_ROOT_Type_AssemblyOnlinePlanRow.qbl b/_Main/BL/Type_AssemblyOnlinePlanRow/_ROOT_Type_AssemblyOnlinePlanRow.qbl new file mode 100644 index 0000000..337cd85 --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlinePlanRow/_ROOT_Type_AssemblyOnlinePlanRow.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type AssemblyOnlinePlanRow +{ + #keys: '5[413988.0.1348175515][413988.0.1348175513][0.0.0][413988.0.1348175514][413988.0.1348175516]' + BaseType: Object + StructuredName: 'AssemblyOnlinePlanRows' +} diff --git a/_Main/BL/Type_AssemblyOnlineQuantity/Attribute_CCMoMo.qbl b/_Main/BL/Type_AssemblyOnlineQuantity/Attribute_CCMoMo.qbl new file mode 100644 index 0000000..6b4893d --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlineQuantity/Attribute_CCMoMo.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCMoMo +{ + #keys: '3[413988.0.1348200056][413988.0.1348200055][413988.0.1348200057]' + ValueType: Number +} diff --git a/_Main/BL/Type_AssemblyOnlineQuantity/Attribute_DLMoMo.qbl b/_Main/BL/Type_AssemblyOnlineQuantity/Attribute_DLMoMo.qbl new file mode 100644 index 0000000..aeaad4a --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlineQuantity/Attribute_DLMoMo.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute DLMoMo +{ + #keys: '3[413988.0.1348200046][413988.0.1348200045][413988.0.1348200047]' + ValueType: Number +} diff --git a/_Main/BL/Type_AssemblyOnlineQuantity/_ROOT_Type_AssemblyOnlineQuantity.qbl b/_Main/BL/Type_AssemblyOnlineQuantity/_ROOT_Type_AssemblyOnlineQuantity.qbl new file mode 100644 index 0000000..591a2de --- /dev/null +++ b/_Main/BL/Type_AssemblyOnlineQuantity/_ROOT_Type_AssemblyOnlineQuantity.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type AssemblyOnlineQuantity +{ + #keys: '5[413988.0.1348200024][413988.0.1348200022][0.0.0][413988.0.1348200023][413988.0.1348200025]' + BaseType: Object + StructuredName: 'AssemblyOnlineQuantitys' +} diff --git a/_Main/BL/Type_OfflinePlanCell/Attribute_InventoryWeight.qbl b/_Main/BL/Type_OfflinePlanCell/Attribute_InventoryWeight.qbl new file mode 100644 index 0000000..7a751da --- /dev/null +++ b/_Main/BL/Type_OfflinePlanCell/Attribute_InventoryWeight.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute InventoryWeight +{ + #keys: '3[413988.0.1322880151][413988.0.1322880150][413988.0.1322880152]' + Description: '鍓╀綑搴撳瓨 - 鏈�灏忓簱瀛�' + ValueType: Real +} diff --git a/_Main/BL/Type_OfflinePlanCell/Attribute_ProductionSerialNumber.qbl b/_Main/BL/Type_OfflinePlanCell/Attribute_ProductionSerialNumber.qbl new file mode 100644 index 0000000..32962f1 --- /dev/null +++ b/_Main/BL/Type_OfflinePlanCell/Attribute_ProductionSerialNumber.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductionSerialNumber +{ + #keys: '3[413988.0.1322244634][413988.0.1322244633][413988.0.1322244635]' + ValueType: Number +} diff --git a/_Main/BL/Type_OfflinePlanCell/Attribute_Quantity.qbl b/_Main/BL/Type_OfflinePlanCell/Attribute_Quantity.qbl new file mode 100644 index 0000000..44711cf --- /dev/null +++ b/_Main/BL/Type_OfflinePlanCell/Attribute_Quantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[413988.0.1313380008][413988.0.1313380007][413988.0.1313380009]' + ValueType: Real +} diff --git a/_Main/BL/Type_OfflinePlanCell/Method_FindType2.qbl b/_Main/BL/Type_OfflinePlanCell/Method_FindType2.qbl new file mode 100644 index 0000000..d2192ef --- /dev/null +++ b/_Main/BL/Type_OfflinePlanCell/Method_FindType2.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#parent: #root +Method FindType ( + String type, + String pl +) as Boolean +{ + TextBody: 'return this.OfflinePlanRow().Type() = type and this.OfflinePlanRow().ProductionLine() = pl and this.Quantity() > 0.0;' +} diff --git a/_Main/BL/Type_OfflinePlanCell/StaticMethod_Download.qbl b/_Main/BL/Type_OfflinePlanCell/StaticMethod_Download.qbl new file mode 100644 index 0000000..d9685ab --- /dev/null +++ b/_Main/BL/Type_OfflinePlanCell/StaticMethod_Download.qbl @@ -0,0 +1,48 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Download ( + MacroPlan macroPlan +) as BinaryValue +{ + TextBody: + [* + xmlDOMI := XMLDOMImplementation::Create(); + xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>Sheet1</name></table>' ); + + tableElement := xmlDOM.GetElementByTagName( "table", 0 ); + + opt := maxselect( macroPlan, OfflinePlanTable, tempOPT, true, tempOPT.SaveDateTime() ); + opcs := selectsortedset( opt, OfflinePlanColumn, tempOPC, true, tempOPC.ColumnDate() ); + oprs := selectsortedset( opt, OfflinePlanRow, tempOPR, true, tempOPR.ProductionLine(), tempOPR.ProductID(), tempOPR.Type() ); + traverse ( opcs, Elements, opc ) { + column := xmlDOM.CreateElement( "column" ); + name := xmlDOM.CreateElement( "name" ); + type := xmlDOM.CreateElement( "type" ); + name.TextContent( ifexpr( opc.ColumnDate() < macroPlan.StartOfPlanning().Date(), "", opc.ColumnDate().Format( "Y/M2/D2" ) ) ); + type.TextContent( "String" ); + column.AppendChild( name ); + column.AppendChild( type ); + + traverse ( oprs, Elements, opr ) { + c := select( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow() = opr ); + cell := xmlDOM.CreateElement( "cell" ); + cell.SetAttribute( "value", guard( c.Value(), "" ) ); + column.AppendChild( cell ); + } + + tableElement.AppendChild( column ); + } + + xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ) + + //info( xmlString ); + + tableGroupHandle := TableGroupHandle::Create( "Sheet1" ); + tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); + tableGroupHandle.Add( tableHandle ); + + binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); + + return binaryData.AsBinaryValue(); + *] +} diff --git a/_Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl b/_Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl index 5e7cd09..75941d4 100644 --- a/_Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl +++ b/_Main/BL/Type_OfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl @@ -6,48 +6,51 @@ { TextBody: [* - macroPlan.OfflinePlanRow( relflush ); - macroPlan.OfflinePlanColumn( relflush ); + macroPlan.OfflinePlanTable( relflush ); + + opt := macroPlan.OfflinePlanTable( relnew, SaveDateTime := DateTime::ActualTime() ); // 鐢熸垚涓嬬嚎璁″垝琛� - traverse ( macroPlan, Unit, u, u.HasCapacityTypeTime() and u.Name() = "ZP4-M3" ) { + traverse ( macroPlan, Unit, u, u.HasCapacityTypeTime() /*and u.Name() = "Spider Assy Line 1"*/ ) { // 鍒涘缓浜х嚎琛� - macroPlan.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "", Type := "0" ); + opt.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "", Type := "0" ); traverse ( u, Operation, o ) { traverse ( o, PeriodTaskOperation.NewSupply, ns ) { // 鎵捐 - oprQuantity := OfflinePlanRow::FindOfflinePlanRowTypeIndex( u.ID(), ns.AsProductionSupply().ProductInStockingPoint_MP().ProductID(), "1" ); - oprOrder := OfflinePlanRow::FindOfflinePlanRowTypeIndex( u.ID(), ns.AsProductionSupply().ProductInStockingPoint_MP().ProductID(), "2" ); + oprQuantity := select( opt, OfflinePlanRow, tempOPR, tempOPR.ProductionLine() = u.ID() and tempOPR.ProductID() = ns.AsProductionSupply().ProductInStockingPoint_MP().ProductID() and tempOPR.Type() = "1" ); + oprOrder := select( opt, OfflinePlanRow, tempOPR, tempOPR.ProductionLine() = u.ID() and tempOPR.ProductID() = ns.AsProductionSupply().ProductInStockingPoint_MP().ProductID() and tempOPR.Type() = "2" ); if ( isnull( oprQuantity ) and isnull( oprOrder ) ) { - oprQuantity := macroPlan.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := ns.AsProductionSupply().ProductInStockingPoint_MP().ProductID(), Type := "1" ); - oprOrder := macroPlan.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := ns.AsProductionSupply().ProductInStockingPoint_MP().ProductID(), Type := "2" ); + oprQuantity := opt.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := ns.AsProductionSupply().ProductInStockingPoint_MP().ProductID(), Type := "1" ); + oprOrder := opt.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := ns.AsProductionSupply().ProductInStockingPoint_MP().ProductID(), Type := "2" ); } // 鎵惧垪 - opc := OfflinePlanColumn::FindOfflinePlanColumnTypeIndex( ns.Start().Date() ); + opc := select( opt, OfflinePlanColumn, tempOPC, tempOPC.ColumnDate() = ns.Start().Date() ); if ( isnull( opc ) ) { - opc := macroPlan.OfflinePlanColumn( relnew, ColumnDate := ns.Start().Date() ); + opc := opt.OfflinePlanColumn( relnew, ColumnDate := ns.Start().Date() ); } // 璧嬪�煎崟鍏冩牸 - cellQuantity := opc.OfflinePlanCell( relnew, Value := [String]ns.Quantity().Round( 0 ), Shift := ns.PeriodTask_MP().UnitPeriod().astype( UnitPeriodTimeBase ).ShiftPattern().Name() ); + cellQuantity := opc.OfflinePlanCell( relnew, Value := [String]ns.Quantity().Round( 0 ), Shift := ns.PeriodTask_MP().UnitPeriod().astype( UnitPeriodTimeBase ).ShiftPattern().Name(), Quantity := ns.Quantity() ); cellQuantity.OfflinePlanRow( relset, oprQuantity ); - cellOrder := opc.OfflinePlanCell( relnew, Value := "鍗曞彿" ); + cellOrder := opc.OfflinePlanCell( relnew, Value := "鍗曞彿" + [String]ns.Quantity().Round( 0 ) + "_" + [String]( ns.ProductInStockingPointInPeriodPlanningLeaf().InventoryLevelEnd() - ns.ProductInStockingPointInPeriodPlanningLeaf().MinInventoryLevel() ), + Quantity := ns.Quantity(), + InventoryWeight := ns.ProductInStockingPointInPeriodPlanningLeaf().InventoryLevelEnd() - ns.ProductInStockingPointInPeriodPlanningLeaf().MinInventoryLevel() ); cellOrder.OfflinePlanRow( relset, oprOrder ); } } // 鍒涘缓鎬婚噺琛� - macroPlan.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "Z", Type := "3" ); + opt.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "Z", Type := "3" ); // 鍒涘缓鐝琛� - macroPlan.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "Z", Type := "4" ); + opt.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "Z", Type := "4" ); } // 鍒涘缓浜у搧鍒�&绫诲瀷鍒� - productOPC := macroPlan.OfflinePlanColumn( relnew, ColumnDate := macroPlan.StartOfPlanning().Date() - 2 ); - typeOPC := macroPlan.OfflinePlanColumn( relnew, ColumnDate := macroPlan.StartOfPlanning().Date() - 1 ); - traverse ( macroPlan, OfflinePlanRow, opr ) { + productOPC := opt.OfflinePlanColumn( relnew, ColumnDate := macroPlan.StartOfPlanning().Date() - 2 ); + typeOPC := opt.OfflinePlanColumn( relnew, ColumnDate := macroPlan.StartOfPlanning().Date() - 1 ); + traverse ( opt, OfflinePlanRow, opr ) { if ( opr.Type() = "0" ) { productLineCell := productOPC.OfflinePlanCell( relnew, Value := opr.ProductionLine() ); productLineCell.OfflinePlanRow( relset, opr ); @@ -71,9 +74,9 @@ } // 琛ュ叏鎬婚噺鍜岀彮娆� - totalOPRs := selectset( macroPlan, OfflinePlanRow, tempOPR, tempOPR.Type() = "3" ); - shiftOPRs := selectset( macroPlan, OfflinePlanRow, tempOPR, tempOPR.Type() = "4" ); - traverse ( macroPlan, OfflinePlanColumn, opc, opc.OfflinePlanCell( relsize ) > 0 and opc.ColumnDate() >= macroPlan.StartOfPlanning().Date() ) { + totalOPRs := selectset( opt, OfflinePlanRow, tempOPR, tempOPR.Type() = "3" ); + shiftOPRs := selectset( opt, OfflinePlanRow, tempOPR, tempOPR.Type() = "4" ); + traverse ( opt, OfflinePlanColumn, opc, opc.OfflinePlanCell( relsize ) > 0 and opc.ColumnDate() >= macroPlan.StartOfPlanning().Date() ) { traverse ( totalOPRs, Elements, totalOPR ) { total := sum( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().ProductionLine() = totalOPR.ProductionLine() and tempOPC.OfflinePlanRow().Type() = "1", [Real]tempOPC.Value() ); totalCell := opc.OfflinePlanCell( relnew, Value := [String]total ); @@ -93,11 +96,67 @@ indexDate := macroPlan.StartOfPlanning().Date(); endDate := Date::Construct( indexDate.Year(), 12, 31 ); while ( indexDate <= endDate ) { - opc := OfflinePlanColumn::FindOfflinePlanColumnTypeIndex( indexDate ); + opc := select( opt, OfflinePlanColumn, tempOPC, tempOPC.ColumnDate() = indexDate ); if ( isnull( opc ) ) { - opc := macroPlan.OfflinePlanColumn( relnew, ColumnDate := indexDate ); + opc := opt.OfflinePlanColumn( relnew, ColumnDate := indexDate ); } indexDate := indexDate + 1; } + + Transaction::Transaction().PropagateAll(); + + // 璁剧疆鐢熶骇椤哄簭 + productionLines := selectuniquevalues( opt, OfflinePlanRow, tempOPR, true, tempOPR.ProductionLine() ); + traverse ( productionLines, Elements, pl ) { + indexColumn := select( opt, OfflinePlanColumn, tempOPC, tempOPC.ColumnDate() = macroPlan.StartOfPlanning().Date() ); + previousColumn := indexColumn.PreviousColumn(); + nextColumn := indexColumn.NextColumn(); + + while ( not isnull( indexColumn.NextColumn() ) ) { + productionSerialNumber := 1; + opcs := selectsortedset( indexColumn, OfflinePlanCell, tempOPC, tempOPC.FindType( "2", pl ), tempOPC.InventoryWeight() ); + if ( opcs.Size() > 0 ) { + // 鍒ゅ畾1 + previousOPC := maxselect( previousColumn, OfflinePlanCell, tempOPC, tempOPC.FindType( "2", pl ), tempOPC.ProductionSerialNumber() ); + if ( isnull( previousOPC ) or indexColumn.ColumnDate() = macroPlan.StartOfPlanning().Date() ) { + opc := opcs.Element( 0 ); + opc.Value( "#" + productionSerialNumber.Format( "N(LPad0(2))" ) ); + opc.ProductionSerialNumber( productionSerialNumber ); + productionSerialNumber++; + opcs.Remove( opc ); + } else { + opc := select( opcs, Elements, tempOPC, tempOPC.OfflinePlanRow().ProductID() = previousOPC.OfflinePlanRow().ProductID() ); + if ( not isnull( opc ) ) { + opc.Value( "#" + productionSerialNumber.Format( "N(LPad0(2))" ) ); + opc.ProductionSerialNumber( productionSerialNumber ); + productionSerialNumber++; + opcs.Remove( opc ); + } + } + + // 鍒ゅ畾2 + nextOPCs := selectset( opcs, Elements, tempOPC, + exists( nextColumn, OfflinePlanCell, nextOPC, nextOPC.FindType( "2", pl ) and nextOPC.OfflinePlanRow().ProductID() = tempOPC.OfflinePlanRow().ProductID() ) ); + if ( nextOPCs.Size() = 1 ) { + opc := nextOPCs.Element( 0 ); + opc.Value( "#" + opcs.Size().Format( "N(LPad0(2))" ) ); + opc.ProductionSerialNumber( opcs.Size() ); + opcs.Remove( opc ); + } + + // 鍒ゅ畾3 + traverse ( opcs, Elements, opc ) { + opc.Value( "#" + productionSerialNumber.Format( "N(LPad0(2))" ) ); + opc.ProductionSerialNumber( productionSerialNumber ); + productionSerialNumber++; + opcs.Remove( opc ); + } + } + + indexColumn := indexColumn.NextColumn(); + previousColumn := indexColumn.PreviousColumn(); + nextColumn := indexColumn.NextColumn(); + } + } *] } diff --git a/_Main/BL/Type_OfflinePlanCell/StaticMethod_SaveAsDraft.qbl b/_Main/BL/Type_OfflinePlanCell/StaticMethod_SaveAsDraft.qbl new file mode 100644 index 0000000..6ca5594 --- /dev/null +++ b/_Main/BL/Type_OfflinePlanCell/StaticMethod_SaveAsDraft.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod SaveAsDraft ( + MacroPlan macroPlan, + OfflinePlanTable opt +) as OfflinePlanTable +{ + TextBody: + [* + newTable := opt.DeepCopy().astype( OfflinePlanTable ); + newOPT := macroPlan.OfflinePlanTable( relinsert, &newTable ); + newOPT.SaveDateTime( DateTime::ActualTime() ); + + return newOPT; + *] +} diff --git a/_Main/BL/Type_OfflinePlanColumn/Attribute_ColumnDate.qbl b/_Main/BL/Type_OfflinePlanColumn/Attribute_ColumnDate.qbl index 620f728..506fc85 100644 --- a/_Main/BL/Type_OfflinePlanColumn/Attribute_ColumnDate.qbl +++ b/_Main/BL/Type_OfflinePlanColumn/Attribute_ColumnDate.qbl @@ -3,6 +3,5 @@ Attribute ColumnDate { #keys: '3[413988.0.1295080211][413988.0.1295080210][413988.0.1295080212]' - IsReadOnly: true ValueType: Date } diff --git a/_Main/BL/Type_OfflinePlanColumn/Function_CalcColumnName.qbl b/_Main/BL/Type_OfflinePlanColumn/Function_CalcColumnName.qbl index 5063e35..075e8f9 100644 --- a/_Main/BL/Type_OfflinePlanColumn/Function_CalcColumnName.qbl +++ b/_Main/BL/Type_OfflinePlanColumn/Function_CalcColumnName.qbl @@ -6,7 +6,7 @@ [* // lihongji Jun-27-2024 (created) - value := ifexpr( this.ColumnDate() < this.MacroPlan().StartOfPlanning().Date(), "", this.ColumnDate().Format( "Y/M2/D2" ) ); + value := ifexpr( this.ColumnDate() < this.OfflinePlanTable().MacroPlan().StartOfPlanning().Date(), "", this.ColumnDate().Format( "Y/M2/D2" ) ); this.ColumnName( value ); *] diff --git a/_Main/BL/Type_OfflinePlanColumn/TypeIndex_OfflinePlanColumnTypeIndex.qbl b/_Main/BL/Type_OfflinePlanColumn/TypeIndex_OfflinePlanColumnTypeIndex.qbl deleted file mode 100644 index 15f5410..0000000 --- a/_Main/BL/Type_OfflinePlanColumn/TypeIndex_OfflinePlanColumnTypeIndex.qbl +++ /dev/null @@ -1,12 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -TypeIndex OfflinePlanColumnTypeIndex -{ - Attributes: - [ - TypeIndexAttribute - { - ModelElement: ColumnDate - } - ] -} diff --git a/_Main/BL/Type_OfflinePlanRow/Attribute_ProductID.qbl b/_Main/BL/Type_OfflinePlanRow/Attribute_ProductID.qbl index 0bd3a84..a10bf69 100644 --- a/_Main/BL/Type_OfflinePlanRow/Attribute_ProductID.qbl +++ b/_Main/BL/Type_OfflinePlanRow/Attribute_ProductID.qbl @@ -3,6 +3,5 @@ Attribute ProductID { #keys: '3[413988.0.1296697032][413988.0.1296697031][413988.0.1296697033]' - IsReadOnly: true ValueType: String } diff --git a/_Main/BL/Type_OfflinePlanRow/Attribute_ProductionLine.qbl b/_Main/BL/Type_OfflinePlanRow/Attribute_ProductionLine.qbl index 2393a64..8033bb8 100644 --- a/_Main/BL/Type_OfflinePlanRow/Attribute_ProductionLine.qbl +++ b/_Main/BL/Type_OfflinePlanRow/Attribute_ProductionLine.qbl @@ -3,6 +3,5 @@ Attribute ProductionLine { #keys: '3[413988.0.1296697022][413988.0.1296697021][413988.0.1296697023]' - IsReadOnly: true ValueType: String } diff --git a/_Main/BL/Type_OfflinePlanRow/Attribute_Type.qbl b/_Main/BL/Type_OfflinePlanRow/Attribute_Type.qbl index 4905125..491fe54 100644 --- a/_Main/BL/Type_OfflinePlanRow/Attribute_Type.qbl +++ b/_Main/BL/Type_OfflinePlanRow/Attribute_Type.qbl @@ -11,6 +11,5 @@ 鍚堣琛� 锛�3 鐝琛� 锛�4 *] - IsReadOnly: true ValueType: String } diff --git a/_Main/BL/Type_OfflinePlanRow/TypeIndex_OfflinePlanRowTypeIndex.qbl b/_Main/BL/Type_OfflinePlanRow/TypeIndex_OfflinePlanRowTypeIndex.qbl deleted file mode 100644 index 9850e05..0000000 --- a/_Main/BL/Type_OfflinePlanRow/TypeIndex_OfflinePlanRowTypeIndex.qbl +++ /dev/null @@ -1,20 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -TypeIndex OfflinePlanRowTypeIndex -{ - Attributes: - [ - TypeIndexAttribute - { - ModelElement: ProductionLine - } - TypeIndexAttribute - { - ModelElement: ProductID - } - TypeIndexAttribute - { - ModelElement: Type - } - ] -} diff --git a/_Main/BL/Type_OfflinePlanTable/Attribute_SaveDateTime.qbl b/_Main/BL/Type_OfflinePlanTable/Attribute_SaveDateTime.qbl new file mode 100644 index 0000000..19036eb --- /dev/null +++ b/_Main/BL/Type_OfflinePlanTable/Attribute_SaveDateTime.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SaveDateTime +{ + #keys: '3[413988.0.1337732856][413988.0.1337732855][413988.0.1337732857]' + ValueType: DateTime +} diff --git a/_Main/BL/Type_OfflinePlanTable/_ROOT_Type_OfflinePlanTable.qbl b/_Main/BL/Type_OfflinePlanTable/_ROOT_Type_OfflinePlanTable.qbl new file mode 100644 index 0000000..808173a --- /dev/null +++ b/_Main/BL/Type_OfflinePlanTable/_ROOT_Type_OfflinePlanTable.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type OfflinePlanTable +{ + #keys: '5[413988.0.1337732852][413988.0.1337732850][0.0.0][413988.0.1337732851][413988.0.1337732853]' + BaseType: Object + StructuredName: 'OfflinePlanTables' +} diff --git a/_Main/BL/Type_TransferPlanCell/StaticMethod_Download.qbl b/_Main/BL/Type_TransferPlanCell/StaticMethod_Download.qbl new file mode 100644 index 0000000..c870139 --- /dev/null +++ b/_Main/BL/Type_TransferPlanCell/StaticMethod_Download.qbl @@ -0,0 +1,61 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Download ( + MacroPlan macroPlan +) as BinaryValue +{ + TextBody: + [* + xmlDOMI := XMLDOMImplementation::Create(); + xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>Sheet1</name></table>' ); + + tableElement := xmlDOM.GetElementByTagName( "table", 0 ); + + // 绗竴鍒楋紙鍚嶇О锛� + tprs := selectsortedset( macroPlan, TransferPlanRow, tempTPR, true, tempTPR.SourceStockpoingPointID(), tempTPR.TargetStockpoingPointID(), tempTPR.ProductID() ); + firstColumn := xmlDOM.CreateElement( "column" ); + firstName := xmlDOM.CreateElement( "name" ); + firstType := xmlDOM.CreateElement( "type" ); + firstName.TextContent( "" ); + firstType.TextContent( "String" ); + firstColumn.AppendChild( firstName ); + firstColumn.AppendChild( firstType ); + traverse ( tprs, Elements, tpr ) { + firstCell := xmlDOM.CreateElement( "cell" ); + firstCell.SetAttribute( "value", tpr.Name() ); + firstColumn.AppendChild( firstCell ); + } + tableElement.AppendChild( firstColumn ); + + tpcs := selectsortedset( macroPlan, TransferPlanColumn, tempTPC, true, tempTPC.ColumnDate() ); + traverse ( tpcs, Elements, tpc ) { + column := xmlDOM.CreateElement( "column" ); + name := xmlDOM.CreateElement( "name" ); + type := xmlDOM.CreateElement( "type" ); + name.TextContent( tpc.ColumnName() ); + type.TextContent( /*ifexpr( tpc.ColumnDate().IsMinInfinity(), "String", "Number" )*/ "String" ); + column.AppendChild( name ); + column.AppendChild( type ); + + traverse ( tprs, Elements, tpr ) { + c := select( tpc, TransferPlanCell, tempTPC, tempTPC.TransferPlanRow() = tpr ); + cell := xmlDOM.CreateElement( "cell" ); + cell.SetAttribute( "value", guard( c.Value(), "" ) ); + column.AppendChild( cell ); + } + tableElement.AppendChild( column ); + } + + xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ) + + //info( xmlString ); + + tableGroupHandle := TableGroupHandle::Create( "Sheet1" ); + tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); + tableGroupHandle.Add( tableHandle ); + + binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); + + return binaryData.AsBinaryValue(); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def index 0eca66a..db2e7a4 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: 2 + Taborder: 3 ] } Component bOfflinePlan @@ -36,6 +36,18 @@ Taborder: 1 ] } + Component bAssemblyOnlinePlan + { + #keys: '[413988.0.1351375850]' + BaseType: 'WebButton' + Properties: + [ + Description: 'AssemblyOnlinePlan' + Image: 'PALM_TREE' + Label: 'Assembly online plan' + Taborder: 2 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bAssemblyOnlinePlan_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bAssemblyOnlinePlan_OnClick.def new file mode 100644 index 0000000..22f9fef --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bAssemblyOnlinePlan_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: abgSecondDevelopmentPlan/bAssemblyOnlinePlan +Response OnClick () id:Response_MacroPlanner_abgSecondDevelopmentPlan_bAssemblyOnlinePlan_OnClick +{ + #keys: '[413988.0.1351376064]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + ApplicationScope.ViewManager().ResetUserViewById( "AssemblyOnlinePlan", true); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Component_pnlActions.def new file mode 100644 index 0000000..06c800f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Component_pnlActions.def @@ -0,0 +1,40 @@ +Quintiq file version 2.0 +Component pnlActions +{ + #keys: '[413988.0.1353873495]' + BaseType: 'WebPanel' + Children: + [ + Component btnOk + { + #keys: '[413988.0.1353873499]' + BaseType: 'WebButton' + Properties: + [ + Label: 'OK' + Taborder: 0 + ] + } + Component btnCancel + { + #keys: '[413988.0.1353873501]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Cancel' + Taborder: 1 + ] + } + ] + Properties: + [ + Alignment: 'trailing' + Border: true + ExcludeFromActiveComponent: true + FixedSize: true + Orientation: 'horizontal' + Padding: 'true' + Style: 'footer' + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Component_pnlContent.def new file mode 100644 index 0000000..84293b3 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Component_pnlContent.def @@ -0,0 +1,36 @@ +Quintiq file version 2.0 +Component pnlContent +{ + #keys: '[413988.0.1353873493]' + BaseType: 'WebPanel' + Children: + [ + Component npDL + { + #keys: '[413988.0.1352730618]' + BaseType: 'WebNumberPicker' + Properties: + [ + DataBinding: 'MacroPlan.AssemblyOnlineQuantity.DLMoMo' + Label: 'DL-MoMo (pcs)' + Taborder: 0 + ] + } + Component npCC + { + #keys: '[413988.0.1353963744]' + BaseType: 'WebNumberPicker' + Properties: + [ + DataBinding: 'MacroPlan.AssemblyOnlineQuantity.CCMoMo' + Label: 'CC-MoMo (pcs)' + Taborder: 1 + ] + } + ] + Properties: + [ + Padding: 'true' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Response_pnlActions_btnCancel_OnClick.def new file mode 100644 index 0000000..ed92cc0 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Response_pnlActions_btnCancel_OnClick.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnCancel +Response OnClick () id:Response_pnlActions_btnCancel_OnClick +{ + #keys: '[413988.0.1353873505]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Response_pnlActions_btnOk_OnClick.def new file mode 100644 index 0000000..bceac07 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/Response_pnlActions_btnOk_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnOk +Response OnClick () id:Response_pnlActions_btnOk_OnClick +{ + #keys: '[413988.0.1353873504]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.ApplyChanges(); + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/_ROOT_Component_DialogAssemblyOnlineQuantity.def b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/_ROOT_Component_DialogAssemblyOnlineQuantity.def new file mode 100644 index 0000000..0ebf0d4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlineQuantity/_ROOT_Component_DialogAssemblyOnlineQuantity.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent DialogAssemblyOnlineQuantity +{ + #keys: '[413988.0.1353873491]' + BaseType: 'WebForm' + Children: + [ + #child: pnlContent + #child: pnlActions + ] + Properties: + [ + Alignment: 'trailing' + EnterButton: 'btnOk' + EscapeButton: 'btnCancel' + ExcludeFromActiveComponent: true + Padding: 'false' + Title: 'Assembly Online Quantity' + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_MatrixEditor951\043480.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_MatrixEditor951\043480.def" new file mode 100644 index 0000000..60dcc04 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_MatrixEditor951\043480.def" @@ -0,0 +1,97 @@ +Quintiq file version 2.0 +Component MatrixEditor951 id:MatrixEditor951_480 +{ + #keys: '[413988.0.1351212727]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCell491 + { + #keys: '[413988.0.1351212728]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractor548 + { + #keys: '[413988.0.1351212729]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'AssemblyOnlinePlanColumn.AssemblyOnlinePlanCell' + ] + } + ] + Properties: + [ + Attributes: 'Value' + Column: 'AssemblyOnlinePlanColumn' + Row: 'AssemblyOnlinePlanRow' + Taborder: 0 + ] + } + Component MatrixEditorRows271 + { + #keys: '[413988.0.1351212730]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor869 + { + #keys: '[413988.0.1351212731]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'AssemblyOnlinePlanRow' + ] + } + ] + Properties: + [ + Legend: 'RowNr' + SortCriteria: 'ProductionLine;ProductID;Type' + Taborder: 1 + ] + } + Component MatrixEditorColumns844 + { + #keys: '[413988.0.1351212732]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor259 + { + #keys: '[413988.0.1351212733]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'AssemblyOnlinePlanColumn' + ] + } + ] + Properties: + [ + Legend: 'ColumnName' + SortCriteria: 'ColumnDate' + Taborder: 2 + ] + } + #child: matrixEditorActionBarPage250_1 + #child: matrixeditorContextMenu204_1 + ] + Properties: + [ + Columns: 'MatrixEditorColumns844' + ContextMenu: 'matrixeditorContextMenu204' + Rows: 'MatrixEditorRows271' + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_matrixEditorActionBarPage250\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_matrixEditorActionBarPage250\0431.def" new file mode 100644 index 0000000..85a4ce3 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_matrixEditorActionBarPage250\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPage250 id:matrixEditorActionBarPage250_1 +{ + #keys: '[413988.0.1351212734]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 3 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_matrixeditorContextMenu204\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_matrixeditorContextMenu204\0431.def" new file mode 100644 index 0000000..4f9427a --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_matrixeditorContextMenu204\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenu204 id:matrixeditorContextMenu204_1 +{ + #keys: '[413988.0.1351212735]' + BaseType: 'matrixeditorContextMenu' + Properties: + [ + Taborder: 4 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_pContent.def new file mode 100644 index 0000000..40be45a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_pContent.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component pContent +{ + #keys: '[413988.0.1351212599]' + BaseType: 'WebPanel' + Children: + [ + #child: MatrixEditor951_480 + ] + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_pHeader.def new file mode 100644 index 0000000..68b8f49 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Component_pHeader.def @@ -0,0 +1,46 @@ +Quintiq file version 2.0 +Component pHeader +{ + #keys: '[413988.0.1351212581]' + BaseType: 'WebPanel' + Children: + [ + Component bDownload + { + #keys: '[413988.0.1351212648]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Download' + Taborder: 1 + ] + } + Component bOnlineQuantity + { + #keys: '[413988.0.1351212668]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Online quantity' + Taborder: 2 + ] + } + Component bRefresh id:bRefresh_187 + { + #keys: '[413988.0.1351403370]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Refresh' + Taborder: 0 + ] + } + ] + Properties: + [ + Border: true + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Response_pHeader_bDownload_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Response_pHeader_bDownload_OnClick.def new file mode 100644 index 0000000..182017c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Response_pHeader_bDownload_OnClick.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: pHeader/bDownload +Response OnClick () id:Response_pHeader_bDownload_OnClick +{ + #keys: '[413988.0.1351313883]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + binaryValue := AssemblyOnlinePlanCell::Download( MacroPlan ); + + Application.Download( "Assembly online plan.xlsx", binaryValue.AsBinaryData() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Response_pHeader_bOnlineQuantity_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Response_pHeader_bOnlineQuantity_OnClick.def new file mode 100644 index 0000000..a69b457 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Response_pHeader_bOnlineQuantity_OnClick.def @@ -0,0 +1,27 @@ +Quintiq file version 2.0 +#parent: pHeader/bOnlineQuantity +Response OnClick () id:Response_pHeader_bOnlineQuantity_OnClick +{ + #keys: '[413988.0.1352760396]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + aoq := MacroPlan.AssemblyOnlineQuantity(); + if ( isnull( aoq ) ) { + MacroPlan.AssemblyOnlineQuantity( relnew ); + } + + dlg := construct( DialogAssemblyOnlineQuantity ); + + ApplicationMacroPlanner.ShowFormModal( dlg ); + *] + GroupServerCalls: false + } +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Response_pHeader_bRefresh_OnClick\043774.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Response_pHeader_bRefresh_OnClick\043774.def" new file mode 100644 index 0000000..7dc7da8 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/Response_pHeader_bRefresh_OnClick\043774.def" @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +#parent: pHeader/bRefresh_187 +Response OnClick () id:Response_pHeader_bRefresh_OnClick_774 +{ + #keys: '[413988.0.1351403369]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + opt := maxselect( MacroPlan, OfflinePlanTable, tempOPT, true, tempOPT.SaveDateTime() ); + + AssemblyOnlinePlanCell::RefreshData( MacroPlan, opt ); + + WebMessageBox::Success( Translations::A_VWED_Success() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/_ROOT_Component_FormAssemblyOnlinePlan.def b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/_ROOT_Component_FormAssemblyOnlinePlan.def new file mode 100644 index 0000000..0ab03c8 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlan/_ROOT_Component_FormAssemblyOnlinePlan.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormAssemblyOnlinePlan +{ + #keys: '[413988.0.1351212562]' + BaseType: 'WebForm' + Children: + [ + #child: pHeader + #child: pContent + ] + Properties: + [ + Title: 'Assembly online plan' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_MatrixEditor951.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_MatrixEditor951.def index b27dd5e..c0791c3 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_MatrixEditor951.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_MatrixEditor951.def @@ -17,8 +17,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'MacroPlan' - Source: 'MacroPlan' + DataType: 'OfflinePlanTable' + Source: 'dhOfflinePlanTable' Taborder: 0 Transformation: 'OfflinePlanColumn.OfflinePlanCell' ] @@ -44,8 +44,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'MacroPlan' - Source: 'MacroPlan' + DataType: 'OfflinePlanTable' + Source: 'dhOfflinePlanTable' Taborder: 0 Transformation: 'OfflinePlanRow' ] @@ -70,8 +70,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'MacroPlan' - Source: 'MacroPlan' + DataType: 'OfflinePlanTable' + Source: 'dhOfflinePlanTable' Taborder: 0 Transformation: 'OfflinePlanColumn' ] diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pContent\043611.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pContent\043611.def" index 540aa26..a78013e 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pContent\043611.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pContent\043611.def" @@ -6,6 +6,16 @@ Children: [ #child: MatrixEditor951 + Component dhOfflinePlanTable + { + #keys: '[413988.0.1334780926]' + BaseType: 'WebDataHolder' + Databinding: 'OfflinePlanTable' + Properties: + [ + Taborder: 1 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pContent_dhOfflinePlanTable_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pContent_dhOfflinePlanTable_OnCreated.def new file mode 100644 index 0000000..910175d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pContent_dhOfflinePlanTable_OnCreated.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: pContent/dhOfflinePlanTable +Response OnCreated () id:Response_pContent_dhOfflinePlanTable_OnCreated +{ + #keys: '[413988.0.1334780966]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + opt := maxselect( MacroPlan, OfflinePlanTable, tempOPT, true, tempOPT.SaveDateTime() ); + + this.Data( opt ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bDownload_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bDownload_OnClick.def index 3df7e29..7e12122 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bDownload_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bDownload_OnClick.def @@ -5,8 +5,18 @@ #keys: '[413988.0.1297973899]' CanBindMultiple: false DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] QuillAction { + Body: + [* + binaryValue := OfflinePlanCell::Download( MacroPlan ); + + Application.Download( "Offline plan.xlsx", binaryValue.AsBinaryData() ); + *] GroupServerCalls: false } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bRefresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bRefresh_OnClick.def index 98e2fa5..94d48f9 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bRefresh_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bRefresh_OnClick.def @@ -14,6 +14,11 @@ Body: [* OfflinePlanCell::RefreshOfflinePlan( MacroPlan ); + + opt := maxselect( MacroPlan, OfflinePlanTable, tempOPT, true, tempOPT.SaveDateTime() ); + dhOfflinePlanTable.Data( opt ); + + WebMessageBox::Success( Translations::A_VWED_Success() ); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bRestore_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bRestore_OnClick.def index 2fcf6dc..14e4993 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bRestore_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bRestore_OnClick.def @@ -5,8 +5,23 @@ #keys: '[413988.0.1297974069]' CanBindMultiple: false DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] QuillAction { + Body: + [* + currentOPT := dhOfflinePlanTable.Data(); + targetOPT := maxselect( MacroPlan, OfflinePlanTable, tempOPT, tempOPT <> currentOPT, tempOPT.SaveDateTime() ); + if ( not isnull( targetOPT ) ) { + currentOPT.Delete(); + dhOfflinePlanTable.Data( targetOPT ); + } + + WebMessageBox::Success( Translations::A_VWED_Success() ); + *] GroupServerCalls: false } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bSaveAsDraft_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bSaveAsDraft_OnClick.def index 6b50c94..e94ded1 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bSaveAsDraft_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bSaveAsDraft_OnClick.def @@ -5,8 +5,19 @@ #keys: '[413988.0.1297974155]' CanBindMultiple: false DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] QuillAction { + Body: + [* + opt := OfflinePlanCell::SaveAsDraft( MacroPlan, dhOfflinePlanTable.Data() ); + dhOfflinePlanTable.Data( opt ); + + WebMessageBox::Success( Translations::A_VWED_Success() ); + *] GroupServerCalls: false } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bDownload_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bDownload_OnClick.def index 17323ed..3895e17 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bDownload_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bDownload_OnClick.def @@ -5,8 +5,18 @@ #keys: '[413988.0.1292330526]' CanBindMultiple: false DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] QuillAction { + Body: + [* + binaryValue := TransferPlanCell::Download( MacroPlan ); + + Application.Download( "Transfer plan.xlsx", binaryValue.AsBinaryData() ); + *] GroupServerCalls: false } } diff --git a/_Main/UI/MacroPlannerWebApp/Views/AssemblyOnlinePlan.vw b/_Main/UI/MacroPlannerWebApp/Views/AssemblyOnlinePlan.vw new file mode 100644 index 0000000..949db5a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/AssemblyOnlinePlan.vw @@ -0,0 +1,134 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormAssemblyOnlinePlan + { + title: 'QMacroPlanner::FormAssemblyOnlinePlan' + shown: true + componentID: 'QMacroPlanner::FormAssemblyOnlinePlan' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 14 + columnPosition: 1 + columnSpan: 12 + } + components + { + FormAssemblyOnlinePlan_pHeader + { + sizeRatio: 1 + } + FormAssemblyOnlinePlan_pContent + { + sizeRatio: 1 + } + FormAssemblyOnlinePlan_MatrixEditor951 + { + gridColor: '#c4c4c4' + totalHeaderWidth: 28 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 173 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QMacroPlanner::FormAssemblyOnlinePlan.MatrixEditor951' + state + { + cells + { + attributes + { + attribute_Value + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'Value' + } + } + } + columns + { + sorting + { + criteria: "datamember:'ColumnDate'" + } + } + rows + { + sorting + { + criteria: "datamember:'ProductionLine';datamember:'ProductID';datamember:'Type'" + } + } + } + } + } + } + } + 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: 'HANDHELD_DEVICE' + description: '' + } + formatversion: 2 + id: 'AssemblyOnlinePlan' + name: 'AssemblyOnlinePlan' + isglobal: false + isroot: true +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/OfflinePlan.vw b/_Main/UI/MacroPlannerWebApp/Views/OfflinePlan.vw index 7bce92d..14d976f 100644 --- a/_Main/UI/MacroPlannerWebApp/Views/OfflinePlan.vw +++ b/_Main/UI/MacroPlannerWebApp/Views/OfflinePlan.vw @@ -33,7 +33,7 @@ totalHeaderWidth: 36 attributeHeaderWidthRatio: 0.6 nameHeaderWidthRatio: 0.4 - columnWidth: 100 + columnWidth: 177 horizontalGrid: true verticalGrid: true backendState diff --git "a/_var/_Main/ProjSettings/EditorTC/Views/\350\275\246\351\201\223\346\225\264\347\217\255\345\210\206\346\236\220_\133413988.0.1301140601\135.vw" "b/_var/_Main/ProjSettings/EditorTC/Views/\350\275\246\351\201\223\346\225\264\347\217\255\345\210\206\346\236\220_\133413988.0.1301140601\135.vw" index f976497..7f49c04 100644 --- "a/_var/_Main/ProjSettings/EditorTC/Views/\350\275\246\351\201\223\346\225\264\347\217\255\345\210\206\346\236\220_\133413988.0.1301140601\135.vw" +++ "b/_var/_Main/ProjSettings/EditorTC/Views/\350\275\246\351\201\223\346\225\264\347\217\255\345\210\206\346\236\220_\133413988.0.1301140601\135.vw" @@ -17,7 +17,7 @@ CREATIONUSER 'quintiq/lihongji' UPDATEDATETIME '2024-06-28T13:59:54' UPDATEUSER 'quintiq/lihongji' - LASTACCESSDATE '2024-06-28' + LASTACCESSDATE '2024-07-09' VIEWSCOPE 0 } AUTHORIZATIONS @@ -43,13 +43,13 @@ INFOOBJECT { KEY [892.10.659695] - OBJECTTYPE Application // appEditor + OBJECTTYPE Application INFOOBJECTS { INFOOBJECT { KEY [892.10.659696] - OBJECTTYPE Frame // Frame + OBJECTTYPE Frame CONTENTS { State := maximized @@ -61,7 +61,7 @@ INFOOBJECT { KEY [103784.990.795900613] - OBJECTTYPE ValueHolder // vhSearchHistory + OBJECTTYPE ValueHolder CONTENTS { Value '' @@ -70,7 +70,7 @@ INFOOBJECT { KEY [10786.1.820220316] - OBJECTTYPE ValueHolder // vhLoadingErrCount + OBJECTTYPE ValueHolder CONTENTS { Value '0' @@ -79,7 +79,7 @@ INFOOBJECT { KEY [10786.1.820229990] - OBJECTTYPE ValueHolder // vhLoadReason + OBJECTTYPE ValueHolder CONTENTS { Value 'Startup' @@ -88,7 +88,7 @@ INFOOBJECT { KEY [10786.1.821405088] - OBJECTTYPE ValueHolder // vhWriteErrorCount + OBJECTTYPE ValueHolder CONTENTS { Value '0' @@ -97,13 +97,10 @@ INFOOBJECT { KEY [10786.2.342765638] - OBJECTTYPE ValueHolder // vhGlobals + OBJECTTYPE ValueHolder CONTENTS { Value '' - } - BASEINFOOBJECTS - { } } INFOOBJECT @@ -112,7 +109,7 @@ SINGLEINSTANCE false ID 'Type Details' PARENTKEY [892.10.659696] - OBJECTTYPE Form // frmObjectDefinitionBrowser + OBJECTTYPE Form CREATETYPE frmObjectDefinitionBrowser CONTENTS { @@ -120,15 +117,12 @@ (485,0,400,912) DockableLocation := Station[MAIN]State[NORM]TreePath[L0.2;B0.5727;]TabIdx[0]Selection[FRONT] } - BASEINFOOBJECTS - { - } INFOOBJECTS { INFOOBJECT { KEY [121142.0.500922030] - OBJECTTYPE GUIDataSetLevel // dslTypes + OBJECTTYPE GUIDataSetLevel CONTENTS { Columns @@ -170,7 +164,7 @@ INFOOBJECT { KEY [121142.0.500923128] - OBJECTTYPE List // lstObjectDefinitionBrowser + OBJECTTYPE List CONTENTS { Quantorrow := false @@ -180,7 +174,7 @@ INFOOBJECT { KEY [121142.0.500923177] - OBJECTTYPE GUIDataSetLevel // dslElements + OBJECTTYPE GUIDataSetLevel CONTENTS { Columns @@ -224,7 +218,7 @@ INFOOBJECT { KEY [121142.0.500923178] - OBJECTTYPE GUIDataSetLevel // dslOverrides + OBJECTTYPE GUIDataSetLevel CONTENTS { Columns @@ -261,7 +255,7 @@ SINGLEINSTANCE false ID 'Types per Module' PARENTKEY [892.10.659696] - OBJECTTYPE Form // frmTypesByModule + OBJECTTYPE Form CREATETYPE frmTypesByModule CONTENTS { @@ -274,7 +268,7 @@ BASEINFOOBJECT { KEY [136402.0.98084624] - OBJECTTYPE GUIComponent // frmTypesByModule + OBJECTTYPE GUIComponent COMPONENTDATA { [136402.0.98084624]:[103784.990.728734692]:[892.10.659816]:[514.0.129466]:[892.10.659835] STR 'true' @@ -286,7 +280,7 @@ INFOOBJECT { KEY [121142.0.1211769996] - OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel776 + OBJECTTYPE GUIDataSetLevel CONTENTS { Columns @@ -315,7 +309,7 @@ INFOOBJECT { KEY [103784.990.728734692] - OBJECTTYPE List // ListTypes + OBJECTTYPE List CONTENTS { Quantorrow := false @@ -325,7 +319,7 @@ INFOOBJECT { KEY [101180.2.890701323] - OBJECTTYPE ValueHolder // ValueHolder + OBJECTTYPE ValueHolder CONTENTS { Value 'false' @@ -334,7 +328,7 @@ INFOOBJECT { KEY [10786.2.342808981] - OBJECTTYPE ValueHolder // vhGlobals + OBJECTTYPE ValueHolder CONTENTS { Value '' @@ -343,7 +337,7 @@ INFOOBJECT { KEY [892.10.659838] - OBJECTTYPE GUIDataSetLevel // dslTypes + OBJECTTYPE GUIDataSetLevel CONTENTS { Columns @@ -377,7 +371,7 @@ INFOOBJECT { KEY [136402.0.98091406] - OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelTypes + OBJECTTYPE GUIDataSetLevel CONTENTS { Columns @@ -410,7 +404,7 @@ INFOOBJECT { KEY [135566.0.318964952] - OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSpecializations + OBJECTTYPE GUIDataSetLevel CONTENTS { Columns @@ -451,7 +445,7 @@ SINGLEINSTANCE false ID 'Model Overview' PARENTKEY [892.10.659696] - OBJECTTYPE Form // frmModelOverview + OBJECTTYPE Form CREATETYPE frmModelOverview CONTENTS { @@ -464,7 +458,7 @@ BASEINFOOBJECT { KEY [121142.0.36340892] - OBJECTTYPE GUIContainerComponent // frmModelOverview + OBJECTTYPE GUIContainerComponent COMPONENTDATA { [121142.0.36340892]:[121142.0.37512339]:[121142.0.40573788] STR 'PeriodTaskOperation:Unit:PeriodTaskLaneLeg:Operation:MacroPlan:Lane:PeriodTask_MP:NewSupply:LaneLeg:UnitPeriod:DependentDemand:ProductInTrip:Trip#601:266:-40:657:238:266:189:211:497:17:178:464:513#168:437:163:276:350:529:165:274:436:277:59:59:244#219:54:197:109:109:54:153:109:87:120:175:153:54#26:26:26:26:26:26:26:26:26:26:26:26:26' @@ -477,14 +471,11 @@ INFOOBJECT { KEY [121142.0.37512339] - OBJECTTYPE CustomDrawComponent // customDraw + OBJECTTYPE CustomDrawComponent CONTENTS { ZoomX 1.331 ZoomY 1.331 - } - INFOOBJECTS - { } } } -- Gitblit v1.9.3