From 6bb5be04d80e98451182465c7b52eb5cb9c8ed74 Mon Sep 17 00:00:00 2001 From: lazhen <17772815105@139.com> Date: 星期三, 07 八月 2024 16:54:58 +0800 Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev-zlg --- _Main/BL/Type_TransferPlanRow/Attribute_Category.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Response_pHeader_bRefresh_OnClick.def | 20 + _Main/BL/Type_MachineLogisticsCostReportRow/_ROOT_Type_MachineLogisticsCostReportRow.qbl | 9 _Main/BL/Type_PackagingPlanCell/StaticMethod_GenerateReport.qbl | 12 _Main/BL/Type_MachineLogisticsCostReportRow/Attribute_Category.qbl | 7 _Main/BL/Type_MachineLogisticsCostReportCell/Attribute_RentalWarehouseStorageFees.qbl | 8 _Main/UI/MacroPlannerWebApp/Views/MachineLogisticsCostReport.vw | 89 +++++++ _Main/BL/Relations/Relation_MachineLogisticsCostReportColumn_MacroPlan_MacroPlan_MachineLogisti.qbl | 23 + _Main/BL/Type_MachineLogisticsCostReportCell/Attribute_StorageFeesForRentedWarehouses.qbl | 8 _Main/BL/Relations/Relation_MachineLogisticsCostReportRow_MacroPlan_MacroPlan_MachineLogisticsC.qbl | 23 + _Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_matrixeditorContextMenu253.def | 10 _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_FormMachineLogisticsCostReport/Component_pContent.def | 14 + _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bMachineLogisticsCostReport_OnCli.def | 16 + _Main/BL/Type_MachineLogisticsCostReportColumn/Attribute_StartDate.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_MatrixEditor912.def | 98 ++++++++ _Main/BL/Relations/Relation_MachineLogisticsCostReportColumn_MachineLogisticsCostReportCell_Mac.qbl | 23 + _Main/BL/Type_MachineLogisticsCostReportCell/Attribute_UnitPriceOfWoodenCrate.qbl | 8 _Main/BL/Type_MachineLogisticsCostReportCell/Attribute_TotalCost.qbl | 8 _Main/BL/Type_MachineLogisticsCostReportCell/Attribute_QuantityOfWoodenCrates.qbl | 8 _Main/BL/Type_MachineLogisticsCostReportCell/_ROOT_Type_MachineLogisticsCostReportCell.qbl | 9 _Main/BL/Type_MachineLogisticsCostReportCell/Attribute_BufferPaperCost.qbl | 8 _Main/BL/Type_MachineLogisticsCostReportRow/Attribute_Factory.qbl | 7 _Main/BL/Type_MachineLogisticsCostReportCell/Attribute_TransferCost.qbl | 8 _Main/BL/Type_MachineLogisticsCostReportCell/Attribute_OutboundExpensesForRentedWarehouses.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_ApplicationMacroPlanner/Component_ActionBarGroupReport.def | 22 + _Main/BL/Type_MachineLogisticsCostReportCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl | 8 _Main/BL/Type_MachineLogisticsCostReportCell/Attribute_UnpackingCost.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormMachineLogisticsCostReport/Component_pHeader.def | 46 +++ _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 39 files changed, 712 insertions(+), 2 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_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_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 5df48e2..72e3dc9 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def @@ -86,6 +86,28 @@ 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]' + BaseType: 'WebButton' + Properties: + [ + Image: 'EQUALS' + Label: '闇�姹傚姣�' + Taborder: 8 + ] + } ] Properties: [ 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_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/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/_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