From 21b1d88e5f7f751297b74ef19e49f787cacddcd5 Mon Sep 17 00:00:00 2001 From: lihongji <3117313295@qq.com> Date: 星期二, 25 六月 2024 09:34:13 +0800 Subject: [PATCH] 调拨计划 --- _Main/BL/Type_TransferPlanColumn/_ROOT_Type_TransferPlanColumn.qbl | 9 _Main/BL/Type_TransferPlanRow/_ROOT_Type_TransferPlanRow.qbl | 9 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPagePlan.def | 1 _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Response_pnlActions_btnOk_OnClick.def | 16 + _Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityKW.qbl | 7 _Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityZKM.qbl | 7 _Main/BL/Relations/Relation_TransferPlanCell_TransferPlanColumn_TransferPlanColumn_TransferPlan.qbl | 23 + _Main/BL/Type_TransferPlanCell/StaticMethod_GenerateReport.qbl | 71 ++++ _Main/BL/Type_TransferPlanRow/Attribute_Name.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def | 34 ++ _Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityZKG.qbl | 7 _Main/BL/Type_TransferPlanColumn/Attribute_ColumnDate.qbl | 8 _Main/BL/Type_TransferPlanColumn/TypeIndex_TransferPlanColumnTypeIndex.qbl | 12 _Main/UI/MacroPlannerWebApp/Views/TransferPlan.vw | 146 +++++++++ _Main/BL/Relations/Relation_TransferPlanCell_TransferPlanRow_TransferPlanRow_TransferPlanCell.qbl | 23 + _Main/BL/Type_TransferPlanColumn/Attribute_ColumnIndex.qbl | 7 _Main/BL/Type_TransferPlanRow/Function_CalcName.qbl | 13 _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Response_pnlActions_btnCancel_OnClick.def | 15 _Main/BL/Relations/Relation_TransferPlanRow_MacroPlan_MacroPlan_TransferPlanRow.qbl | 23 + _Main/BL/Type_TransferPlanRow/Attribute_RowNr.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bDownload_OnClick.def | 12 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bTransferPlan_OnClick.def | 16 + _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/_ROOT_Component_DialogUpperLimitOfTransferCapacity.def | 21 + _Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bGenerateReport_OnClick.def | 22 + _Main/BL/Relations/Relation_TransferPlanColumn_MacroPlan_MacroPlan_TransferPlanColumn.qbl | 23 + _Main/BL/Type_TransferPlanRow/TypeIndex_TransferPlanRowTypeIndex.qbl | 20 + _Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityPL.qbl | 7 _Main/BL/Type_TransferPlanCell/Attribute_Value.qbl | 7 _Main/BL/Type_TransferPlanRow/Attribute_ProductID.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def | 46 ++ _Main/BL/Type_TransferPlanCell/_ROOT_Type_TransferPlanCell.qbl | 9 _Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_matrixeditorContextMenu367.def | 10 _Main/BL/Type_TransferPlanRow/Attribute_SourceStockpoingPointID.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlActions.def | 40 ++ _Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_matrixEditorActionBarPage493.def | 10 _Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/_ROOT_Component_FormTransferPlan.def | 18 + _Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pContent.def | 14 _Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityAGW.qbl | 7 _Main/BL/Type_TransferPlanColumn/Attribute_ColumnName.qbl | 7 _Main/BL/Type_TransferPlanColumn/Function_CalcColumnName.qbl | 13 _Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlContent.def | 64 ++++ _Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_MatrixEditor872.def | 97 ++++++ _Main/BL/Type_TransferPlanRow/Attribute_TargetStockpoingPointID.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bMaximumDailyTransferCapacity_OnClick.def | 12 44 files changed, 944 insertions(+), 0 deletions(-) diff --git a/_Main/BL/Relations/Relation_TransferPlanCell_TransferPlanColumn_TransferPlanColumn_TransferPlan.qbl b/_Main/BL/Relations/Relation_TransferPlanCell_TransferPlanColumn_TransferPlanColumn_TransferPlan.qbl new file mode 100644 index 0000000..67fa6b9 --- /dev/null +++ b/_Main/BL/Relations/Relation_TransferPlanCell_TransferPlanColumn_TransferPlanColumn_TransferPlan.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation TransferPlanCell_TransferPlanColumn_TransferPlanColumn_TransferPlanCell +{ + #keys: '1[413988.0.1292031952]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide TransferPlanColumn + { + #keys: '3[413988.0.1292031954][413988.0.1292031953][413988.0.1292031955]' + Cardinality: '0to1' + ObjectDefinition: TransferPlanCell + OwningSide: 'Reference' + } + RelationSide.RightSide TransferPlanCell + { + #keys: '3[413988.0.1292031957][413988.0.1292031956][413988.0.1292031958]' + Cardinality: '1toN' + ObjectDefinition: TransferPlanColumn + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_TransferPlanCell_TransferPlanRow_TransferPlanRow_TransferPlanCell.qbl b/_Main/BL/Relations/Relation_TransferPlanCell_TransferPlanRow_TransferPlanRow_TransferPlanCell.qbl new file mode 100644 index 0000000..a49adaa --- /dev/null +++ b/_Main/BL/Relations/Relation_TransferPlanCell_TransferPlanRow_TransferPlanRow_TransferPlanCell.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation TransferPlanCell_TransferPlanRow_TransferPlanRow_TransferPlanCell +{ + #keys: '1[413988.0.1292031965]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide TransferPlanRow + { + #keys: '3[413988.0.1292031967][413988.0.1292031966][413988.0.1292031968]' + Cardinality: '0to1' + ObjectDefinition: TransferPlanCell + OwningSide: 'Reference' + } + RelationSide.RightSide TransferPlanCell + { + #keys: '3[413988.0.1292031970][413988.0.1292031969][413988.0.1292031971]' + Cardinality: '1toN' + ObjectDefinition: TransferPlanRow + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_TransferPlanColumn_MacroPlan_MacroPlan_TransferPlanColumn.qbl b/_Main/BL/Relations/Relation_TransferPlanColumn_MacroPlan_MacroPlan_TransferPlanColumn.qbl new file mode 100644 index 0000000..7d3b50b --- /dev/null +++ b/_Main/BL/Relations/Relation_TransferPlanColumn_MacroPlan_MacroPlan_TransferPlanColumn.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation TransferPlanColumn_MacroPlan_MacroPlan_TransferPlanColumn +{ + #keys: '1[413988.0.1292031939]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1292031941][413988.0.1292031940][413988.0.1292031942]' + Cardinality: '0to1' + ObjectDefinition: TransferPlanColumn + OwningSide: 'Reference' + } + RelationSide.RightSide TransferPlanColumn + { + #keys: '3[413988.0.1292031944][413988.0.1292031943][413988.0.1292031945]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_TransferPlanRow_MacroPlan_MacroPlan_TransferPlanRow.qbl b/_Main/BL/Relations/Relation_TransferPlanRow_MacroPlan_MacroPlan_TransferPlanRow.qbl new file mode 100644 index 0000000..047b702 --- /dev/null +++ b/_Main/BL/Relations/Relation_TransferPlanRow_MacroPlan_MacroPlan_TransferPlanRow.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation TransferPlanRow_MacroPlan_MacroPlan_TransferPlanRow +{ + #keys: '1[413988.0.1292031926]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1292031928][413988.0.1292031927][413988.0.1292031929]' + Cardinality: '0to1' + ObjectDefinition: TransferPlanRow + OwningSide: 'Reference' + } + RelationSide.RightSide TransferPlanRow + { + #keys: '3[413988.0.1292031931][413988.0.1292031930][413988.0.1292031932]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityAGW.qbl b/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityAGW.qbl new file mode 100644 index 0000000..786db90 --- /dev/null +++ b/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityAGW.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UpperLimitOfTransferCapacityAGW +{ + #keys: '3[413988.0.1291510952][413988.0.1291510951][413988.0.1291510953]' + ValueType: Number +} diff --git a/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityKW.qbl b/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityKW.qbl new file mode 100644 index 0000000..01784de --- /dev/null +++ b/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityKW.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UpperLimitOfTransferCapacityKW +{ + #keys: '3[413988.0.1291510942][413988.0.1291510941][413988.0.1291510943]' + ValueType: Number +} diff --git a/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityPL.qbl b/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityPL.qbl new file mode 100644 index 0000000..66d7b43 --- /dev/null +++ b/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityPL.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UpperLimitOfTransferCapacityPL +{ + #keys: '3[413988.0.1291510932][413988.0.1291510931][413988.0.1291510933]' + ValueType: Number +} diff --git a/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityZKG.qbl b/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityZKG.qbl new file mode 100644 index 0000000..4154a27 --- /dev/null +++ b/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityZKG.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UpperLimitOfTransferCapacityZKG +{ + #keys: '3[413988.0.1291510909][413988.0.1291510908][413988.0.1291510910]' + ValueType: Number +} diff --git a/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityZKM.qbl b/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityZKM.qbl new file mode 100644 index 0000000..1f5e8a7 --- /dev/null +++ b/_Main/BL/Type_MacroPlan/Attribute_UpperLimitOfTransferCapacityZKM.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute UpperLimitOfTransferCapacityZKM +{ + #keys: '3[413988.0.1291510922][413988.0.1291510921][413988.0.1291510923]' + ValueType: Number +} diff --git a/_Main/BL/Type_TransferPlanCell/Attribute_Value.qbl b/_Main/BL/Type_TransferPlanCell/Attribute_Value.qbl new file mode 100644 index 0000000..d398224 --- /dev/null +++ b/_Main/BL/Type_TransferPlanCell/Attribute_Value.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Value +{ + #keys: '3[413988.0.1292032065][413988.0.1292032064][413988.0.1292032066]' + ValueType: String +} diff --git a/_Main/BL/Type_TransferPlanCell/StaticMethod_GenerateReport.qbl b/_Main/BL/Type_TransferPlanCell/StaticMethod_GenerateReport.qbl new file mode 100644 index 0000000..3fa0a72 --- /dev/null +++ b/_Main/BL/Type_TransferPlanCell/StaticMethod_GenerateReport.qbl @@ -0,0 +1,71 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GenerateReport ( + MacroPlan macroPlan +) +{ + TextBody: + [* + macroPlan.TransferPlanRow( relflush ); + macroPlan.TransferPlanColumn( relflush ); + + rowNr := 0; + + // 鐢熸垚璋冩嫧璁″垝 + traverse ( macroPlan, Unit, u, u.HasCapacityTypeTransportQuantity() ) { + traverse ( u, Lane.LaneLeg.Trip, t ) { + traverse ( t, ProductInTrip, pit, pit.Quantity() > 0.0 ) { + // 鎵捐 + tpr := TransferPlanRow::FindTransferPlanRowTypeIndex( t.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().Name(), + t.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().Name(), + pit.Product_MP().ID() ); + if ( isnull( tpr ) ) { + tpr := macroPlan.TransferPlanRow( relnew, + RowNr := rowNr, + SourceStockpoingPointID := t.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().Name(), + TargetStockpoingPointID := t.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().Name(), + ProductID := pit.Product_MP().ID() ); + } + + // 鎵惧垪 + tpc := TransferPlanColumn::FindTransferPlanColumnTypeIndex( t.Departure().Date() ); + if ( isnull( tpc ) ) { + tpc := macroPlan.TransferPlanColumn( relnew, + ColumnDate := t.Departure().Date() ); + } + + // 璧嬪�煎崟鍏冩牸 + cell := select( tpc, TransferPlanCell, tempTPC, tempTPC.TransferPlanRow() = tpr ); + if ( isnull( cell ) ) { + cell := tpc.TransferPlanCell( relnew, Value := [String]pit.Quantity().Round( 0 ) ); + cell.TransferPlanRow( relset, tpr ); + } else { + cell.Value( [String] ( [Number]cell.Value() + pit.Quantity().Round( 0 ) ) ); + } + } + } + } + + // 琛ラ綈绌哄垪 + indexDate := minselect( macroPlan, TransferPlanColumn, tempTPC, true, tempTPC.ColumnDate() ).ColumnDate(); + endDate := maxselect( macroPlan, TransferPlanColumn, tempTPC, true, tempTPC.ColumnDate() ).ColumnDate(); + while ( indexDate <= endDate ) { + if ( isnull( TransferPlanColumn::FindTransferPlanColumnTypeIndex( indexDate ) ) ) { + macroPlan.TransferPlanColumn( relnew, + ColumnDate := indexDate ); + } + indexDate := indexDate + 1; + } + + + // 鐢熸垚浜у搧鍒� + minDateTPC := macroPlan.TransferPlanColumn( relnew, + ColumnDate := Date::MinDate() ); + traverse ( macroPlan, TransferPlanRow, tpr ) { + productCell := minDateTPC.TransferPlanCell( relnew, Value := tpr.ProductID() ); + productCell.TransferPlanRow( relset, tpr ); + } + + // 璋冩嫧鏁伴噺璋冩暣 + *] +} diff --git a/_Main/BL/Type_TransferPlanCell/_ROOT_Type_TransferPlanCell.qbl b/_Main/BL/Type_TransferPlanCell/_ROOT_Type_TransferPlanCell.qbl new file mode 100644 index 0000000..9aff6e7 --- /dev/null +++ b/_Main/BL/Type_TransferPlanCell/_ROOT_Type_TransferPlanCell.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type TransferPlanCell +{ + #keys: '5[413988.0.1292031923][413988.0.1292031921][0.0.0][413988.0.1292031922][413988.0.1292031924]' + BaseType: Object + StructuredName: 'TransferPlanCells' +} diff --git a/_Main/BL/Type_TransferPlanColumn/Attribute_ColumnDate.qbl b/_Main/BL/Type_TransferPlanColumn/Attribute_ColumnDate.qbl new file mode 100644 index 0000000..86ce75b --- /dev/null +++ b/_Main/BL/Type_TransferPlanColumn/Attribute_ColumnDate.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ColumnDate +{ + #keys: '3[413988.0.1292032055][413988.0.1292032054][413988.0.1292032056]' + IsReadOnly: true + ValueType: Date +} diff --git a/_Main/BL/Type_TransferPlanColumn/Attribute_ColumnIndex.qbl b/_Main/BL/Type_TransferPlanColumn/Attribute_ColumnIndex.qbl new file mode 100644 index 0000000..7b327f5 --- /dev/null +++ b/_Main/BL/Type_TransferPlanColumn/Attribute_ColumnIndex.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ColumnIndex +{ + #keys: '3[413988.0.1292032025][413988.0.1292032024][413988.0.1292032026]' + ValueType: Number +} diff --git a/_Main/BL/Type_TransferPlanColumn/Attribute_ColumnName.qbl b/_Main/BL/Type_TransferPlanColumn/Attribute_ColumnName.qbl new file mode 100644 index 0000000..a664e11 --- /dev/null +++ b/_Main/BL/Type_TransferPlanColumn/Attribute_ColumnName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ColumnName +{ + #keys: '3[413988.0.1292032045][413988.0.1292032044][413988.0.1292032046]' + ValueType: String +} diff --git a/_Main/BL/Type_TransferPlanColumn/Function_CalcColumnName.qbl b/_Main/BL/Type_TransferPlanColumn/Function_CalcColumnName.qbl new file mode 100644 index 0000000..61e2036 --- /dev/null +++ b/_Main/BL/Type_TransferPlanColumn/Function_CalcColumnName.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcColumnName +{ + TextBody: + [* + // lihongji Jun-24-2024 (created) + + value := ifexpr( this.ColumnDate().IsMinInfinity(), "", this.ColumnDate().Format( "Y/M2/D2" ) ); + + this.ColumnName( value ); + *] +} diff --git a/_Main/BL/Type_TransferPlanColumn/TypeIndex_TransferPlanColumnTypeIndex.qbl b/_Main/BL/Type_TransferPlanColumn/TypeIndex_TransferPlanColumnTypeIndex.qbl new file mode 100644 index 0000000..eb1cf36 --- /dev/null +++ b/_Main/BL/Type_TransferPlanColumn/TypeIndex_TransferPlanColumnTypeIndex.qbl @@ -0,0 +1,12 @@ +Quintiq file version 2.0 +#parent: #root +TypeIndex TransferPlanColumnTypeIndex +{ + Attributes: + [ + TypeIndexAttribute + { + ModelElement: ColumnDate + } + ] +} diff --git a/_Main/BL/Type_TransferPlanColumn/_ROOT_Type_TransferPlanColumn.qbl b/_Main/BL/Type_TransferPlanColumn/_ROOT_Type_TransferPlanColumn.qbl new file mode 100644 index 0000000..49de9fe --- /dev/null +++ b/_Main/BL/Type_TransferPlanColumn/_ROOT_Type_TransferPlanColumn.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type TransferPlanColumn +{ + #keys: '5[413988.0.1292031918][413988.0.1292031916][0.0.0][413988.0.1292031917][413988.0.1292031919]' + BaseType: Object + StructuredName: 'TransferPlanColumns' +} diff --git a/_Main/BL/Type_TransferPlanRow/Attribute_Name.qbl b/_Main/BL/Type_TransferPlanRow/Attribute_Name.qbl new file mode 100644 index 0000000..e0be8b2 --- /dev/null +++ b/_Main/BL/Type_TransferPlanRow/Attribute_Name.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[413988.0.1292032011][413988.0.1292032010][413988.0.1292032012]' + ValueType: String +} diff --git a/_Main/BL/Type_TransferPlanRow/Attribute_ProductID.qbl b/_Main/BL/Type_TransferPlanRow/Attribute_ProductID.qbl new file mode 100644 index 0000000..6135603 --- /dev/null +++ b/_Main/BL/Type_TransferPlanRow/Attribute_ProductID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[413988.0.1292031981][413988.0.1292031980][413988.0.1292031982]' + IsReadOnly: true + ValueType: String +} diff --git a/_Main/BL/Type_TransferPlanRow/Attribute_RowNr.qbl b/_Main/BL/Type_TransferPlanRow/Attribute_RowNr.qbl new file mode 100644 index 0000000..be1fa8f --- /dev/null +++ b/_Main/BL/Type_TransferPlanRow/Attribute_RowNr.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute RowNr +{ + #keys: '3[413988.0.1292032032][413988.0.1292032031][413988.0.1292032033]' + ValueType: Number +} diff --git a/_Main/BL/Type_TransferPlanRow/Attribute_SourceStockpoingPointID.qbl b/_Main/BL/Type_TransferPlanRow/Attribute_SourceStockpoingPointID.qbl new file mode 100644 index 0000000..63873ca --- /dev/null +++ b/_Main/BL/Type_TransferPlanRow/Attribute_SourceStockpoingPointID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SourceStockpoingPointID +{ + #keys: '3[413988.0.1292031991][413988.0.1292031990][413988.0.1292031992]' + IsReadOnly: true + ValueType: String +} diff --git a/_Main/BL/Type_TransferPlanRow/Attribute_TargetStockpoingPointID.qbl b/_Main/BL/Type_TransferPlanRow/Attribute_TargetStockpoingPointID.qbl new file mode 100644 index 0000000..dfec058 --- /dev/null +++ b/_Main/BL/Type_TransferPlanRow/Attribute_TargetStockpoingPointID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TargetStockpoingPointID +{ + #keys: '3[413988.0.1292032001][413988.0.1292032000][413988.0.1292032002]' + IsReadOnly: true + ValueType: String +} diff --git a/_Main/BL/Type_TransferPlanRow/Function_CalcName.qbl b/_Main/BL/Type_TransferPlanRow/Function_CalcName.qbl new file mode 100644 index 0000000..30e44df --- /dev/null +++ b/_Main/BL/Type_TransferPlanRow/Function_CalcName.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcName +{ + TextBody: + [* + // lihongji Jun-24-2024 (created) + + value := this.SourceStockpoingPointID() + " to " + this.TargetStockpoingPointID(); + + this.Name( value ); + *] +} diff --git a/_Main/BL/Type_TransferPlanRow/TypeIndex_TransferPlanRowTypeIndex.qbl b/_Main/BL/Type_TransferPlanRow/TypeIndex_TransferPlanRowTypeIndex.qbl new file mode 100644 index 0000000..9ac1725 --- /dev/null +++ b/_Main/BL/Type_TransferPlanRow/TypeIndex_TransferPlanRowTypeIndex.qbl @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +TypeIndex TransferPlanRowTypeIndex +{ + Attributes: + [ + TypeIndexAttribute + { + ModelElement: SourceStockpoingPointID + } + TypeIndexAttribute + { + ModelElement: TargetStockpoingPointID + } + TypeIndexAttribute + { + ModelElement: ProductID + } + ] +} diff --git a/_Main/BL/Type_TransferPlanRow/_ROOT_Type_TransferPlanRow.qbl b/_Main/BL/Type_TransferPlanRow/_ROOT_Type_TransferPlanRow.qbl new file mode 100644 index 0000000..68692d7 --- /dev/null +++ b/_Main/BL/Type_TransferPlanRow/_ROOT_Type_TransferPlanRow.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type TransferPlanRow +{ + #keys: '5[413988.0.1292031913][413988.0.1292031911][0.0.0][413988.0.1292031912][413988.0.1292031914]' + BaseType: Object + StructuredName: 'TransferPlanRows' +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPagePlan.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPagePlan.def index cde4c13..456f8a2 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPagePlan.def +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPagePlan.def @@ -4,5 +4,6 @@ Children: [ #child: ActionBarGroupPlanViews + #child: abgSecondDevelopmentPlan ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def new file mode 100644 index 0000000..c40d27d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgSecondDevelopmentPlan.def @@ -0,0 +1,34 @@ +Quintiq file version 2.0 +Component abgSecondDevelopmentPlan +{ + #keys: '[413988.0.1290310419]' + BaseType: 'WebActionBarGroup' + Children: + [ + Component bTransferPlan + { + #keys: '[413988.0.1290300652]' + BaseType: 'WebButton' + Properties: + [ + Image: 'HAND_TRUCK_BOX' + Label: 'Transfer plan' + Taborder: 0 + ] + } + Component bBlank + { + #keys: '[413988.0.1291640400]' + BaseType: 'WebButton' + Properties: + [ + Taborder: 1 + ] + } + ] + Properties: + [ + Category: 'Actions-2' + Taborder: 3 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bTransferPlan_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bTransferPlan_OnClick.def new file mode 100644 index 0000000..af99f70 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_abgSecondDevelopmentPlan_bTransferPlan_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: abgSecondDevelopmentPlan/bTransferPlan +Response OnClick () id:Response_MacroPlanner_abgSecondDevelopmentPlan_bTransferPlan_OnClick +{ + #keys: '[413988.0.1290322113]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + ApplicationScope.ViewManager().ResetUserViewById( "TransferPlan", true); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlActions.def new file mode 100644 index 0000000..7ac917e --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlActions.def @@ -0,0 +1,40 @@ +Quintiq file version 2.0 +Component pnlActions +{ + #keys: '[413988.0.1292313213]' + BaseType: 'WebPanel' + Children: + [ + Component btnOk + { + #keys: '[413988.0.1292313217]' + BaseType: 'WebButton' + Properties: + [ + Label: 'OK' + Taborder: 0 + ] + } + Component btnCancel + { + #keys: '[413988.0.1292313219]' + 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_DialogUpperLimitOfTransferCapacity/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlContent.def new file mode 100644 index 0000000..d0331a8 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Component_pnlContent.def @@ -0,0 +1,64 @@ +Quintiq file version 2.0 +Component pnlContent +{ + #keys: '[413988.0.1292313211]' + BaseType: 'WebPanel' + Children: + [ + Component npUpperLimitOfTransferCapacityZKG + { + #keys: '[413988.0.1292313261]' + BaseType: 'WebNumberPicker' + Properties: + [ + Label: 'ZKG(pcs)' + Taborder: 0 + ] + } + Component npUpperLimitOfTransferCapacityZKM + { + #keys: '[413988.0.1292313339]' + BaseType: 'WebNumberPicker' + Properties: + [ + Label: 'ZKM(pcs)' + Taborder: 1 + ] + } + Component npUpperLimitOfTransferCapacityPL + { + #keys: '[413988.0.1292313341]' + BaseType: 'WebNumberPicker' + Properties: + [ + Label: 'PL(pcs)' + Taborder: 2 + ] + } + Component npUpperLimitOfTransferCapacityKW + { + #keys: '[413988.0.1292313343]' + BaseType: 'WebNumberPicker' + Properties: + [ + Label: 'KW(pcs)' + Taborder: 3 + ] + } + Component npUpperLimitOfTransferCapacityAGW + { + #keys: '[413988.0.1292313345]' + BaseType: 'WebNumberPicker' + Properties: + [ + Label: 'AGW(pcs)' + Taborder: 4 + ] + } + ] + Properties: + [ + Padding: 'true' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Response_pnlActions_btnCancel_OnClick.def new file mode 100644 index 0000000..2917a99 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/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.1292313223]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/Response_pnlActions_btnOk_OnClick.def new file mode 100644 index 0000000..14ca6da --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/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.1292313222]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.ApplyChanges(); + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/_ROOT_Component_DialogUpperLimitOfTransferCapacity.def b/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/_ROOT_Component_DialogUpperLimitOfTransferCapacity.def new file mode 100644 index 0000000..338e32f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogUpperLimitOfTransferCapacity/_ROOT_Component_DialogUpperLimitOfTransferCapacity.def @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent DialogUpperLimitOfTransferCapacity +{ + #keys: '[413988.0.1292313209]' + 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_FormTransferPlan/Component_MatrixEditor872.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_MatrixEditor872.def new file mode 100644 index 0000000..7db9d74 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_MatrixEditor872.def @@ -0,0 +1,97 @@ +Quintiq file version 2.0 +Component MatrixEditor872 +{ + #keys: '[413988.0.1290322866]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCell590 + { + #keys: '[413988.0.1290322867]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractor862 + { + #keys: '[413988.0.1290322868]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'TransferPlanColumn.TransferPlanCell' + ] + } + ] + Properties: + [ + Attributes: 'Value' + Column: 'TransferPlanColumn' + Row: 'TransferPlanRow' + Taborder: 0 + ] + } + Component MatrixEditorRows481 + { + #keys: '[413988.0.1290322871]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor661 + { + #keys: '[413988.0.1290322872]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'TransferPlanRow' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'SourceStockpoingPointID;TargetStockpoingPointID;ProductID' + Taborder: 1 + ] + } + Component MatrixEditorColumns681 + { + #keys: '[413988.0.1290322875]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor445 + { + #keys: '[413988.0.1290322876]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'TransferPlanColumn' + ] + } + ] + Properties: + [ + Legend: 'ColumnName' + SortCriteria: 'ColumnDate' + Taborder: 2 + ] + } + #child: matrixEditorActionBarPage493 + #child: matrixeditorContextMenu367 + ] + Properties: + [ + Columns: 'MatrixEditorColumns681' + ContextMenu: 'matrixeditorContextMenu367' + Rows: 'MatrixEditorRows481' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_matrixEditorActionBarPage493.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_matrixEditorActionBarPage493.def new file mode 100644 index 0000000..8117f9f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_matrixEditorActionBarPage493.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPage493 +{ + #keys: '[413988.0.1290322879]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 3 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_matrixeditorContextMenu367.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_matrixeditorContextMenu367.def new file mode 100644 index 0000000..263a486 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_matrixeditorContextMenu367.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenu367 +{ + #keys: '[413988.0.1290322882]' + BaseType: 'matrixeditorContextMenu' + Properties: + [ + Taborder: 4 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pContent.def new file mode 100644 index 0000000..957b4ac --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pContent.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component pContent +{ + #keys: '[413988.0.1290370837]' + BaseType: 'WebPanel' + Children: + [ + #child: MatrixEditor872 + ] + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def new file mode 100644 index 0000000..74595a4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Component_pHeader.def @@ -0,0 +1,46 @@ +Quintiq file version 2.0 +Component pHeader +{ + #keys: '[413988.0.1290370823]' + BaseType: 'WebPanel' + Children: + [ + Component bDownload + { + #keys: '[413988.0.1290361218]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Download' + Taborder: 0 + ] + } + Component bMaximumDailyTransferCapacity + { + #keys: '[413988.0.1290361230]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Maximum daily transfer capacity' + Taborder: 1 + ] + } + Component bGenerateReport + { + #keys: '[413988.0.1292223250]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Generate report' + Taborder: 2 + ] + } + ] + Properties: + [ + Border: true + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bDownload_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bDownload_OnClick.def new file mode 100644 index 0000000..17323ed --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bDownload_OnClick.def @@ -0,0 +1,12 @@ +Quintiq file version 2.0 +#parent: pHeader/bDownload +Response OnClick () id:Response_pHeader_bDownload_OnClick +{ + #keys: '[413988.0.1292330526]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bGenerateReport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bGenerateReport_OnClick.def new file mode 100644 index 0000000..2465dff --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bGenerateReport_OnClick.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: pHeader/bGenerateReport +Response OnClick () id:Response_pHeader_bGenerateReport_OnClick +{ + #keys: '[413988.0.1292330696]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + TransferPlanCell::GenerateReport( MacroPlan ); + + WebMessageBox::Success( Translations::A_VWED_Success() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bMaximumDailyTransferCapacity_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bMaximumDailyTransferCapacity_OnClick.def new file mode 100644 index 0000000..fd89de9 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/Response_pHeader_bMaximumDailyTransferCapacity_OnClick.def @@ -0,0 +1,12 @@ +Quintiq file version 2.0 +#parent: pHeader/bMaximumDailyTransferCapacity +Response OnClick () id:Response_pHeader_bMaximumDailyTransferCapacity_OnClick +{ + #keys: '[413988.0.1292330611]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/_ROOT_Component_FormTransferPlan.def b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/_ROOT_Component_FormTransferPlan.def new file mode 100644 index 0000000..dd8a2b6 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormTransferPlan/_ROOT_Component_FormTransferPlan.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormTransferPlan +{ + #keys: '[413988.0.1290321873]' + BaseType: 'WebForm' + Children: + [ + #child: pContent + #child: pHeader + ] + Properties: + [ + Image: 'HAND_TRUCK_BOX' + Title: 'Transfer plan' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/TransferPlan.vw b/_Main/UI/MacroPlannerWebApp/Views/TransferPlan.vw new file mode 100644 index 0000000..0cda1ef --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/TransferPlan.vw @@ -0,0 +1,146 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormTransferPlan + { + title: 'QMacroPlanner::FormTransferPlan' + shown: true + componentID: 'QMacroPlanner::FormTransferPlan' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 14 + columnPosition: 1 + columnSpan: 12 + } + components: null + } + form_FormOptimizerPuzzles + { + title: 'Optimizer Puzzles' + shown: false + componentID: 'FormOptimizerPuzzles' + layout + { + mode: 'dockright' + index: 0 + } + components + { + FormOptimizerPuzzles_ListOptimizerPuzzles + { + } + FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: 'Name' + index: 1 + subtotals: '' + width: 109 + } + column_Description + { + columnId: 'Description' + dataPath: 'Description' + dataType: 'string' + title: 'Description' + index: 2 + subtotals: '' + width: 207 + } + } + } + } + form_FormKPI + { + title: 'KPI Dashboard' + shown: true + componentID: 'FormKPI' + layout + { + mode: 'dockright' + index: 1 + } + components + { + FormKPI_PanelKPI + { + sizeRatio: 1 + activeChild: 'PanelKPISelection' + } + FormKPI_PanelKPIDashboard + { + sizeRatio: 1 + } + FormKPI_PanelKPISelection + { + sizeRatio: 1 + } + FormKPI_ListKPISelection + { + QuillViewData + { + Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume' + } + } + FormKPI_DataSetLevelKPISelection + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + title: 'All constraints' + index: 0 + subtotals: '' + width: 32 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: 'Name' + index: 1 + subtotals: '' + width: 200 + } + } + } + } + } + userconfigurableinformation + { + } + page: '' + group: '' + index: 0 + image: 'WALLET_OPEN' + description: '' + } + formatversion: 2 + id: 'TransferPlan' + name: 'TransferPlan' + isglobal: false + isroot: true +} -- Gitblit v1.9.3