From 3cf4ce0c94be1a8928ffe280429d6297583b3b8d Mon Sep 17 00:00:00 2001
From: rislai <risheng.lai@capgemini.com>
Date: 星期三, 07 八月 2024 17:23:30 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
---
_Main/BL/Type_MachineLogisticsCostReportRow/_ROOT_Type_MachineLogisticsCostReportRow.qbl | 9
_Main/BL/Type_PackagingPlanCell/StaticMethod_GenerateReport.qbl | 12
_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl | 21
_Main/BL/Type_MachiningPipelineReport/Method_GetColumnByUnit.qbl | 17
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPipelineReport_MenuEnginePipelineReport_OnC.def | 16
_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCUnit.qbl | 2
_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLUnit.qbl | 2
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_StorageFeesForRentedWarehouses.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_matrixeditorContextMenu253.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def | 2
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bMachineLogisticsCostReport_OnCli.def | 16
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_UnitPriceOfWoodenCrate.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelPeriod_DateSelectorEnd_OnChanged.def | 2
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_QuantityOfWoodenCrates.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Component_PanelExport.def | 10
_Main/BL/Type_MachineLogisticsCostReportCell/_ROOT_Type_MachineLogisticsCostReportCell.qbl | 9
_Main/BL/Type_MachineLogisticsCostReportRow/Attribute_Factory.qbl | 7
_Main/UI/MacroPlannerWebApp/Views/Engine_pipleline_report.vw | 150 -----
_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Component_PanelExport#570.def | 10
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_OutboundExpensesForRentedWarehouses.qbl | 8
_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultDLUnit.qbl | 2
_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultDLUnit.qbl | 2
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def | 21
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_UnpackingCost.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_pHeader.def | 46 +
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPipelineReport_MenuMachiningPipelineReport_.def | 16
_Main/BL/Type_MachiningPipelineRow/Method_SetCellProductionValue.qbl | 6
_Main/BL/Type_TransferPlanRow/Attribute_Category.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Response_pHeader_bRefresh_OnClick.def | 20
_Main/UI/MacroPlannerWebApp/Views/Machining_pipeline_report_view.vw | 281 ++++++++++
_Main/BL/Type_MachineLogisticsCostReportRow/Attribute_Category.qbl | 7
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_RentalWarehouseStorageFees.qbl | 8
_Main/BL/Type_MachiningPipelineRow/Method_SetCellInventoryValue.qbl | 6
_Main/UI/MacroPlannerWebApp/Views/MachineLogisticsCostReport.vw | 89 +++
_Main/BL/Relations/Relation_MachineLogisticsCostReportColumn_MacroPlan_MacroPlan_MachineLogisti.qbl | 23
_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl | 21
_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelExport_570_ButtonSearch_OnClick#648.def | 16
_Main/BL/Relations/Relation_MachineLogisticsCostReportRow_MacroPlan_MacroPlan_MachineLogisticsC.qbl | 23
_Main/BL/Type_MachineLogisticsCostReportColumn/_ROOT_Type_MachineLogisticsCostReportColumn.qbl | 9
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_WoodenCrateCost.qbl | 8
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_Coefficient.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelPeriod_325_DateSelectorStart_OnChanged.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_pContent.def | 14
_Main/BL/Type_EnginePipelineSource/StaticMethod_Initialize.qbl | 81 +-
_Main/BL/Type_MachineLogisticsCostReportColumn/Attribute_StartDate.qbl | 7
_Main/BL/Type_EnginePipelineRow/Method_SetCellProductionValue.qbl | 6
_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl | 75 ++
_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_MatrixEditor912.def | 98 +++
_Main/BL/Relations/Relation_MachineLogisticsCostReportColumn_MachineLogisticsCostReportCell_Mac.qbl | 23
_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultCCUnit.qbl | 2
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_TotalCost.qbl | 8
_Main/BL/Type_MachiningPipelineRow/Method_SetCellAssemblyValue.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelPeriod_325_DateSelectorEnd_OnChanged.def | 2
_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultCCUnit.qbl | 2
_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelPeriod_DateSelectorStart_OnChanged.def | 2
_Main/BL/Type_EnginePipelineReport/Method_GetColumnByUnit.qbl | 17
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPipelineReport.def | 35 +
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_BufferPaperCost.qbl | 8
/dev/null | 16
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_TransferCost.qbl | 8
_Main/BL/Type_MachineLogisticsCostReportCell/StaticMethod_CreateData.qbl | 85 +++
_Main/BL/Type_MachineLogisticsCostReportCell/Function_CalcWoodenCrateCost.qbl | 13
_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_matrixEditorActionBarPage703.def | 10
_Main/BL/Relations/Relation_MachineLogisticsCostReportRow_MachineLogisticsCostReportCell_Machin.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelExport_ButtonSearch_OnClick.def | 16
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/_ROOT_Component_FormMachineLogisticsCostReport.def | 17
_var/_Main/ProjSettings/EditorTC/Views/班次时间分析_[413988.0.1367211460].vw | 2
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_PackingCharges.qbl | 8
_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_EstimatedTotalCost.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelTimeUnit_778_RadioButtonGroupUseForTimeUnit_OnChanged.def | 2
71 files changed, 1,298 insertions(+), 261 deletions(-)
diff --git a/_Main/BL/Relations/Relation_MachineLogisticsCostReportColumn_MachineLogisticsCostReportCell_Mac.qbl b/_Main/BL/Relations/Relation_MachineLogisticsCostReportColumn_MachineLogisticsCostReportCell_Mac.qbl
new file mode 100644
index 0000000..c769dab
--- /dev/null
+++ b/_Main/BL/Relations/Relation_MachineLogisticsCostReportColumn_MachineLogisticsCostReportCell_Mac.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation MachineLogisticsCostReportColumn_MachineLogisticsCostReportCell_MachineLogisticsCostReportCell_MachineLogisticsCostReportColumn
+{
+ #keys: '1[413988.0.1462991379]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MachineLogisticsCostReportCell
+ {
+ #keys: '3[413988.0.1462991381][413988.0.1462991380][413988.0.1462991382]'
+ Cardinality: '1toN'
+ ObjectDefinition: MachineLogisticsCostReportColumn
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide MachineLogisticsCostReportColumn
+ {
+ #keys: '3[413988.0.1462991384][413988.0.1462991383][413988.0.1462991385]'
+ Cardinality: '0to1'
+ ObjectDefinition: MachineLogisticsCostReportCell
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_MachineLogisticsCostReportColumn_MacroPlan_MacroPlan_MachineLogisti.qbl b/_Main/BL/Relations/Relation_MachineLogisticsCostReportColumn_MacroPlan_MacroPlan_MachineLogisti.qbl
new file mode 100644
index 0000000..9d4b3f3
--- /dev/null
+++ b/_Main/BL/Relations/Relation_MachineLogisticsCostReportColumn_MacroPlan_MacroPlan_MachineLogisti.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation MachineLogisticsCostReportColumn_MacroPlan_MacroPlan_MachineLogisticsCostReportColumn
+{
+ #keys: '1[413988.0.1462991394]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[413988.0.1462991396][413988.0.1462991395][413988.0.1462991397]'
+ Cardinality: '0to1'
+ ObjectDefinition: MachineLogisticsCostReportColumn
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide MachineLogisticsCostReportColumn
+ {
+ #keys: '3[413988.0.1462991399][413988.0.1462991398][413988.0.1462991400]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_MachineLogisticsCostReportRow_MachineLogisticsCostReportCell_Machin.qbl b/_Main/BL/Relations/Relation_MachineLogisticsCostReportRow_MachineLogisticsCostReportCell_Machin.qbl
new file mode 100644
index 0000000..b26be4e
--- /dev/null
+++ b/_Main/BL/Relations/Relation_MachineLogisticsCostReportRow_MachineLogisticsCostReportCell_Machin.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation MachineLogisticsCostReportRow_MachineLogisticsCostReportCell_MachineLogisticsCostReportCell_MachineLogisticsCostReportRow
+{
+ #keys: '1[413988.0.1462991364]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MachineLogisticsCostReportCell
+ {
+ #keys: '3[413988.0.1462991366][413988.0.1462991365][413988.0.1462991367]'
+ Cardinality: '1toN'
+ ObjectDefinition: MachineLogisticsCostReportRow
+ OwningSide: 'Owned'
+ }
+ RelationSide.RightSide MachineLogisticsCostReportRow
+ {
+ #keys: '3[413988.0.1462991369][413988.0.1462991368][413988.0.1462991370]'
+ Cardinality: '0to1'
+ ObjectDefinition: MachineLogisticsCostReportCell
+ OwningSide: 'Reference'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_MachineLogisticsCostReportRow_MacroPlan_MacroPlan_MachineLogisticsC.qbl b/_Main/BL/Relations/Relation_MachineLogisticsCostReportRow_MacroPlan_MacroPlan_MachineLogisticsC.qbl
new file mode 100644
index 0000000..1e170fc
--- /dev/null
+++ b/_Main/BL/Relations/Relation_MachineLogisticsCostReportRow_MacroPlan_MacroPlan_MachineLogisticsC.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation MachineLogisticsCostReportRow_MacroPlan_MacroPlan_MachineLogisticsCostReportRow
+{
+ #keys: '1[413988.0.1462991349]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[413988.0.1462991351][413988.0.1462991350][413988.0.1462991352]'
+ Cardinality: '0to1'
+ ObjectDefinition: MachineLogisticsCostReportRow
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide MachineLogisticsCostReportRow
+ {
+ #keys: '3[413988.0.1462991354][413988.0.1462991353][413988.0.1462991355]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl b/_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl
index 1eba4c1..525a923 100644
--- a/_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl
+++ b/_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl
@@ -11,13 +11,22 @@
[*
// 鐢勫叞楦� Jun-25-2024 (created)
//鏌ヨ鏃ユ湡杩斿洖闇�瑕佸湪璁″垝鏃ユ湡涔嬪唴
- traverse( owner, Period_MP, period, not period.IsHistorical() and period.StartDate() >= startdate and period.EndDate() <= enddate
- and ( ( timeunit = 'All' and ( period.TimeUnit() = Translations::MP_GlobalParameters_Day() or period.TimeUnit() = Translations::MP_GlobalParameters_Week() ) )
- or period.TimeUnit() = timeunit ) ){
- periodtime := period.StartDate();
- periodname := periodtime.Format( "M2/D2/Y" );
+ weekstart := owner.StartOfPlanning().Date();
+ traverse( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day() ){
+ if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){
+ periodtime := period.StartDate();
+ periodname := periodtime.Format( "M2/D2/Y" );
+
+ this.Column( relnew, Name := periodname, Period := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() );
+ }
- this.Column( relnew, Name := periodname, Period := periodtime, TimeUnit := period.TimeUnit() );
+ if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Week() ){
+ if( period.StartDate() = weekstart ){
+ weekperiodname := weekstart.Format( "M2/D2/Y" );
+ this.Column( relnew, Name := weekperiodname, Period := weekstart, TimeUnit := Translations::MP_GlobalParameters_Week() );
+ weekstart := ( weekstart + Duration::Days( 7 ) ).Date();
+ }
+ }
}
*]
}
diff --git a/_Main/BL/Type_EnginePipelineReport/Method_GetColumnByUnit.qbl b/_Main/BL/Type_EnginePipelineReport/Method_GetColumnByUnit.qbl
new file mode 100644
index 0000000..97975cf
--- /dev/null
+++ b/_Main/BL/Type_EnginePipelineReport/Method_GetColumnByUnit.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetColumnByUnit (
+ String unit,
+ Date period
+) as EnginePipelineColumn
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� Aug-7-2024 (created)
+ periodname := period.Format( "M2/D2/Y" );
+
+ column := selectobject( this, Column, column, column.Name() = periodname and column.Period() = period and column.TimeUnit() = unit );
+
+ return column;
+ *]
+}
diff --git a/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCUnit.qbl b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCUnit.qbl
index 77d1f16..4a17ee3 100644
--- a/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCUnit.qbl
+++ b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCUnit.qbl
@@ -5,7 +5,7 @@
TextBody:
[*
// 鐢勫叞楦� Jun-25-2024 (created)
- return '闀挎槬';
+ return '闀挎槬宸ュ巶';
//return 'Assembly Plant (France)';
*]
}
diff --git a/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLUnit.qbl b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLUnit.qbl
index 4759121..ba77240 100644
--- a/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLUnit.qbl
+++ b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLUnit.qbl
@@ -5,7 +5,7 @@
TextBody:
[*
// 鐢勫叞楦� Jun-25-2024 (created)
- return '澶ц繛';
+ return '澶ц繛宸ュ巶';
//return 'Assembly Plant (Spain)';
*]
}
diff --git a/_Main/BL/Type_EnginePipelineRow/Method_SetCellProductionValue.qbl b/_Main/BL/Type_EnginePipelineRow/Method_SetCellProductionValue.qbl
index fbe0391..97c34c8 100644
--- a/_Main/BL/Type_EnginePipelineRow/Method_SetCellProductionValue.qbl
+++ b/_Main/BL/Type_EnginePipelineRow/Method_SetCellProductionValue.qbl
@@ -2,7 +2,7 @@
#parent: #root
Method SetCellProductionValue (
EnginePipelineColumn column,
- String unit,
+ Boolean isccunit,
Real quantity
)
{
@@ -17,9 +17,9 @@
production := cell.Production( relnew, EngineType := cell.Row().Name(), Period := column.Period(), DLProduction := 0, CCProduction := 0 );
}
- if( unit = EnginePipelineReport::GetDefaultCCUnit() ){
+ if( isccunit ){
production.CCProduction( production.CCProduction() + quantity );
- }else if( unit = EnginePipelineReport::GetDefaultDLUnit() ){
+ } else {
production.DLProduction( production.DLProduction() + quantity );
}
*]
diff --git a/_Main/BL/Type_EnginePipelineSource/StaticMethod_Initialize.qbl b/_Main/BL/Type_EnginePipelineSource/StaticMethod_Initialize.qbl
index 9d263fc..b18fbac 100644
--- a/_Main/BL/Type_EnginePipelineSource/StaticMethod_Initialize.qbl
+++ b/_Main/BL/Type_EnginePipelineSource/StaticMethod_Initialize.qbl
@@ -20,48 +20,65 @@
products := construct( Product_MPs );
//鍒濆鍖栧垪
table.GenerateColumn( owner, 'All', search.StartDate(), search.EndDate() );
+ endperiod := maxobject( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day(), period.StartDate() );
//鐢熸垚鐢熶骇鍜屽簱瀛樻暟鎹�
- traverse( owner, Product_MP.ProductInStockingPoint_MP, pisp, pisp.IsLeaf() and not pisp.IsSystem() ){
- unit := pisp.StockingPoint_MP().UnitID();
- // info( unit, pisp.ProductID() );
- //鍒濆鍖栬
- row := table.GetRow( pisp.ProductID() );
+ traverse( owner, StockingPoint_MP, stockingpoint ){
+ unit := stockingpoint.Unit();
+ parentunits := unit.GetAllParent();
+ //鏄惁灞炰簬闀挎槬宸ュ巶
+ iscc := unit.ID() = ccunit or exists( parentunits, Elements, punit, punit.ID() = ccunit );
+ //鏄惁灞炰簬澶ц繛宸ュ巶
+ isdl := unit.ID() = dlunit or exists( parentunits, Elements, punit, punit.ID() = dlunit );
- traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical()
- and ( pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day()
- or pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Week() ) ){
- periodtime := pispip.Period_MP().StartDate();
- periodname := periodtime.Format( "M2/D2/Y" );
- // info( '---------------------------------', periodtime, table.Column( relsize ), pispip.Period_MP().TimeUnit() );
- column := selectobject( table, Column, column, column.Name() = periodname and column.Period() = periodtime and column.TimeUnit() = pispip.Period_MP().TimeUnit() );
- // info( '---------------------------------', isnull( column ), isnull( row ) );
- // info( '---------------------------------', column.Name(), row.Name() );
- if( unit = ccunit or unit = dlunit ){
- row.SetCellProductionValue( column, unit, pispip.NewSupplyProductionQuantity() );
+ traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and not pisp.IsSystem() ){
+ weekstart := owner.StartOfPlanning().Date();
+ pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical()
+ and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day(), pispip.Start() );
+ row := table.GetRow( pisp.ProductID() );
+ traverse( pispips, Elements, pispip ){
+ //澶�
+ daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), pispip.Start().Date() );
+ //鍛�
+ weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), weekstart );
+ supplyquantity := [Real]ceil( pispip.NewSupplyQuantity() );//鍚戜笂鍙栨暣
+ inventoryquantity := [Real]ceil( pispip.PlannedInventoryLevelEnd() );//鍚戜笂鍙栨暣
+ //浜ч噺鏄姞鎬�
+ if( iscc or isdl ){
+ row.SetCellProductionValue( daycolumn, iscc, supplyquantity );
+ row.SetCellProductionValue( weekcolumn, iscc, supplyquantity );
+ }
+ //搴撳瓨闇�瑕佸彇鏈�鍚庝竴澶�
+ row.SetCellInventoryValue( daycolumn, pispip.PlannedInventoryLevelEnd() );
+
+ if( pispip.Start() = weekstart + Duration::Days( 6 ) or pispip.Period_MP() = endperiod ){
+ weekstart := ( weekstart + Duration::Days( 7 ) ).Date();
+
+ row.SetCellInventoryValue( weekcolumn, inventoryquantity );
+ }
}
- row.SetCellInventoryValue( column, pispip.PlannedInventoryLevelEnd() );
}
}
//鐢熸垚闇�姹傛暟鎹�
- traverse( owner, SalesDemand.astype( Forecast ), forecast, ( forecast.EndDate() - forecast.StartDate() ) < 8){
- row := table.GetRow( forecast.ProductID() );
- weekdate := ( forecast.StartDate() - Duration::Days( 7 ) ).Date();
- periodtime := forecast.StartDate();
- periodname := periodtime.Format( "M2/D2/Y" );
-
- column := selectobject( table, Column, column, column.Name() = periodname and column.Period() = periodtime and column.TimeUnit() = Translations::MP_GlobalParameters_Day() );
- weekcolumn := minobject( table, Column, wcolumn, wcolumn.Period() <= weekdate and wcolumn.TimeUnit() = Translations::MP_GlobalParameters_Week(), wcolumn.Period() );
-
- if( not isnull( column ) ){
- row.SetCellDemandValue( column, forecast.SalesSegmentName(), forecast.Quantity() );
- }
-
- if( not isnull( weekcolumn ) ){
- row.SetCellDemandValue( weekcolumn, forecast.SalesSegmentName(), forecast.Quantity() );
+ traverse( owner, SalesDemand.astype( Forecast ), forecast ){
+ row := table.GetRow( forecast.ProductID() );
+ weekstart := owner.StartOfPlanning().Date();
+ traverse( forecast, PlanningSalesDemandInPeriod, psdip ){
+ //澶�
+ daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), psdip.StartDate() );
+ //鍛�
+ weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), weekstart );
+
+ if( not isnull( daycolumn ) ){
+ row.SetCellDemandValue( daycolumn, forecast.SalesSegmentName(), forecast.Quantity() );
+ }
+ if( not isnull( weekcolumn ) ){
+ row.SetCellDemandValue( weekcolumn, forecast.SalesSegmentName(), forecast.Quantity() );
+ }
}
}
+
rows := selectsortedset( table, Row, row, row.Name() );
i := 0;
traverse( rows, Elements, e ){
diff --git a/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultCCUnit.qbl b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultCCUnit.qbl
index 739a84b..7bf8369 100644
--- a/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultCCUnit.qbl
+++ b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultCCUnit.qbl
@@ -5,7 +5,7 @@
TextBody:
[*
// 鐢勫叞楦� Jun-28-2024 (created)
- return '闀挎槬';
+ return '闀挎槬宸ュ巶';
//return 'Assembly Plant (France)';
*]
}
diff --git a/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultDLUnit.qbl b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultDLUnit.qbl
index d544c74..781dc80 100644
--- a/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultDLUnit.qbl
+++ b/_Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultDLUnit.qbl
@@ -5,7 +5,7 @@
TextBody:
[*
// 鐢勫叞楦� Jun-28-2024 (created)
- return '澶ц繛';
+ return '澶ц繛宸ュ巶';
//return 'Assembly Plant (Spain)';
*]
}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_BufferPaperCost.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_BufferPaperCost.qbl
new file mode 100644
index 0000000..40f9ed2
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_BufferPaperCost.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BufferPaperCost
+{
+ #keys: '3[413988.0.1462991460][413988.0.1462991459][413988.0.1462991461]'
+ Description: '缂撳啿绾歌垂鐢�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_Coefficient.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_Coefficient.qbl
new file mode 100644
index 0000000..b9c2c75
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_Coefficient.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Coefficient
+{
+ #keys: '3[413988.0.1462991560][413988.0.1462991559][413988.0.1462991561]'
+ Description: '绯绘暟'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_EstimatedTotalCost.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_EstimatedTotalCost.qbl
new file mode 100644
index 0000000..5bc418f
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_EstimatedTotalCost.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EstimatedTotalCost
+{
+ #keys: '3[413988.0.1462991540][413988.0.1462991539][413988.0.1462991541]'
+ Description: '棰勮鎬昏垂鐢�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl
new file mode 100644
index 0000000..19f02ca
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ExternalRentalWarehouseTransportationCosts
+{
+ #keys: '3[413988.0.1462991520][413988.0.1462991519][413988.0.1462991521]'
+ Description: '澶栫搴撹繍杈撹垂鐢�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_OutboundExpensesForRentedWarehouses.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_OutboundExpensesForRentedWarehouses.qbl
new file mode 100644
index 0000000..a34cec3
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_OutboundExpensesForRentedWarehouses.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OutboundExpensesForRentedWarehouses
+{
+ #keys: '3[413988.0.1462991510][413988.0.1462991509][413988.0.1462991511]'
+ Description: '澶栫搴撳嚭搴撹垂鐢�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_PackingCharges.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_PackingCharges.qbl
new file mode 100644
index 0000000..52ba0ad
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_PackingCharges.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PackingCharges
+{
+ #keys: '3[413988.0.1462991440][413988.0.1462991439][413988.0.1462991441]'
+ Description: '鍖呰璐圭敤'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_QuantityOfWoodenCrates.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_QuantityOfWoodenCrates.qbl
new file mode 100644
index 0000000..fd16c6d
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_QuantityOfWoodenCrates.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute QuantityOfWoodenCrates
+{
+ #keys: '3[413988.0.1462991470][413988.0.1462991469][413988.0.1462991471]'
+ Description: '鏈ㄧ鏁伴噺'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_RentalWarehouseStorageFees.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_RentalWarehouseStorageFees.qbl
new file mode 100644
index 0000000..d935a68
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_RentalWarehouseStorageFees.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute RentalWarehouseStorageFees
+{
+ #keys: '3[413988.0.1462991530][413988.0.1462991529][413988.0.1462991531]'
+ Description: '澶栫搴撲粨鍌ㄨ垂鐢�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_StorageFeesForRentedWarehouses.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_StorageFeesForRentedWarehouses.qbl
new file mode 100644
index 0000000..035389e
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_StorageFeesForRentedWarehouses.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StorageFeesForRentedWarehouses
+{
+ #keys: '3[413988.0.1462991500][413988.0.1462991499][413988.0.1462991501]'
+ Description: '澶栫搴撳叆搴撹垂鐢�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_TotalCost.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_TotalCost.qbl
new file mode 100644
index 0000000..6c8df0f
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_TotalCost.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute TotalCost
+{
+ #keys: '3[413988.0.1462991550][413988.0.1462991549][413988.0.1462991551]'
+ Description: '鎬昏垂鐢�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_TransferCost.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_TransferCost.qbl
new file mode 100644
index 0000000..4662a8d
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_TransferCost.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute TransferCost
+{
+ #keys: '3[413988.0.1462991490][413988.0.1462991489][413988.0.1462991491]'
+ Description: '璋冩嫧璐圭敤'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_UnitPriceOfWoodenCrate.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_UnitPriceOfWoodenCrate.qbl
new file mode 100644
index 0000000..ed5d2c5
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_UnitPriceOfWoodenCrate.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitPriceOfWoodenCrate
+{
+ #keys: '3[413988.0.1467610005][413988.0.1467610004][413988.0.1467610006]'
+ Description: '鏈ㄧ鍗曚环'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_UnpackingCost.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_UnpackingCost.qbl
new file mode 100644
index 0000000..bec9d51
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_UnpackingCost.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnpackingCost
+{
+ #keys: '3[413988.0.1462991450][413988.0.1462991449][413988.0.1462991451]'
+ Description: '鎷嗗寘璐圭敤'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_WoodenCrateCost.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_WoodenCrateCost.qbl
new file mode 100644
index 0000000..c3c5e6b
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Attribute_WoodenCrateCost.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute WoodenCrateCost
+{
+ #keys: '3[413988.0.1462991480][413988.0.1462991479][413988.0.1462991481]'
+ Description: '鏈ㄧ璐圭敤'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/Function_CalcWoodenCrateCost.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/Function_CalcWoodenCrateCost.qbl
new file mode 100644
index 0000000..b31a8d5
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/Function_CalcWoodenCrateCost.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcWoodenCrateCost
+{
+ TextBody:
+ [*
+ // lihongji Aug-7-2024 (created)
+
+ value := guard( this.QuantityOfWoodenCrates() * this.UnitPriceOfWoodenCrate(), 0.0 );
+
+ this.WoodenCrateCost( value );
+ *]
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/StaticMethod_CreateData.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/StaticMethod_CreateData.qbl
new file mode 100644
index 0000000..10aea66
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/StaticMethod_CreateData.qbl
@@ -0,0 +1,85 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateData (
+ MacroPlan macroPlan,
+ String factory
+)
+{
+ TextBody:
+ [*
+ macroPlan.MachineLogisticsCostReportRow( relflush );
+ macroPlan.MachineLogisticsCostReportColumn( relflush );
+
+ // 鍒濆鍖栦竴骞存暟鎹垪
+ indexDate := macroPlan.StartOfPlanning().Date().StartOfMonth();
+ for ( i := 0; i < 12; i++ ) {
+ macroPlan.MachineLogisticsCostReportColumn( relnew, StartDate := indexDate );
+ indexDate := indexDate.StartOfNextMonth();
+ }
+
+ // 鎵惧嚭鎵�鏈夊ぇ绫伙紝鍒涘缓鏁版嵁
+ categories := selectuniquevalues( macroPlan, PackagingPlanRow, tempPPR, true, tempPPR.Category() );
+
+ traverse ( categories, Elements, c ) {
+
+ // 鏈哄姞鎴愭湰鍙傛暟
+ lcm := select( macroPlan, LogisticsCostMachining, tempLCM, tempLCM.Factory() = factory and tempLCM.Product() = c );
+
+ // 杩愯緭鎴愭湰鍙傛暟
+ lct := select( macroPlan, LogisticsCostTransport, tempLCT, tempLCT.Origin() = ifexpr( factory = "澶ц繛宸ュ巶", "CC", "DL" ) and
+ tempLCT.Destination() = ifexpr( factory = "澶ц繛宸ュ巶", "DL", "CC" ) and
+ tempLCT.Product() = c );
+
+ // 鍒濆鍖栨満鍔犳垚鏈弬鏁版姤琛ㄨ
+ mlcrr := macroPlan.MachineLogisticsCostReportRow( relnew, Category := c, Factory := factory );
+
+ // 寰幆鎵�鏈夋椂闂村垪鍒涘缓鏁版嵁
+ traverse ( macroPlan, MachineLogisticsCostReportColumn, mlcrc ) {
+ cell := mlcrr.MachineLogisticsCostReportCell( relnew );
+
+ // 璁剧疆鍖呰璐圭敤锛堝寘瑁呴噺 * 鍖呰鍗曚环锛�
+ packageQuantity := sum( macroPlan, PackagingPlanRow.PackagingPlanCell, tempPPC,
+ tempPPC.PackagingPlanRow().Category() = c and
+ tempPPC.PackagingPlanRow().Factory() = factory and
+ tempPPC.PackagingPlanColumn().StartDate().Year() = mlcrc.StartDate().Year() and
+ tempPPC.PackagingPlanColumn().StartDate().Month() = mlcrc.StartDate().Month(),
+ tempPPC.Package() );
+ cell.PackingCharges( packageQuantity * guard( lcm.PackagePrice(), 1 ) );
+
+ // 璁剧疆鎷嗗寘璐圭敤锛堟媶鍖呴噺 * 鎷嗗寘鍗曚环锛�
+ unpackingQuantity := sum( macroPlan, PackagingPlanRow.PackagingPlanCell, tempPPC,
+ tempPPC.PackagingPlanRow().Category() = c and
+ tempPPC.PackagingPlanRow().Factory() = factory and
+ tempPPC.PackagingPlanColumn().StartDate().Year() = mlcrc.StartDate().Year() and
+ tempPPC.PackagingPlanColumn().StartDate().Month() = mlcrc.StartDate().Month(),
+ tempPPC.Unpacking() );
+ cell.UnpackingCost( unpackingQuantity * guard( lcm.UnpackingPrice(), 1 ) );
+
+ // 璁剧疆缂撳啿绾歌垂鐢紙鍖呰绫� * 缂撳啿绾稿崟浠凤級
+ cell.BufferPaperCost( packageQuantity * guard( lcm.BufferPaperPrice(), 1 ) );
+
+ // 璁剧疆鏈ㄧ鍗曚环
+ cell.UnitPriceOfWoodenCrate( guard( lcm.WoodenCratePrice(), 1 ) );
+
+ // 璁剧疆璋冩嫧璐圭敤锛堣皟鎷ㄦ暟閲� / 鍖呰瀹归噺 / 瑁呰浇瀹归噺 * 杩愯緭鍗曚环锛�
+ transferQuantity := sum( macroPlan, TransferPlanRow.TransferPlanCell, tempTPC,
+ tempTPC.TransferPlanRow().Category() = c and
+ tempTPC.TransferPlanRow().Name() = ifexpr( factory = "澶ц繛宸ュ巶", "CC to DL", "DL to CC" ) and
+ tempTPC.TransferPlanColumn().ColumnDate().Year() = mlcrc.StartDate().Year() and
+ tempTPC.TransferPlanColumn().ColumnDate().Month() = mlcrc.StartDate().Month(),
+ [Number]tempTPC.Value() );
+ cell.TransferCost( transferQuantity / guard( lcm.PackagingCapacity(), 1 ) / guard( lct.LoadingCapacity(), 1 ) * guard( lct.TransportPrice(), 1 ) );
+
+ // 澶栫搴撳叆搴撹垂鐢紙鍏ュ簱閲廩鍖呰閲廬 / 鍖呰瀹归噺 * 鍏ュ簱鍗曚环锛�
+ cell.StorageFeesForRentedWarehouses( packageQuantity / guard( lcm.PackagingCapacity(), 1 ) * guard( lcm.WarehousingPrice(), 1 ) );
+
+ // 澶栫搴撳嚭搴撹垂鐢紙鍑哄簱閲廩鎷嗗寘閲廬 / 鍖呰瀹归噺 * 鍑哄簱鍗曚环锛�
+ cell.OutboundExpensesForRentedWarehouses( unpackingQuantity / guard( lcm.PackagingCapacity(), 1 ) * guard( lcm.OutboundPrice(), 1 ) );
+
+ // 澶栫搴撹繍杈撹垂鐢紙杩愯緭鏁伴噺 / 鍖呰瀹归噺 / 瑁呰浇瀹归噺 * 杩愯緭鍗曚环锛�
+
+ cell.MachineLogisticsCostReportColumn( relset, mlcrc );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportCell/_ROOT_Type_MachineLogisticsCostReportCell.qbl b/_Main/BL/Type_MachineLogisticsCostReportCell/_ROOT_Type_MachineLogisticsCostReportCell.qbl
new file mode 100644
index 0000000..4c7f5ba
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportCell/_ROOT_Type_MachineLogisticsCostReportCell.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type MachineLogisticsCostReportCell
+{
+ #keys: '5[413988.0.1462991346][413988.0.1462991344][0.0.0][413988.0.1462991345][413988.0.1462991347]'
+ BaseType: Object
+ StructuredName: 'MachineLogisticsCostReportCells'
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportColumn/Attribute_StartDate.qbl b/_Main/BL/Type_MachineLogisticsCostReportColumn/Attribute_StartDate.qbl
new file mode 100644
index 0000000..261331e
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportColumn/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+ #keys: '3[413988.0.1462991430][413988.0.1462991429][413988.0.1462991431]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportColumn/_ROOT_Type_MachineLogisticsCostReportColumn.qbl b/_Main/BL/Type_MachineLogisticsCostReportColumn/_ROOT_Type_MachineLogisticsCostReportColumn.qbl
new file mode 100644
index 0000000..568d4a8
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportColumn/_ROOT_Type_MachineLogisticsCostReportColumn.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type MachineLogisticsCostReportColumn
+{
+ #keys: '5[413988.0.1462991341][413988.0.1462991339][0.0.0][413988.0.1462991340][413988.0.1462991342]'
+ BaseType: Object
+ StructuredName: 'MachineLogisticsCostReportColumns'
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportRow/Attribute_Category.qbl b/_Main/BL/Type_MachineLogisticsCostReportRow/Attribute_Category.qbl
new file mode 100644
index 0000000..7addcc5
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportRow/Attribute_Category.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Category
+{
+ #keys: '3[413988.0.1462991420][413988.0.1462991419][413988.0.1462991421]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportRow/Attribute_Factory.qbl b/_Main/BL/Type_MachineLogisticsCostReportRow/Attribute_Factory.qbl
new file mode 100644
index 0000000..3562e99
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportRow/Attribute_Factory.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Factory
+{
+ #keys: '3[413988.0.1462991410][413988.0.1462991409][413988.0.1462991411]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MachineLogisticsCostReportRow/_ROOT_Type_MachineLogisticsCostReportRow.qbl b/_Main/BL/Type_MachineLogisticsCostReportRow/_ROOT_Type_MachineLogisticsCostReportRow.qbl
new file mode 100644
index 0000000..83c86e4
--- /dev/null
+++ b/_Main/BL/Type_MachineLogisticsCostReportRow/_ROOT_Type_MachineLogisticsCostReportRow.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type MachineLogisticsCostReportRow
+{
+ #keys: '5[413988.0.1462991336][413988.0.1462991334][0.0.0][413988.0.1462991335][413988.0.1462991337]'
+ BaseType: Object
+ StructuredName: 'MachineLogisticsCostReportRows'
+}
diff --git a/_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl b/_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl
index 1eba4c1..525a923 100644
--- a/_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl
+++ b/_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl
@@ -11,13 +11,22 @@
[*
// 鐢勫叞楦� Jun-25-2024 (created)
//鏌ヨ鏃ユ湡杩斿洖闇�瑕佸湪璁″垝鏃ユ湡涔嬪唴
- traverse( owner, Period_MP, period, not period.IsHistorical() and period.StartDate() >= startdate and period.EndDate() <= enddate
- and ( ( timeunit = 'All' and ( period.TimeUnit() = Translations::MP_GlobalParameters_Day() or period.TimeUnit() = Translations::MP_GlobalParameters_Week() ) )
- or period.TimeUnit() = timeunit ) ){
- periodtime := period.StartDate();
- periodname := periodtime.Format( "M2/D2/Y" );
+ weekstart := owner.StartOfPlanning().Date();
+ traverse( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day() ){
+ if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){
+ periodtime := period.StartDate();
+ periodname := periodtime.Format( "M2/D2/Y" );
+
+ this.Column( relnew, Name := periodname, Period := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() );
+ }
- this.Column( relnew, Name := periodname, Period := periodtime, TimeUnit := period.TimeUnit() );
+ if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Week() ){
+ if( period.StartDate() = weekstart ){
+ weekperiodname := weekstart.Format( "M2/D2/Y" );
+ this.Column( relnew, Name := weekperiodname, Period := weekstart, TimeUnit := Translations::MP_GlobalParameters_Week() );
+ weekstart := ( weekstart + Duration::Days( 7 ) ).Date();
+ }
+ }
}
*]
}
diff --git a/_Main/BL/Type_MachiningPipelineReport/Method_GetColumnByUnit.qbl b/_Main/BL/Type_MachiningPipelineReport/Method_GetColumnByUnit.qbl
new file mode 100644
index 0000000..1c5b4cb
--- /dev/null
+++ b/_Main/BL/Type_MachiningPipelineReport/Method_GetColumnByUnit.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetColumnByUnit (
+ String unit,
+ Date period
+) as MachiningPipelineColumn
+{
+ TextBody:
+ [*
+ // 鐢勫叞楦� Aug-7-2024 (created)
+ periodname := period.Format( "M2/D2/Y" );
+
+ column := selectobject( this, Column, column, column.Name() = periodname and column.Period() = period and column.TimeUnit() = unit );
+
+ return column;
+ *]
+}
diff --git a/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultCCUnit.qbl b/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultCCUnit.qbl
index 77d1f16..4a17ee3 100644
--- a/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultCCUnit.qbl
+++ b/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultCCUnit.qbl
@@ -5,7 +5,7 @@
TextBody:
[*
// 鐢勫叞楦� Jun-25-2024 (created)
- return '闀挎槬';
+ return '闀挎槬宸ュ巶';
//return 'Assembly Plant (France)';
*]
}
diff --git a/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultDLUnit.qbl b/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultDLUnit.qbl
index 4759121..ba77240 100644
--- a/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultDLUnit.qbl
+++ b/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultDLUnit.qbl
@@ -5,7 +5,7 @@
TextBody:
[*
// 鐢勫叞楦� Jun-25-2024 (created)
- return '澶ц繛';
+ return '澶ц繛宸ュ巶';
//return 'Assembly Plant (Spain)';
*]
}
diff --git a/_Main/BL/Type_MachiningPipelineRow/Method_SetCellAssemblyValue.qbl b/_Main/BL/Type_MachiningPipelineRow/Method_SetCellAssemblyValue.qbl
index 00732ef..7e188ba 100644
--- a/_Main/BL/Type_MachiningPipelineRow/Method_SetCellAssemblyValue.qbl
+++ b/_Main/BL/Type_MachiningPipelineRow/Method_SetCellAssemblyValue.qbl
@@ -2,7 +2,7 @@
#parent: #root
Method SetCellAssemblyValue (
MachiningPipelineColumn column,
- String unit,
+ Boolean iscc,
Real quantity
)
{
@@ -11,9 +11,9 @@
// 鐢勫叞楦� Jun-24-2024 (created)
cell := selectobject( this, Cell, cell, cell.Column() = column );
- if( unit = MachiningPipelineReport::GetDefaultCCAssemnlyUnit() ){
+ if( iscc ){
cell.CCAssemblyPlanQty( cell.CCAssemblyPlanQty() + quantity );
- }else if( unit = MachiningPipelineReport::GetDefaultDLAssemnlyUnit() ){
+ } else {
cell.DLAssemblyPlanQty( cell.DLAssemblyPlanQty() + quantity );
}
*]
diff --git a/_Main/BL/Type_MachiningPipelineRow/Method_SetCellInventoryValue.qbl b/_Main/BL/Type_MachiningPipelineRow/Method_SetCellInventoryValue.qbl
index 568d35f..9fbd214 100644
--- a/_Main/BL/Type_MachiningPipelineRow/Method_SetCellInventoryValue.qbl
+++ b/_Main/BL/Type_MachiningPipelineRow/Method_SetCellInventoryValue.qbl
@@ -2,7 +2,7 @@
#parent: #root
Method SetCellInventoryValue (
MachiningPipelineColumn column,
- String unit,
+ Boolean iscc,
Real quantity
)
{
@@ -11,9 +11,9 @@
// 鐢勫叞楦� Jun-24-2024 (created)
cell := selectobject( this, Cell, cell, cell.Column() = column );
- if( unit = MachiningPipelineReport::GetDefaultCCUnit() ){
+ if( iscc ){
cell.CCInventoryQty( cell.CCInventoryQty() + quantity );
- }else if( unit = MachiningPipelineReport::GetDefaultDLUnit() ){
+ } else {
cell.DLInventoryQty( cell.DLInventoryQty() + quantity );
}
*]
diff --git a/_Main/BL/Type_MachiningPipelineRow/Method_SetCellProductionValue.qbl b/_Main/BL/Type_MachiningPipelineRow/Method_SetCellProductionValue.qbl
index cc60df0..f976f27 100644
--- a/_Main/BL/Type_MachiningPipelineRow/Method_SetCellProductionValue.qbl
+++ b/_Main/BL/Type_MachiningPipelineRow/Method_SetCellProductionValue.qbl
@@ -2,7 +2,7 @@
#parent: #root
Method SetCellProductionValue (
MachiningPipelineColumn column,
- String unit,
+ Boolean iscc,
Real quantity
)
{
@@ -11,9 +11,9 @@
// 鐢勫叞楦� Jun-24-2024 (created)
cell := selectobject( this, Cell, cell, cell.Column() = column );
- if( unit = MachiningPipelineReport::GetDefaultCCProductionUnit() ){
+ if( iscc ){
cell.CCProductionQty( cell.CCProductionQty() + quantity );
- }else if( unit = MachiningPipelineReport::GetDefaultDLProductionUnit() ){
+ } else {
cell.DLProductionQty( cell.DLProductionQty() + quantity );
}
*]
diff --git a/_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl b/_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl
index bf09a16..5776315 100644
--- a/_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl
+++ b/_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl
@@ -20,30 +20,61 @@
products := construct( Product_MPs );
//鍒濆鍖栧垪
table.GenerateColumn( owner, 'All', search.StartDate(), search.EndDate() );
+ endperiod := maxobject( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day(), period.StartDate() );
//鐢熸垚瑁呴厤銆佺敓浜у拰搴撳瓨鏁版嵁
- traverse( owner, Product_MP.ProductInStockingPoint_MP, pisp, pisp.IsLeaf() and not pisp.IsSystem() ){
- unit := pisp.StockingPoint_MP().UnitID();
- //鍒濆鍖栬
- row := table.GetRow( pisp.ProductID() );
-
- traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical()
- and ( pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day()
- or pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Week() ) ){
- periodtime := pispip.Period_MP().StartDate();
- periodname := periodtime.Format( "M2/D2/Y" );
- column := selectobject( table, Column, column, column.Name() = periodname and column.Period() = periodtime and column.TimeUnit() = pispip.Period_MP().TimeUnit() );
-
- //瑁呴厤绾�
- if( unit = MachiningPipelineReport::GetDefaultCCAssemnlyUnit() or unit = MachiningPipelineReport::GetDefaultDLAssemnlyUnit() ){
- row.SetCellAssemblyValue( column, unit, pispip.NewSupplyProductionQuantity() );
- }
- //鏈哄姞绾�
- if( unit = MachiningPipelineReport::GetDefaultCCProductionUnit() or unit = MachiningPipelineReport::GetDefaultDLProductionUnit() ){
- row.SetCellProductionValue( column, unit, pispip.NewSupplyProductionQuantity() );
- }
- if( unit = ccunit or unit = dlunit ){
- row.SetCellInventoryValue( column, unit, pispip.PlannedInventoryLevelEnd() );
+ traverse( owner, StockingPoint_MP, stockingpoint ){
+ unit := stockingpoint.Unit();
+ parentunits := unit.GetAllParent();
+ //鏄惁灞炰簬闀挎槬宸ュ巶
+ iscc := unit.ID() = ccunit or exists( parentunits, Elements, punit, punit.ID() = ccunit );
+ //鏄惁灞炰簬澶ц繛宸ュ巶
+ isdl := unit.ID() = dlunit or exists( parentunits, Elements, punit, punit.ID() = dlunit );
+ //鏄惁灞炰簬闀挎槬瑁呴厤绾�
+ isccassemnly := unit.ID() = MachiningPipelineReport::GetDefaultCCAssemnlyUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultCCAssemnlyUnit() );
+ //鏄惁灞炰簬澶ц繛瑁呴厤绾�
+ isdlassemnly := unit.ID() = MachiningPipelineReport::GetDefaultDLAssemnlyUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultDLAssemnlyUnit() );
+ //鏄惁灞炰簬闀挎槬鏈哄姞浜х嚎
+ isccproduction := unit.ID() = MachiningPipelineReport::GetDefaultCCProductionUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultCCProductionUnit() );
+ //鏄惁灞炰簬澶ц繛鏈哄姞浜х嚎
+ isdlproduction := unit.ID() = MachiningPipelineReport::GetDefaultDLProductionUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultDLProductionUnit() );
+ if( iscc or isdl ){
+ traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and not pisp.IsSystem() ){
+ row := table.GetRow( pisp.ProductID() );
+
+ weekstart := owner.StartOfPlanning().Date();
+ pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical()
+ and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day(), pispip.Start() );
+
+ traverse( pispips, Elements, pispip ){
+ //澶�
+ daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), pispip.Start().Date() );
+ //鍛�
+ weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), weekstart );
+
+ supplyquantity := [Real]ceil( pispip.NewSupplyQuantity() );//鍚戜笂鍙栨暣
+ inventoryquantity := [Real]ceil( pispip.PlannedInventoryLevelEnd() );//鍚戜笂鍙栨暣
+
+ //瑁呴厤绾�
+ if( isccassemnly or isdlassemnly ){
+ row.SetCellAssemblyValue( daycolumn, isccassemnly, supplyquantity );
+ row.SetCellAssemblyValue( weekcolumn, isccassemnly, supplyquantity );
+ }
+
+ //鏈哄姞绾�
+ if( isccproduction or isdlproduction ){
+ row.SetCellProductionValue( daycolumn, isccproduction, supplyquantity );
+ row.SetCellProductionValue( weekcolumn, isccproduction, supplyquantity );
+ }
+ //搴撳瓨
+ if( iscc or isdl ){
+ row.SetCellInventoryValue( daycolumn, iscc, inventoryquantity );
+ if( pispip.Start() = weekstart + Duration::Days( 6 ) or pispip.Period_MP() = endperiod ){
+ weekstart := ( weekstart + Duration::Days( 7 ) ).Date();
+ row.SetCellInventoryValue( weekcolumn, iscc, inventoryquantity );
+ }
+ }
+ }
}
}
}
diff --git a/_Main/BL/Type_PackagingPlanCell/StaticMethod_GenerateReport.qbl b/_Main/BL/Type_PackagingPlanCell/StaticMethod_GenerateReport.qbl
index f56c666..cfbbdbf 100644
--- a/_Main/BL/Type_PackagingPlanCell/StaticMethod_GenerateReport.qbl
+++ b/_Main/BL/Type_PackagingPlanCell/StaticMethod_GenerateReport.qbl
@@ -66,7 +66,7 @@
Transaction::Transaction().Propagate( relation( PackagingPlanCell, Next ) );
// 璁剧疆鍖呰&鎷嗗寘-鏁伴噺
- traverse ( macroPlan, PackagingPlanRow, ppr, ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Bosch" ) {
+ traverse ( macroPlan, PackagingPlanRow, ppr, ( ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Bosch" ) or ( ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Components (Spain)" ) ) {
traverse ( ppr, PackagingPlanCell, ppc/*, ppc.StartDate() = Date::Construct( 2020, 4, 1 )*/ ) {
// 璁剧疆鍖呰鏁伴噺
if ( ppc.PackagingInventory() < ppc.Out() ) { // 鍖呰搴撳瓨鏄惁灏忎簬璋冨嚭
@@ -94,6 +94,16 @@
prePPC := prePPC.Previous();
}
}
+
+ // 璁剧疆鎷嗗寘鏁伴噺
+ if ( ppc.TransferIn() > 0.0 ) { // 鏈夎皟鍏ユ暟閲�
+ // 鑾峰彇鍖呰lotsize
+ ppls := select( macroPlan, PackagingPlanLotSize, tempPPLS, tempPPLS.Factory() = ppc.PackagingPlanRow().Factory() and
+ tempPPLS.ProductID() = ppc.PackagingPlanRow().ProductID() );
+
+ // 璁剧疆鎷嗗寘鍊�
+ ppc.Unpacking( ppc.TransferIn() );
+ }
}
}
*]
diff --git a/_Main/BL/Type_TransferPlanRow/Attribute_Category.qbl b/_Main/BL/Type_TransferPlanRow/Attribute_Category.qbl
new file mode 100644
index 0000000..35c25ef
--- /dev/null
+++ b/_Main/BL/Type_TransferPlanRow/Attribute_Category.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Category
+{
+ #keys: '3[413988.0.1467614281][413988.0.1467614280][413988.0.1467614282]'
+ Description: '澶х被'
+ ValueType: String
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
index f42b770..894ed1d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
@@ -60,14 +60,18 @@
Taborder: 4
]
}
- Component ButtonEnginePipelineReport
+ Component ButtonPipelineReport
{
#keys: '[415136.0.884991586]'
BaseType: 'WebButton'
+ Children:
+ [
+ #child: ContextMenuPipelineReport
+ ]
Properties:
[
Image: 'DOCUMENT_CONNECTION'
- Label: 'Engine pipeline report'
+ Label: 'Pipeline report'
Taborder: 5
]
}
@@ -82,6 +86,17 @@
Taborder: 6
]
}
+ Component bMachineLogisticsCostReport
+ {
+ #keys: '[413988.0.1467117990]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'LOCATION_PIN'
+ Label: 'Machine logistics cost report'
+ Taborder: 7
+ ]
+ }
Component ButtonScenarioComparisonDemandComparison id:ButtonScenarioComparisonDemandComparison_256
{
#keys: '[412672.1.90201789]'
@@ -90,7 +105,7 @@
[
Image: 'EQUALS'
Label: '闇�姹傚姣�'
- Taborder: 7
+ Taborder: 8
]
}
Component ButtonScheduleSummaryReport
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPipelineReport.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPipelineReport.def
new file mode 100644
index 0000000..6e53b06
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPipelineReport.def
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+Component ContextMenuPipelineReport
+{
+ #keys: '[415136.0.973375806]'
+ BaseType: 'WebContextMenu'
+ Children:
+ [
+ Component MenuEnginePipelineReport
+ {
+ #keys: '[415136.0.973375807]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DOCUMENT_CONNECTION'
+ Taborder: 0
+ Title: 'Engine pipeline report'
+ ]
+ }
+ Component MenuMachiningPipelineReport
+ {
+ #keys: '[415136.0.972180572]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'DOCUMENT_CONNECTION'
+ Taborder: 1
+ Title: 'Machining pipeline report'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_ButtonEnginePipelineReport_OnClic.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_ButtonEnginePipelineReport_OnClic.def
deleted file mode 100644
index e5bc9a9..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_ButtonEnginePipelineReport_OnClic.def
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: ActionBarGroupReport/ButtonEnginePipelineReport
-Response OnClick () id:Response_MacroPlanner_ActionBarGroupReport_ButtonEnginePipelineReport_OnClick
-{
- #keys: '[415136.0.888144270]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- QuillAction
- {
- Body:
- [*
- ApplicationScope.ViewManager().ResetUserViewById( "Engine_pipleline_report", true);
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bMachineLogisticsCostReport_OnCli.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bMachineLogisticsCostReport_OnCli.def
new file mode 100644
index 0000000..aa3b46f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bMachineLogisticsCostReport_OnCli.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ActionBarGroupReport/bMachineLogisticsCostReport
+Response OnClick () id:Response_MacroPlanner_ActionBarGroupReport_bMachineLogisticsCostReport_OnClick
+{
+ #keys: '[413988.0.1467020680]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "MachineLogisticsCostReport", true);
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPipelineReport_MenuEnginePipelineReport_OnC.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPipelineReport_MenuEnginePipelineReport_OnC.def
new file mode 100644
index 0000000..56e43fc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPipelineReport_MenuEnginePipelineReport_OnC.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ContextMenuPipelineReport/MenuEnginePipelineReport
+Response OnClick () id:Response_MacroPlanner_ContextMenuPipelineReport_MenuEnginePipelineReport_OnClick
+{
+ #keys: '[415136.0.972180722]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "Engine_pipleline_report", true);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPipelineReport_MenuMachiningPipelineReport_.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPipelineReport_MenuMachiningPipelineReport_.def
new file mode 100644
index 0000000..dd706a8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuPipelineReport_MenuMachiningPipelineReport_.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ContextMenuPipelineReport/MenuMachiningPipelineReport
+Response OnClick () id:Response_MacroPlanner_ContextMenuPipelineReport_MenuMachiningPipelineReport_OnClick
+{
+ #keys: '[415136.0.972180898]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ ApplicationScope.ViewManager().ResetUserViewById( "Machining_pipeline_report_view", true);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Component_PanelExport\043570.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Component_PanelExport\043570.def"
index 490d3d9..4969427 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Component_PanelExport\043570.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Component_PanelExport\043570.def"
@@ -12,6 +12,16 @@
Properties:
[
Image: 'IMPORT1'
+ Taborder: 1
+ ]
+ }
+ Component ButtonSearch id:ButtonSearch_88
+ {
+ #keys: '[415136.0.972181163]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'VIEW'
Taborder: 0
]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelExport_570_ButtonSearch_OnClick\043648.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelExport_570_ButtonSearch_OnClick\043648.def"
new file mode 100644
index 0000000..2d12db4
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelExport_570_ButtonSearch_OnClick\043648.def"
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelExport_570/ButtonSearch_88
+Response OnClick () id:Response_PanelExport_ButtonSearch_OnClick_648
+{
+ #keys: '[415136.0.972181162]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelPeriod_325_DateSelectorEnd_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelPeriod_325_DateSelectorEnd_OnChanged.def
index 166de15..17fbc7d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelPeriod_325_DateSelectorEnd_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelPeriod_325_DateSelectorEnd_OnChanged.def
@@ -15,7 +15,7 @@
}else{
if( dhSearch.Data().EndDate() <> this.Date() ){
dhSearch.Data().EndDate( this.Date() );
- DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+ // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
}
}
*]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelPeriod_325_DateSelectorStart_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelPeriod_325_DateSelectorStart_OnChanged.def
index 223f7f8..7251bc5 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelPeriod_325_DateSelectorStart_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelPeriod_325_DateSelectorStart_OnChanged.def
@@ -15,7 +15,7 @@
}else{
if( dhSearch.Data().StartDate() <> this.Date() ){
dhSearch.Data().StartDate( this.Date() );
- DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+ // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
}
}
*]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def
index 57a65bb..ed13429 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/Response_PanelTimeUnit_RadioButtonGroupUseForTimeUnit_OnChanged.def
@@ -12,7 +12,7 @@
//鍖洪棿鏀瑰彉鍚庡埛鏂版樉绀�
if( dhSearch.Data().TimeUnit() <> this.BoundValue() ){
dhSearch.Data().TimeUnit( this.BoundValue() );
- DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+ // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
}
*]
GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_MatrixEditor912.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_MatrixEditor912.def
new file mode 100644
index 0000000..dcc3160
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_MatrixEditor912.def
@@ -0,0 +1,98 @@
+Quintiq file version 2.0
+Component MatrixEditor912
+{
+ #keys: '[413988.0.1465931073]'
+ BaseType: 'WebMatrixEditor'
+ Children:
+ [
+ Component MatrixEditorCell727
+ {
+ #keys: '[413988.0.1465931074]'
+ BaseType: 'WebMatrixEditorCell'
+ Children:
+ [
+ Component DataExtractor189
+ {
+ #keys: '[413988.0.1465931075]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'MachineLogisticsCostReportRow.MachineLogisticsCostReportCell'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Attributes: 'PackingCharges;UnpackingCost;BufferPaperCost;QuantityOfWoodenCrates;WoodenCrateCost;TransferCost;StorageFeesForRentedWarehouses;OutboundExpensesForRentedWarehouses;ExternalRentalWarehouseTransportationCosts;RentalWarehouseStorageFees;EstimatedTotalCost;Coefficient;TotalCost'
+ Column: 'MachineLogisticsCostReportColumn'
+ Row: 'MachineLogisticsCostReportRow'
+ Taborder: 0
+ ]
+ }
+ Component MatrixEditorRows154
+ {
+ #keys: '[413988.0.1465931078]'
+ BaseType: 'WebMatrixEditorHeaderLevel'
+ Children:
+ [
+ Component DataExtractor972
+ {
+ #keys: '[413988.0.1465931079]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'MachineLogisticsCostReportRow'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Legend: 'Category'
+ SortCriteria: 'Category'
+ Taborder: 1
+ ]
+ }
+ Component MatrixEditorColumns700
+ {
+ #keys: '[413988.0.1465931082]'
+ BaseType: 'WebMatrixEditorHeaderLevel'
+ Children:
+ [
+ Component DataExtractor687
+ {
+ #keys: '[413988.0.1465931083]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'MachineLogisticsCostReportColumn'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Legend: 'StartDate'
+ SortCriteria: 'StartDate'
+ Taborder: 2
+ ]
+ }
+ #child: matrixEditorActionBarPage703
+ #child: matrixeditorContextMenu253
+ ]
+ Properties:
+ [
+ AllowMultipleAttributes: true
+ Columns: 'MatrixEditorColumns700'
+ ContextMenu: 'matrixeditorContextMenu253'
+ Rows: 'MatrixEditorRows154'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_matrixEditorActionBarPage703.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_matrixEditorActionBarPage703.def
new file mode 100644
index 0000000..a23fbd7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_matrixEditorActionBarPage703.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixEditorActionBarPage703
+{
+ #keys: '[413988.0.1465931086]'
+ BaseType: 'matrixEditorActionBarPage'
+ Properties:
+ [
+ Taborder: 3
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_matrixeditorContextMenu253.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_matrixeditorContextMenu253.def
new file mode 100644
index 0000000..7646b0a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_matrixeditorContextMenu253.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixeditorContextMenu253
+{
+ #keys: '[413988.0.1465931089]'
+ BaseType: 'matrixeditorContextMenu'
+ Properties:
+ [
+ Taborder: 4
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_pContent.def
new file mode 100644
index 0000000..f3575cd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_pContent.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component pContent
+{
+ #keys: '[413988.0.1467187130]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: MatrixEditor912
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_pHeader.def
new file mode 100644
index 0000000..1a7eefd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_pHeader.def
@@ -0,0 +1,46 @@
+Quintiq file version 2.0
+Component pHeader
+{
+ #keys: '[413988.0.1467187119]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ddslFactory
+ {
+ #keys: '[413988.0.1467011004]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ Sorting: 'none'
+ Strings: '澶ц繛宸ュ巶;闀挎槬宸ュ巶'
+ Taborder: 0
+ ]
+ }
+ Component bRefresh
+ {
+ #keys: '[413988.0.1467011018]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'REFRESH'
+ Taborder: 1
+ ]
+ }
+ Component Button655
+ {
+ #keys: '[413988.0.1467011030]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Border: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Response_pHeader_bRefresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Response_pHeader_bRefresh_OnClick.def
new file mode 100644
index 0000000..6cef4ca
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Response_pHeader_bRefresh_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: pHeader/bRefresh
+Response OnClick () id:Response_pHeader_bRefresh_OnClick
+{
+ #keys: '[413988.0.1467314360]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( MacroPlan );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ MachineLogisticsCostReportCell::CreateData( MacroPlan, ddslFactory.Text() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/_ROOT_Component_FormMachineLogisticsCostReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/_ROOT_Component_FormMachineLogisticsCostReport.def
new file mode 100644
index 0000000..c5e5780
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/_ROOT_Component_FormMachineLogisticsCostReport.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormMachineLogisticsCostReport
+{
+ #keys: '[413988.0.1467187084]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pHeader
+ #child: pContent
+ ]
+ Properties:
+ [
+ Title: 'MachineLogisticsCostReport'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Component_PanelExport.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Component_PanelExport.def
index f599c42..cb6cfb8 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Component_PanelExport.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Component_PanelExport.def
@@ -12,6 +12,16 @@
Properties:
[
Image: 'IMPORT1'
+ Taborder: 1
+ ]
+ }
+ Component ButtonSearch
+ {
+ #keys: '[415136.0.972181477]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'VIEW'
Taborder: 0
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelExport_ButtonSearch_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelExport_ButtonSearch_OnClick.def
new file mode 100644
index 0000000..609a7d6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelExport_ButtonSearch_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: PanelExport/ButtonSearch
+Response OnClick () id:Response_PanelExport_570_ButtonSearch_OnClick
+{
+ #keys: '[415136.0.972181476]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelPeriod_DateSelectorEnd_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelPeriod_DateSelectorEnd_OnChanged.def
index 89d54eb..921b890 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelPeriod_DateSelectorEnd_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelPeriod_DateSelectorEnd_OnChanged.def
@@ -15,7 +15,7 @@
}else{
if( dhSearch.Data().EndDate() <> this.Date() ){
dhSearch.Data().EndDate( this.Date() );
- DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+ // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
}
}
*]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelPeriod_DateSelectorStart_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelPeriod_DateSelectorStart_OnChanged.def
index f1b84da..c8a387b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelPeriod_DateSelectorStart_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelPeriod_DateSelectorStart_OnChanged.def
@@ -15,7 +15,7 @@
}else{
if( dhSearch.Data().StartDate() <> this.Date() ){
dhSearch.Data().StartDate( this.Date() );
- DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+ // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
}
}
*]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelTimeUnit_778_RadioButtonGroupUseForTimeUnit_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelTimeUnit_778_RadioButtonGroupUseForTimeUnit_OnChanged.def
index 983fe7e..ff83249 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelTimeUnit_778_RadioButtonGroupUseForTimeUnit_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/Response_PanelTimeUnit_778_RadioButtonGroupUseForTimeUnit_OnChanged.def
@@ -12,7 +12,7 @@
//鍖洪棿鏀瑰彉鍚庡埛鏂版樉绀�
if( dhSearch.Data().TimeUnit() <> this.BoundValue() ){
dhSearch.Data().TimeUnit( this.BoundValue() );
- DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
+ // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() );
}
*]
GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Engine_pipleline_report.vw b/_Main/UI/MacroPlannerWebApp/Views/Engine_pipleline_report.vw
index 0b36ffb..bdf33df 100644
--- a/_Main/UI/MacroPlannerWebApp/Views/Engine_pipleline_report.vw
+++ b/_Main/UI/MacroPlannerWebApp/Views/Engine_pipleline_report.vw
@@ -90,156 +90,6 @@
}
}
}
- form_FormMachiningPipelineReport
- {
- title: 'QMacroPlanner::FormMachiningPipelineReport'
- shown: true
- componentID: 'QMacroPlanner::FormMachiningPipelineReport'
- layout
- {
- mode: 'open'
- rowPosition: 16
- rowSpan: 19
- columnPosition: 1
- columnSpan: 12
- }
- components
- {
- FormMachiningPipelineReport_PanelHeader
- {
- sizeRatio: 1
- }
- FormMachiningPipelineReport_PanelSearch
- {
- sizeRatio: 1
- }
- FormMachiningPipelineReport_PanelPeriod
- {
- sizeRatio: 1
- }
- FormMachiningPipelineReport_PanelTimeUnit
- {
- sizeRatio: 1
- }
- FormMachiningPipelineReport_PanelExport
- {
- sizeRatio: 1
- }
- FormMachiningPipelineReport_PanelTable
- {
- sizeRatio: 1
- }
- FormMachiningPipelineReport_MatrixEditorTable
- {
- gridColor: '#c4c4c4'
- totalHeaderWidth: 200
- attributeHeaderWidthRatio: 0.6
- nameHeaderWidthRatio: 0.4
- columnWidth: 100
- horizontalGrid: true
- verticalGrid: true
- backendState
- {
- componentId: 'QMacroPlanner::FormMachiningPipelineReport.MatrixEditorTable'
- state
- {
- cells
- {
- attributes
- {
- attribute_CCAssemblyPlanQty
- {
- type: 'MatrixEditorWebApiCellDataModelInterest'
- index: 0
- rowsubtotal: ''
- columnsubtotal: ''
- attribute: 'CCAssemblyPlanQty'
- }
- attribute_CCProductionQty
- {
- type: 'MatrixEditorWebApiCellDataModelInterest'
- index: 1
- rowsubtotal: ''
- columnsubtotal: ''
- attribute: 'CCProductionQty'
- }
- attribute_CCTransferQty
- {
- type: 'MatrixEditorWebApiCellDataModelInterest'
- index: 2
- rowsubtotal: ''
- columnsubtotal: ''
- attribute: 'CCTransferQty'
- }
- attribute_CCInventoryQty
- {
- type: 'MatrixEditorWebApiCellDataModelInterest'
- index: 3
- rowsubtotal: ''
- columnsubtotal: ''
- attribute: 'CCInventoryQty'
- }
- attribute_DLAssemblyPlanQty
- {
- type: 'MatrixEditorWebApiCellDataModelInterest'
- index: 4
- rowsubtotal: ''
- columnsubtotal: ''
- attribute: 'DLAssemblyPlanQty'
- }
- attribute_DLProductionQty
- {
- type: 'MatrixEditorWebApiCellDataModelInterest'
- index: 5
- rowsubtotal: ''
- columnsubtotal: ''
- attribute: 'DLProductionQty'
- }
- attribute_DLTransferQty
- {
- type: 'MatrixEditorWebApiCellDataModelInterest'
- index: 6
- rowsubtotal: ''
- columnsubtotal: ''
- attribute: 'DLTransferQty'
- }
- attribute_DLInventoryQty
- {
- type: 'MatrixEditorWebApiCellDataModelInterest'
- index: 7
- rowsubtotal: ''
- columnsubtotal: ''
- attribute: 'DLInventoryQty'
- }
- attribute_TotalInventoryQty
- {
- type: 'MatrixEditorWebApiCellDataModelInterest'
- index: 8
- rowsubtotal: ''
- columnsubtotal: ''
- attribute: 'TotalInventoryQty'
- }
- }
- }
- columns
- {
- sorting
- {
- criteria: "datamember:'Index'"
- }
- }
- rows
- {
- sorting
- {
- criteria: "datamember:'RowNr'"
- }
- }
- }
- }
- }
- }
- }
form_FormOptimizerPuzzles
{
title: 'Optimizer Puzzles'
diff --git a/_Main/UI/MacroPlannerWebApp/Views/MachineLogisticsCostReport.vw b/_Main/UI/MacroPlannerWebApp/Views/MachineLogisticsCostReport.vw
new file mode 100644
index 0000000..4f9b6ae
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/MachineLogisticsCostReport.vw
@@ -0,0 +1,89 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormMachineLogisticsCostReport
+ {
+ title: 'QMacroPlanner::FormMachineLogisticsCostReport'
+ shown: true
+ componentID: 'QMacroPlanner::FormMachineLogisticsCostReport'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 14
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components
+ {
+ FormMachineLogisticsCostReport_pHeader
+ {
+ sizeRatio: 1
+ }
+ FormMachineLogisticsCostReport_pContent
+ {
+ sizeRatio: 1
+ }
+ }
+ }
+ 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: 'MachineLogisticsCostReport'
+ name: 'MachineLogisticsCostReport'
+ isglobal: false
+ isroot: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Machining_pipeline_report_view.vw b/_Main/UI/MacroPlannerWebApp/Views/Machining_pipeline_report_view.vw
new file mode 100644
index 0000000..f31232a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/Machining_pipeline_report_view.vw
@@ -0,0 +1,281 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_FormMachiningPipelineReport
+ {
+ title: 'QMacroPlanner::FormMachiningPipelineReport'
+ shown: true
+ componentID: 'QMacroPlanner::FormMachiningPipelineReport'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 14
+ columnPosition: 1
+ columnSpan: 12
+ }
+ components
+ {
+ FormMachiningPipelineReport_PanelHeader
+ {
+ sizeRatio: 1
+ }
+ FormMachiningPipelineReport_PanelSearch
+ {
+ sizeRatio: 1
+ }
+ FormMachiningPipelineReport_PanelPeriod
+ {
+ sizeRatio: 1
+ }
+ FormMachiningPipelineReport_PanelTimeUnit
+ {
+ sizeRatio: 1
+ }
+ FormMachiningPipelineReport_PanelExport
+ {
+ sizeRatio: 1
+ }
+ FormMachiningPipelineReport_PanelTable
+ {
+ sizeRatio: 1
+ }
+ FormMachiningPipelineReport_MatrixEditorTable
+ {
+ gridColor: '#c4c4c4'
+ totalHeaderWidth: 200
+ attributeHeaderWidthRatio: 0.6
+ nameHeaderWidthRatio: 0.4
+ columnWidth: 100
+ horizontalGrid: true
+ verticalGrid: true
+ backendState
+ {
+ componentId: 'QMacroPlanner::FormMachiningPipelineReport.MatrixEditorTable'
+ state
+ {
+ cells
+ {
+ attributes
+ {
+ attribute_CCAssemblyPlanQty
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 0
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'CCAssemblyPlanQty'
+ }
+ attribute_CCProductionQty
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 1
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'CCProductionQty'
+ }
+ attribute_CCTransferQty
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 2
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'CCTransferQty'
+ }
+ attribute_CCInventoryQty
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 3
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'CCInventoryQty'
+ }
+ attribute_DLAssemblyPlanQty
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 4
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'DLAssemblyPlanQty'
+ }
+ attribute_DLProductionQty
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 5
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'DLProductionQty'
+ }
+ attribute_DLTransferQty
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 6
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'DLTransferQty'
+ }
+ attribute_DLInventoryQty
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 7
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'DLInventoryQty'
+ }
+ attribute_TotalInventoryQty
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 8
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'TotalInventoryQty'
+ }
+ }
+ }
+ columns
+ {
+ sorting
+ {
+ criteria: "datamember:'Index'"
+ }
+ }
+ rows
+ {
+ sorting
+ {
+ criteria: "datamember:'RowNr'"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ 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: 25
+ image: 'DOCUMENT_CONNECTION'
+ description: ''
+ }
+ formatversion: 2
+ id: 'Machining_pipeline_report_view'
+ name: 'Machining pipeline report view'
+ isglobal: false
+ isroot: true
+}
diff --git "a/_var/_Main/ProjSettings/EditorTC/Views/\347\217\255\346\254\241\346\227\266\351\227\264\345\210\206\346\236\220_\133413988.0.1367211460\135.vw" "b/_var/_Main/ProjSettings/EditorTC/Views/\347\217\255\346\254\241\346\227\266\351\227\264\345\210\206\346\236\220_\133413988.0.1367211460\135.vw"
index 7991f60..9b27eac 100644
--- "a/_var/_Main/ProjSettings/EditorTC/Views/\347\217\255\346\254\241\346\227\266\351\227\264\345\210\206\346\236\220_\133413988.0.1367211460\135.vw"
+++ "b/_var/_Main/ProjSettings/EditorTC/Views/\347\217\255\346\254\241\346\227\266\351\227\264\345\210\206\346\236\220_\133413988.0.1367211460\135.vw"
@@ -17,7 +17,7 @@
CREATIONUSER 'quintiq/lihongji'
UPDATEDATETIME '2024-07-16T11:47:37'
UPDATEUSER 'quintiq/lihongji'
- LASTACCESSDATE '2024-08-04'
+ LASTACCESSDATE '2024-08-07'
VIEWSCOPE 0
}
AUTHORIZATIONS
--
Gitblit v1.9.3