From 4b9a2cb1df3fb79c51f4982b62236c35e27846b7 Mon Sep 17 00:00:00 2001 From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com> Date: 星期二, 15 十月 2024 17:14:33 +0800 Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev --- _Main/BL/Relations/Relation_NewAssemblyOnlinePlanRow_MacroPlan_MacroPlan_NewAssemblyOnlinePlanR.qbl | 23 _Main/BL/Type_MacroPlan/Attribute_A_AssemblyOnlinePlanProductionLineName.qbl | 8 _Main/UI/MacroPlannerWebApp/Views/NewAssemblyOnlinePlan.vw | 215 ++++++ _Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_ProductID.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pTotal#61.def | 14 _Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_ShiftPatternStart.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Component_pnlActions.def | 40 + _Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_Type.qbl | 13 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_matrixeditorContextMenu229_1_mAssemblyOnlinePlanProductionLineName_.def | 22 _Main/BL/Type_NewAssemblyOnlinePlanCell/Function_CalcEndDate.qbl | 13 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_MatrixEditor515#474.def | 110 +++ _Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_ProductionLine.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/_ROOT_Component_DialogAssemblyOnlinePlanProductionLineName.def | 21 _Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_ShiftPatternName.qbl | 6 _Main/Sys/Repr/Global/NewAssemblyOnlinePlanCell.qrp | 49 + _Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_OrderNr.qbl | 8 _Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_ShiftPatternName.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bDownload_OnClick.def | 22 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_MatrixEditor583#969.def | 99 +++ _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixeditorContextMenu267#1.def | 10 _Main/BL/Type_NewOfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl | 18 _Main/BL/Relations/Relation_NewAssemblyOnlinePlanCell_Detailed_NewAssemblyOnlinePlanCell_Total.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pDetail#415.def | 15 _Main/BL/Type_NewAssemblyOnlinePlanRow/_ROOT_Type_NewAssemblyOnlinePlanRow.qbl | 10 _Main/BL/Type_NewAssemblyOnlinePlanCell/Function_CalcTotalQuantity.qbl | 13 _Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl | 104 +++ _Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_Name.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bNewAssemblyOnlinePlan_OnClic.def | 16 _Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Component_pnlContent.def | 25 _Main/BL/Relations/Relation_NewAssemblyOnlinePlanColumn_MacroPlan_MacroPlan_NewAssemblyOnlinePl.qbl | 34 + _Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_Quantity.qbl | 8 _Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_ShiftPatternStart.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Response_pnlActions_btnOk_OnClick.def | 16 _Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_ProductionLine.qbl | 8 _Main/BL/Type_NewAssemblyOnlinePlanRow/Function_CalcName.qbl | 13 _Main/BL/Type_NewOfflinePlanCell/Function_CalcTotalQuantity.qbl | 2 _Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_Order.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bGenerateReport_OnClick.def | 24 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def | 19 _Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_Name.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bOnlineQuantity_OnClick.def | 27 _Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_EndDate.qbl | 7 _Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_Download.qbl | 13 _Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl | 156 ++-- _Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_OperationID.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixEditorActionBarPage623#1.def | 10 _Main/BL/Type_MacroPlan/DefaultValue_A_AssemblyOnlinePlanProductionLineName.qbl | 7 _Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_OldDownload.qbl | 47 + _Main/BL/Type_NewAssemblyOnlinePlanCell/Method_GetNewAssemblyOnlinePlanMatrixTooltip.qbl | 19 _Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_CreateOldAssemblyOnlinePlanData.qbl | 74 ++ _Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_ProductID.qbl | 8 _Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_Type.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixEditorActionBarPage338#1.def | 10 _Main/BL/Type_NewAssemblyOnlinePlanCell/_ROOT_Type_NewAssemblyOnlinePlanCell.qbl | 9 _Main/BL/Type_NewAssemblyOnlinePlanCell/Function_CalcStartDate.qbl | 13 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader#136.def | 46 + _Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_InventoryWeight.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixeditorContextMenu229#1.def | 45 + _Main/BL/Type_NewAssemblyOnlinePlanColumn/_ROOT_Type_NewAssemblyOnlinePlanColumn.qbl | 9 _Main/Sys/Repr/Global/NewOfflinePlanCell.qrp | 1 _Main/BL/Type_NewAssemblyOnlinePlanRow/Method_Filter.qbl | 17 _Main/BL/Type_NewAssemblyOnlinePlanColumn/Attribute_StartDate.qbl | 7 _Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_TotalQuantity.qbl | 8 _Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_AssemblyOnlinePlanCell_AssemblyOnlinePlanC.qbl | 2 _Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_StartDate.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_matrixeditorContextMenu229_1_mShowOrHide_OnClick.def | 16 _Main/BL/Relations/Relation_AssemblyOnlinePlanRow_AssemblyOnlinePlanCell_AssemblyOnlinePlanCell.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Response_pnlActions_btnCancel_OnClick.def | 15 _Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_Order.qbl | 8 _Main/BL/Relations/Relation_NewAssemblyOnlinePlanColumn_NewAssemblyOnlinePlanCell_NewAssemblyOn.qbl | 23 _Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_OperationID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/_ROOT_Component_FormNewAssemblyOnlinePlan.def | 73 ++ _Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_ShiftPatternEnd.qbl | 6 _Main/BL/Type_NewAssemblyOnlinePlanColumn/Attribute_EndDate.qbl | 7 _Main/BL/Relations/Relation_NewAssemblyOnlinePlanRow_NewAssemblyOnlinePlanCell_NewAssemblyOnlin.qbl | 34 + _Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_ShiftPatternEnd.qbl | 8 76 files changed, 1,747 insertions(+), 89 deletions(-) diff --git a/_Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_AssemblyOnlinePlanCell_AssemblyOnlinePlanC.qbl b/_Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_AssemblyOnlinePlanCell_AssemblyOnlinePlanC.qbl index 234a042..bc6d12f 100644 --- a/_Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_AssemblyOnlinePlanCell_AssemblyOnlinePlanC.qbl +++ b/_Main/BL/Relations/Relation_AssemblyOnlinePlanColumn_AssemblyOnlinePlanCell_AssemblyOnlinePlanC.qbl @@ -11,7 +11,7 @@ #keys: '3[413988.0.1348175597][413988.0.1348175596][413988.0.1348175598]' Cardinality: '1toN' ObjectDefinition: AssemblyOnlinePlanColumn - OwningSide: 'Owned' + OwningSide: 'Reference' } RelationSide.RightSide AssemblyOnlinePlanColumn { diff --git a/_Main/BL/Relations/Relation_AssemblyOnlinePlanRow_AssemblyOnlinePlanCell_AssemblyOnlinePlanCell.qbl b/_Main/BL/Relations/Relation_AssemblyOnlinePlanRow_AssemblyOnlinePlanCell_AssemblyOnlinePlanCell.qbl index e878ce8..fe1c8d6 100644 --- a/_Main/BL/Relations/Relation_AssemblyOnlinePlanRow_AssemblyOnlinePlanCell_AssemblyOnlinePlanCell.qbl +++ b/_Main/BL/Relations/Relation_AssemblyOnlinePlanRow_AssemblyOnlinePlanCell_AssemblyOnlinePlanCell.qbl @@ -11,7 +11,7 @@ #keys: '3[413988.0.1348175623][413988.0.1348175622][413988.0.1348175624]' Cardinality: '1toN' ObjectDefinition: AssemblyOnlinePlanRow - OwningSide: 'Reference' + OwningSide: 'Owned' } RelationSide.RightSide AssemblyOnlinePlanRow { diff --git a/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanCell_Detailed_NewAssemblyOnlinePlanCell_Total.qbl b/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanCell_Detailed_NewAssemblyOnlinePlanCell_Total.qbl new file mode 100644 index 0000000..5896db0 --- /dev/null +++ b/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanCell_Detailed_NewAssemblyOnlinePlanCell_Total.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation NewAssemblyOnlinePlanCell_Detailed_NewAssemblyOnlinePlanCell_Total +{ + #keys: '1[413988.0.1701591389]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Detailed + { + #keys: '3[413988.0.1701591391][413988.0.1701591390][413988.0.1701591392]' + Cardinality: '1toN' + ObjectDefinition: NewAssemblyOnlinePlanCell + OwningSide: 'Reference' + } + RelationSide.RightSide Total + { + #keys: '3[413988.0.1701591394][413988.0.1701591393][413988.0.1701591395]' + Cardinality: '0to1' + ObjectDefinition: NewAssemblyOnlinePlanCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanColumn_MacroPlan_MacroPlan_NewAssemblyOnlinePl.qbl b/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanColumn_MacroPlan_MacroPlan_NewAssemblyOnlinePl.qbl new file mode 100644 index 0000000..21babd1 --- /dev/null +++ b/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanColumn_MacroPlan_MacroPlan_NewAssemblyOnlinePl.qbl @@ -0,0 +1,34 @@ +Quintiq file version 2.0 +#parent: #root +Relation NewAssemblyOnlinePlanColumn_MacroPlan_MacroPlan_NewAssemblyOnlinePlanColumn +{ + #keys: '1[413988.0.1702175710]' + DeclarativeSequenceRelationStrategy + { + #keys: '13[0.0.0][413988.0.1702175824][413988.0.1702175818][413988.0.1702175825][413988.0.1702175819][413988.0.1702175826][413988.0.1702175820][413988.0.1702175827][413988.0.1702175821][413988.0.1702175828][413988.0.1702175822][413988.0.1702175829][413988.0.1702175823]' + SequenceElementSuffix: 'NAOPColumn' + SequenceSuffix: 'NAOPColumn' + SortAttributes: + [ + DeclarativeSequenceRelationSortAttribute + { + #keys: '1[413988.0.1702175834]' + Attribute: 'StartDate' + } + ] + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1702175712][413988.0.1702175711][413988.0.1702175713]' + Cardinality: '0to1' + ObjectDefinition: NewAssemblyOnlinePlanColumn + OwningSide: 'Reference' + } + RelationSide.RightSide NewAssemblyOnlinePlanColumn + { + #keys: '3[413988.0.1702175715][413988.0.1702175714][413988.0.1702175716]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanColumn_NewAssemblyOnlinePlanCell_NewAssemblyOn.qbl b/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanColumn_NewAssemblyOnlinePlanCell_NewAssemblyOn.qbl new file mode 100644 index 0000000..7a13320 --- /dev/null +++ b/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanColumn_NewAssemblyOnlinePlanCell_NewAssemblyOn.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation NewAssemblyOnlinePlanColumn_NewAssemblyOnlinePlanCell_NewAssemblyOnlinePlanCell_NewAssemblyOnlinePlanColumn +{ + #keys: '1[413988.0.1702175723]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide NewAssemblyOnlinePlanCell + { + #keys: '3[413988.0.1702175725][413988.0.1702175724][413988.0.1702175726]' + Cardinality: '1toN' + ObjectDefinition: NewAssemblyOnlinePlanColumn + OwningSide: 'Reference' + } + RelationSide.RightSide NewAssemblyOnlinePlanColumn + { + #keys: '3[413988.0.1702175728][413988.0.1702175727][413988.0.1702175729]' + Cardinality: '0to1' + ObjectDefinition: NewAssemblyOnlinePlanCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanRow_MacroPlan_MacroPlan_NewAssemblyOnlinePlanR.qbl b/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanRow_MacroPlan_MacroPlan_NewAssemblyOnlinePlanR.qbl new file mode 100644 index 0000000..328bf95 --- /dev/null +++ b/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanRow_MacroPlan_MacroPlan_NewAssemblyOnlinePlanR.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation NewAssemblyOnlinePlanRow_MacroPlan_MacroPlan_NewAssemblyOnlinePlanRow +{ + #keys: '1[413988.0.1702175667]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1702175669][413988.0.1702175668][413988.0.1702175670]' + Cardinality: '0to1' + ObjectDefinition: NewAssemblyOnlinePlanRow + OwningSide: 'Reference' + } + RelationSide.RightSide NewAssemblyOnlinePlanRow + { + #keys: '3[413988.0.1702175672][413988.0.1702175671][413988.0.1702175673]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanRow_NewAssemblyOnlinePlanCell_NewAssemblyOnlin.qbl b/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanRow_NewAssemblyOnlinePlanCell_NewAssemblyOnlin.qbl new file mode 100644 index 0000000..cca6a84 --- /dev/null +++ b/_Main/BL/Relations/Relation_NewAssemblyOnlinePlanRow_NewAssemblyOnlinePlanCell_NewAssemblyOnlin.qbl @@ -0,0 +1,34 @@ +Quintiq file version 2.0 +#parent: #root +Relation NewAssemblyOnlinePlanRow_NewAssemblyOnlinePlanCell_NewAssemblyOnlinePlanCell_NewAssemblyOnlinePlanRow +{ + #keys: '1[413988.0.1702175696]' + DeclarativeSequenceRelationStrategy + { + #keys: '13[0.0.0][413988.0.1701591359][413988.0.1701591353][413988.0.1701591360][413988.0.1701591354][413988.0.1701591361][413988.0.1701591355][413988.0.1701591362][413988.0.1701591356][413988.0.1701591363][413988.0.1701591357][413988.0.1701591364][413988.0.1701591358]' + SequenceElementSuffix: 'NAOPCell' + SequenceSuffix: 'NAOPCell' + SortAttributes: + [ + DeclarativeSequenceRelationSortAttribute + { + #keys: '1[413988.0.1701591369]' + Attribute: 'StartDate' + } + ] + } + RelationSide.LeftSide NewAssemblyOnlinePlanCell + { + #keys: '3[413988.0.1702175698][413988.0.1702175697][413988.0.1702175699]' + Cardinality: '1toN' + ObjectDefinition: NewAssemblyOnlinePlanRow + OwningSide: 'Owned' + } + RelationSide.RightSide NewAssemblyOnlinePlanRow + { + #keys: '3[413988.0.1702175701][413988.0.1702175700][413988.0.1702175702]' + Cardinality: '0to1' + ObjectDefinition: NewAssemblyOnlinePlanCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl b/_Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl index 1d69434..386e280 100644 --- a/_Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl +++ b/_Main/BL/Type_AssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl @@ -7,83 +7,83 @@ { TextBody: [* - macroPlan.AssemblyOnlinePlanRow( relflush ); - macroPlan.AssemblyOnlinePlanColumn( relflush ); - - // 鎵捐閰嶇嚎琛� - oprs := selectsortedset( opt, OfflinePlanRow, tempOPR, - tempOPR.ProductionLine() = "DL MoMo" - or - tempOPR.ProductionLine() = "CC MoMo" - or - tempOPR.ProductionLine() = "DL ZKM" - , - 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 ); - } - } - } - - // 澶勭悊鏃ュ巻浜嬩欢 - pls := selectuniquevalues( macroPlan, AssemblyOnlinePlanRow, tempAOPR, true, tempAOPR.ProductionLine() ); - traverse ( pls, Elements, pl ) { - targetQuantity := ifexpr( pl = "CC MoMo", guard( macroPlan.AssemblyOnlineQuantity().CCMoMo(), 0 ), - ifexpr( pl = "DL MoMo", guard( macroPlan.AssemblyOnlineQuantity().DLMoMo(), 0 ), guard( macroPlan.AssemblyOnlineQuantity().DLZKM(), 0 ) ) - ); - - u := select( macroPlan, Unit, tempU, tempU.ID() = pl ); - drainPs := selectset( u, UnitCalendar.Participation, tempP, guard( tempP.Event().Subject().Regex( "鎷夌┖" ), false ) ); - lineLyingPs := selectset( u, UnitCalendar.Participation, tempP, guard( tempP.Event().Subject().Regex( "閾虹嚎" ), false ) ); - - // 澶勭悊鎺掔┖ - info( "褰撳墠浜х嚎锛�", pl, " 澶勭悊鎷夌┖--------------------------" ); - traverse ( drainPs, Elements, p ) { - traverse ( p, ExplicitTimeInterval, eti ) { - info( "寮�濮嬫椂闂达細", eti.Start().Format( "Y-M2-D2" ), " 缁撴潫鏃堕棿锛�", eti.End().Format( "Y-M2-D2" ) ); - // 鍓嶄竴澶╂棩鍘� - aopc := select( macroPlan, AssemblyOnlinePlanColumn, tempAOPC, tempAOPC.ColumnDate() = ( eti.Start().Date() - 1 ) ); - info( "闇�瑕佹媺绌虹殑涓婄嚎璁″垝鏃堕棿锛�", aopc.ColumnDate().Format( "Y-M2-D2" ) ); - aoprs := selectset( macroPlan, AssemblyOnlinePlanRow, tempAOPR, tempAOPR.ProductionLine() = pl and tempAOPR.Type() = "2" and - exists( tempAOPR, AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc and tempAOPC.Value() <> "" ) ); - aopr := maxselect( aoprs, Elements.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc, - [Number]tempAOPC.Value().ReplaceAll( "#0", "" ) ); - cell := select( macroPlan, AssemblyOnlinePlanRow.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanRow().ProductionLine() = pl and tempAOPC.AssemblyOnlinePlanColumn() = aopc and - tempAOPC.AssemblyOnlinePlanRow().Type() = "1" and tempAOPC.AssemblyOnlinePlanRow().ProductID() = aopr.AssemblyOnlinePlanRow().ProductID() ); - - cell.Value( [String] ( [Number]cell.Value() - targetQuantity ) ); - } - } - - info( "褰撳墠浜х嚎锛�", pl, " 澶勭悊閾虹嚎--------------------------" ); - // 澶勭悊閾虹嚎 - traverse ( lineLyingPs, Elements, p ) { - traverse ( p, ExplicitTimeInterval, eti ) { - info( "寮�濮嬫椂闂达細", eti.Start().Format( "Y-M2-D2" ), " 缁撴潫鏃堕棿锛�", eti.End().Format( "Y-M2-D2" ) ); - info( "闇�瑕侀摵绾跨殑涓婄嚎璁″垝鏃堕棿锛�", eti.Start().Format( "Y-M2-D2" ) ); - aopc := select( macroPlan, AssemblyOnlinePlanColumn, tempAOPC, tempAOPC.ColumnDate() = eti.Start().Date() ); - aoprs := selectset( macroPlan, AssemblyOnlinePlanRow, tempAOPR, tempAOPR.ProductionLine() = pl and tempAOPR.Type() = "2" and - exists( tempAOPR, AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc and tempAOPC.Value() <> "" ) ); - aopr := minselect( aoprs, Elements.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc, - [Number]tempAOPC.Value().ReplaceAll( "#0", "" ) ); - cell := select( macroPlan, AssemblyOnlinePlanRow.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanRow().ProductionLine() = pl and tempAOPC.AssemblyOnlinePlanColumn() = aopc and - tempAOPC.AssemblyOnlinePlanRow().Type() = "1" and tempAOPC.AssemblyOnlinePlanRow().ProductID() = aopr.AssemblyOnlinePlanRow().ProductID() ); - cell.Value( [String] ( [Number]cell.Value() + targetQuantity ) ); - } - } - } + //macroPlan.AssemblyOnlinePlanRow( relflush ); + //macroPlan.AssemblyOnlinePlanColumn( relflush ); + // + //// 鎵捐閰嶇嚎琛� + //oprs := selectsortedset( opt, OfflinePlanRow, tempOPR, + // tempOPR.ProductionLine() = "DL MoMo" + // or + // tempOPR.ProductionLine() = "CC MoMo" + // or + // tempOPR.ProductionLine() = "DL ZKM" + // , + // 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 ); + // } + // } + //} + // + //// 澶勭悊鏃ュ巻浜嬩欢 + //pls := selectuniquevalues( macroPlan, AssemblyOnlinePlanRow, tempAOPR, true, tempAOPR.ProductionLine() ); + //traverse ( pls, Elements, pl ) { + // targetQuantity := ifexpr( pl = "CC MoMo", guard( macroPlan.AssemblyOnlineQuantity().CCMoMo(), 0 ), + // ifexpr( pl = "DL MoMo", guard( macroPlan.AssemblyOnlineQuantity().DLMoMo(), 0 ), guard( macroPlan.AssemblyOnlineQuantity().DLZKM(), 0 ) ) + // ); + // + // u := select( macroPlan, Unit, tempU, tempU.ID() = pl ); + // drainPs := selectset( u, UnitCalendar.Participation, tempP, guard( tempP.Event().Subject().Regex( "鎷夌┖" ), false ) ); + // lineLyingPs := selectset( u, UnitCalendar.Participation, tempP, guard( tempP.Event().Subject().Regex( "閾虹嚎" ), false ) ); + // + // // 澶勭悊鎺掔┖ + // info( "褰撳墠浜х嚎锛�", pl, " 澶勭悊鎷夌┖--------------------------" ); + // traverse ( drainPs, Elements, p ) { + // traverse ( p, ExplicitTimeInterval, eti ) { + // info( "寮�濮嬫椂闂达細", eti.Start().Format( "Y-M2-D2" ), " 缁撴潫鏃堕棿锛�", eti.End().Format( "Y-M2-D2" ) ); + // // 鍓嶄竴澶╂棩鍘� + // aopc := select( macroPlan, AssemblyOnlinePlanColumn, tempAOPC, tempAOPC.ColumnDate() = ( eti.Start().Date() - 1 ) ); + // info( "闇�瑕佹媺绌虹殑涓婄嚎璁″垝鏃堕棿锛�", aopc.ColumnDate().Format( "Y-M2-D2" ) ); + // aoprs := selectset( macroPlan, AssemblyOnlinePlanRow, tempAOPR, tempAOPR.ProductionLine() = pl and tempAOPR.Type() = "2" and + // exists( tempAOPR, AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc and tempAOPC.Value() <> "" ) ); + // aopr := maxselect( aoprs, Elements.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc, + // [Number]tempAOPC.Value().ReplaceAll( "#0", "" ) ); + // cell := select( macroPlan, AssemblyOnlinePlanRow.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanRow().ProductionLine() = pl and tempAOPC.AssemblyOnlinePlanColumn() = aopc and + // tempAOPC.AssemblyOnlinePlanRow().Type() = "1" and tempAOPC.AssemblyOnlinePlanRow().ProductID() = aopr.AssemblyOnlinePlanRow().ProductID() ); + // + // cell.Value( [String] ( [Number]cell.Value() - targetQuantity ) ); + // } + // } + // + // info( "褰撳墠浜х嚎锛�", pl, " 澶勭悊閾虹嚎--------------------------" ); + // // 澶勭悊閾虹嚎 + // traverse ( lineLyingPs, Elements, p ) { + // traverse ( p, ExplicitTimeInterval, eti ) { + // info( "寮�濮嬫椂闂达細", eti.Start().Format( "Y-M2-D2" ), " 缁撴潫鏃堕棿锛�", eti.End().Format( "Y-M2-D2" ) ); + // info( "闇�瑕侀摵绾跨殑涓婄嚎璁″垝鏃堕棿锛�", eti.Start().Format( "Y-M2-D2" ) ); + // aopc := select( macroPlan, AssemblyOnlinePlanColumn, tempAOPC, tempAOPC.ColumnDate() = eti.Start().Date() ); + // aoprs := selectset( macroPlan, AssemblyOnlinePlanRow, tempAOPR, tempAOPR.ProductionLine() = pl and tempAOPR.Type() = "2" and + // exists( tempAOPR, AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc and tempAOPC.Value() <> "" ) ); + // aopr := minselect( aoprs, Elements.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc, + // [Number]tempAOPC.Value().ReplaceAll( "#0", "" ) ); + // cell := select( macroPlan, AssemblyOnlinePlanRow.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanRow().ProductionLine() = pl and tempAOPC.AssemblyOnlinePlanColumn() = aopc and + // tempAOPC.AssemblyOnlinePlanRow().Type() = "1" and tempAOPC.AssemblyOnlinePlanRow().ProductID() = aopr.AssemblyOnlinePlanRow().ProductID() ); + // cell.Value( [String] ( [Number]cell.Value() + targetQuantity ) ); + // } + // } + //} *] } diff --git a/_Main/BL/Type_MacroPlan/Attribute_A_AssemblyOnlinePlanProductionLineName.qbl b/_Main/BL/Type_MacroPlan/Attribute_A_AssemblyOnlinePlanProductionLineName.qbl new file mode 100644 index 0000000..fbc0236 --- /dev/null +++ b/_Main/BL/Type_MacroPlan/Attribute_A_AssemblyOnlinePlanProductionLineName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute A_AssemblyOnlinePlanProductionLineName +{ + #keys: '3[413988.0.1701591471][413988.0.1701591470][413988.0.1701591472]' + Description: '涓婄嚎璁″垝瑕佺敓鎴愮殑浜х嚎' + ValueType: String +} diff --git a/_Main/BL/Type_MacroPlan/DefaultValue_A_AssemblyOnlinePlanProductionLineName.qbl b/_Main/BL/Type_MacroPlan/DefaultValue_A_AssemblyOnlinePlanProductionLineName.qbl new file mode 100644 index 0000000..c52fea0 --- /dev/null +++ b/_Main/BL/Type_MacroPlan/DefaultValue_A_AssemblyOnlinePlanProductionLineName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + ISOValue: 'DL MoMo;CC MoMo;DL ZKM' + TargetAttribute: A_AssemblyOnlinePlanProductionLineName +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_EndDate.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_EndDate.qbl new file mode 100644 index 0000000..fef92ce --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_EndDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EndDate +{ + #keys: '3[413988.0.1702175775][413988.0.1702175774][413988.0.1702175776]' + ValueType: Date +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_InventoryWeight.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_InventoryWeight.qbl new file mode 100644 index 0000000..95cdd91 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_InventoryWeight.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute InventoryWeight +{ + #keys: '3[413988.0.1702175766][413988.0.1702175765][413988.0.1702175767]' + Description: '鍓╀綑搴撳瓨 - 鏈�灏忓簱瀛�' + ValueType: Real +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_Order.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_Order.qbl new file mode 100644 index 0000000..169ab8b --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_Order.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Order +{ + #keys: '3[413988.0.1702175763][413988.0.1702175762][413988.0.1702175764]' + Description: '鐢熶骇椤哄簭锛圫tring锛�' + ValueType: String +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_OrderNr.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_OrderNr.qbl new file mode 100644 index 0000000..b8bace6 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_OrderNr.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderNr +{ + #keys: '3[413988.0.1702175781][413988.0.1702175780][413988.0.1702175782]' + Description: '鐢熶骇椤哄簭锛圢umber锛�' + ValueType: Number +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_Quantity.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_Quantity.qbl new file mode 100644 index 0000000..be768e4 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_Quantity.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[413988.0.1702175787][413988.0.1702175786][413988.0.1702175788]' + Description: '鏁伴噺' + ValueType: Real +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_ShiftPatternEnd.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_ShiftPatternEnd.qbl new file mode 100644 index 0000000..824ed15 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_ShiftPatternEnd.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ShiftPatternEnd +{ + #keys: '3[413988.0.1702175760][413988.0.1702175759][413988.0.1702175761]' + Description: '鐝缁撴潫鏃堕棿' + ValueType: String +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_ShiftPatternName.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_ShiftPatternName.qbl new file mode 100644 index 0000000..8bf1255 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_ShiftPatternName.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ShiftPatternName +{ + #keys: '3[413988.0.1702175772][413988.0.1702175771][413988.0.1702175773]' + Description: '鐝鍚�' + ValueType: String +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_ShiftPatternStart.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_ShiftPatternStart.qbl new file mode 100644 index 0000000..89630b3 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_ShiftPatternStart.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ShiftPatternStart +{ + #keys: '3[413988.0.1702175769][413988.0.1702175768][413988.0.1702175770]' + Description: '鐝寮�濮嬫椂闂�' + ValueType: String +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_StartDate.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_StartDate.qbl new file mode 100644 index 0000000..e4a4551 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_StartDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[413988.0.1702175778][413988.0.1702175777][413988.0.1702175779]' + ValueType: Date +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_TotalQuantity.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_TotalQuantity.qbl new file mode 100644 index 0000000..5f68080 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Attribute_TotalQuantity.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TotalQuantity +{ + #keys: '3[413988.0.1702175784][413988.0.1702175783][413988.0.1702175785]' + Description: '鍚堣' + ValueType: Real +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_Order.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_Order.qbl new file mode 100644 index 0000000..9726838 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_Order.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Order +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_ShiftPatternEnd.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_ShiftPatternEnd.qbl new file mode 100644 index 0000000..d03eb42 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_ShiftPatternEnd.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ShiftPatternEnd +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_ShiftPatternName.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_ShiftPatternName.qbl new file mode 100644 index 0000000..04a9cb4 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_ShiftPatternName.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ShiftPatternName +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_ShiftPatternStart.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_ShiftPatternStart.qbl new file mode 100644 index 0000000..6e6301f --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/DefaultValue_ShiftPatternStart.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ShiftPatternStart +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Function_CalcEndDate.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Function_CalcEndDate.qbl new file mode 100644 index 0000000..565d82c --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/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.NewAssemblyOnlinePlanColumn().EndDate(), Date::MinDate() ); + + this.EndDate( value ); + *] +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Function_CalcStartDate.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Function_CalcStartDate.qbl new file mode 100644 index 0000000..5060b3c --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/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.NewAssemblyOnlinePlanColumn().StartDate(), Date::MinDate() ); + + this.StartDate( value ); + *] +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Function_CalcTotalQuantity.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Function_CalcTotalQuantity.qbl new file mode 100644 index 0000000..9e49072 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/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, tempNAOPCell, true, tempNAOPCell.Quantity() ); + + this.TotalQuantity( value ); + *] +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/Method_GetNewAssemblyOnlinePlanMatrixTooltip.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Method_GetNewAssemblyOnlinePlanMatrixTooltip.qbl new file mode 100644 index 0000000..afbd398 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/Method_GetNewAssemblyOnlinePlanMatrixTooltip.qbl @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: #root +Method GetNewAssemblyOnlinePlanMatrixTooltip () declarative remote as String +{ + TextBody: + [* + tooltip := '<table>'; + + tooltip := tooltip + + '<tr><td><b>鎬婚噺锛�</b></td><td>' + [String]this.Total().TotalQuantity() + '</td></tr>' + + '<tr><td><b>鐝鍚嶏細</b></td><td>' + this.Total().ShiftPatternName() + '</td></tr>' + + '<tr><td><b>鐝寮�濮嬫椂闂达細</b></td><td>' + this.Total().ShiftPatternStart() + '</td></tr>' + + '<tr><td><b>鐝缁撴潫鏃堕棿锛�</b></td><td>' + this.Total().ShiftPatternEnd() + '</td></tr>'; + + tooltip := tooltip + '</table>'; + + return tooltip; + *] +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_CreateOldAssemblyOnlinePlanData.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_CreateOldAssemblyOnlinePlanData.qbl new file mode 100644 index 0000000..1fed575 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_CreateOldAssemblyOnlinePlanData.qbl @@ -0,0 +1,74 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateOldAssemblyOnlinePlanData ( + MacroPlan macroPlan +) +{ + TextBody: + [* + macroPlan.AssemblyOnlinePlanRow( relflush ); + macroPlan.AssemblyOnlinePlanColumn( relflush ); + + // 鍒涘缓鍒� + firstColumn := macroPlan.AssemblyOnlinePlanColumn( relnew, ColumnDate := macroPlan.StartOfPlanning().Date() - 2 ); + secondColumn := macroPlan.AssemblyOnlinePlanColumn( relnew, ColumnDate := macroPlan.StartOfPlanning().Date() - 1 ); + traverse ( macroPlan, NewAssemblyOnlinePlanColumn, naopc ) { + macroPlan.AssemblyOnlinePlanColumn( relnew, ColumnDate := naopc.StartDate() ); + } + + pls := selectuniquevalues( macroPlan, NewAssemblyOnlinePlanRow, tempNAOPR, true, tempNAOPR.ProductionLine() ); + + traverse ( pls, Elements, pl ) { + // 鍒涘缓鏄庣粏琛� + detailNAOPRs := selectsortedset( macroPlan, NewAssemblyOnlinePlanRow, tempNAOOPR, tempNAOOPR.ProductionLine() = pl and tempNAOOPR.Type() = "1", tempNAOOPR.ProductionLine(), tempNAOOPR.ProductID() ); + traverse ( detailNAOPRs, Elements, naopr ) { + quantityOPR := macroPlan.AssemblyOnlinePlanRow( relnew, ProductionLine := naopr.ProductionLine(), ProductID := naopr.ProductID(), Type := "1" ); + orderOPR := macroPlan.AssemblyOnlinePlanRow( relnew, ProductionLine := naopr.ProductionLine(), ProductID := naopr.ProductID(), Type := "2" ); + + // 绗竴鍒� + quantityOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := firstColumn, Value := naopr.Name() ); + orderOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := firstColumn, Value := "" ); + + // 绗簩鍒� + quantityOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := secondColumn, Value := "Quantity" ); + orderOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := secondColumn, Value := "Order" ); + + // 鏃堕棿鍒� + traverse ( naopr, NewAssemblyOnlinePlanCell, naopcell ) { + aopc := select( macroPlan, AssemblyOnlinePlanColumn, tempAOPC, tempAOPC.ColumnDate() = naopcell.StartDate() ); + quantityOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := aopc, Value := [String]naopcell.Quantity() ); + orderOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := aopc, Value := naopcell.Order() ); + } + } + + // 鍒涘缓鍚堣琛� + totalNAOPR := select( macroPlan, NewAssemblyOnlinePlanRow, tempNAOPR, tempNAOPR.ProductionLine() = pl and tempNAOPR.Type() = "2" ); + + totalAOPR := macroPlan.AssemblyOnlinePlanRow( relnew, ProductionLine := totalNAOPR.ProductionLine(), ProductID := "Z", Type := "3" ); + shiftPatternNameAOPR := macroPlan.AssemblyOnlinePlanRow( relnew, ProductionLine := totalNAOPR.ProductionLine(), ProductID := "Z", Type := "4" ); + shiftPatternStartAOPR := macroPlan.AssemblyOnlinePlanRow( relnew, ProductionLine := totalNAOPR.ProductionLine(), ProductID := "Z", Type := "5" ); + shiftPatternEndOAPR := macroPlan.AssemblyOnlinePlanRow( relnew, ProductionLine := totalNAOPR.ProductionLine(), ProductID := "Z", Type := "6" ); + + // 绗竴鍒� + totalAOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := firstColumn, Value := "鍚堣" ); + shiftPatternNameAOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := firstColumn, Value := "" ); + shiftPatternStartAOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := firstColumn, Value := "" ); + shiftPatternEndOAPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := firstColumn, Value := "" ); + + // 绗簩鍒� + totalAOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := secondColumn, Value := "鎬婚噺" ); + shiftPatternNameAOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := secondColumn, Value := "鐝" ); + shiftPatternStartAOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := secondColumn, Value := "鐝寮�濮嬫椂闂�" ); + shiftPatternEndOAPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := secondColumn, Value := "鐝缁撴潫鏃堕棿" ); + + // 鏃堕棿鍒� + traverse ( totalNAOPR, NewAssemblyOnlinePlanCell, naopcell ) { + opc := select( macroPlan, AssemblyOnlinePlanColumn, tempAOPC, tempAOPC.ColumnDate() = naopcell.StartDate() ); + totalAOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := opc, Value := [String]naopcell.TotalQuantity() ); + shiftPatternNameAOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := opc, Value := naopcell.ShiftPatternName() ); + shiftPatternStartAOPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := opc, Value := naopcell.ShiftPatternStart() ); + shiftPatternEndOAPR.AssemblyOnlinePlanCell( relnew, AssemblyOnlinePlanColumn := opc, Value := naopcell.ShiftPatternEnd() ); + } + } + *] +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_Download.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_Download.qbl new file mode 100644 index 0000000..3cb61b6 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_Download.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Download ( + MacroPlan macroPlan +) as BinaryValue +{ + TextBody: + [* + NewAssemblyOnlinePlanCell::CreateOldAssemblyOnlinePlanData( macroPlan ); + + return NewAssemblyOnlinePlanCell::OldDownload( macroPlan ); + *] +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_OldDownload.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_OldDownload.qbl new file mode 100644 index 0000000..165816e --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_OldDownload.qbl @@ -0,0 +1,47 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod OldDownload ( + 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_NewAssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl new file mode 100644 index 0000000..a8a7fcc --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/StaticMethod_RefreshData.qbl @@ -0,0 +1,104 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod RefreshData ( + MacroPlan macroPlan, + NewOfflinePlanTable nopt +) +{ + TextBody: + [* + macroPlan.NewAssemblyOnlinePlanRow( relflush ); + macroPlan.NewAssemblyOnlinePlanColumn( relflush ); + + aopplns := macroPlan.A_AssemblyOnlinePlanProductionLineName().Tokenize( ";" ); + + traverse ( nopt, NewOfflinePlanRow, nopr, exists( aopplns, Elements, aoppl, aoppl = nopr.ProductionLine() ) and nopr.Type() = "1" ) { + // 涓婄嚎璁″垝鍚堣琛� + totalNAOPR := select( macroPlan, NewAssemblyOnlinePlanRow, tempNAOPR, tempNAOPR.ProductID() = "All" and tempNAOPR.ProductionLine() = nopr.ProductionLine() and tempNAOPR.Type() = "2" ); + if ( isnull( totalNAOPR ) ) { + totalNAOPR := macroPlan.NewAssemblyOnlinePlanRow( relnew, ProductID := "All", ProductionLine := nopr.ProductionLine(), Type := "2" ); + } + // 涓婄嚎璁″垝璇︾粏琛� + detailNAOPR := select( macroPlan, NewAssemblyOnlinePlanRow, tempNAOPR, tempNAOPR.ProductID() = nopr.ProductID() and tempNAOPR.ProductionLine() = nopr.ProductionLine() and tempNAOPR.Type() = "1" ); + if ( isnull( detailNAOPR ) ) { + detailNAOPR := macroPlan.NewAssemblyOnlinePlanRow( relnew, OperationID := nopr.OperationID(), ProductID := nopr.ProductID(), ProductionLine := nopr.ProductionLine(), Type := "1" ); + } + + // 鍒涘缓鍗曞厓鏍� + traverse ( nopr, NewOfflinePlanCell, nopcell ) { + // 涓婄嚎璁″垝鍒� + naopc := select( macroPlan, NewAssemblyOnlinePlanColumn, tempNAOPC, tempNAOPC.StartDate() = nopcell.NewOfflinePlanColumn().StartDate() and tempNAOPC.EndDate() = nopcell.NewOfflinePlanColumn().EndDate() ); + if ( isnull( naopc ) ) { + naopc := macroPlan.NewAssemblyOnlinePlanColumn( relnew, StartDate := nopcell.NewOfflinePlanColumn().StartDate(), EndDate := nopcell.NewOfflinePlanColumn().EndDate() ); + } + + // 璁剧疆涓婄嚎璁″垝鍚堣鍗曞厓鏍� + totalNAOPCell := select( totalNAOPR, NewAssemblyOnlinePlanCell, tempNAOPCell, tempNAOPCell.NewAssemblyOnlinePlanColumn() = naopc ); + if ( isnull( totalNAOPCell ) ) { + totalNAOPCell := totalNAOPR.NewAssemblyOnlinePlanCell( relnew, ShiftPatternName := nopcell.Total().ShiftPatternName(), ShiftPatternStart := nopcell.Total().ShiftPatternStart(), + ShiftPatternEnd := nopcell.Total().ShiftPatternEnd() ); + totalNAOPCell.NewAssemblyOnlinePlanColumn( relset, naopc ); + } + + // 璁剧疆涓婄嚎璁″垝璇︾粏鍗曞厓鏍� + detailNAOPCell := select( detailNAOPR, NewAssemblyOnlinePlanCell, tempNAOPCell, tempNAOPCell.NewAssemblyOnlinePlanColumn() = naopc ); + if ( isnull( detailNAOPCell ) ) { + detailNAOPCell := detailNAOPR.NewAssemblyOnlinePlanCell( relnew, InventoryWeight := nopcell.InventoryWeight(), Order := nopcell.Order(), OrderNr := nopcell.OrderNr(), Quantity := nopcell.Quantity(), + ShiftPatternEnd := nopcell.ShiftPatternEnd(), ShiftPatternName := nopcell.ShiftPatternName(), ShiftPatternStart := nopcell.ShiftPatternStart() ); + detailNAOPCell.NewAssemblyOnlinePlanColumn( relset, naopc ); + } + + // 璁剧疆鍚堣鍗曞厓鏍肩殑璇︾粏鍗曞厓鏍� + totalNAOPCell.Detailed( relinsert, detailNAOPCell ); + } + } + + // 澶勭悊鏃ュ巻浜嬩欢 + //pls := selectuniquevalues( macroPlan, AssemblyOnlinePlanRow, tempAOPR, true, tempAOPR.ProductionLine() ); + //traverse ( pls, Elements, pl ) { + // targetQuantity := ifexpr( pl = "CC MoMo", guard( macroPlan.AssemblyOnlineQuantity().CCMoMo(), 0 ), + // ifexpr( pl = "DL MoMo", guard( macroPlan.AssemblyOnlineQuantity().DLMoMo(), 0 ), guard( macroPlan.AssemblyOnlineQuantity().DLZKM(), 0 ) ) + // ); + // + // u := select( macroPlan, Unit, tempU, tempU.ID() = pl ); + // drainPs := selectset( u, UnitCalendar.Participation, tempP, guard( tempP.Event().Subject().Regex( "鎷夌┖" ), false ) ); + // lineLyingPs := selectset( u, UnitCalendar.Participation, tempP, guard( tempP.Event().Subject().Regex( "閾虹嚎" ), false ) ); + // + // // 澶勭悊鎺掔┖ + // info( "褰撳墠浜х嚎锛�", pl, " 澶勭悊鎷夌┖--------------------------" ); + // traverse ( drainPs, Elements, p ) { + // traverse ( p, ExplicitTimeInterval, eti ) { + // info( "寮�濮嬫椂闂达細", eti.Start().Format( "Y-M2-D2" ), " 缁撴潫鏃堕棿锛�", eti.End().Format( "Y-M2-D2" ) ); + // // 鍓嶄竴澶╂棩鍘� + // aopc := select( macroPlan, AssemblyOnlinePlanColumn, tempAOPC, tempAOPC.ColumnDate() = ( eti.Start().Date() - 1 ) ); + // info( "闇�瑕佹媺绌虹殑涓婄嚎璁″垝鏃堕棿锛�", aopc.ColumnDate().Format( "Y-M2-D2" ) ); + // aoprs := selectset( macroPlan, AssemblyOnlinePlanRow, tempAOPR, tempAOPR.ProductionLine() = pl and tempAOPR.Type() = "2" and + // exists( tempAOPR, AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc and tempAOPC.Value() <> "" ) ); + // aopr := maxselect( aoprs, Elements.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc, + // [Number]tempAOPC.Value().ReplaceAll( "#0", "" ) ); + // cell := select( macroPlan, AssemblyOnlinePlanRow.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanRow().ProductionLine() = pl and tempAOPC.AssemblyOnlinePlanColumn() = aopc and + // tempAOPC.AssemblyOnlinePlanRow().Type() = "1" and tempAOPC.AssemblyOnlinePlanRow().ProductID() = aopr.AssemblyOnlinePlanRow().ProductID() ); + // + // cell.Value( [String] ( [Number]cell.Value() - targetQuantity ) ); + // } + // } + // + // info( "褰撳墠浜х嚎锛�", pl, " 澶勭悊閾虹嚎--------------------------" ); + // // 澶勭悊閾虹嚎 + // traverse ( lineLyingPs, Elements, p ) { + // traverse ( p, ExplicitTimeInterval, eti ) { + // info( "寮�濮嬫椂闂达細", eti.Start().Format( "Y-M2-D2" ), " 缁撴潫鏃堕棿锛�", eti.End().Format( "Y-M2-D2" ) ); + // info( "闇�瑕侀摵绾跨殑涓婄嚎璁″垝鏃堕棿锛�", eti.Start().Format( "Y-M2-D2" ) ); + // aopc := select( macroPlan, AssemblyOnlinePlanColumn, tempAOPC, tempAOPC.ColumnDate() = eti.Start().Date() ); + // aoprs := selectset( macroPlan, AssemblyOnlinePlanRow, tempAOPR, tempAOPR.ProductionLine() = pl and tempAOPR.Type() = "2" and + // exists( tempAOPR, AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc and tempAOPC.Value() <> "" ) ); + // aopr := minselect( aoprs, Elements.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanColumn() = aopc, + // [Number]tempAOPC.Value().ReplaceAll( "#0", "" ) ); + // cell := select( macroPlan, AssemblyOnlinePlanRow.AssemblyOnlinePlanCell, tempAOPC, tempAOPC.AssemblyOnlinePlanRow().ProductionLine() = pl and tempAOPC.AssemblyOnlinePlanColumn() = aopc and + // tempAOPC.AssemblyOnlinePlanRow().Type() = "1" and tempAOPC.AssemblyOnlinePlanRow().ProductID() = aopr.AssemblyOnlinePlanRow().ProductID() ); + // cell.Value( [String] ( [Number]cell.Value() + targetQuantity ) ); + // } + // } + //} + *] +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanCell/_ROOT_Type_NewAssemblyOnlinePlanCell.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanCell/_ROOT_Type_NewAssemblyOnlinePlanCell.qbl new file mode 100644 index 0000000..8ce56e1 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanCell/_ROOT_Type_NewAssemblyOnlinePlanCell.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type NewAssemblyOnlinePlanCell +{ + #keys: '5[413988.0.1702175664][413988.0.1702175662][0.0.0][413988.0.1702175663][413988.0.1702175665]' + BaseType: Object + StructuredName: 'NewAssemblyOnlinePlanCells' +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanColumn/Attribute_EndDate.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanColumn/Attribute_EndDate.qbl new file mode 100644 index 0000000..7f835e0 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanColumn/Attribute_EndDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EndDate +{ + #keys: '3[413988.0.1702175792][413988.0.1702175791][413988.0.1702175793]' + ValueType: Date +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanColumn/Attribute_StartDate.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanColumn/Attribute_StartDate.qbl new file mode 100644 index 0000000..7ab49dd --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanColumn/Attribute_StartDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[413988.0.1702175795][413988.0.1702175794][413988.0.1702175796]' + ValueType: Date +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanColumn/_ROOT_Type_NewAssemblyOnlinePlanColumn.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanColumn/_ROOT_Type_NewAssemblyOnlinePlanColumn.qbl new file mode 100644 index 0000000..84a1495 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanColumn/_ROOT_Type_NewAssemblyOnlinePlanColumn.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type NewAssemblyOnlinePlanColumn +{ + #keys: '5[413988.0.1702175659][413988.0.1702175657][0.0.0][413988.0.1702175658][413988.0.1702175660]' + BaseType: Object + StructuredName: 'NewAssemblyOnlinePlanColumns' +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_Name.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_Name.qbl new file mode 100644 index 0000000..92179ca --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_Name.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[413988.0.1702175744][413988.0.1702175743][413988.0.1702175745]' + Description: '鏄剧ず鍚�' + ValueType: String +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_OperationID.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_OperationID.qbl new file mode 100644 index 0000000..3fdcce6 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_OperationID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OperationID +{ + #keys: '3[413988.0.1702175747][413988.0.1702175746][413988.0.1702175748]' + ValueType: String +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_ProductID.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_ProductID.qbl new file mode 100644 index 0000000..e57806b --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_ProductID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[413988.0.1702175750][413988.0.1702175749][413988.0.1702175751]' + Description: '浜у搧ID' + ValueType: String +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_ProductionLine.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_ProductionLine.qbl new file mode 100644 index 0000000..f9c18eb --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_ProductionLine.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductionLine +{ + #keys: '3[413988.0.1702175741][413988.0.1702175740][413988.0.1702175742]' + Description: '浜х嚎鍚�' + ValueType: String +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_Type.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_Type.qbl new file mode 100644 index 0000000..a74e6c1 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/Attribute_Type.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Type +{ + #keys: '3[413988.0.1702175753][413988.0.1702175752][413988.0.1702175754]' + Description: + [* + 1锛氭槑缁嗘樉绀� + + 2锛氬悎璁℃樉绀� + *] + ValueType: String +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_Name.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_Name.qbl new file mode 100644 index 0000000..86c3d59 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_Name.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Name +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_OperationID.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_OperationID.qbl new file mode 100644 index 0000000..4a2ed14 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_OperationID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: OperationID +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_ProductID.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_ProductID.qbl new file mode 100644 index 0000000..98649b2 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_ProductID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductID +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_ProductionLine.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_ProductionLine.qbl new file mode 100644 index 0000000..c59ec43 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_ProductionLine.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductionLine +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_Type.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_Type.qbl new file mode 100644 index 0000000..fd112e9 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/DefaultValue_Type.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Type +} diff --git a/_Main/BL/Type_NewAssemblyOnlinePlanRow/Function_CalcName.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/Function_CalcName.qbl new file mode 100644 index 0000000..92e3125 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/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_NewAssemblyOnlinePlanRow/Method_Filter.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/Method_Filter.qbl new file mode 100644 index 0000000..d5e399d --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/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_NewAssemblyOnlinePlanRow/_ROOT_Type_NewAssemblyOnlinePlanRow.qbl b/_Main/BL/Type_NewAssemblyOnlinePlanRow/_ROOT_Type_NewAssemblyOnlinePlanRow.qbl new file mode 100644 index 0000000..6ae4f95 --- /dev/null +++ b/_Main/BL/Type_NewAssemblyOnlinePlanRow/_ROOT_Type_NewAssemblyOnlinePlanRow.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type NewAssemblyOnlinePlanRow +{ + #keys: '5[413988.0.1702175652][413988.0.1702175650][0.0.0][413988.0.1702175651][413988.0.1702175653]' + BaseType: Object + Description: '鏂扮増涓婄嚎璁″垝琛�' + StructuredName: 'NewAssemblyOnlinePlanRows' +} diff --git a/_Main/BL/Type_NewOfflinePlanCell/Function_CalcTotalQuantity.qbl b/_Main/BL/Type_NewOfflinePlanCell/Function_CalcTotalQuantity.qbl index f483fbe..78788bb 100644 --- a/_Main/BL/Type_NewOfflinePlanCell/Function_CalcTotalQuantity.qbl +++ b/_Main/BL/Type_NewOfflinePlanCell/Function_CalcTotalQuantity.qbl @@ -6,7 +6,7 @@ [* // lihongji Oct-11-2024 (created) - value := sum( this, Detailed, tempNOPC, true, tempNOPC.Quantity() ); + value := sum( this, Detailed, tempNOPCell, true, tempNOPCell.Quantity() ); this.TotalQuantity( value ); *] diff --git a/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl b/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl index 5718ef8..6dd9a3b 100644 --- a/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl +++ b/_Main/BL/Type_NewOfflinePlanCell/StaticMethod_RefreshOfflinePlan.qbl @@ -69,7 +69,16 @@ traverse ( nopt, NewOfflinePlanColumn, nopc ) { cell := select( nopr, NewOfflinePlanCell, tempNOPCell, tempNOPCell.NewOfflinePlanColumn() = nopc ); if ( isnull( cell ) ) { - cell := nopr.NewOfflinePlanCell( relnew ); + uptb := select( macroPlan, Unit.UnitPeriod.astype( UnitPeriodTimeBase ), tempUPTB, + tempUPTB.UnitID() = nopr.ProductionLine() and tempUPTB.StartDate() = nopc.StartDate() and tempUPTB.End().Date() = nopc.EndDate() ); + // ShiftPattern + sp := uptb.ShiftPattern(); + // ShiftDayTime + sdt := select( sp, ShiftDayTime, tempSDT, tempSDT.Name() = tempSDT.ShiftPattern().Name() ); + cell := nopr.NewOfflinePlanCell( relnew, + ShiftPatternName := guard( sp.Name(), "" ), + ShiftPatternStart := guard( sdt.StartDateTime().Format( "H:m" ), "" ), + ShiftPatternEnd := guard( sdt.EndDateTIme().Format( "H:m" ), "" ) ); cell.NewOfflinePlanColumn( relset, nopc ); } } @@ -79,15 +88,14 @@ 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 ) { - shiftPatternNOPCell := select( detailNOPR, NewOfflinePlanCell, tempNOPCell, tempNOPCell.ShiftPatternName() <> "" ); traverse ( detailNOPR, NewOfflinePlanCell, detailNOPCell ) { // 鐢熶骇涓嬬嚎璁″垝銆愪骇绾垮悎璁°�戝崟鍏冩牸 totalNOPRCell := select( totalNOPR, NewOfflinePlanCell, tempNOPCell, tempNOPCell.NewOfflinePlanColumn() = detailNOPCell.NewOfflinePlanColumn() ); if ( isnull( totalNOPRCell ) ) { totalNOPRCell := totalNOPR.NewOfflinePlanCell( relnew, - ShiftPatternName := shiftPatternNOPCell.ShiftPatternName(), - ShiftPatternStart := shiftPatternNOPCell.ShiftPatternStart(), - ShiftPatternEnd := shiftPatternNOPCell.ShiftPatternEnd() ); + ShiftPatternName := detailNOPCell.ShiftPatternName(), + ShiftPatternStart := detailNOPCell.ShiftPatternStart(), + ShiftPatternEnd := detailNOPCell.ShiftPatternEnd() ); totalNOPRCell.NewOfflinePlanColumn( relset, detailNOPCell.NewOfflinePlanColumn() ); // 璁剧疆鍒� // 灏嗘槑缁嗗崟鍏冩牸鍏宠仈鍒板悎璁″崟鍏冩牸 totalNOPRCell.Detailed( relinsert, detailNOPCell ); diff --git a/_Main/Sys/Repr/Global/NewAssemblyOnlinePlanCell.qrp b/_Main/Sys/Repr/Global/NewAssemblyOnlinePlanCell.qrp new file mode 100644 index 0000000..c96f0b8 --- /dev/null +++ b/_Main/Sys/Repr/Global/NewAssemblyOnlinePlanCell.qrp @@ -0,0 +1,49 @@ +Quintiq file version 2.0 +#parent: #root +TypeRepresentation NewAssemblyOnlinePlanCell +{ + AttributeRepresentation Order + { + Alignment: 'Right' + AttributeKey: '[413988.0.1702175762]' + } + AttributeRepresentation Quantity + { + AttributeKey: '[413988.0.1702175786]' + Conditional: + [ + DataRepresentation.Conditional + { + BackgroundColor: '$FF3399' + ConditionBody: 'object.Quantity() > 0.0' + ConversionBody: '' + DefaultBackgroundColor: false + InheritConversion: false + } + ] + } + AttributeRepresentation ShiftPatternEnd + { + Alignment: 'Right' + AttributeKey: '[413988.0.1702175759]' + Synonym: '鐝缁撴潫鏃堕棿' + } + AttributeRepresentation ShiftPatternName + { + Alignment: 'Right' + AttributeKey: '[413988.0.1702175771]' + Synonym: '鐝' + } + AttributeRepresentation ShiftPatternStart + { + Alignment: 'Right' + AttributeKey: '[413988.0.1702175768]' + Synonym: '鐝寮�濮嬫椂闂�' + } + AttributeRepresentation TotalQuantity + { + AttributeKey: '[413988.0.1702175783]' + Synonym: '鎬婚噺' + } + RelationRepresentation AsFirstNAOPCell { RelationKey: '[413988.0.1701591354]' Visibility: 'Normal' } +} diff --git a/_Main/Sys/Repr/Global/NewOfflinePlanCell.qrp b/_Main/Sys/Repr/Global/NewOfflinePlanCell.qrp index 99b2043..35f26fa 100644 --- a/_Main/Sys/Repr/Global/NewOfflinePlanCell.qrp +++ b/_Main/Sys/Repr/Global/NewOfflinePlanCell.qrp @@ -15,6 +15,7 @@ DataRepresentation.Conditional { BackgroundColor: '$FF3399' + ConditionBody: 'object.Quantity() > 0.0' ConversionBody: '' DefaultBackgroundColor: false InheritConversion: false diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def index 65f45f0..8dfc3c0 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: 6 + Taborder: 7 ] } Component bOfflinePlan @@ -47,6 +47,7 @@ Image: 'PALM_TREE' Label: 'Filing plan' Taborder: 3 + Visible: false ] } Component bPackagingPlan @@ -57,7 +58,7 @@ [ Image: 'SIXPACK_BEER' Label: 'Packaging plan' - Taborder: 4 + Taborder: 5 ] } Component bShippingActualData @@ -68,7 +69,7 @@ [ Image: 'TABLE_CONNECTION' Label: 'Shipping data' - Taborder: 5 + Taborder: 6 ] } Component bNewOfflinePlan @@ -82,6 +83,18 @@ Taborder: 2 ] } + Component bNewAssemblyOnlinePlan + { + #keys: '[413988.0.1701710485]' + BaseType: 'WebButton' + Properties: + [ + Description: '鏂扮増涓婄嚎璁″垝' + Image: 'PALM_TREE' + Label: 'Filing plan' + Taborder: 4 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bNewAssemblyOnlinePlan_OnClic.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bNewAssemblyOnlinePlan_OnClic.def new file mode 100644 index 0000000..9305f09 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bNewAssemblyOnlinePlan_OnClic.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: abgSecondDevelopmentPlan/bNewAssemblyOnlinePlan +Response OnClick () id:Response_MacroPlanner_abgSecondDevelopmentPlan_bNewAssemblyOnlinePlan_OnClick +{ + #keys: '[413988.0.1699330508]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + ApplicationScope.ViewManager().ResetUserViewById( "NewAssemblyOnlinePlan", true ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Component_pnlActions.def new file mode 100644 index 0000000..a50a477 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Component_pnlActions.def @@ -0,0 +1,40 @@ +Quintiq file version 2.0 +Component pnlActions +{ + #keys: '[413988.0.1703941978]' + BaseType: 'WebPanel' + Children: + [ + Component btnOk + { + #keys: '[413988.0.1703941982]' + BaseType: 'WebButton' + Properties: + [ + Label: 'OK' + Taborder: 0 + ] + } + Component btnCancel + { + #keys: '[413988.0.1703941984]' + 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_DialogAssemblyOnlinePlanProductionLineName/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Component_pnlContent.def new file mode 100644 index 0000000..e821fba --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Component_pnlContent.def @@ -0,0 +1,25 @@ +Quintiq file version 2.0 +Component pnlContent +{ + #keys: '[413988.0.1703941976]' + BaseType: 'WebPanel' + Children: + [ + Component efAssemblyOnlinePlanProductionLineName + { + #keys: '[413988.0.1703822319]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'MacroPlan.A_AssemblyOnlinePlanProductionLineName' + Label: '浜х嚎' + Taborder: 0 + ] + } + ] + Properties: + [ + Padding: 'true' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Response_pnlActions_btnCancel_OnClick.def new file mode 100644 index 0000000..8d5b692 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/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.1703941988]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/Response_pnlActions_btnOk_OnClick.def new file mode 100644 index 0000000..71916b3 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/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.1703941987]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.ApplyChanges(); + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/_ROOT_Component_DialogAssemblyOnlinePlanProductionLineName.def b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/_ROOT_Component_DialogAssemblyOnlinePlanProductionLineName.def new file mode 100644 index 0000000..1f3e133 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogAssemblyOnlinePlanProductionLineName/_ROOT_Component_DialogAssemblyOnlinePlanProductionLineName.def @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent DialogAssemblyOnlinePlanProductionLineName +{ + #keys: '[413988.0.1703941974]' + BaseType: 'WebForm' + Children: + [ + #child: pnlContent + #child: pnlActions + ] + Properties: + [ + Alignment: 'trailing' + EnterButton: 'btnOk' + EscapeButton: 'btnCancel' + ExcludeFromActiveComponent: true + Padding: 'false' + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_MatrixEditor515\043474.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_MatrixEditor515\043474.def" new file mode 100644 index 0000000..6a963a1 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_MatrixEditor515\043474.def" @@ -0,0 +1,110 @@ +Quintiq file version 2.0 +Component MatrixEditor515 id:MatrixEditor515_474 +{ + #keys: '[413988.0.1703400440]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCell568 + { + #keys: '[413988.0.1703400441]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractor802 + { + #keys: '[413988.0.1703400442]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[NewAssemblyOnlinePlanRow]' + Source: 'dhSelectedDetailNewAssemblyOnlinePlanRow' + Taborder: 0 + Transformation: 'Elements.NewAssemblyOnlinePlanCell' + ] + } + ] + Properties: + [ + Attributes: 'Quantity;Order' + Column: 'NewAssemblyOnlinePlanColumn' + Row: 'NewAssemblyOnlinePlanRow' + Taborder: 0 + ] + } + Component MatrixEditorRows710 + { + #keys: '[413988.0.1703400443]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor206 + { + #keys: '[413988.0.1703400444]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[NewAssemblyOnlinePlanRow]' + Source: 'dhSelectedDetailNewAssemblyOnlinePlanRow' + Taborder: 0 + Transformation: 'Elements' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'ProductionLine;ProductID' + Taborder: 1 + ] + } + Component MatrixEditorColumns748 + { + #keys: '[413988.0.1703400445]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor675 + { + #keys: '[413988.0.1703400446]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'NewAssemblyOnlinePlanColumn' + ] + } + ] + Properties: + [ + Legend: 'StartDate' + SortCriteria: 'StartDate' + Taborder: 2 + ] + } + #child: matrixEditorActionBarPage623_1 + #child: matrixeditorContextMenu229_1 + Component UserConfigurableInformation675 + { + #keys: '[413988.0.1703400452]' + BaseType: 'WebUserConfigurableInformation' + Properties: + [ + ObjectType: 'NewAssemblyOnlinePlanCell' + Taborder: 5 + Tooltip: 'VALUE( object.GetNewAssemblyOnlinePlanMatrixTooltip() )' + ] + } + ] + Properties: + [ + AllowAttributeConfiguration: true + AllowMultipleAttributes: true + Columns: 'MatrixEditorColumns748' + ContextMenu: 'matrixeditorContextMenu229' + Rows: 'MatrixEditorRows710' + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_MatrixEditor583\043969.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_MatrixEditor583\043969.def" new file mode 100644 index 0000000..239f973 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_MatrixEditor583\043969.def" @@ -0,0 +1,99 @@ +Quintiq file version 2.0 +Component MatrixEditor583 id:MatrixEditor583_969 +{ + #keys: '[413988.0.1703400520]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCell950 + { + #keys: '[413988.0.1703400521]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractor782 + { + #keys: '[413988.0.1703400522]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[NewAssemblyOnlinePlanRow]' + Source: 'dhSelectedTotalNewAssemblyOnlinePlanRow' + Taborder: 0 + Transformation: 'Elements.NewAssemblyOnlinePlanCell' + ] + } + ] + Properties: + [ + Attributes: 'TotalQuantity;ShiftPatternName;ShiftPatternStart;ShiftPatternEnd' + Column: 'NewAssemblyOnlinePlanColumn' + Row: 'NewAssemblyOnlinePlanRow' + Taborder: 0 + ] + } + Component MatrixEditorRows569 + { + #keys: '[413988.0.1703400523]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor195 + { + #keys: '[413988.0.1703400524]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'structured[NewAssemblyOnlinePlanRow]' + Source: 'dhSelectedTotalNewAssemblyOnlinePlanRow' + Taborder: 0 + Transformation: 'Elements' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'ProductionLine;ProductID' + Taborder: 1 + ] + } + Component MatrixEditorColumns473 + { + #keys: '[413988.0.1703400525]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor526 + { + #keys: '[413988.0.1703400526]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'NewAssemblyOnlinePlanColumn' + ] + } + ] + Properties: + [ + Legend: 'StartDate' + SortCriteria: 'StartDate' + Taborder: 2 + ] + } + #child: matrixEditorActionBarPage338_1 + #child: matrixeditorContextMenu267_1 + ] + Properties: + [ + AllowMultipleAttributes: true + Columns: 'MatrixEditorColumns473' + ContextMenu: 'matrixeditorContextMenu267' + Editable: false + Rows: 'MatrixEditorRows569' + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixEditorActionBarPage338\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixEditorActionBarPage338\0431.def" new file mode 100644 index 0000000..def5588 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixEditorActionBarPage338\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPage338 id:matrixEditorActionBarPage338_1 +{ + #keys: '[413988.0.1703400527]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 3 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixEditorActionBarPage623\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixEditorActionBarPage623\0431.def" new file mode 100644 index 0000000..ce5f7c7 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixEditorActionBarPage623\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPage623 id:matrixEditorActionBarPage623_1 +{ + #keys: '[413988.0.1703400447]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 3 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixeditorContextMenu229\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixeditorContextMenu229\0431.def" new file mode 100644 index 0000000..6cca57e --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixeditorContextMenu229\0431.def" @@ -0,0 +1,45 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenu229 id:matrixeditorContextMenu229_1 +{ + #keys: '[413988.0.1703400448]' + BaseType: 'matrixeditorContextMenu' + Children: + [ + Component mSeparator + { + #keys: '[413988.0.1703400449]' + BaseType: 'WebMenu' + Properties: + [ + Separator: true + Taborder: 2 + ] + } + Component mShowOrHide + { + #keys: '[413988.0.1703400450]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'POWER' + Taborder: 3 + Title: 'Show/Hide total' + ] + } + Component mAssemblyOnlinePlanProductionLineName + { + #keys: '[413988.0.1703400451]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'FACTORY' + Taborder: 4 + Title: '瑕佺敓鎴愮殑浜х嚎锛堟祴璇曚笓鐢級' + ] + } + ] + Properties: + [ + Taborder: 4 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixeditorContextMenu267\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixeditorContextMenu267\0431.def" new file mode 100644 index 0000000..c3c0a67 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_matrixeditorContextMenu267\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenu267 id:matrixeditorContextMenu267_1 +{ + #keys: '[413988.0.1703400528]' + BaseType: 'matrixeditorContextMenu' + Properties: + [ + Taborder: 4 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pDetail\043415.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pDetail\043415.def" new file mode 100644 index 0000000..a29064b --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pDetail\043415.def" @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +Component pDetail id:pDetail_415 +{ + #keys: '[413988.0.1703400439]' + BaseType: 'WebPanel' + Children: + [ + #child: MatrixEditor515_474 + ] + Properties: + [ + Border: true + Taborder: 1 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader\043136.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader\043136.def" new file mode 100644 index 0000000..4c7dcdd --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pHeader\043136.def" @@ -0,0 +1,46 @@ +Quintiq file version 2.0 +Component pHeader id:pHeader_136 +{ + #keys: '[413988.0.1699320629]' + BaseType: 'WebPanel' + Children: + [ + Component bDownload + { + #keys: '[413988.0.1699320630]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Download' + Taborder: 1 + ] + } + Component bOnlineQuantity + { + #keys: '[413988.0.1699320631]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Filing line volume' + Taborder: 2 + ] + } + Component bGenerateReport + { + #keys: '[413988.0.1699320632]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Generate' + Taborder: 0 + ] + } + ] + Properties: + [ + Border: true + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pTotal\04361.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pTotal\04361.def" new file mode 100644 index 0000000..6c8da7b --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Component_pTotal\04361.def" @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component pTotal id:pTotal_61 +{ + #keys: '[413988.0.1703400519]' + BaseType: 'WebPanel' + Children: + [ + #child: MatrixEditor583_969 + ] + Properties: + [ + Taborder: 2 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_matrixeditorContextMenu229_1_mAssemblyOnlinePlanProductionLineName_.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_matrixeditorContextMenu229_1_mAssemblyOnlinePlanProductionLineName_.def new file mode 100644 index 0000000..79cd699 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_matrixeditorContextMenu229_1_mAssemblyOnlinePlanProductionLineName_.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: matrixeditorContextMenu229_1/mAssemblyOnlinePlanProductionLineName +Response OnClick () id:Response_matrixeditorContextMenu229_1_mAssemblyOnlinePlanProductionLineName_OnClick +{ + #keys: '[413988.0.1703400437]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebMenu_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + dlg := construct( DialogAssemblyOnlinePlanProductionLineName ); + + ApplicationMacroPlanner.ShowFormModal( dlg ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_matrixeditorContextMenu229_1_mShowOrHide_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_matrixeditorContextMenu229_1_mShowOrHide_OnClick.def new file mode 100644 index 0000000..f5fa3be --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_matrixeditorContextMenu229_1_mShowOrHide_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: matrixeditorContextMenu229_1/mShowOrHide +Response OnClick () id:Response_matrixeditorContextMenu229_1_mShowOrHide_OnClick +{ + #keys: '[413988.0.1703400438]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebMenu_OnClick' + QuillAction + { + Body: + [* + pTotal.Visible( not pTotal.Visible() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bDownload_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bDownload_OnClick.def new file mode 100644 index 0000000..8356170 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bDownload_OnClick.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: pHeader_136/bDownload +Response OnClick () id:Response_pHeader_136_bDownload_OnClick +{ + #keys: '[413988.0.1699320628]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + binaryValue := NewAssemblyOnlinePlanCell::Download( MacroPlan ); + + Application.Download( "Filing plan.xlsx", binaryValue.AsBinaryData() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bGenerateReport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bGenerateReport_OnClick.def new file mode 100644 index 0000000..59ef675 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bGenerateReport_OnClick.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +#parent: pHeader_136/bGenerateReport +Response OnClick () id:Response_pHeader_136_bGenerateReport_OnClick +{ + #keys: '[413988.0.1699320626]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + nopt := maxselect( MacroPlan, NewOfflinePlanTable, tempNOPT, true, tempNOPT.SaveDateTime() ); + + NewAssemblyOnlinePlanCell::RefreshData( MacroPlan, nopt ); + + WebMessageBox::Success( Translations::A_VWED_Success() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bOnlineQuantity_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bOnlineQuantity_OnClick.def new file mode 100644 index 0000000..f09b82e --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/Response_pHeader_136_bOnlineQuantity_OnClick.def @@ -0,0 +1,27 @@ +Quintiq file version 2.0 +#parent: pHeader_136/bOnlineQuantity +Response OnClick () id:Response_pHeader_136_bOnlineQuantity_OnClick +{ + #keys: '[413988.0.1699320627]' + 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_FormNewAssemblyOnlinePlan/_ROOT_Component_FormNewAssemblyOnlinePlan.def b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/_ROOT_Component_FormNewAssemblyOnlinePlan.def new file mode 100644 index 0000000..66ada03 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormNewAssemblyOnlinePlan/_ROOT_Component_FormNewAssemblyOnlinePlan.def @@ -0,0 +1,73 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormNewAssemblyOnlinePlan +{ + #keys: '[413988.0.1699320466]' + BaseType: 'WebForm' + Children: + [ + #child: pHeader_136 + #child: pDetail_415 + #child: pTotal_61 + Component dhSelectedDetailNewAssemblyOnlinePlanRow + { + #keys: '[413988.0.1703400672]' + BaseType: 'WebDataHolder' + Databinding: 'structured[NewAssemblyOnlinePlanRow]*' + Children: + [ + Component deSelectedNewOfflinePlanRow id:deSelectedNewOfflinePlanRow_442 + { + #keys: '[413988.0.1703400673]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + FilterArguments: 'entities:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderCheckedEntities' + FixedFilter: 'object.Filter( entities ) and object.Type() = "1"' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'NewAssemblyOnlinePlanRow' + ] + } + ] + Properties: + [ + Taborder: 3 + ] + } + Component dhSelectedTotalNewAssemblyOnlinePlanRow + { + #keys: '[413988.0.1703400733]' + BaseType: 'WebDataHolder' + Databinding: 'structured[NewAssemblyOnlinePlanRow]*' + Children: + [ + Component deSelectedNewOfflinePlanRow681 id:deSelectedNewOfflinePlanRow681_979 + { + #keys: '[413988.0.1703400734]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + FilterArguments: 'entities:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderCheckedEntities' + FixedFilter: 'object.Filter( entities ) and object.Type() = "2"' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'NewAssemblyOnlinePlanRow' + ] + } + ] + Properties: + [ + Taborder: 4 + ] + } + ] + Properties: + [ + Description: '鏂扮増涓婄嚎璁″垝' + Title: 'Assembly online plan' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/NewAssemblyOnlinePlan.vw b/_Main/UI/MacroPlannerWebApp/Views/NewAssemblyOnlinePlan.vw new file mode 100644 index 0000000..422e55c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/NewAssemblyOnlinePlan.vw @@ -0,0 +1,215 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormNewAssemblyOnlinePlan + { + title: 'QMacroPlanner::FormNewAssemblyOnlinePlan' + shown: true + componentID: 'QMacroPlanner::FormNewAssemblyOnlinePlan' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 14 + columnPosition: 1 + columnSpan: 12 + } + components + { + FormNewAssemblyOnlinePlan_pHeader + { + sizeRatio: 1 + } + FormNewAssemblyOnlinePlan_pDetail + { + sizeRatio: 1 + } + FormNewAssemblyOnlinePlan_MatrixEditor515 + { + gridColor: '#c4c4c4' + totalHeaderWidth: 530 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QMacroPlanner::FormNewAssemblyOnlinePlan.MatrixEditor515' + state + { + cells + { + attributes + { + attribute_Quantity + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'Quantity' + } + attribute_Order + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 1 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'Order' + } + } + } + columns + { + sorting + { + criteria: "datamember:'StartDate'" + } + } + rows + { + sorting + { + criteria: "datamember:'ProductionLine';datamember:'ProductID'" + } + } + } + } + } + FormNewAssemblyOnlinePlan_pTotal + { + sizeRatio: 1 + } + FormNewAssemblyOnlinePlan_MatrixEditor583 + { + gridColor: '#c4c4c4' + totalHeaderWidth: 532 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QMacroPlanner::FormNewAssemblyOnlinePlan.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: 'BEAR' + description: '' + } + formatversion: 2 + id: 'NewAssemblyOnlinePlan' + name: 'NewAssemblyOnlinePlan' + isglobal: false + isroot: true +} -- Gitblit v1.9.3