From bcd7eb876bff759f6aef96f1014b0bca7a3322ff Mon Sep 17 00:00:00 2001 From: rislai <risheng.lai@capgemini.com> Date: 星期五, 16 八月 2024 15:53:14 +0800 Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev --- _Main/BL/Relations/Relation_CC_EngineRackCell_CC_EngineRackColumn_CC_EngineRackColumn_CC_Engine.qbl | 23 _Main/BL/Type_CCEngineLogisticsCostSearch/Attribute_MqbMlb.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnUserChanged.def | 2 _Main/BL/Type_CCEngineLogisticsCostReport0/_ROOT_Type_DLEngineLogisticsCostReport#0.qbl | 10 _Main/BL/Type_FinancialProductionImportData/_ROOT_Type_FinancialProductionImportData.qbl | 10 _Main/BL/Type_DL_EngineRackCell/Attribute_DLStorageFeesForRentedWarehouses.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultDLUnit.qbl | 11 _Main/BL/Type_DLEngineLogisticsCostSearch/DefaultValue_Power.qbl | 6 _Main/BL/Type_CCEngineLogisticsCostSearch/Attribute_Generation.qbl | 7 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_EstimatedTotalCost.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostCell/Attribute_TotalCost.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Component_pnlContent.def | 44 _Main/BL/Type_CC_EngineRackRow/Attribute_Generation.qbl | 7 _Main/BL/Type_CCEngineLogisticsCostCell/Function_CalcEstimatedTotalCost.qbl | 13 _Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Download.qbl | 212 + _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurveEnable.def | 1 _Main/BL/Type_CCEngineLogisticsCostRow/Method_Initialize.qbl | 17 _Main/BL/Type_CCEngineLogisticsCostReport0/DefaultValue_ID.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelMQBMLB_667_ddslMQBMLB_OnCreated.def | 23 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelExport.def | 34 _Main/BL/Relations/Relation_CCEngineLogisticsCostReport_MacroPlan_MacroPlan_CCEngineLogisticsCo.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAEnable_cPPAEnable_OnChanged.def | 6 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelPower_653_ddslPower_OnCreated.def | 23 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurve_bCurve_OnClick.def | 4 _Main/BL/Type_CCEngineLogisticsCostColumn0/Attribute_Index.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostRow/_ROOT_Type_CCEngineLogisticsCostRow.qbl | 10 _Main/BL/Type_FinancialSalesRow/Method_InitializeCell.qbl | 5 _Main/BL/Type_CC_EngineRackRow/Attribute_MLB_MQB.qbl | 7 _Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultAllUnit.qbl | 10 _Main/BL/Type_EnginePipelineColumn/Attribute_EndDate.qbl | 8 _Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCALineUnit.qbl | 11 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bCC_EngineRackReport_OnClick.def | 16 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_MatrixEditorTable#358.def | 98 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCShortTransCost.qbl | 8 _Main/BL/Type_FinancialProductionImportData/Attribute_MqbMlb.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelTable.def | 14 _Main/BL/Relations/Relation_DL_EngineRackColumn_MacroPlan_MacroPlan_DL_EngineRackColumn.qbl | 23 _Main/BL/Type_FinancialSalesImportData/Attribute_MqbMlb.qbl | 7 _Main/BL/Type_CCEngineLogisticsCostSearch/_ROOT_Type_CCEngineLogisticsCostSearch.qbl | 10 _Main/BL/Type_CCEngineLogisticsCostCell/Attribute_RentOutCost.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelCCEngineLogisticsCostReportSearch.def | 19 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelExport_ButtonSearch_OnClick.def | 16 _Main/BL/Type_CC_EngineRackColumn/Attribute_StartDate.qbl | 7 _Main/BL/Type_FinancialSalesReport/Method_GetRow.qbl | 9 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelPower_653_ddslPower_OnSelectionChanged.def | 19 _Main/BL/Relations/Relation_FinancialSalesImportData_Cell_FinancialSalesCell_FSImportData.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/_ROOT_Component_FormFinancialWeeklyReport.def | 3 _Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl | 110 _Main/BL/Type_CCEngineLogisticsCostSearch/DefaultValue_Generation.qbl | 6 _Main/BL/Type_DL_EngineRackCell/Attribute_CCStorageFeesForRentedWarehouses.qbl | 8 _Main/BL/Type_DL_EngineRackCell/Attribute_CCShortDistanceTransportationCosts.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelExport_ButtonExport_OnClick.def | 22 _Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCALineUnit.qbl | 11 _Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetRentOutCost.qbl | 16 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelGeneration.def | 24 _Main/BL/Type_CCEngineLogisticsCostColumn/DefaultValue_Name.qbl | 6 _Main/BL/Type_FinancialProductionImportData/DefaultValue_Power.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlContent.def | 1 _Main/BL/Type_EnginePipelineReport/Method_GetColumnByUnit.qbl | 4 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnCreated.def | 2 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentEnterCost.qbl | 8 _Main/BL/Type_DL_EngineRackCell/Attribute_CCLineHaulCost.qbl | 8 _Main/BL/Type_FinancialProductionImportData/Attribute_Generation.qbl | 7 _Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLMPLineUnit.qbl | 11 _Main/UI/MacroPlannerWebApp/Views/CCEngineRackReport.vw | 206 + _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostMachining/Component_pnlContent.def | 23 _Main/BL/Type_DLEngineLogisticsCostSearch/DefaultValue_Generation.qbl | 6 _Main/BL/Type_CCEngineLogisticsCostCell/Attribute_Coefficient.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostColumn0/Attribute_Name.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_bPPA_OnClick.def | 4 _Main/BL/Type_CCEngineLogisticsCostColumn0/Attribute_StartDate.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostRow/Method_SetRentEnterCost#517.qbl | 16 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixeditorContextMenu683.def | 10 _Main/BL/Type_CCEngineLogisticsCostCell/_ROOT_Type_CCEngineLogisticsCostCell.qbl | 10 _Main/BL/Type_CCEngineLogisticsCostSearch/Attribute_Power.qbl | 7 _Main/BL/Type_CCEngineLogisticsCostReport/Method_IsInUnit.qbl | 16 _Main/BL/Type_CC_EngineRackRow/Function_CalcName.qbl | 13 _Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl | 51 _Main/BL/Type_DL_EngineRackCell/Attribute_CleaningCost.qbl | 8 _Main/BL/Relations/Relation_CC_EngineRackRow_CC_EngineRackCell_CC_EngineRackCell_CC_EngineRackR.qbl | 23 _Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetStockingPointCCLine.qbl | 11 _Main/BL/Type_CC_EngineRackCell/Attribute_NumberOfEmptyShelves.qbl | 8 _Main/BL/Type_DL_EngineRackCell/Attribute_DLRentalWarehouseStorageFees.qbl | 8 _Main/BL/Relations/Relation_DLEngineLogisticsCostReport_MacroPlan_MacroPlan_DLEngineLogisticsCo.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/_ROOT_Component_FormCCEngineLogisticsCostReport.def | 39 _Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLALineUnit.qbl | 11 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelExport_670_ButtonSearch_OnClick.def | 16 _Main/BL/Type_CCEngineLogisticsCostCell/Function_CalcTotalCost.qbl | 13 _Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultName.qbl | 10 _Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultDLProductionUnit.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnUserChanged.def | 2 _Main/BL/Type_CCEngineLogisticsCostColumn0/_ROOT_Type_DLEngineLogisticsCostColumn#0.qbl | 10 _Main/BL/Type_FinancialProductionRow/Method_Initialize#110.qbl | 11 _Main/BL/Type_FinancialSalesImportData/DefaultValue_Unit.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelGeneration_969_ddslGeneration_OnCreated.def | 23 _Main/BL/Type_CCEngineLogisticsCostReport/Method_GetRow.qbl | 21 _Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultCCUnit.qbl | 11 _Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultProductParent.qbl | 10 _Main/BL/Type_CCEngineLogisticsCostCell/Attribute_EstimatedTotalCost.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_DLRentOutCost#0.qbl | 8 _Main/BL/Type_FinancialProductionImportData/Attribute_Power.qbl | 7 _Main/BL/Type_FinancialProductionImportData/Attribute_Quantity.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pContent.def | 14 _Main/BL/Type_CCEngineLogisticsCostSearch/DefaultValue_Power.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_matrixEditorActionBarPageTable#1.def | 10 _Main/BL/Type_DL_EngineRackCell/Attribute_TotalQuantityOfMaterialRacks.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostReport0/Attribute_Name.qbl | 8 _Main/BL/Type_DL_EngineRackColumn/_ROOT_Type_DL_EngineRackColumn.qbl | 9 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_MatrixEditorTable_OnUpdateValue.def | 33 _Main/BL/Type_CCEngineLogisticsCostReport0/Attribute_IsShow.qbl | 7 _Main/BL/Type_DL_EngineRackCell/Attribute_DLOutboundExpensesForRentedWarehouses.qbl | 8 _Main/BL/Type_DL_EngineRackCell/StaticMethod_CreateData.qbl | 36 _Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLALineUnit.qbl | 11 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Response_pnlContent_ddslOrigin_OnCreated.def | 18 _Main/BL/Type_CCEngineLogisticsCostCell/Attribute_FactoryToRentTransCost.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_matrixeditorContextMenuTable#1.def | 10 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def | 54 _Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Response_pHeader_bRefresh_OnClick.def | 20 _Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCMPLineUnit.qbl | 11 _Main/BL/Type_DL_EngineRackCell/Attribute_EstimatedTotalCost.qbl | 8 _Main/BL/Type_FinancialProductionImportData/Attribute_Unit.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_MatrixEditorTable.def | 98 _Main/BL/Type_CCEngineLogisticsCostReport/Attribute_ID.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetDLRentOutCost.qbl | 20 _Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_matrixEditorActionBarPage191.def | 10 _Main/BL/Type_CCEngineLogisticsCostRow0/DefaultValue_Name.qbl | 6 _Main/BL/Type_MachiningPipelineColumn0/Attribute_StartDate.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelGeneration#969.def | 24 _Main/BL/Type_CC_EngineRackCell/StaticMethod_CreateData.qbl | 36 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelGeneration_ddslGeneration_OnCreated.def | 23 _Main/BL/Type_CCEngineLogisticsCostReport/Attribute_IsShow.qbl | 7 _Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultAllUnit.qbl | 10 _Main/BL/Type_MachiningPipelineRow/Method_SetCellTransferValue.qbl | 20 _Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLMPLineUnit.qbl | 11 _Main/BL/Type_CCEngineLogisticsCostRow/DefaultValue_Name.qbl | 6 _Main/BL/Type_MachiningPipelineColumn0/Attribute_DLAssemblyPlanQty.qbl | 8 _Main/BL/Type_CC_EngineRackCell/Attribute_EstimatedTotalCost.qbl | 8 _Main/BL/Type_FinancialSalesImportData/Function_CalcQuantity.qbl | 13 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/_ROOT_Component_FormCC_EngineRackReport.def | 13 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelMQBMLB_ddslMQBMLB_OnSelectionChanged.def | 19 _Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultProductParent.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_OnCreated.def | 26 _Main/BL/Type_CCEngineLogisticsCostRow0/_ROOT_Type_DLEngineLogisticsCostRow#0.qbl | 10 _Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLMPLineUnit.qbl | 11 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelTable#211.def | 14 _Main/BL/Type_EnginePipelineSource/StaticMethod_Initialize.qbl | 64 _Main/BL/Relations/Relation_DL_EngineRackRow_DL_EngineRackCell_DL_EngineRackCell_DL_EngineRackR.qbl | 23 _Main/BL/Type_DLEngineLogisticsCostSearch/Attribute_Power.qbl | 7 _Main/BL/Type_EnginePipelineReport/Method_Generate.qbl | 44 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelMQBMLB_ddslMQBMLB_OnCreated.def | 23 _Main/BL/Relations/Relation_CCEngineLogisticsCostRow_Report_CCEngineLogisticsCostReport_Row.qbl | 23 _Main/BL/Relations/Relation_FinancialProductionImportData_MacroPlan_MacroPlan_FPImportData.qbl | 23 _Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetStockingPointDLRent.qbl | 10 _Main/BL/Type_CCEngineLogisticsCostRow0/Attribute_RowNr.qbl | 8 _Main/BL/Type_EnginePipelineRow/Method_SetCellProductionValue.qbl | 2 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentStorageCost.qbl | 8 _Main/BL/Type_DL_EngineRackRow/DefaultValue_Generation.qbl | 6 _Main/BL/Type_MachiningPipelineColumn0/Attribute_CCAssemblyPlanQty.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bDL_EngineRackReport_OnClick.def | 16 _Main/BL/Type_CCEngineLogisticsCostColumn0/DefaultValue_Name.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixEditorActionBarPage178.def | 10 _Main/BL/Type_DL_EngineRackCell/Attribute_NumberOfEmptyShelves.qbl | 8 _Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl | 23 _Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultName.qbl | 10 _Main/BL/Type_CC_EngineRackCell/Attribute_CleaningCost.qbl | 8 _Main/UI/MacroPlannerWebApp/Views/LogisticsCostParameterSetting.vw | 21 _Main/BL/Type_CCEngineLogisticsCostColumn0/Function_CalcIndex.qbl | 13 _Main/BL/Relations/Relation_DLEngineLogisticsCostSearch_MacroPlan_MacroPlan_DLEngineLogisticsCo.qbl | 23 _Main/BL/Type_DL_EngineRackColumn/Attribute_StartDate.qbl | 7 _Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultProductParent.qbl | 10 _Main/Sys/Repr/Global/MachiningPipelineCell.qrp | 51 _Main/UI/MacroPlannerWebApp/Views/ShiftPlan.vw | 86 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_DLRentStorageCost#0.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelCCEngineLogisticsCostReportHeader.def | 15 _Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/_ROOT_Component_FormEnginePipelineReport.def | 3 _Main/BL/Type_DL_EngineRackCell/Attribute_Coefficient.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostColumn/Attribute_Name.qbl | 8 _Main/BL/Type_CC_EngineRackRow/Attribute_Name.qbl | 7 _Main/BL/Type_CC_EngineRackCell/Attribute_TotalCost.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormFinancialProductionReport/_ROOT_Component_FormFinancialProductionReport.def | 3 _Main/BL/Type_CCEngineLogisticsCostRow/Attribute_RowNr.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_MenuDLEngineLogis.def | 16 _Main/BL/Type_FinancialSalesRow/Method_Initialize.qbl | 13 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_MenuCCEngineLogis.def | 16 _Main/BL/Relations/Relation_DL_EngineRackColumn_DL_EngineRackCell_DL_EngineRackCell_DL_EngineRa.qbl | 23 _Main/BL/Type_DL_EngineRackRow/Attribute_Name.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_OnCreated.def | 25 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelPower.def | 24 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/_ROOT_Component_FormDLEngineLogisticsCostReport.def | 39 _Main/BL/Type_DLEngineLogisticsCostSearch/Attribute_MqbMlb.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Response_pnlContent_ddslDestination_OnCreated.def | 18 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelMQBMLB_667_ddslMQBMLB_OnSelectionChanged.def | 19 _Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Initialize.qbl | 272 ++ _Main/BL/Type_CCEngineLogisticsCostSearch/DefaultValue_MqbMlb.qbl | 6 _Main/UI/MacroPlannerWebApp/Views/DemandComparison.vw | 136 + _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def | 26 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_Coefficient.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_cPPA_OnCreated.def | 2 _Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCMPLineUnit.qbl | 11 _Main/UI/MacroPlannerWebApp/Views/DLEngineRackReport.vw | 89 _Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultCCUnit.qbl | 11 _Main/BL/Type_DL_EngineRackCell/_ROOT_Type_DL_EngineRackCell.qbl | 9 _Main/BL/Relations/Relation_CCEngineLogisticsCostCell_Column_CCEngineLogisticsCostColumn_Cell.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlContent_ddslName_OnCreated.def | 18 _Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultCCProductionUnit.qbl | 2 _Main/BL/Type_FinancialProductionReport/Method_GetRowByUnit.qbl | 9 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentOutCost.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/_ROOT_Component_FormInventorySummaryReport.def | 3 _Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/_ROOT_Component_FormDL_EngineRackReport.def | 13 _Main/BL/Type_CCEngineLogisticsCostRow/Method_SetRentStorageCost.qbl | 16 _Main/BL/Type_CCEngineLogisticsCostReport/Method_GenerateColumn.qbl | 20 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostMaterialRack/Component_pnlContent.def | 23 _Main/Sys/Repr/Global/CCEngineLogisticsCostCell.qrp | 41 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelMQBMLB#667.def | 24 _Main/BL/Type_CCEngineLogisticsCostColumn/Attribute_Index.qbl | 8 _Main/BL/Type_DLEngineLogisticsCostSearch/DefaultValue_MqbMlb.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnCreated.def | 2 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_FactoryToDLRentTransCost.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetRentStorageCost.qbl | 16 _Main/BL/Type_FinancialSalesImportData/DefaultValue_Power.qbl | 6 _Main/BL/Type_CC_EngineRackCell/_ROOT_Type_CC_EngineRackCell.qbl | 9 _Main/BL/Type_DL_EngineRackCell/Attribute_CCRentalWarehouseStorageFees.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/_ROOT_Component_FormMachiningPipelineReport.def | 3 _Main/BL/Type_CC_EngineRackCell/Attribute_Coefficient.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Initialize.qbl | 166 + _Main/BL/Type_CCEngineLogisticsCostReport0/Method_Clear.qbl | 13 _Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelExport#670.def | 34 _Main/BL/Type_CCEngineLogisticsCostReport0/Method_IsInUnit.qbl | 16 _Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/_ROOT_Component_FormFinancialSalesReport.def | 3 _Main/BL/Type_FinancialSalesImportData/_ROOT_Type_FinancialSalesImportData.qbl | 10 _Main/BL/Type_FinancialSalesImportData/Attribute_Generation.qbl | 7 _Main/BL/Relations/Relation_CCEngineLogisticsCostSearch_MacroPlan_MacroPlan_CCEngineLogisticsCo.qbl | 23 _Main/BL/Type_CCEngineLogisticsCostRow0/Attribute_Name.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostColumn/Attribute_StartDate.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostReport0/Method_GetRow.qbl | 21 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_TotalCost.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostReport/Method_Generate.qbl | 49 _Main/BL/Type_CCEngineLogisticsCostReport/DefaultValue_Name.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnOk_OnClick.def | 2 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pPPAEnable.def | 1 _var/_Main/ProjSettings/EditorTC/Views/班次时间分析_[413988.0.1367211460].vw | 2 _Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetFactoryToRentTransCost.qbl | 16 _Main/BL/Type_FinancialSalesImportData/DefaultValue_Generation.qbl | 6 _Main/BL/Type_CCEngineLogisticsCostCell/Attribute_RentEnterCost.qbl | 8 _Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl | 4 _Main/BL/Type_CCEngineLogisticsCostColumn/Function_CalcIndex.qbl | 13 _Main/BL/Type_CCEngineLogisticsCostReport/Method_Clear.qbl | 13 _Main/BL/Type_CC_EngineRackRow/_ROOT_Type_CC_EngineRackRow.qbl | 9 _Main/BL/Type_MachiningPipelineReport/Method_GetColumnByUnit.qbl | 4 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelPower#653.def | 24 _Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetStockingPointDLLine.qbl | 11 _Main/BL/Relations/Relation_DLEngineLogisticsCostReport_Column_DLEngineLogisticsCostColumn_Repo.qbl | 26 _Main/BL/Type_CCEngineLogisticsCostReport/DefaultValue_ID.qbl | 6 _Main/BL/Relations/Relation_DLEngineLogisticsCostColumn_Cell_DLEngineLogisticsCostCell_Column.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurve.def | 2 _Main/BL/Type_DL_EngineRackRow/DefaultValue_MLB_MQB.qbl | 6 _Main/BL/Relations/Relation_FinancialSalesImportData_MacroPlan_MacroPlan_FSImportData.qbl | 23 _Main/BL/Type_FinancialSalesImportData/Attribute_Power.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuEngineLogisticsCostReport.def | 37 _Main/BL/Type_CCEngineLogisticsCostReport/Attribute_Name.qbl | 8 _Main/BL/Relations/Relation_FinancialProductionImportData_Cell_FinancialProductionCell_ImportDa.qbl | 23 _Main/BL/Type_CCEngineLogisticsCostCell0/Function_CalcTotalCost.qbl | 13 _Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCALineUnit.qbl | 11 _Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Download.qbl | 152 + _Main/BL/Relations/Relation_FinancialProductionRow_Product_MP_Product_MP_FinancialProductionRow.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurveEnable_cCurveEnable_OnChanged.def | 4 _Main/BL/Relations/Relation_DL_EngineRackRow_MacroPlan_MacroPlan_DL_EngineRackRow.qbl | 23 _Main/BL/Type_MachiningPipelineColumn0/Attribute_EndDate.qbl | 7 _Main/Sys/Repr/Global/DLEngineLogisticsCostCell.qrp | 66 _Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLALineUnit.qbl | 11 _Main/BL/Type_CCEngineLogisticsCostCell0/_ROOT_Type_DLEngineLogisticsCostCell#0.qbl | 10 _Main/BL/Type_DL_EngineRackRow/Function_CalcName.qbl | 13 _Main/BL/Type_CC_EngineRackColumn/_ROOT_Type_CC_EngineRackColumn.qbl | 9 _Main/UI/MacroPlannerWebApp/Views/CC_engine_logistics_cost_report_view.vw | 104 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelGeneration_969_ddslGeneration_OnSelectionChanged.def | 19 _Main/UI/MacroPlannerWebApp/Views/DL_engine_logistics_cost_report_view.vw | 200 + _Main/BL/Type_CCEngineLogisticsCostCell/Attribute_RentStorageCost.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostRow/Method_SetRentOutCost.qbl | 16 _Main/BL/Type_FinancialSalesImportData/Attribute_StartDate.qbl | 7 _Main/Sys/Repr/Global/InventorySummaryCell.qrp | 26 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelPower_ddslPower_OnSelectionChanged.def | 19 _Main/BL/Type_CC_EngineRackCell/Attribute_TotalQuantityOfMaterialRacks.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_matrixeditorContextMenu687.def | 10 _Main/BL/Type_CCEngineLogisticsCostCell0/Function_CalcEstimatedTotalCost.qbl | 14 _Main/BL/Type_CCEngineLogisticsCostColumn/_ROOT_Type_CCEngineLogisticsCostColumn.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelDLEngineLogisticsCostReportSearch.def | 19 _Main/BL/Type_CCEngineLogisticsCostReport0/Attribute_ID.qbl | 8 _Main/BL/Relations/Relation_CCEngineLogisticsCostCell_Row_CCEngineLogisticsCostRow_Cell.qbl | 23 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_DLRentEnterCost.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostRow/Attribute_Name.qbl | 8 _Main/BL/Type_CC_EngineRackCell/Attribute_StorageFeesForRentedWarehouses.qbl | 8 _Main/BL/Type_DLEngineLogisticsCostSearch/Attribute_Generation.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_MatrixEditorTable_358_OnUpdateValue.def | 32 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_MatrixEditor531.def | 98 _Main/BL/Type_FinancialProductionImportData/Function_CalcQuantity.qbl | 13 _Main/BL/Type_FinancialSalesImportData/Attribute_Unit.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelPower_ddslPower_OnCreated.def | 23 _Main/BL/Type_DL_EngineRackCell/Attribute_CCOutboundExpensesForRentedWarehouses.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_pHeader.def | 26 _Main/BL/Relations/Relation_CC_EngineRackRow_MacroPlan_MacroPlan_CC_EngineRackRow.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelDLEngineLogisticsCostReportHeader.def | 15 _Main/BL/Type_CC_EngineRackCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_matrixeditorContextMenuTable.def | 10 _Main/BL/Type_CC_EngineRackCell/Attribute_OutboundExpensesForRentedWarehouses.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_pContent.def | 14 _Main/BL/Type_DL_EngineRackRow/Attribute_Generation.qbl | 7 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCLongTransCoat.qbl | 8 _Main/BL/Relations/Relation_CC_EngineRackColumn_MacroPlan_MacroPlan_CC_EngineRackColumn.qbl | 23 _Main/BL/Type_FinancialSalesImportData/Attribute_Quantity.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelMQBMLB.def | 24 _Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl | 4 _Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultName.qbl | 2 _Main/BL/Type_FinancialProductionImportData/DefaultValue_Generation.qbl | 6 _Main/BL/Type_FinancialProductionImportData/DefaultValue_MqbMlb.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostEngine/Component_pnlContent.def | 23 _Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetDLRentEnterCost.qbl | 20 _Main/BL/Type_DL_EngineRackCell/Attribute_DLExternalRentalWarehouseTransportationCosts.qbl | 8 _Main/BL/Relations/Relation_DLEngineLogisticsCostRow_Cell_DLEngineLogisticsCostCell_Row.qbl | 23 _Main/BL/Type_CCEngineLogisticsCostRow0/Method_Initialize.qbl | 22 _Main/BL/Type_EnginePipelineColumn/Attribute_StartDate.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetStockingPointCCRent.qbl | 10 _Main/BL/Type_CCEngineLogisticsCostReport0/Method_Generate.qbl | 68 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bRefresh_OnClick.def | 20 _Main/BL/Type_DL_EngineRackRow/DefaultValue_Name.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelGeneration_ddslGeneration_OnSelectionChanged.def | 19 _Main/BL/Type_Routing/StaticMethod_ThermalTrialRatio.qbl | 12 _Main/BL/Type_FinancialSalesReport/Method_IsInUnit.qbl | 2 _Main/BL/Type_DL_EngineRackCell/Attribute_TotalCost.qbl | 8 _Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentQuantity.qbl | 8 _Main/BL/Relations/Relation_FinancialSalesRow_Product_MP_Product_MP_FinancialSalesRow.qbl | 23 _Main/BL/Type_FinancialProductionImportData/Attribute_StartDate.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelExport_670_ButtonExport_OnClick.def | 22 _Main/BL/Type_FinancialSalesImportData/Attribute_ProductID.qbl | 8 _Main/BL/Relations/Relation_CCEngineLogisticsCostReport_Column_CCEngineLogisticsCostColumn_Repo.qbl | 26 _Main/BL/Type_DL_EngineRackRow/_ROOT_Type_DL_EngineRackRow.qbl | 9 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPipelineReport.def | 6 _Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_matrixEditorActionBarPageTable.def | 10 _Main/BL/Type_CC_EngineRackCell/Attribute_RentalWarehouseStorageFees.qbl | 8 _Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultProductParent.qbl | 10 _Main/BL/Type_EnginePipelineRow/Method_SetCellDemandValue.qbl | 4 _Main/BL/Type_CCEngineLogisticsCostReport0/Method_GenerateColumn.qbl | 20 _Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetStockingPointCCRent.qbl | 10 _Main/BL/Type_DL_EngineRackRow/Attribute_MLB_MQB.qbl | 7 /dev/null | 20 _Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCMPLineUnit.qbl | 11 _Main/BL/Type_FinancialSalesImportData/DefaultValue_ProductID.qbl | 6 _Main/BL/Type_FinancialSalesImportData/DefaultValue_MqbMlb.qbl | 6 _Main/BL/Type_MachiningPipelineCell/StaticMethod_Initialize.qbl | 14 _Main/BL/Relations/Relation_DLEngineLogisticsCostReport_Row_DLEngineLogisticsCostRow_Report.qbl | 23 _Main/BL/Type_CCEngineLogisticsCostReport0/DefaultValue_Name.qbl | 6 _Main/BL/Type_DLEngineLogisticsCostSearch/_ROOT_Type_DLEngineLogisticsCostSearch.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_MatrixEditor392.def | 98 _Main/BL/Type_CCEngineLogisticsCostReport/_ROOT_Type_CCEngineLogisticsCostReport.qbl | 10 _Main/BL/Type_CCEngineLogisticsCostRow/Method_SetFactoryToRentTransCost.qbl | 16 _Main/BL/Type_FinancialProductionImportData/Attribute_ProductID.qbl | 8 356 files changed, 6,438 insertions(+), 272 deletions(-) diff --git a/_Main/BL/Relations/Relation_CCEngineLogisticsCostCell_Column_CCEngineLogisticsCostColumn_Cell.qbl b/_Main/BL/Relations/Relation_CCEngineLogisticsCostCell_Column_CCEngineLogisticsCostColumn_Cell.qbl new file mode 100644 index 0000000..799a439 --- /dev/null +++ b/_Main/BL/Relations/Relation_CCEngineLogisticsCostCell_Column_CCEngineLogisticsCostColumn_Cell.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CCEngineLogisticsCostCell_Column_CCEngineLogisticsCostColumn_Cell +{ + #keys: '1[415136.0.986881391]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Column + { + #keys: '3[415136.0.986881393][415136.0.986881392][415136.0.986881394]' + Cardinality: '0to1' + ObjectDefinition: CCEngineLogisticsCostCell + OwningSide: 'Reference' + } + RelationSide.RightSide Cell + { + #keys: '3[415136.0.986881396][415136.0.986881395][415136.0.986881397]' + Cardinality: '1toN' + ObjectDefinition: CCEngineLogisticsCostColumn + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_CCEngineLogisticsCostCell_Row_CCEngineLogisticsCostRow_Cell.qbl b/_Main/BL/Relations/Relation_CCEngineLogisticsCostCell_Row_CCEngineLogisticsCostRow_Cell.qbl new file mode 100644 index 0000000..035a7b1 --- /dev/null +++ b/_Main/BL/Relations/Relation_CCEngineLogisticsCostCell_Row_CCEngineLogisticsCostRow_Cell.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CCEngineLogisticsCostCell_Row_CCEngineLogisticsCostRow_Cell +{ + #keys: '1[415136.0.986881404]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Row + { + #keys: '3[415136.0.986881406][415136.0.986881405][415136.0.986881407]' + Cardinality: '0to1' + ObjectDefinition: CCEngineLogisticsCostCell + OwningSide: 'Reference' + } + RelationSide.RightSide Cell + { + #keys: '3[415136.0.986881409][415136.0.986881408][415136.0.986881410]' + Cardinality: '1toN' + ObjectDefinition: CCEngineLogisticsCostRow + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CCEngineLogisticsCostReport_Column_CCEngineLogisticsCostColumn_Repo.qbl b/_Main/BL/Relations/Relation_CCEngineLogisticsCostReport_Column_CCEngineLogisticsCostColumn_Repo.qbl new file mode 100644 index 0000000..52f06d0 --- /dev/null +++ b/_Main/BL/Relations/Relation_CCEngineLogisticsCostReport_Column_CCEngineLogisticsCostColumn_Repo.qbl @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +#parent: #root +Relation CCEngineLogisticsCostReport_Column_CCEngineLogisticsCostColumn_Report +{ + #keys: '1[415136.0.986881356]' + ProceduralSequenceRelationStrategy + { + #keys: '13[0.0.0][415136.0.986881375][415136.0.986881369][415136.0.986881376][415136.0.986881370][415136.0.986881377][415136.0.986881371][415136.0.986881378][415136.0.986881372][415136.0.986881379][415136.0.986881373][415136.0.986881380][415136.0.986881374]' + SequenceElementSuffix: 'Column' + SequenceSuffix: 'Column' + } + RelationSide.LeftSide Column + { + #keys: '3[415136.0.986881358][415136.0.986881357][415136.0.986881359]' + Cardinality: '1toN' + ObjectDefinition: CCEngineLogisticsCostReport + OwningSide: 'Owned' + } + RelationSide.RightSide Report + { + #keys: '3[415136.0.986881361][415136.0.986881360][415136.0.986881362]' + Cardinality: '0to1' + ObjectDefinition: CCEngineLogisticsCostColumn + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_CCEngineLogisticsCostReport_MacroPlan_MacroPlan_CCEngineLogisticsCo.qbl b/_Main/BL/Relations/Relation_CCEngineLogisticsCostReport_MacroPlan_MacroPlan_CCEngineLogisticsCo.qbl new file mode 100644 index 0000000..75fd42d --- /dev/null +++ b/_Main/BL/Relations/Relation_CCEngineLogisticsCostReport_MacroPlan_MacroPlan_CCEngineLogisticsCo.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CCEngineLogisticsCostReport_MacroPlan_MacroPlan_CCEngineLogisticsCostReport +{ + #keys: '1[415136.0.986400960]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[415136.0.986400962][415136.0.986400961][415136.0.986400963]' + Cardinality: '0to1' + ObjectDefinition: CCEngineLogisticsCostReport + OwningSide: 'Reference' + } + RelationSide.RightSide CCEngineLogisticsCostReport + { + #keys: '3[415136.0.986400965][415136.0.986400964][415136.0.986400966]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CCEngineLogisticsCostRow_Report_CCEngineLogisticsCostReport_Row.qbl b/_Main/BL/Relations/Relation_CCEngineLogisticsCostRow_Report_CCEngineLogisticsCostReport_Row.qbl new file mode 100644 index 0000000..4023f8e --- /dev/null +++ b/_Main/BL/Relations/Relation_CCEngineLogisticsCostRow_Report_CCEngineLogisticsCostReport_Row.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CCEngineLogisticsCostRow_Report_CCEngineLogisticsCostReport_Row +{ + #keys: '1[415136.0.986616253]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Report + { + #keys: '3[415136.0.986616255][415136.0.986616254][415136.0.986616256]' + Cardinality: '0to1' + ObjectDefinition: CCEngineLogisticsCostRow + OwningSide: 'Reference' + } + RelationSide.RightSide Row + { + #keys: '3[415136.0.986616258][415136.0.986616257][415136.0.986616259]' + Cardinality: '1toN' + ObjectDefinition: CCEngineLogisticsCostReport + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CCEngineLogisticsCostSearch_MacroPlan_MacroPlan_CCEngineLogisticsCo.qbl b/_Main/BL/Relations/Relation_CCEngineLogisticsCostSearch_MacroPlan_MacroPlan_CCEngineLogisticsCo.qbl new file mode 100644 index 0000000..cc3faa8 --- /dev/null +++ b/_Main/BL/Relations/Relation_CCEngineLogisticsCostSearch_MacroPlan_MacroPlan_CCEngineLogisticsCo.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CCEngineLogisticsCostSearch_MacroPlan_MacroPlan_CCEngineLogisticsCostSearch +{ + #keys: '1[415136.0.986844810]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[415136.0.986844812][415136.0.986844811][415136.0.986844813]' + Cardinality: '0to1' + ObjectDefinition: CCEngineLogisticsCostSearch + OwningSide: 'Reference' + } + RelationSide.RightSide CCEngineLogisticsCostSearch + { + #keys: '3[415136.0.986844815][415136.0.986844814][415136.0.986844816]' + Cardinality: '0to1' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CC_EngineRackCell_CC_EngineRackColumn_CC_EngineRackColumn_CC_Engine.qbl b/_Main/BL/Relations/Relation_CC_EngineRackCell_CC_EngineRackColumn_CC_EngineRackColumn_CC_Engine.qbl new file mode 100644 index 0000000..76d6e31 --- /dev/null +++ b/_Main/BL/Relations/Relation_CC_EngineRackCell_CC_EngineRackColumn_CC_EngineRackColumn_CC_Engine.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CC_EngineRackCell_CC_EngineRackColumn_CC_EngineRackColumn_CC_EngineRackCell +{ + #keys: '1[413988.0.1476832592]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide CC_EngineRackColumn + { + #keys: '3[413988.0.1476832594][413988.0.1476832593][413988.0.1476832595]' + Cardinality: '0to1' + ObjectDefinition: CC_EngineRackCell + OwningSide: 'Reference' + } + RelationSide.RightSide CC_EngineRackCell + { + #keys: '3[413988.0.1476832597][413988.0.1476832596][413988.0.1476832598]' + Cardinality: '1toN' + ObjectDefinition: CC_EngineRackColumn + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_CC_EngineRackColumn_MacroPlan_MacroPlan_CC_EngineRackColumn.qbl b/_Main/BL/Relations/Relation_CC_EngineRackColumn_MacroPlan_MacroPlan_CC_EngineRackColumn.qbl new file mode 100644 index 0000000..6ed391f --- /dev/null +++ b/_Main/BL/Relations/Relation_CC_EngineRackColumn_MacroPlan_MacroPlan_CC_EngineRackColumn.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CC_EngineRackColumn_MacroPlan_MacroPlan_CC_EngineRackColumn +{ + #keys: '1[413988.0.1476832605]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1476832607][413988.0.1476832606][413988.0.1476832608]' + Cardinality: '0to1' + ObjectDefinition: CC_EngineRackColumn + OwningSide: 'Reference' + } + RelationSide.RightSide CC_EngineRackColumn + { + #keys: '3[413988.0.1476832610][413988.0.1476832609][413988.0.1476832611]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CC_EngineRackRow_CC_EngineRackCell_CC_EngineRackCell_CC_EngineRackR.qbl b/_Main/BL/Relations/Relation_CC_EngineRackRow_CC_EngineRackCell_CC_EngineRackCell_CC_EngineRackR.qbl new file mode 100644 index 0000000..40f5ab7 --- /dev/null +++ b/_Main/BL/Relations/Relation_CC_EngineRackRow_CC_EngineRackCell_CC_EngineRackCell_CC_EngineRackR.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CC_EngineRackRow_CC_EngineRackCell_CC_EngineRackCell_CC_EngineRackRow +{ + #keys: '1[413988.0.1476832579]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide CC_EngineRackCell + { + #keys: '3[413988.0.1476832581][413988.0.1476832580][413988.0.1476832582]' + Cardinality: '1toN' + ObjectDefinition: CC_EngineRackRow + OwningSide: 'Owned' + } + RelationSide.RightSide CC_EngineRackRow + { + #keys: '3[413988.0.1476832584][413988.0.1476832583][413988.0.1476832585]' + Cardinality: '0to1' + ObjectDefinition: CC_EngineRackCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_CC_EngineRackRow_MacroPlan_MacroPlan_CC_EngineRackRow.qbl b/_Main/BL/Relations/Relation_CC_EngineRackRow_MacroPlan_MacroPlan_CC_EngineRackRow.qbl new file mode 100644 index 0000000..f896813 --- /dev/null +++ b/_Main/BL/Relations/Relation_CC_EngineRackRow_MacroPlan_MacroPlan_CC_EngineRackRow.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CC_EngineRackRow_MacroPlan_MacroPlan_CC_EngineRackRow +{ + #keys: '1[413988.0.1476832566]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1476832568][413988.0.1476832567][413988.0.1476832569]' + Cardinality: '0to1' + ObjectDefinition: CC_EngineRackRow + OwningSide: 'Reference' + } + RelationSide.RightSide CC_EngineRackRow + { + #keys: '3[413988.0.1476832571][413988.0.1476832570][413988.0.1476832572]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_DLEngineLogisticsCostColumn_Cell_DLEngineLogisticsCostCell_Column.qbl b/_Main/BL/Relations/Relation_DLEngineLogisticsCostColumn_Cell_DLEngineLogisticsCostCell_Column.qbl new file mode 100644 index 0000000..3c091a9 --- /dev/null +++ b/_Main/BL/Relations/Relation_DLEngineLogisticsCostColumn_Cell_DLEngineLogisticsCostCell_Column.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation DLEngineLogisticsCostColumn_Cell_DLEngineLogisticsCostCell_Column +{ + #keys: '1[415136.0.992900190]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Cell + { + #keys: '3[415136.0.992900192][415136.0.992900191][415136.0.992900193]' + Cardinality: '1toN' + ObjectDefinition: DLEngineLogisticsCostColumn + OwningSide: 'Reference' + } + RelationSide.RightSide Column + { + #keys: '3[415136.0.992900195][415136.0.992900194][415136.0.992900196]' + Cardinality: '0to1' + ObjectDefinition: DLEngineLogisticsCostCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_DLEngineLogisticsCostReport_Column_DLEngineLogisticsCostColumn_Repo.qbl b/_Main/BL/Relations/Relation_DLEngineLogisticsCostReport_Column_DLEngineLogisticsCostColumn_Repo.qbl new file mode 100644 index 0000000..447d3ab --- /dev/null +++ b/_Main/BL/Relations/Relation_DLEngineLogisticsCostReport_Column_DLEngineLogisticsCostColumn_Repo.qbl @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +#parent: #root +Relation DLEngineLogisticsCostReport_Column_DLEngineLogisticsCostColumn_Report +{ + #keys: '1[415136.0.992900157]' + ProceduralSequenceRelationStrategy + { + #keys: '13[0.0.0][415136.0.992900176][415136.0.992900170][415136.0.992900177][415136.0.992900171][415136.0.992900178][415136.0.992900172][415136.0.992900179][415136.0.992900173][415136.0.992900180][415136.0.992900174][415136.0.992900181][415136.0.992900175]' + SequenceElementSuffix: 'Column' + SequenceSuffix: 'Column' + } + RelationSide.LeftSide Column + { + #keys: '3[415136.0.992900159][415136.0.992900158][415136.0.992900160]' + Cardinality: '1toN' + ObjectDefinition: DLEngineLogisticsCostReport + OwningSide: 'Owned' + } + RelationSide.RightSide Report + { + #keys: '3[415136.0.992900162][415136.0.992900161][415136.0.992900163]' + Cardinality: '0to1' + ObjectDefinition: DLEngineLogisticsCostColumn + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_DLEngineLogisticsCostReport_MacroPlan_MacroPlan_DLEngineLogisticsCo.qbl b/_Main/BL/Relations/Relation_DLEngineLogisticsCostReport_MacroPlan_MacroPlan_DLEngineLogisticsCo.qbl new file mode 100644 index 0000000..5bdc56d --- /dev/null +++ b/_Main/BL/Relations/Relation_DLEngineLogisticsCostReport_MacroPlan_MacroPlan_DLEngineLogisticsCo.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation DLEngineLogisticsCostReport_MacroPlan_MacroPlan_DLEngineLogisticsCostReport +{ + #keys: '1[415136.0.992900125]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[415136.0.992900127][415136.0.992900126][415136.0.992900128]' + Cardinality: '0to1' + ObjectDefinition: DLEngineLogisticsCostReport + OwningSide: 'Reference' + } + RelationSide.RightSide DLEngineLogisticsCostReport + { + #keys: '3[415136.0.992900130][415136.0.992900129][415136.0.992900131]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_DLEngineLogisticsCostReport_Row_DLEngineLogisticsCostRow_Report.qbl b/_Main/BL/Relations/Relation_DLEngineLogisticsCostReport_Row_DLEngineLogisticsCostRow_Report.qbl new file mode 100644 index 0000000..c9e2ed5 --- /dev/null +++ b/_Main/BL/Relations/Relation_DLEngineLogisticsCostReport_Row_DLEngineLogisticsCostRow_Report.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation DLEngineLogisticsCostReport_Row_DLEngineLogisticsCostRow_Report +{ + #keys: '1[415136.0.992900141]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Row + { + #keys: '3[415136.0.992900143][415136.0.992900142][415136.0.992900144]' + Cardinality: '1toN' + ObjectDefinition: DLEngineLogisticsCostReport + OwningSide: 'Owned' + } + RelationSide.RightSide Report + { + #keys: '3[415136.0.992900146][415136.0.992900145][415136.0.992900147]' + Cardinality: '0to1' + ObjectDefinition: DLEngineLogisticsCostRow + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_DLEngineLogisticsCostRow_Cell_DLEngineLogisticsCostCell_Row.qbl b/_Main/BL/Relations/Relation_DLEngineLogisticsCostRow_Cell_DLEngineLogisticsCostCell_Row.qbl new file mode 100644 index 0000000..0f8eb23 --- /dev/null +++ b/_Main/BL/Relations/Relation_DLEngineLogisticsCostRow_Cell_DLEngineLogisticsCostCell_Row.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation DLEngineLogisticsCostRow_Cell_DLEngineLogisticsCostCell_Row +{ + #keys: '1[415136.0.992900203]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Cell + { + #keys: '3[415136.0.992900205][415136.0.992900204][415136.0.992900206]' + Cardinality: '1toN' + ObjectDefinition: DLEngineLogisticsCostRow + OwningSide: 'Owned' + } + RelationSide.RightSide Row + { + #keys: '3[415136.0.992900208][415136.0.992900207][415136.0.992900209]' + Cardinality: '0to1' + ObjectDefinition: DLEngineLogisticsCostCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_DLEngineLogisticsCostSearch_MacroPlan_MacroPlan_DLEngineLogisticsCo.qbl b/_Main/BL/Relations/Relation_DLEngineLogisticsCostSearch_MacroPlan_MacroPlan_DLEngineLogisticsCo.qbl new file mode 100644 index 0000000..84da0ad --- /dev/null +++ b/_Main/BL/Relations/Relation_DLEngineLogisticsCostSearch_MacroPlan_MacroPlan_DLEngineLogisticsCo.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation DLEngineLogisticsCostSearch_MacroPlan_MacroPlan_DLEngineLogisticsCostSearch +{ + #keys: '1[415136.0.992900109]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[415136.0.992900111][415136.0.992900110][415136.0.992900112]' + Cardinality: '0to1' + ObjectDefinition: DLEngineLogisticsCostSearch + OwningSide: 'Reference' + } + RelationSide.RightSide DLEngineLogisticsCostSearch + { + #keys: '3[415136.0.992900114][415136.0.992900113][415136.0.992900115]' + Cardinality: '0to1' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_DL_EngineRackColumn_DL_EngineRackCell_DL_EngineRackCell_DL_EngineRa.qbl b/_Main/BL/Relations/Relation_DL_EngineRackColumn_DL_EngineRackCell_DL_EngineRackCell_DL_EngineRa.qbl new file mode 100644 index 0000000..70cfdb4 --- /dev/null +++ b/_Main/BL/Relations/Relation_DL_EngineRackColumn_DL_EngineRackCell_DL_EngineRackCell_DL_EngineRa.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation DL_EngineRackColumn_DL_EngineRackCell_DL_EngineRackCell_DL_EngineRackColumn +{ + #keys: '1[413988.0.1488132644]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide DL_EngineRackCell + { + #keys: '3[413988.0.1488132646][413988.0.1488132645][413988.0.1488132647]' + Cardinality: '1toN' + ObjectDefinition: DL_EngineRackColumn + OwningSide: 'Reference' + } + RelationSide.RightSide DL_EngineRackColumn + { + #keys: '3[413988.0.1488132649][413988.0.1488132648][413988.0.1488132650]' + Cardinality: '0to1' + ObjectDefinition: DL_EngineRackCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_DL_EngineRackColumn_MacroPlan_MacroPlan_DL_EngineRackColumn.qbl b/_Main/BL/Relations/Relation_DL_EngineRackColumn_MacroPlan_MacroPlan_DL_EngineRackColumn.qbl new file mode 100644 index 0000000..5c1eeeb --- /dev/null +++ b/_Main/BL/Relations/Relation_DL_EngineRackColumn_MacroPlan_MacroPlan_DL_EngineRackColumn.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation DL_EngineRackColumn_MacroPlan_MacroPlan_DL_EngineRackColumn +{ + #keys: '1[413988.0.1488132631]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1488132633][413988.0.1488132632][413988.0.1488132634]' + Cardinality: '0to1' + ObjectDefinition: DL_EngineRackColumn + OwningSide: 'Reference' + } + RelationSide.RightSide DL_EngineRackColumn + { + #keys: '3[413988.0.1488132636][413988.0.1488132635][413988.0.1488132637]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_DL_EngineRackRow_DL_EngineRackCell_DL_EngineRackCell_DL_EngineRackR.qbl b/_Main/BL/Relations/Relation_DL_EngineRackRow_DL_EngineRackCell_DL_EngineRackCell_DL_EngineRackR.qbl new file mode 100644 index 0000000..a652d99 --- /dev/null +++ b/_Main/BL/Relations/Relation_DL_EngineRackRow_DL_EngineRackCell_DL_EngineRackCell_DL_EngineRackR.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation DL_EngineRackRow_DL_EngineRackCell_DL_EngineRackCell_DL_EngineRackRow +{ + #keys: '1[413988.0.1488132614]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide DL_EngineRackCell + { + #keys: '3[413988.0.1488132616][413988.0.1488132615][413988.0.1488132617]' + Cardinality: '1toN' + ObjectDefinition: DL_EngineRackRow + OwningSide: 'Owned' + } + RelationSide.RightSide DL_EngineRackRow + { + #keys: '3[413988.0.1488132619][413988.0.1488132618][413988.0.1488132620]' + Cardinality: '0to1' + ObjectDefinition: DL_EngineRackCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_DL_EngineRackRow_MacroPlan_MacroPlan_DL_EngineRackRow.qbl b/_Main/BL/Relations/Relation_DL_EngineRackRow_MacroPlan_MacroPlan_DL_EngineRackRow.qbl new file mode 100644 index 0000000..1265f1a --- /dev/null +++ b/_Main/BL/Relations/Relation_DL_EngineRackRow_MacroPlan_MacroPlan_DL_EngineRackRow.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation DL_EngineRackRow_MacroPlan_MacroPlan_DL_EngineRackRow +{ + #keys: '1[413988.0.1488132601]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[413988.0.1488132603][413988.0.1488132602][413988.0.1488132604]' + Cardinality: '0to1' + ObjectDefinition: DL_EngineRackRow + OwningSide: 'Reference' + } + RelationSide.RightSide DL_EngineRackRow + { + #keys: '3[413988.0.1488132606][413988.0.1488132605][413988.0.1488132607]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_FinancialProductionImportData_Cell_FinancialProductionCell_ImportDa.qbl b/_Main/BL/Relations/Relation_FinancialProductionImportData_Cell_FinancialProductionCell_ImportDa.qbl new file mode 100644 index 0000000..f518aa0 --- /dev/null +++ b/_Main/BL/Relations/Relation_FinancialProductionImportData_Cell_FinancialProductionCell_ImportDa.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation FinancialProductionImportData_Cell_FinancialProductionCell_ImportData +{ + #keys: '1[415136.0.978940064]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Cell + { + #keys: '3[415136.0.978940066][415136.0.978940065][415136.0.978940067]' + Cardinality: '0to1' + ObjectDefinition: FinancialProductionImportData + OwningSide: 'Reference' + } + RelationSide.RightSide ImportData + { + #keys: '3[415136.0.978940069][415136.0.978940068][415136.0.978940070]' + Cardinality: '0to1' + ObjectDefinition: FinancialProductionCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_FinancialProductionImportData_MacroPlan_MacroPlan_FPImportData.qbl b/_Main/BL/Relations/Relation_FinancialProductionImportData_MacroPlan_MacroPlan_FPImportData.qbl new file mode 100644 index 0000000..ae0cc0a --- /dev/null +++ b/_Main/BL/Relations/Relation_FinancialProductionImportData_MacroPlan_MacroPlan_FPImportData.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation FinancialProductionImportData_MacroPlan_MacroPlan_FPImportData +{ + #keys: '1[415136.0.978920031]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[415136.0.978920033][415136.0.978920032][415136.0.978920034]' + Cardinality: '0to1' + ObjectDefinition: FinancialProductionImportData + OwningSide: 'Reference' + } + RelationSide.RightSide FPImportData + { + #keys: '3[415136.0.978920036][415136.0.978920035][415136.0.978920037]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_FinancialProductionRow_Product_MP_Product_MP_FinancialProductionRow.qbl b/_Main/BL/Relations/Relation_FinancialProductionRow_Product_MP_Product_MP_FinancialProductionRow.qbl new file mode 100644 index 0000000..8d2d046 --- /dev/null +++ b/_Main/BL/Relations/Relation_FinancialProductionRow_Product_MP_Product_MP_FinancialProductionRow.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation FinancialProductionRow_Product_MP_Product_MP_FinancialProductionRow +{ + #keys: '1[415136.0.992900294]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Product_MP + { + #keys: '3[415136.0.992900296][415136.0.992900295][415136.0.992900297]' + Cardinality: '0to1' + ObjectDefinition: FinancialProductionRow + OwningSide: 'Reference' + } + RelationSide.RightSide FinancialProductionRow + { + #keys: '3[415136.0.992900299][415136.0.992900298][415136.0.992900300]' + Cardinality: '0to1' + ObjectDefinition: Product_MP + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_FinancialSalesImportData_Cell_FinancialSalesCell_FSImportData.qbl b/_Main/BL/Relations/Relation_FinancialSalesImportData_Cell_FinancialSalesCell_FSImportData.qbl new file mode 100644 index 0000000..ca210bd --- /dev/null +++ b/_Main/BL/Relations/Relation_FinancialSalesImportData_Cell_FinancialSalesCell_FSImportData.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation FinancialSalesImportData_Cell_FinancialSalesCell_FSImportData +{ + #keys: '1[415136.0.984654733]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Cell + { + #keys: '3[415136.0.984654735][415136.0.984654734][415136.0.984654736]' + Cardinality: '0to1' + ObjectDefinition: FinancialSalesImportData + OwningSide: 'Reference' + } + RelationSide.RightSide FSImportData + { + #keys: '3[415136.0.984654738][415136.0.984654737][415136.0.984654739]' + Cardinality: '0to1' + ObjectDefinition: FinancialSalesCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_FinancialSalesImportData_MacroPlan_MacroPlan_FSImportData.qbl b/_Main/BL/Relations/Relation_FinancialSalesImportData_MacroPlan_MacroPlan_FSImportData.qbl new file mode 100644 index 0000000..6b3fb29 --- /dev/null +++ b/_Main/BL/Relations/Relation_FinancialSalesImportData_MacroPlan_MacroPlan_FSImportData.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation FinancialSalesImportData_MacroPlan_MacroPlan_FSImportData +{ + #keys: '1[415136.0.984654720]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MacroPlan + { + #keys: '3[415136.0.984654722][415136.0.984654721][415136.0.984654723]' + Cardinality: '0to1' + ObjectDefinition: FinancialSalesImportData + OwningSide: 'Reference' + } + RelationSide.RightSide FSImportData + { + #keys: '3[415136.0.984654725][415136.0.984654724][415136.0.984654726]' + Cardinality: '1toN' + ObjectDefinition: MacroPlan + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_FinancialSalesRow_Product_MP_Product_MP_FinancialSalesRow.qbl b/_Main/BL/Relations/Relation_FinancialSalesRow_Product_MP_Product_MP_FinancialSalesRow.qbl new file mode 100644 index 0000000..52154b2 --- /dev/null +++ b/_Main/BL/Relations/Relation_FinancialSalesRow_Product_MP_Product_MP_FinancialSalesRow.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation FinancialSalesRow_Product_MP_Product_MP_FinancialSalesRow +{ + #keys: '1[415136.0.993115876]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Product_MP + { + #keys: '3[415136.0.993115878][415136.0.993115877][415136.0.993115879]' + Cardinality: '0to1' + ObjectDefinition: FinancialSalesRow + OwningSide: 'Reference' + } + RelationSide.RightSide FinancialSalesRow + { + #keys: '3[415136.0.993115881][415136.0.993115880][415136.0.993115882]' + Cardinality: '0to1' + ObjectDefinition: Product_MP + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_Coefficient.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_Coefficient.qbl new file mode 100644 index 0000000..ffd2fc1 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_Coefficient.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Coefficient +{ + #keys: '3[415136.0.986844758][415136.0.986844757][415136.0.986844759]' + Description: '绯绘暟' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_EstimatedTotalCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_EstimatedTotalCost.qbl new file mode 100644 index 0000000..8a9c7d8 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_EstimatedTotalCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EstimatedTotalCost +{ + #keys: '3[415136.0.986844739][415136.0.986844738][415136.0.986844740]' + Description: '棰勮鎬昏垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_FactoryToRentTransCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_FactoryToRentTransCost.qbl new file mode 100644 index 0000000..8dbddf0 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_FactoryToRentTransCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute FactoryToRentTransCost +{ + #keys: '3[415136.0.986844781][415136.0.986844780][415136.0.986844782]' + Description: '鍘傚唴鍒板绉熷簱杩愯緭璐圭敤' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_RentEnterCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_RentEnterCost.qbl new file mode 100644 index 0000000..0343f9f --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_RentEnterCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute RentEnterCost +{ + #keys: '3[415136.0.986881423][415136.0.986881422][415136.0.986881424]' + Description: '澶栫搴撳叆搴撹垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_RentOutCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_RentOutCost.qbl new file mode 100644 index 0000000..005fa21 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_RentOutCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute RentOutCost +{ + #keys: '3[415136.0.986881433][415136.0.986881432][415136.0.986881434]' + Description: '澶栫搴撳嚭搴撹垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_RentStorageCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_RentStorageCost.qbl new file mode 100644 index 0000000..c42d3f6 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_RentStorageCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute RentStorageCost +{ + #keys: '3[415136.0.986881446][415136.0.986881445][415136.0.986881447]' + Description: '澶栫搴撲粨鍌ㄨ垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_TotalCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_TotalCost.qbl new file mode 100644 index 0000000..e205166 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell/Attribute_TotalCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TotalCost +{ + #keys: '3[415136.0.986844771][415136.0.986844770][415136.0.986844772]' + Description: '鎬昏垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell/Function_CalcEstimatedTotalCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell/Function_CalcEstimatedTotalCost.qbl new file mode 100644 index 0000000..2251974 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell/Function_CalcEstimatedTotalCost.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcEstimatedTotalCost +{ + TextBody: + [* + // 鐢勫叞楦� Aug-12-2024 (created) + + value := this.RentEnterCost() + this.RentOutCost() + this.FactoryToRentTransCost() + this.RentStorageCost(); + + this.EstimatedTotalCost( value ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell/Function_CalcTotalCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell/Function_CalcTotalCost.qbl new file mode 100644 index 0000000..e2e8080 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell/Function_CalcTotalCost.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcTotalCost +{ + Description: '璁$畻鎬昏垂鐢�' + TextBody: + [* + // 鐢勫叞楦� Aug-12-2024 (created) + value := this.EstimatedTotalCost() * this.Coefficient(); + + this.TotalCost( value ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell/_ROOT_Type_CCEngineLogisticsCostCell.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell/_ROOT_Type_CCEngineLogisticsCostCell.qbl new file mode 100644 index 0000000..4caa127 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell/_ROOT_Type_CCEngineLogisticsCostCell.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type CCEngineLogisticsCostCell +{ + #keys: '5[415136.0.986881388][415136.0.986881386][0.0.0][415136.0.986881387][415136.0.986881389]' + BaseType: Object + Description: '闀挎槬鍙戝姩鏈虹墿娴佹垚鏈姤琛ㄥ崟鍏冩牸' + StructuredName: 'CCEngineLogisticsCostCells' +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCLongTransCoat.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCLongTransCoat.qbl new file mode 100644 index 0000000..1c4d5bf --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCLongTransCoat.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCLongTransCoat +{ + #keys: '3[415136.0.992900332][415136.0.992900331][415136.0.992900333]' + Description: '闀挎槬闀块�旇繍杈撹垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentEnterCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentEnterCost.qbl new file mode 100644 index 0000000..7ad15e3 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentEnterCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCRentEnterCost +{ + #keys: '3[415136.0.992900045][415136.0.992900044][415136.0.992900046]' + Description: '闀挎槬澶栫搴撳叆搴撹垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentOutCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentOutCost.qbl new file mode 100644 index 0000000..66c4cc5 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentOutCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCRentOutCost +{ + #keys: '3[415136.0.992900048][415136.0.992900047][415136.0.992900049]' + Description: '闀挎槬澶栫搴撳嚭搴撹垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentQuantity.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentQuantity.qbl new file mode 100644 index 0000000..ecf78ff --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentQuantity.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCRentQuantity +{ + #keys: '3[415136.0.993115853][415136.0.993115852][415136.0.993115854]' + Description: '闀挎槬澶栫搴撴暟閲�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentStorageCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentStorageCost.qbl new file mode 100644 index 0000000..ac4c891 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCRentStorageCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCRentStorageCost +{ + #keys: '3[415136.0.992900051][415136.0.992900050][415136.0.992900052]' + Description: '闀挎槬澶栫搴撲粨鍌ㄨ垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCShortTransCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCShortTransCost.qbl new file mode 100644 index 0000000..572f8e5 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_CCShortTransCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCShortTransCost +{ + #keys: '3[415136.0.992900342][415136.0.992900341][415136.0.992900343]' + Description: '闀挎槬鐭�旇繍杈撹垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_Coefficient.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_Coefficient.qbl new file mode 100644 index 0000000..78e30c4 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_Coefficient.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Coefficient +{ + #keys: '3[415136.0.992900036][415136.0.992900035][415136.0.992900037]' + Description: '绯绘暟' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_DLRentEnterCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_DLRentEnterCost.qbl new file mode 100644 index 0000000..2ba6eb9 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_DLRentEnterCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute DLRentEnterCost +{ + #keys: '3[415136.0.992900242][415136.0.992900241][415136.0.992900243]' + Description: '澶ц繛澶栫搴撳叆搴撹垂鐢�' + ValueType: Number +} diff --git "a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_DLRentOutCost\0430.qbl" "b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_DLRentOutCost\0430.qbl" new file mode 100644 index 0000000..f95e66f --- /dev/null +++ "b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_DLRentOutCost\0430.qbl" @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute DLRentOutCost +{ + #keys: '3[415136.0.992900249][415136.0.992900248][415136.0.992900250]' + Description: '澶ц繛澶栫搴撳嚭搴撹垂鐢�' + ValueType: Number +} diff --git "a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_DLRentStorageCost\0430.qbl" "b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_DLRentStorageCost\0430.qbl" new file mode 100644 index 0000000..c70e451 --- /dev/null +++ "b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_DLRentStorageCost\0430.qbl" @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute DLRentStorageCost +{ + #keys: '3[415136.0.992900262][415136.0.992900261][415136.0.992900263]' + Description: '澶ц繛澶栫搴撲粨鍌ㄨ垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_EstimatedTotalCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_EstimatedTotalCost.qbl new file mode 100644 index 0000000..9f5a460 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_EstimatedTotalCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EstimatedTotalCost +{ + #keys: '3[415136.0.992900039][415136.0.992900038][415136.0.992900040]' + Description: '棰勮鎬昏垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_FactoryToDLRentTransCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_FactoryToDLRentTransCost.qbl new file mode 100644 index 0000000..d39550c --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_FactoryToDLRentTransCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute FactoryToDLRentTransCost +{ + #keys: '3[415136.0.992900042][415136.0.992900041][415136.0.992900043]' + Description: '鍘傚唴鍒板ぇ杩炲绉熷簱杩愯緭璐圭敤' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_TotalCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_TotalCost.qbl new file mode 100644 index 0000000..f2cf46b --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Attribute_TotalCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TotalCost +{ + #keys: '3[415136.0.992900054][415136.0.992900053][415136.0.992900055]' + Description: '鎬昏垂鐢�' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Function_CalcEstimatedTotalCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Function_CalcEstimatedTotalCost.qbl new file mode 100644 index 0000000..c68e1b4 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Function_CalcEstimatedTotalCost.qbl @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcEstimatedTotalCost +{ + TextBody: + [* + // 鐢勫叞楦� Aug-12-2024 (created) + + value := this.CCRentEnterCost() + this.CCRentOutCost() + this.CCLongTransCoat() + this.CCShortTransCost() + this.CCRentStorageCost() + + this.DLRentEnterCost() + this.DLRentOutCost() + this.FactoryToDLRentTransCost() + this.DLRentStorageCost(); + + this.EstimatedTotalCost( value ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostCell0/Function_CalcTotalCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostCell0/Function_CalcTotalCost.qbl new file mode 100644 index 0000000..e2e8080 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostCell0/Function_CalcTotalCost.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcTotalCost +{ + Description: '璁$畻鎬昏垂鐢�' + TextBody: + [* + // 鐢勫叞楦� Aug-12-2024 (created) + value := this.EstimatedTotalCost() * this.Coefficient(); + + this.TotalCost( value ); + *] +} diff --git "a/_Main/BL/Type_CCEngineLogisticsCostCell0/_ROOT_Type_DLEngineLogisticsCostCell\0430.qbl" "b/_Main/BL/Type_CCEngineLogisticsCostCell0/_ROOT_Type_DLEngineLogisticsCostCell\0430.qbl" new file mode 100644 index 0000000..4bb2db5 --- /dev/null +++ "b/_Main/BL/Type_CCEngineLogisticsCostCell0/_ROOT_Type_DLEngineLogisticsCostCell\0430.qbl" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type DLEngineLogisticsCostCell +{ + #keys: '5[415136.0.992900033][415136.0.992900031][0.0.0][415136.0.992900032][415136.0.992900034]' + BaseType: Object + Description: '澶ц繛鍙戝姩鏈虹墿娴佹垚鏈姤琛ㄥ崟鍏冩牸' + StructuredName: 'DLEngineLogisticsCostCells' +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostColumn/Attribute_Index.qbl b/_Main/BL/Type_CCEngineLogisticsCostColumn/Attribute_Index.qbl new file mode 100644 index 0000000..df42754 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostColumn/Attribute_Index.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Index +{ + #keys: '3[415136.0.986616274][415136.0.986616273][415136.0.986616275]' + Description: '鍒楀彿' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostColumn/Attribute_Name.qbl b/_Main/BL/Type_CCEngineLogisticsCostColumn/Attribute_Name.qbl new file mode 100644 index 0000000..5a12005 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostColumn/Attribute_Name.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[415136.0.986616271][415136.0.986616270][415136.0.986616272]' + Description: '鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostColumn/Attribute_StartDate.qbl b/_Main/BL/Type_CCEngineLogisticsCostColumn/Attribute_StartDate.qbl new file mode 100644 index 0000000..7b54308 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostColumn/Attribute_StartDate.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[415136.0.986881347][415136.0.986881346][415136.0.986881348]' + Description: '寮�濮嬫棩鏈�' + ValueType: Date +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostColumn/DefaultValue_Name.qbl b/_Main/BL/Type_CCEngineLogisticsCostColumn/DefaultValue_Name.qbl new file mode 100644 index 0000000..86c3d59 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostColumn/DefaultValue_Name.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Name +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostColumn/Function_CalcIndex.qbl b/_Main/BL/Type_CCEngineLogisticsCostColumn/Function_CalcIndex.qbl new file mode 100644 index 0000000..92fa42d --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostColumn/Function_CalcIndex.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcIndex +{ + TextBody: + [* + // 鐢勫叞楦� Aug-12-2024 (created) + + value := ifexpr( isnull( this.PreviousColumn() ), 0, this.PreviousColumn().Index() + 1 ); + + this.Index( value ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostColumn/_ROOT_Type_CCEngineLogisticsCostColumn.qbl b/_Main/BL/Type_CCEngineLogisticsCostColumn/_ROOT_Type_CCEngineLogisticsCostColumn.qbl new file mode 100644 index 0000000..a958ed8 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostColumn/_ROOT_Type_CCEngineLogisticsCostColumn.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type CCEngineLogisticsCostColumn +{ + #keys: '5[415136.0.986616268][415136.0.986616266][0.0.0][415136.0.986616267][415136.0.986616269]' + BaseType: Object + Description: '闀挎槬鍙戝姩鏈虹墿娴佹垚鏈姤琛ㄥ垪' + StructuredName: 'CCEngineLogisticsCostColumns' +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostColumn0/Attribute_Index.qbl b/_Main/BL/Type_CCEngineLogisticsCostColumn0/Attribute_Index.qbl new file mode 100644 index 0000000..66630b7 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostColumn0/Attribute_Index.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Index +{ + #keys: '3[415136.0.992900061][415136.0.992900060][415136.0.992900062]' + Description: '鍒楀彿' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostColumn0/Attribute_Name.qbl b/_Main/BL/Type_CCEngineLogisticsCostColumn0/Attribute_Name.qbl new file mode 100644 index 0000000..1cd92b7 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostColumn0/Attribute_Name.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[415136.0.992900064][415136.0.992900063][415136.0.992900065]' + Description: '鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostColumn0/Attribute_StartDate.qbl b/_Main/BL/Type_CCEngineLogisticsCostColumn0/Attribute_StartDate.qbl new file mode 100644 index 0000000..dd8b986 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostColumn0/Attribute_StartDate.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[415136.0.992900067][415136.0.992900066][415136.0.992900068]' + Description: '寮�濮嬫棩鏈�' + ValueType: Date +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostColumn0/DefaultValue_Name.qbl b/_Main/BL/Type_CCEngineLogisticsCostColumn0/DefaultValue_Name.qbl new file mode 100644 index 0000000..86c3d59 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostColumn0/DefaultValue_Name.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Name +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostColumn0/Function_CalcIndex.qbl b/_Main/BL/Type_CCEngineLogisticsCostColumn0/Function_CalcIndex.qbl new file mode 100644 index 0000000..4f2f1d9 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostColumn0/Function_CalcIndex.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcIndex +{ + TextBody: + [* + // 鐢勫叞楦� Aug-13-2024 (created) + + value := ifexpr( isnull( this.PreviousColumn() ), 0, this.PreviousColumn().Index() + 1 ); + + this.Index( value ); + *] +} diff --git "a/_Main/BL/Type_CCEngineLogisticsCostColumn0/_ROOT_Type_DLEngineLogisticsCostColumn\0430.qbl" "b/_Main/BL/Type_CCEngineLogisticsCostColumn0/_ROOT_Type_DLEngineLogisticsCostColumn\0430.qbl" new file mode 100644 index 0000000..fa03a22 --- /dev/null +++ "b/_Main/BL/Type_CCEngineLogisticsCostColumn0/_ROOT_Type_DLEngineLogisticsCostColumn\0430.qbl" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type DLEngineLogisticsCostColumn +{ + #keys: '5[415136.0.992900058][415136.0.992900056][0.0.0][415136.0.992900057][415136.0.992900059]' + BaseType: Object + Description: '澶ц繛鍙戝姩鏈虹墿娴佹垚鏈姤琛ㄥ垪' + StructuredName: 'DLEngineLogisticsCostColumns' +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/Attribute_ID.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/Attribute_ID.qbl new file mode 100644 index 0000000..d2cbd0c --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/Attribute_ID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ID +{ + #keys: '3[415136.0.986400950][415136.0.986400949][415136.0.986400951]' + IsReadOnly: true + ValueType: String +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/Attribute_IsShow.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/Attribute_IsShow.qbl new file mode 100644 index 0000000..d20a0f9 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/Attribute_IsShow.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsShow +{ + #keys: '3[415136.0.986400953][415136.0.986400952][415136.0.986400954]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/Attribute_Name.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/Attribute_Name.qbl new file mode 100644 index 0000000..41a82d6 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/Attribute_Name.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[415136.0.986400956][415136.0.986400955][415136.0.986400957]' + Description: '鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/DefaultValue_ID.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/DefaultValue_ID.qbl new file mode 100644 index 0000000..049abc0 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/DefaultValue_ID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ID +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/DefaultValue_Name.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/DefaultValue_Name.qbl new file mode 100644 index 0000000..86c3d59 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/DefaultValue_Name.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Name +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/Method_Clear.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/Method_Clear.qbl new file mode 100644 index 0000000..4acb371 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/Method_Clear.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Method Clear +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + this.Column( relflush ); + this.Row( relflush ); + + this.GenerateColumn( this.MacroPlan() ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/Method_Generate.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/Method_Generate.qbl new file mode 100644 index 0000000..f8cbebb --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/Method_Generate.qbl @@ -0,0 +1,49 @@ +Quintiq file version 2.0 +#parent: #root +Method Generate ( + CCEngineLogisticsCostSearch search, + Product_MPs products +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + table := selectobject( this, MacroPlan.CCEngineLogisticsCostReport, report, not report.IsShow() ); + allunit := '<All>'; + //娓呯┖涔嬪墠瀛樺偍鐨勬樉绀烘暟鎹� + this.Clear(); + //杩囨护鍚庣殑浜у搧id + productids := selectuniquevalues( products, Elements, product, ( search.Generation() = allunit or product.Generation() = search.Generation() ) + and ( search.MqbMlb() = allunit or product.MQBMLB() = search.MqbMlb() ) + and ( search.Power() = allunit or product.Power() = search.Power() ), product.ID() ); + sumrow := this.Row( relnew, Name := 'SUM', RowNr := table.Row( relsize ) ); + traverse( table, Row, row ){ + productid := construct( Strings ); + productid.Add( row.Name() ); + + if( productids.ContainsAll( productid ) ){ + showrow := this.Row( relnew, Name := row.Name(), RowNr := row.RowNr() ); + + traverse( row, Cell, cell ){ + column := selectobject( this, Column, column, column.Name() = cell.Column().Name() ); + + sumcell := selectobject( column, Cell, c, c.Row() = sumrow ); + if( isnull( sumcell ) ){ + sumcell := sumrow.Cell( relnew, RentEnterCost := 0 + , RentOutCost := 0 + , FactoryToRentTransCost := 0 + , RentStorageCost := 0 ); + column.Cell( relinsert, sumcell ); + } + + showcell := showrow.Cell( relnew, RentEnterCost := cell.RentEnterCost(), RentOutCost := cell.RentOutCost(), FactoryToRentTransCost := cell.FactoryToRentTransCost(), RentStorageCost := cell.RentStorageCost() ); + column.Cell( relinsert, showcell ); + sumcell.RentEnterCost( cell.RentEnterCost() + sumcell.RentEnterCost() ); + sumcell.RentOutCost( cell.RentOutCost() + sumcell.RentOutCost() ); + sumcell.FactoryToRentTransCost( cell.FactoryToRentTransCost() + sumcell.FactoryToRentTransCost() ); + sumcell.RentStorageCost( cell.RentStorageCost() + sumcell.RentStorageCost() ); + } + } + } + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/Method_GenerateColumn.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/Method_GenerateColumn.qbl new file mode 100644 index 0000000..880436e --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/Method_GenerateColumn.qbl @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +Method GenerateColumn ( + MacroPlan owner +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + startofplanning := owner.StartOfPlanning(); + startofyear := startofplanning.StartOfYear(); + startofnextyear := startofplanning.StartOfNextYear(); + + for( start := startofyear; start < startofnextyear; start := start.StartOfNextMonth() ){ + periodtime := start.Date(); + periodname := periodtime.Format( "M2/D2/Y" ); + this.Column( relnew, Name := periodname, StartDate := periodtime ); + } + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/Method_GetRow.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/Method_GetRow.qbl new file mode 100644 index 0000000..a966d3a --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/Method_GetRow.qbl @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: #root +Method GetRow ( + String product +) as CCEngineLogisticsCostRow +{ + Description: '鏍规嵁宸ュ巶鑾峰彇琛�' + TextBody: + [* + // 鐢勫叞楦� Aug-2-2024 (created) + row := selectobject( this, Row, row, row.Name() = product ); + if( isnull( row ) ){ + //鍒濆鍖栧崟鍏冩牸 + row := this.Row( relnew, Name := product ); + traverse( this, Column, column ){ + row.Initialize( column ); + } + } + return row; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/Method_IsInUnit.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/Method_IsInUnit.qbl new file mode 100644 index 0000000..57394ad --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/Method_IsInUnit.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method IsInUnit ( + StockingPoint_MP sp, + String unitname +) as Boolean +{ + Description: '鏄惁灞炰簬鏌愪釜绾�' + TextBody: + [* + // 鐢勫叞楦� Aug-5-2024 (created) + unit := sp.Unit(); + parentunits := unit.GetAllParent(); + return sp.ID() = unitname or unit.ID() = unitname or exists( parentunits, Elements, punit, punit.ID() = unitname ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Download.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Download.qbl new file mode 100644 index 0000000..d80aa59 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Download.qbl @@ -0,0 +1,152 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Download ( + MacroPlan macroPlan +) as BinaryValue +{ + Description: '涓嬭浇璐㈠姟鎶ヨ〃鏁版嵁' + TextBody: + [* + + table := selectobject( macroPlan, CCEngineLogisticsCostReport, table, table.IsShow() ); + + xmlDOMI := XMLDOMImplementation::Create(); + xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + table.Name() + '</name></table>' ); + + tableElement := xmlDOM.GetElementByTagName( "table", 0 ); + //Product + productcolumnelement := xmlDOM.CreateElement( "column" ); + productnameelement := xmlDOM.CreateElement( "name" ); + producttypeelement := xmlDOM.CreateElement( "type" ); + productnameelement.TextContent( 'Product' ); + producttypeelement.TextContent( "String" ); + productcolumnelement.AppendChild( productnameelement ); + productcolumnelement.AppendChild( producttypeelement ); + //Attribute + attricolumnelement := xmlDOM.CreateElement( "column" ); + attrinameelement := xmlDOM.CreateElement( "name" ); + attritypeelement := xmlDOM.CreateElement( "type" ); + attrinameelement.TextContent( 'Attribute' ); + attritypeelement.TextContent( "String" ); + attricolumnelement.AppendChild( attrinameelement ); + attricolumnelement.AppendChild( attritypeelement ); + + tableElement.AppendChild( productcolumnelement ); + tableElement.AppendChild( attricolumnelement ); + traverse ( table, Column, column ) { + columnelement := xmlDOM.CreateElement( "column" ); + nameelement := xmlDOM.CreateElement( "name" ); + typeelement := xmlDOM.CreateElement( "type" ); + nameelement.TextContent( column.Name() ); + typeelement.TextContent( "String" ); + columnelement.AppendChild( nameelement ); + columnelement.AppendChild( typeelement ); + + cells := selectsortedset( column, Cell, cell, cell.Row().RowNr() ); + + traverse ( cells, Elements, c ) { + if( column.Index() = 0 ){ + row := c.Row(); + //Product + product1cellElement := xmlDOM.CreateElement( "cell" ); + product1cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product1cellElement ); + + product2cellElement := xmlDOM.CreateElement( "cell" ); + product2cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product2cellElement ); + + product3cellElement := xmlDOM.CreateElement( "cell" ); + product3cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product3cellElement ); + + product4cellElement := xmlDOM.CreateElement( "cell" ); + product4cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product4cellElement ); + + product5cellElement := xmlDOM.CreateElement( "cell" ); + product5cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product5cellElement ); + + product6cellElement := xmlDOM.CreateElement( "cell" ); + product6cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product6cellElement ); + + product7cellElement := xmlDOM.CreateElement( "cell" ); + product7cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product7cellElement ); + //Attribute + //澶栫搴撳叆搴撹垂鐢� + rententercostcellElement := xmlDOM.CreateElement( "cell" ); + rententercostcellElement.SetAttribute( "value", 'RentEnterCost' ); + attricolumnelement.AppendChild( rententercostcellElement ); + //澶栫搴撳嚭搴撹垂鐢� + rentoutcostcellElement := xmlDOM.CreateElement( "cell" ); + rentoutcostcellElement.SetAttribute( "value", 'RentOutCost' ); + attricolumnelement.AppendChild( rentoutcostcellElement ); + //鍘傚唴鍒板绉熷簱杩愯緭璐圭敤 + factorytorenttranscostcellElement := xmlDOM.CreateElement( "cell" ); + factorytorenttranscostcellElement.SetAttribute( "value", 'FactoryToRentTransCost' ); + attricolumnelement.AppendChild( factorytorenttranscostcellElement ); + //澶栫搴撲粨鍌ㄨ垂鐢� + rentstoragecostcellElement := xmlDOM.CreateElement( "cell" ); + rentstoragecostcellElement.SetAttribute( "value", 'RentStorageCost' ); + attricolumnelement.AppendChild( rentstoragecostcellElement ); + //棰勮鎬昏垂鐢� + estimatedtotalcostcellElement := xmlDOM.CreateElement( "cell" ); + estimatedtotalcostcellElement.SetAttribute( "value", 'EstimatedTotalCost' ); + attricolumnelement.AppendChild( estimatedtotalcostcellElement ); + //绯绘暟 + coefficientcellElement := xmlDOM.CreateElement( "cell" ); + coefficientcellElement.SetAttribute( "value", 'Coefficient' ); + attricolumnelement.AppendChild( coefficientcellElement ); + //鎬昏垂鐢� + totalcostcellElement := xmlDOM.CreateElement( "cell" ); + totalcostcellElement.SetAttribute( "value", 'TotalCost' ); + attricolumnelement.AppendChild( totalcostcellElement ); + } + //澶栫搴撳叆搴撹垂鐢� + rententercostcellElement := xmlDOM.CreateElement( "cell" ); + rententercostcellElement.SetAttribute( "value", [String]c.RentEnterCost() ); + columnelement.AppendChild( rententercostcellElement ); + //澶栫搴撳嚭搴撹垂鐢� + rentoutcostcellElement := xmlDOM.CreateElement( "cell" ); + rentoutcostcellElement.SetAttribute( "value", [String]c.RentOutCost() ); + columnelement.AppendChild( rentoutcostcellElement ); + //鍘傚唴鍒板绉熷簱杩愯緭璐圭敤 + factorytorenttranscostcellElement := xmlDOM.CreateElement( "cell" ); + factorytorenttranscostcellElement.SetAttribute( "value", [String]c.FactoryToRentTransCost() ); + columnelement.AppendChild( factorytorenttranscostcellElement ); + //澶栫搴撲粨鍌ㄨ垂鐢� + rentstoragecostcellElement := xmlDOM.CreateElement( "cell" ); + rentstoragecostcellElement.SetAttribute( "value", [String]c.RentStorageCost() ); + columnelement.AppendChild( rentstoragecostcellElement ); + //棰勮鎬昏垂鐢� + estimatedtotalcostcellElement := xmlDOM.CreateElement( "cell" ); + estimatedtotalcostcellElement.SetAttribute( "value", [String]c.EstimatedTotalCost() ); + columnelement.AppendChild( estimatedtotalcostcellElement ); + //绯绘暟 + coefficientcellElement := xmlDOM.CreateElement( "cell" ); + coefficientcellElement.SetAttribute( "value", [String]c.Coefficient() ); + columnelement.AppendChild( coefficientcellElement ); + //鎬昏垂鐢� + totalcostcellElement := xmlDOM.CreateElement( "cell" ); + totalcostcellElement.SetAttribute( "value", [String]c.TotalCost() ); + columnelement.AppendChild( totalcostcellElement ); + } + tableElement.AppendChild( columnelement ); + } + + xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ) + + //info( xmlString ); + + tableGroupHandle := TableGroupHandle::Create( CCEngineLogisticsCostReport::GetDefaultName() ); + tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); + tableGroupHandle.Add( tableHandle ); + + binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); + + return binaryData.AsBinaryValue(); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultAllUnit.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultAllUnit.qbl new file mode 100644 index 0000000..e912c3f --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultAllUnit.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultAllUnit () const declarative as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '<All>'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultCCUnit.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultCCUnit.qbl new file mode 100644 index 0000000..4a17ee3 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultCCUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultCCUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '闀挎槬宸ュ巶'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultName.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultName.qbl new file mode 100644 index 0000000..5f29f58 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultName.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultName () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return 'CC engine logistics cost reports'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultProductParent.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultProductParent.qbl new file mode 100644 index 0000000..a0443f2 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetDefaultProductParent.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultProductParent () as String +{ + TextBody: + [* + // 鐢勫叞楦� Aug-14-2024 (created) + return '浜ф垚鍝�'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetStockingPointCCLine.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetStockingPointCCLine.qbl new file mode 100644 index 0000000..1e19bf6 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetStockingPointCCLine.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetStockingPointCCLine () as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-28-2024 (created) + //return '闀挎槬瑁呴厤绾胯竟搴�'; + return '闀挎槬瑁呴厤绾�'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetStockingPointCCRent.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetStockingPointCCRent.qbl new file mode 100644 index 0000000..d1d47c2 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_GetStockingPointCCRent.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetStockingPointCCRent () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-28-2024 (created) + return '闀挎槬澶栫搴�'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Initialize.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Initialize.qbl new file mode 100644 index 0000000..a26e3e5 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/StaticMethod_Initialize.qbl @@ -0,0 +1,166 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Initialize ( + MacroPlan owner +) +{ + TextBody: + [* + // 鐢勫叞楦� Aug-12-2024 (created) + owner.CCEngineLogisticsCostReport( relflush ); + produtparent := CCEngineLogisticsCostReport::GetDefaultProductParent(); + name := CCEngineLogisticsCostReport::GetDefaultName(); + allunit := CCEngineLogisticsCostReport::GetDefaultAllUnit(); + ccunit := CCEngineLogisticsCostReport::GetDefaultCCUnit(); + ccline := CCEngineLogisticsCostReport::GetStockingPointCCLine(); + ccrent := CCEngineLogisticsCostReport::GetStockingPointCCRent(); + + startofplanning := owner.StartOfPlanning().Date(); + //startofyear := startofplanning.StartOfYear(); + startofnextyear := startofplanning.StartOfNextYear(); + + table := owner.CCEngineLogisticsCostReport( relnew, ID := name, Name := name ); + showtable := owner.CCEngineLogisticsCostReport( relnew, ID := name + 'Show', Name := name, IsShow := true ); + search := owner.CCEngineLogisticsCostSearch( relnew, Generation := allunit, MqbMlb := allunit, Power := allunit ); + + products := construct( Product_MPs ); + + table.GenerateColumn( owner ); + //澶栫搴撳叆搴撹垂鐢細鍙栬嚜璐㈠姟浜ч噺鎶ヨ〃鐨勪骇閲忥紝鍦ㄤ骇鍝佽〃鏍规嵁鍙戝姩鏈哄彿鎵惧埌瀵瑰簲鐨凣eneration 鍜屾í绾靛埗锛屽湪鍙戝姩鏈烘垚鏈弬鏁拌〃閲屾壘鍒板搴旂殑鍖呰瀹归噺鍜屽叆搴撳崟浠凤紝鐢ㄥ叕寮忚绠楋紝鏈堝害杩涜姹囨�� + traverse( owner, FinancialProductionSource, source, not source.IsImport() ){//璐㈠姟浜ч噺鎶ヨ〃闈炲鍏� + traverse( source, FinancialProductionReport, report, not report.IsShow() ){//璐㈠姟浜ч噺鎶ヨ〃涓嶆樉绀� + traverse( report, FinancialProductionRow, row, row.Unit() = ccunit and exists( row, FinancialProductionCell, cell, cell.Value() <> '0' ) ){//璐㈠姟浜ч噺鎶ヨ〃閲岀殑闀挎槬浜ч噺, 涓嶄负0 + ccrow := table.GetRow( row.Name() ); + product := row.Product_MP(); + productparents := product.GetAllParent(); + if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満 + //鏌ヨ瀵瑰簲鐨勫彂鍔ㄦ満鎴愭湰 + enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() + and engine.MLB_MQB() = product.MQBMLB() + and engine.Factory() = ccunit + and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); + if( not isnull( enginecost ) ){ + products.Add( product ); + traverse( row, FinancialProductionCell, cell, cell.Value() <> '0' ){ + //鍏ュ簱閲�/鍖呰瀹归噺*鍏ュ簱鍗曚环锛屽叆搴撻噺绛変簬闀挎槬浜ч噺 + quantity := ceil( [Number]cell.Value() / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); + column := selectobject( table, Column, column, column.Name() = cell.FinancialProductionColumn().Name() ); + //澶栫搴撳叆搴撹垂鐢� + ccrow.SetRentEnterCost( column, quantity ); + } + } + } + } + } + } + //澶栫搴撳嚭搴撹垂鐢細鍑哄簱閲忕瓑浜庨暱鏄ラ攢閲忥紝鍙栬嚜璐㈠姟閿�閲忔姤琛ㄧ殑閿�閲忥紝鍦ㄤ骇鍝佽〃鏍规嵁鍙戝姩鏈哄彿鎵惧埌瀵瑰簲鐨凣eneration 鍜屾í绾靛埗锛屽湪鍙戝姩鏈烘垚鏈弬鏁拌〃閲屾壘鍒板搴旂殑鍖呰瀹归噺鍜屽嚭搴撳崟浠凤紝鐢ㄥ叕寮忚绠楋紝鏈堝害杩涜姹囨�� + traverse( owner, FinancialSalesSource, source, not source.IsImport() ){//璐㈠姟閿�閲忔姤琛ㄩ潪瀵煎叆 + traverse( source, FinancialSalesReport, report, not report.IsShow() ){//璐㈠姟閿�閲忔姤琛ㄤ笉鏄剧ず + traverse( report, FinancialSalesRow, row, row.Unit() = ccunit and exists( row, FinancialSalesCell, cell, cell.Value() <> '0' ) ){//璐㈠姟閿�閲忔姤琛ㄩ噷鐨勯暱鏄ヤ骇閲�, 涓嶄负0 + ccrow := table.GetRow( row.Name() ); + product := row.Product_MP(); + productparents := product.GetAllParent(); + if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満 + //鏌ヨ瀵瑰簲鐨勫彂鍔ㄦ満鎴愭湰 + enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() + and engine.MLB_MQB() = product.MQBMLB() + and engine.Factory() = ccunit + and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); + if( not isnull( enginecost ) ){ + products.Add( product ); + traverse( row, FinancialSalesCell, cell, cell.Value() <> '0' ){ + //鍑哄簱閲�/鍖呰瀹归噺*鍑哄簱鍗曚环锛屽叆搴撻噺绛変簬闀挎槬閿�閲� + quantity := ceil( [Number]cell.Value() / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); + column := selectobject( table, Column, column, column.Name() = cell.FinancialSalesColumn().Name() ); + //澶栫搴撳嚭搴撹垂鐢� + ccrow.SetRentOutCost( column, quantity ); + } + } + } + } + } + } + //鍘傚唴鍒板绉熷簱杩愯緭璐圭敤锛氾紝鍦� trip plan閲屾壘鍒伴暱鏄ヨ閰嶇嚎杈瑰簱鍒伴暱鏄ュ绉熷簱鐨勮繍杈撴暟閲忥紝锛岋紝鐢ㄥ叕寮忚绠楀緱鍑虹粨鏋滐紝鏈堝害杩涜姹囨�� + traverse( owner, Unit.Lane.LaneLeg, laneleg ){ + //璧峰搴撳瓨鐐规槸鍚︽槸闀挎槬瑁呴厤绾胯竟搴� + originsp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = laneleg.OriginStockingPointID() ); + isccspline := table.IsInUnit( originsp, ccline ); + //鐩殑鍦版槸鍚︽槸闀挎槬澶栫搴� + destisp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = laneleg.DestinationStockingPointID() ); + isccrent := table.IsInUnit( destisp, ccrent ); + if( isccspline and isccrent ){ + traverse( laneleg, Trip, trip, trip.Arrival().Date() < startofnextyear ){ + periodtime := trip.Arrival().StartOfMonth().Date(); + periodname := periodtime.Format( "M2/D2/Y" ); + + column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); + traverse( trip, ProductInTrip, pit, pit.Quantity() = 0 ){ + row := table.GetRow( pit.ProductID() ); + product := pit.Product_MP(); + productparents := product.GetAllParent(); + if( exists( productparents, Elements, e, e.ID() = produtparent ) ){////鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満 + //鍦ㄥ彂鍔ㄦ満鎴愭湰鍙傛暟琛ㄦ壘鍒板搴旂殑鍖呰瀹归噺 + enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() + and engine.MLB_MQB() = product.MQBMLB() + and engine.Factory() = ccunit + and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); + //鍦ㄨ繍杈撴垚鏈弬鏁拌〃閲屾壘鍒板彂鍔ㄦ満瀵瑰簲杩愯緭鍗曚环鍜岃杞藉閲� + transcost := selectobject( owner, LogisticsCostTransport, trans, trans.Origin() = ccline + and trans.Destination() = ccrent + and exists( productparents, Elements, e, e.ID() = trans.Product() ) ); + if( not isnull( enginecost ) and not isnull( transcost ) ){ + products.Add( product ); + //杩愯緭鏁伴噺/鍖呰瀹归噺/瑁呰浇瀹归噺*杩愯緭鍗曚环 + quantity := ceil( ceil( [Number]pit.Quantity() / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();//鍥涜垗浜斿叆 + + row.SetFactoryToRentTransCost( column, quantity ); + } + } + } + } + } + } + //澶栫搴撲粨鍌ㄨ垂鐢細浠撳偍鏁伴噺/鍖呰瀹归噺*浠撳偍鍗曚环锛屽湪Actual inventories閲屽彇鍒伴暱鏄ュ绉熷簱璇ュ彂鍔ㄦ満鐨勪粨鍌ㄩ噺锛屾牴鎹彂鍔ㄦ満鍙锋壘鍒板搴旂殑Generation 鍜屾í绾靛埗锛屽湪鍙戝姩鏈烘垚鏈弬鏁拌〃閲屾壘鍒板搴旂殑浠撳偍鍗曚环鍜屽寘瑁呭閲忥紝鐢ㄥ叕寮忚绠楋紝鏈堝害杩涜姹囨�� + traverse( owner, StockingPoint_MP, stockingpoint ){ + //鏄惁灞炰簬闀挎槬澶栫搴� + isccrent := table.IsInUnit( stockingpoint, ccrent ); + if( isccrent ){ + traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() ){ + //鑾峰彇琛� + product := pisp.Product_MP(); + productparents := product.GetAllParent(); + row := table.GetRow( pisp.ProductID() ); + if( exists( productparents, Elements, e, e.ID() = produtparent ) ){////鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満 + //鏌ヨ瀵瑰簲鐨勫彂鍔ㄦ満鎴愭湰 + enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() + and engine.MLB_MQB() = product.MQBMLB() + and engine.Factory() = ccunit + and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); + if( not isnull( enginecost ) ){ + products.Add( product ); + //褰損roduct planning鐨勬棩鏈熷尯闂村湪闇�瑕佺殑鏃ユ湡鍖洪棿鍐� + traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear + ){ + periodtime := pispip.Start().StartOfMonth().Date(); + periodname := periodtime.Format( "M2/D2/Y" ); + quantity := ceil( [Number]pispip.NewSupplyQuantity() / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//鍥涜垗浜斿叆 + + column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); + + row.SetRentStorageCost( column, quantity ); + } + } + } + } + } + } + rows := selectsortedset( table, Row, row, row.Name() ); + i := 0; + traverse( rows, Elements, e ){ + e.RowNr( i ); + i := i + 1; + } + // + showtable.Generate( search, products ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport/_ROOT_Type_CCEngineLogisticsCostReport.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport/_ROOT_Type_CCEngineLogisticsCostReport.qbl new file mode 100644 index 0000000..763f27b --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport/_ROOT_Type_CCEngineLogisticsCostReport.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type CCEngineLogisticsCostReport +{ + #keys: '5[415136.0.986400937][415136.0.986400935][0.0.0][415136.0.986400936][415136.0.986400938]' + BaseType: Object + Description: '闀挎槬鍙戝姩鏈虹墿娴佹垚鏈姤琛�' + StructuredName: 'CCEngineLogisticsCostReports' +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/Attribute_ID.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/Attribute_ID.qbl new file mode 100644 index 0000000..02ea9f1 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/Attribute_ID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ID +{ + #keys: '3[415136.0.992900074][415136.0.992900073][415136.0.992900075]' + IsReadOnly: true + ValueType: String +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/Attribute_IsShow.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/Attribute_IsShow.qbl new file mode 100644 index 0000000..7571e00 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/Attribute_IsShow.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsShow +{ + #keys: '3[415136.0.992900077][415136.0.992900076][415136.0.992900078]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/Attribute_Name.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/Attribute_Name.qbl new file mode 100644 index 0000000..5e18c5a --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/Attribute_Name.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[415136.0.992900080][415136.0.992900079][415136.0.992900081]' + Description: '鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/DefaultValue_ID.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/DefaultValue_ID.qbl new file mode 100644 index 0000000..049abc0 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/DefaultValue_ID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ID +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/DefaultValue_Name.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/DefaultValue_Name.qbl new file mode 100644 index 0000000..86c3d59 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/DefaultValue_Name.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Name +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_Clear.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_Clear.qbl new file mode 100644 index 0000000..b14ba96 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_Clear.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Method Clear +{ + TextBody: + [* + // 鐢勫叞楦� Aug-13-2024 (created) + this.Column( relflush ); + this.Row( relflush ); + + this.GenerateColumn( this.MacroPlan() ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_Generate.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_Generate.qbl new file mode 100644 index 0000000..52764b4 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_Generate.qbl @@ -0,0 +1,68 @@ +Quintiq file version 2.0 +#parent: #root +Method Generate ( + DLEngineLogisticsCostSearch search, + Product_MPs products +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + table := selectobject( this, MacroPlan.DLEngineLogisticsCostReport, report, not report.IsShow() ); + allunit := '<All>'; + //娓呯┖涔嬪墠瀛樺偍鐨勬樉绀烘暟鎹� + this.Clear(); + //杩囨护鍚庣殑浜у搧id + productids := selectuniquevalues( products, Elements, product, ( search.Generation() = allunit or product.Generation() = search.Generation() ) + and ( search.MqbMlb() = allunit or product.MQBMLB() = search.MqbMlb() ) + and ( search.Power() = allunit or product.Power() = search.Power() ), product.ID() ); + sumrow := this.Row( relnew, Name := 'SUM', RowNr := table.Row( relsize ) ); + traverse( table, Row, row ){ + productid := construct( Strings ); + productid.Add( row.Name() ); + + if( productids.ContainsAll( productid ) ){ + showrow := this.Row( relnew, Name := row.Name(), RowNr := row.RowNr() ); + + traverse( row, Cell, cell ){ + column := selectobject( this, Column, column, column.Name() = cell.Column().Name() ); + + sumcell := selectobject( column, Cell, c, c.Row() = sumrow ); + if( isnull( sumcell ) ){ + sumcell := sumrow.Cell( relnew, CCRentEnterCost := 0 + , CCRentOutCost := 0 + , CCLongTransCoat := 0 + , CCShortTransCost := 0 + , CCRentStorageCost := 0 + , DLRentEnterCost := 0 + , DLRentOutCost := 0 + , FactoryToDLRentTransCost := 0 + , DLRentStorageCost := 0 ); + column.Cell( relinsert, sumcell ); + } + + showcell := showrow.Cell( relnew, CCRentEnterCost := cell.CCRentEnterCost() + , CCRentOutCost := cell.CCRentOutCost() + , CCLongTransCoat := cell.CCLongTransCoat() + , CCShortTransCost := cell.CCShortTransCost() + , CCRentStorageCost := cell.CCRentStorageCost() + , DLRentEnterCost := cell.DLRentEnterCost() + , DLRentOutCost := cell.DLRentOutCost() + , FactoryToDLRentTransCost := cell.FactoryToDLRentTransCost() + , DLRentStorageCost := cell.DLRentStorageCost() ); + column.Cell( relinsert, showcell ); + sumcell.CCRentEnterCost( cell.CCRentEnterCost() + sumcell.CCRentEnterCost() ); + sumcell.CCRentOutCost( cell.CCRentOutCost() + sumcell.CCRentOutCost() ); + sumcell.CCLongTransCoat( cell.CCLongTransCoat() + sumcell.CCLongTransCoat() ); + sumcell.CCShortTransCost( cell.CCShortTransCost() + sumcell.CCShortTransCost() ); + sumcell.CCRentStorageCost( cell.CCRentStorageCost() + sumcell.CCRentStorageCost() ); + sumcell.DLRentEnterCost( cell.DLRentEnterCost() + sumcell.DLRentEnterCost() ); + sumcell.DLRentOutCost( cell.DLRentOutCost() + sumcell.DLRentOutCost() ); + sumcell.FactoryToDLRentTransCost( cell.FactoryToDLRentTransCost() + sumcell.FactoryToDLRentTransCost() ); + sumcell.DLRentStorageCost( cell.DLRentStorageCost() + sumcell.DLRentStorageCost() ); + } + } + } + info( '-------------------------g------------end---------------------------------' ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_GenerateColumn.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_GenerateColumn.qbl new file mode 100644 index 0000000..b1ab93a --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_GenerateColumn.qbl @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +Method GenerateColumn ( + MacroPlan owner +) +{ + TextBody: + [* + // 鐢勫叞楦� Aug-13-2024 (created) + startofplanning := owner.StartOfPlanning(); + startofyear := startofplanning.StartOfYear(); + startofnextyear := startofplanning.StartOfNextYear(); + + for( start := startofyear; start < startofnextyear; start := start.StartOfNextMonth() ){ + periodtime := start.Date(); + periodname := periodtime.Format( "M2/D2/Y" ); + this.Column( relnew, Name := periodname, StartDate := periodtime ); + } + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_GetRow.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_GetRow.qbl new file mode 100644 index 0000000..c5025b9 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_GetRow.qbl @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: #root +Method GetRow ( + String product +) as DLEngineLogisticsCostRow +{ + Description: '鏍规嵁宸ュ巶鑾峰彇琛�' + TextBody: + [* + // 鐢勫叞楦� Aug-13-2024 (created) + row := selectobject( this, Row, row, row.Name() = product ); + if( isnull( row ) ){ + //鍒濆鍖栧崟鍏冩牸 + row := this.Row( relnew, Name := product ); + traverse( this, Column, column ){ + row.Initialize( column ); + } + } + return row; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_IsInUnit.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_IsInUnit.qbl new file mode 100644 index 0000000..57394ad --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/Method_IsInUnit.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method IsInUnit ( + StockingPoint_MP sp, + String unitname +) as Boolean +{ + Description: '鏄惁灞炰簬鏌愪釜绾�' + TextBody: + [* + // 鐢勫叞楦� Aug-5-2024 (created) + unit := sp.Unit(); + parentunits := unit.GetAllParent(); + return sp.ID() = unitname or unit.ID() = unitname or exists( parentunits, Elements, punit, punit.ID() = unitname ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Download.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Download.qbl new file mode 100644 index 0000000..166d84f --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Download.qbl @@ -0,0 +1,212 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Download ( + MacroPlan macroPlan +) as BinaryValue +{ + Description: '涓嬭浇璐㈠姟鎶ヨ〃鏁版嵁' + TextBody: + [* + + table := selectobject( macroPlan, DLEngineLogisticsCostReport, table, table.IsShow() ); + + xmlDOMI := XMLDOMImplementation::Create(); + xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + table.Name() + '</name></table>' ); + + tableElement := xmlDOM.GetElementByTagName( "table", 0 ); + //Product + productcolumnelement := xmlDOM.CreateElement( "column" ); + productnameelement := xmlDOM.CreateElement( "name" ); + producttypeelement := xmlDOM.CreateElement( "type" ); + productnameelement.TextContent( 'Product' ); + producttypeelement.TextContent( "String" ); + productcolumnelement.AppendChild( productnameelement ); + productcolumnelement.AppendChild( producttypeelement ); + //Attribute + attricolumnelement := xmlDOM.CreateElement( "column" ); + attrinameelement := xmlDOM.CreateElement( "name" ); + attritypeelement := xmlDOM.CreateElement( "type" ); + attrinameelement.TextContent( 'Attribute' ); + attritypeelement.TextContent( "String" ); + attricolumnelement.AppendChild( attrinameelement ); + attricolumnelement.AppendChild( attritypeelement ); + + tableElement.AppendChild( productcolumnelement ); + tableElement.AppendChild( attricolumnelement ); + traverse ( table, Column, column ) { + columnelement := xmlDOM.CreateElement( "column" ); + nameelement := xmlDOM.CreateElement( "name" ); + typeelement := xmlDOM.CreateElement( "type" ); + nameelement.TextContent( column.Name() ); + typeelement.TextContent( "String" ); + columnelement.AppendChild( nameelement ); + columnelement.AppendChild( typeelement ); + + cells := selectsortedset( column, Cell, cell, cell.Row().RowNr() ); + + traverse ( cells, Elements, c ) { + if( column.Index() = 0 ){ + row := c.Row(); + //Product + product1cellElement := xmlDOM.CreateElement( "cell" ); + product1cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product1cellElement ); + + product2cellElement := xmlDOM.CreateElement( "cell" ); + product2cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product2cellElement ); + + product3cellElement := xmlDOM.CreateElement( "cell" ); + product3cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product3cellElement ); + + product4cellElement := xmlDOM.CreateElement( "cell" ); + product4cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product4cellElement ); + + product5cellElement := xmlDOM.CreateElement( "cell" ); + product5cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product5cellElement ); + + product6cellElement := xmlDOM.CreateElement( "cell" ); + product6cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product6cellElement ); + + product7cellElement := xmlDOM.CreateElement( "cell" ); + product7cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product7cellElement ); + + product8cellElement := xmlDOM.CreateElement( "cell" ); + product8cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product8cellElement ); + + product9cellElement := xmlDOM.CreateElement( "cell" ); + product9cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product9cellElement ); + + product10cellElement := xmlDOM.CreateElement( "cell" ); + product10cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product10cellElement ); + + product11cellElement := xmlDOM.CreateElement( "cell" ); + product11cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product11cellElement ); + + product12cellElement := xmlDOM.CreateElement( "cell" ); + product12cellElement.SetAttribute( "value", row.Name() ); + productcolumnelement.AppendChild( product12cellElement ); + //Attribute + //闀挎槬澶栫搴撳叆搴撹垂鐢� + ccrententercostcellElement := xmlDOM.CreateElement( "cell" ); + ccrententercostcellElement.SetAttribute( "value", 'CCRentEnterCost' ); + attricolumnelement.AppendChild( ccrententercostcellElement ); + //闀挎槬澶栫搴撳嚭搴撹垂鐢� + ccrentoutcostcellElement := xmlDOM.CreateElement( "cell" ); + ccrentoutcostcellElement.SetAttribute( "value", 'CCRentOutCost' ); + attricolumnelement.AppendChild( ccrentoutcostcellElement ); + //闀挎槬闀块�旇繍杈撹垂鐢� + cclongtranscostcellElement := xmlDOM.CreateElement( "cell" ); + cclongtranscostcellElement.SetAttribute( "value", 'CCLongTransCost' ); + attricolumnelement.AppendChild( cclongtranscostcellElement ); + //闀挎槬鐭�旇繍杈撹垂鐢� + ccshorttranscostcellElement := xmlDOM.CreateElement( "cell" ); + ccshorttranscostcellElement.SetAttribute( "value", 'CCShortTransCost' ); + attricolumnelement.AppendChild( ccshorttranscostcellElement ); + //闀挎槬澶栫搴撲粨鍌ㄨ垂鐢� + ccrentstoragecostcellElement := xmlDOM.CreateElement( "cell" ); + ccrentstoragecostcellElement.SetAttribute( "value", 'CCRentStorageCost' ); + attricolumnelement.AppendChild( ccrentstoragecostcellElement ); + //澶ц繛澶栫搴撳叆搴撹垂鐢� + dlrententercostcellElement := xmlDOM.CreateElement( "cell" ); + dlrententercostcellElement.SetAttribute( "value", 'DLRentEnterCost' ); + attricolumnelement.AppendChild( dlrententercostcellElement ); + //澶ц繛澶栫搴撳嚭搴撹垂鐢� + dlrentoutcostcellElement := xmlDOM.CreateElement( "cell" ); + dlrentoutcostcellElement.SetAttribute( "value", 'DLRentOutCost' ); + attricolumnelement.AppendChild( dlrentoutcostcellElement ); + //鍘傚唴鍒板绉熷簱杩愯緭璐圭敤 + factorytorenttranscostcellElement := xmlDOM.CreateElement( "cell" ); + factorytorenttranscostcellElement.SetAttribute( "value", 'FactoryToRentTransCost' ); + attricolumnelement.AppendChild( factorytorenttranscostcellElement ); + //澶ц繛澶栫搴撲粨鍌ㄨ垂鐢� + dlrentstoragecostcellElement := xmlDOM.CreateElement( "cell" ); + dlrentstoragecostcellElement.SetAttribute( "value", 'DLRentStorageCost' ); + attricolumnelement.AppendChild( dlrentstoragecostcellElement ); + //棰勮鎬昏垂鐢� + estimatedtotalcostcellElement := xmlDOM.CreateElement( "cell" ); + estimatedtotalcostcellElement.SetAttribute( "value", 'EstimatedTotalCost' ); + attricolumnelement.AppendChild( estimatedtotalcostcellElement ); + //绯绘暟 + coefficientcellElement := xmlDOM.CreateElement( "cell" ); + coefficientcellElement.SetAttribute( "value", 'Coefficient' ); + attricolumnelement.AppendChild( coefficientcellElement ); + //鎬昏垂鐢� + totalcostcellElement := xmlDOM.CreateElement( "cell" ); + totalcostcellElement.SetAttribute( "value", 'TotalCost' ); + attricolumnelement.AppendChild( totalcostcellElement ); + } + //闀挎槬澶栫搴撳叆搴撹垂鐢� + ccrententercostcellElement := xmlDOM.CreateElement( "cell" ); + ccrententercostcellElement.SetAttribute( "value", [String]c.CCRentEnterCost() ); + columnelement.AppendChild( ccrententercostcellElement ); + //闀挎槬澶栫搴撳嚭搴撹垂鐢� + ccrentoutcostcellElement := xmlDOM.CreateElement( "cell" ); + ccrentoutcostcellElement.SetAttribute( "value", [String]c.CCRentOutCost() ); + columnelement.AppendChild( ccrentoutcostcellElement ); + //闀挎槬闀块�旇繍杈撹垂鐢� + cclongtranscostcellElement := xmlDOM.CreateElement( "cell" ); + cclongtranscostcellElement.SetAttribute( "value", [String]c.CCLongTransCoat() ); + columnelement.AppendChild( cclongtranscostcellElement ); + //闀挎槬鐭�旇繍杈撹垂鐢� + ccshorttranscostcellElement := xmlDOM.CreateElement( "cell" ); + ccshorttranscostcellElement.SetAttribute( "value", [String]c.CCShortTransCost() ); + columnelement.AppendChild( ccshorttranscostcellElement ); + //闀挎槬澶栫搴撲粨鍌ㄨ垂鐢� + ccrentstoragecostcellElement := xmlDOM.CreateElement( "cell" ); + ccrentstoragecostcellElement.SetAttribute( "value", [String]c.CCRentStorageCost() ); + columnelement.AppendChild( ccrentstoragecostcellElement ); + //澶ц繛澶栫搴撳叆搴撹垂鐢� + dlrententercostcellElement := xmlDOM.CreateElement( "cell" ); + dlrententercostcellElement.SetAttribute( "value", [String]c.DLRentEnterCost() ); + columnelement.AppendChild( dlrententercostcellElement ); + //澶ц繛澶栫搴撳嚭搴撹垂鐢� + dlrentoutcostcellElement := xmlDOM.CreateElement( "cell" ); + dlrentoutcostcellElement.SetAttribute( "value", [String]c.DLRentOutCost() ); + columnelement.AppendChild( dlrentoutcostcellElement ); + //鍘傚唴鍒板绉熷簱杩愯緭璐圭敤 + factorytorenttranscostcellElement := xmlDOM.CreateElement( "cell" ); + factorytorenttranscostcellElement.SetAttribute( "value", [String]c.FactoryToDLRentTransCost() ); + columnelement.AppendChild( factorytorenttranscostcellElement ); + //澶ц繛澶栫搴撲粨鍌ㄨ垂鐢� + dlrentstoragecostcellElement := xmlDOM.CreateElement( "cell" ); + dlrentstoragecostcellElement.SetAttribute( "value", [String]c.DLRentStorageCost() ); + columnelement.AppendChild( dlrentstoragecostcellElement ); + //棰勮鎬昏垂鐢� + estimatedtotalcostcellElement := xmlDOM.CreateElement( "cell" ); + estimatedtotalcostcellElement.SetAttribute( "value", [String]c.EstimatedTotalCost() ); + columnelement.AppendChild( estimatedtotalcostcellElement ); + //绯绘暟 + coefficientcellElement := xmlDOM.CreateElement( "cell" ); + coefficientcellElement.SetAttribute( "value", [String]c.Coefficient() ); + columnelement.AppendChild( coefficientcellElement ); + //鎬昏垂鐢� + totalcostcellElement := xmlDOM.CreateElement( "cell" ); + totalcostcellElement.SetAttribute( "value", [String]c.TotalCost() ); + columnelement.AppendChild( totalcostcellElement ); + } + tableElement.AppendChild( columnelement ); + } + + xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ) + + //info( xmlString ); + + tableGroupHandle := TableGroupHandle::Create( DLEngineLogisticsCostReport::GetDefaultName() ); + tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); + tableGroupHandle.Add( tableHandle ); + + binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); + + return binaryData.AsBinaryValue(); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultAllUnit.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultAllUnit.qbl new file mode 100644 index 0000000..e912c3f --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultAllUnit.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultAllUnit () const declarative as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '<All>'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultCCUnit.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultCCUnit.qbl new file mode 100644 index 0000000..4a17ee3 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultCCUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultCCUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '闀挎槬宸ュ巶'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultDLUnit.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultDLUnit.qbl new file mode 100644 index 0000000..36d2be8 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultDLUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultDLUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '澶ц繛宸ュ巶'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultName.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultName.qbl new file mode 100644 index 0000000..5f29f58 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultName.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultName () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return 'CC engine logistics cost reports'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultProductParent.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultProductParent.qbl new file mode 100644 index 0000000..a0443f2 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetDefaultProductParent.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultProductParent () as String +{ + TextBody: + [* + // 鐢勫叞楦� Aug-14-2024 (created) + return '浜ф垚鍝�'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetStockingPointCCRent.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetStockingPointCCRent.qbl new file mode 100644 index 0000000..d1d47c2 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetStockingPointCCRent.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetStockingPointCCRent () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-28-2024 (created) + return '闀挎槬澶栫搴�'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetStockingPointDLLine.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetStockingPointDLLine.qbl new file mode 100644 index 0000000..3bd2cd6 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetStockingPointDLLine.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetStockingPointDLLine () as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-28-2024 (created) + //return '闀挎槬瑁呴厤绾胯竟搴�'; + return '澶ц繛瑁呴厤绾�'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetStockingPointDLRent.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetStockingPointDLRent.qbl new file mode 100644 index 0000000..76f532f --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_GetStockingPointDLRent.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetStockingPointDLRent () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-28-2024 (created) + return '澶ц繛澶栫搴�'; + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Initialize.qbl b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Initialize.qbl new file mode 100644 index 0000000..bdd5f28 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostReport0/StaticMethod_Initialize.qbl @@ -0,0 +1,272 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Initialize ( + MacroPlan owner +) +{ + TextBody: + [* + // 鐢勫叞楦� Aug-12-2024 (created) + owner.DLEngineLogisticsCostReport( relflush ); + produtparent := DLEngineLogisticsCostReport::GetDefaultProductParent(); + name := DLEngineLogisticsCostReport::GetDefaultName(); + allunit := DLEngineLogisticsCostReport::GetDefaultAllUnit(); + ccunit := DLEngineLogisticsCostReport::GetDefaultCCUnit(); + dlunit := DLEngineLogisticsCostReport::GetDefaultDLUnit(); + dlline := DLEngineLogisticsCostReport::GetStockingPointDLLine(); + ccrent := DLEngineLogisticsCostReport::GetStockingPointCCRent(); + dlrent := DLEngineLogisticsCostReport::GetStockingPointCCRent(); + + startofplanning := owner.StartOfPlanning().Date(); + //startofyear := startofplanning.StartOfYear(); + startofnextyear := startofplanning.StartOfNextYear(); + + table := owner.DLEngineLogisticsCostReport( relnew, ID := name, Name := name ); + showtable := owner.DLEngineLogisticsCostReport( relnew, ID := name + 'Show', Name := name, IsShow := true ); + search := owner.DLEngineLogisticsCostSearch( relnew, Generation := allunit, MqbMlb := allunit, Power := allunit ); + + products := construct( Product_MPs ); + + table.GenerateColumn( owner ); + //鍙戝線闀挎槬鐨勯攢閲忛渶瑕佸湪trip plan閲岄潰鎵惧埌璧峰搴撳瓨鐐逛负澶ц繛瑁呴厤绾胯竟搴擄紝鐩殑鍦颁负闀挎槬澶栫搴撶殑浜у搧 绠楀嚭鍙戝線闀挎槬鐨勯攢閲忓悗锛屽湪鍙戝姩鏈烘垚鏈弬鏁拌〃閲屾壘鍒板搴旂殑鍖呰瀹归噺鍜岄暱鏄ュ叆搴撳崟浠凤紝鐢ㄥ叕寮忚绠楋紝鏈堝害杩涜姹囨�� + //鍦� trip plan閲屾壘鍒板ぇ杩炶閰嶇嚎杈瑰簱鍒板ぇ杩炲绉熷簱鐨勮繍杈撴暟閲� + traverse( owner, Unit.Lane.LaneLeg, laneleg ){ + //璧峰搴撳瓨鐐规槸鍚︽槸澶ц繛瑁呴厤绾胯竟搴� + originsp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = laneleg.OriginStockingPointID() ); + isdlspline := table.IsInUnit( originsp, dlline ); + //鐩殑鍦版槸鍚︽槸闀挎槬澶栫搴� + destisp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = laneleg.DestinationStockingPointID() ); + isccrent := table.IsInUnit( destisp, ccrent ); + //鐩殑鍦版槸鍚︽槸澶ц繛澶栫搴� + destisp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = laneleg.DestinationStockingPointID() ); + isdlrent := table.IsInUnit( destisp, dlrent ); + if( isdlspline and ( isccrent or isdlrent ) ){ + traverse( laneleg, Trip, trip, trip.Departure().Date() < startofnextyear ){//鐢变簬闇�瑕佽�冭檻浜у搧杩愯緭lead time锛屾瘡涓湀鐨勬眹鎬绘暟鎹渶瑕佹帹杩熶袱澶╄繘琛岃绠� + periodtime := trip.Departure().StartOfMonth().Date(); + periodname := periodtime.Format( "M2/D2/Y" ); + + column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); + traverse( trip, ProductInTrip, pit, pit.Quantity() = 0 and exists( pit.Product_MP().GetAllParent(), Elements, e, e.ID() = produtparent ) ){//鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満 + quantity := [Number]pit.Quantity(); + row := table.GetRow( pit.ProductID() ); + product := pit.Product_MP(); + productparents := product.GetAllParent(); + if( isccrent ){//鐩殑鍦版槸闀挎槬澶栫搴� + //鍦ㄥ彂鍔ㄦ満鎴愭湰鍙傛暟琛ㄦ壘鍒板搴旂殑鍖呰瀹归噺 + enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() + and engine.MLB_MQB() = product.MQBMLB() + and engine.Factory() = ccunit + and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); + if( not isnull( enginecost ) ){ + products.Add( product ); + cell := selectobject( row, Cell, cell, cell.Column() = column ); + cell.CCRentQuantity( cell.CCRentQuantity() + quantity ); + //闀挎槬澶栫搴撳叆搴撹垂鐢細鍏ュ簱閲�/鍖呰瀹归噺*鍏ュ簱鍗曚环 + entercost := ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); + //闀挎槬澶栫搴撳嚭搴撹垂鐢�: 鍑哄簱閲�/鍖呰瀹归噺*鍑哄簱鍗曚环 + outcost := ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); + cell.CCRentEnterCost( cell.CCRentEnterCost() + entercost ); + cell.CCRentOutCost( cell.CCRentOutCost() + outcost ); + } + } + if( isdlrent ){//鐩殑鍦版槸澶ц繛澶栫搴� + //鍦ㄥ彂鍔ㄦ満鎴愭湰鍙傛暟琛ㄦ壘鍒板搴旂殑鍖呰瀹归噺 + enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() + and engine.MLB_MQB() = product.MQBMLB() + and engine.Factory() = dlunit + and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); + //鍦ㄨ繍杈撴垚鏈弬鏁拌〃閲屾壘鍒板彂鍔ㄦ満瀵瑰簲杩愯緭鍗曚环鍜岃杞藉閲� + transcost := selectobject( owner, LogisticsCostTransport, trans, trans.Origin() = dlline + and trans.Destination() = dlrent + and exists( productparents, Elements, e, e.ID() = trans.Product() ) ); + if( not isnull( enginecost ) and not isnull( transcost ) ){ + products.Add( product ); + cell := selectobject( row, Cell, cell, cell.Column() = column ); + //杩愯緭鏁伴噺/鍖呰瀹归噺/瑁呰浇瀹归噺*杩愯緭鍗曚环 + cost := ceil( ceil( quantity / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice();//鍥涜垗浜斿叆 + cell.FactoryToDLRentTransCost( cell.FactoryToDLRentTransCost() + cost ); + } + } + } + } + } + } + //澶ц繛澶栫搴撳叆搴撹垂鐢細鍏ュ簱閲�/鍖呰瀹归噺*鍏ュ簱鍗曚环锛屽叆搴撻噺绛変簬澶ц繛宸ュ巶璇ヤ骇鍝佷骇閲忓噺鍘诲彂寰�闀挎槬鐨勬暟閲� + traverse( owner, FinancialProductionSource, source, not source.IsImport() ){//璐㈠姟浜ч噺鎶ヨ〃闈炲鍏� + traverse( source, FinancialProductionReport, report, not report.IsShow() ){//璐㈠姟浜ч噺鎶ヨ〃涓嶆樉绀� + traverse( report, FinancialProductionRow, row, row.Unit() = dlunit and exists( row, FinancialProductionCell, cell, cell.Value() <> '0' ) ){//璐㈠姟浜ч噺鎶ヨ〃閲岀殑澶ц繛浜ч噺, 涓嶄负0 + ccrow := table.GetRow( row.Name() ); + product := row.Product_MP(); + products.Add( product ); + productparents := product.GetAllParent(); + if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満 + //鏌ヨ瀵瑰簲鐨勫彂鍔ㄦ満鎴愭湰 + enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() + and engine.MLB_MQB() = product.MQBMLB() + and engine.Factory() = dlunit + and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); + if( not isnull( enginecost ) ){ + traverse( row, FinancialProductionCell, cell, cell.Value() <> '0' ){ + column := selectobject( table, Column, column, column.Name() = cell.FinancialProductionColumn().Name() ); + //澶ц繛澶栫搴撳叆搴撹垂鐢� + ccrow.SetDLRentEnterCost( column, enginecost, cell ); + } + } + } + } + } + } + //澶ц繛澶栫搴撳嚭搴撹垂鐢細鍑哄簱閲�/鍖呰瀹归噺*鍑哄簱鍗曚环锛屽嚭搴撻噺绛変簬澶ц繛宸ュ巶璇ヤ骇鍝侀攢閲忓噺鍘诲彂寰�闀挎槬鐨勬暟閲� + traverse( owner, FinancialSalesSource, source, not source.IsImport() ){//璐㈠姟閿�閲忔姤琛ㄩ潪瀵煎叆 + traverse( source, FinancialSalesReport, report, not report.IsShow() ){//璐㈠姟閿�閲忔姤琛ㄤ笉鏄剧ず + traverse( report, FinancialSalesRow, row, row.Unit() = ccunit and exists( row, FinancialSalesCell, cell, cell.Value() <> '0' ) ){//璐㈠姟閿�閲忔姤琛ㄩ噷鐨勫ぇ杩炰骇閲�, 涓嶄负0 + ccrow := table.GetRow( row.Name() ); + product := row.Product_MP(); + productparents := product.GetAllParent(); + if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満 + products.Add( product ); + //鏌ヨ瀵瑰簲鐨勫彂鍔ㄦ満鎴愭湰 + enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() + and engine.MLB_MQB() = product.MQBMLB() + and engine.Factory() = dlunit + and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); + if( not isnull( enginecost ) ){ + traverse( row, FinancialSalesCell, cell, cell.Value() <> '0' ){ + column := selectobject( table, Column, column, column.Name() = cell.FinancialSalesColumn().Name() ); + //澶ц繛澶栫搴撳嚭搴撹垂鐢� + ccrow.SetDLRentOutCost( column, enginecost, cell ); + } + } + } + } + } + } + //闀挎槬闀块�旇繍杈撹垂鐢細璋冩嫧鏁伴噺/鍖呰瀹归噺/瑁呰浇瀹归噺*杩愯緭鍗曚环锛岃皟鎷ㄨ鍒掗噷鎵惧埌璇ヤ骇鍝佷粠DL鍒癈C鐨勮皟鎷ㄦ暟閲忥紝鍗宠捣濮嬪湴澶ц繛瑁呴厤绾胯竟搴擄紝鐩殑鍦颁负闀挎槬澶栫搴撳搴旂殑杩愯緭鏁伴噺锛屽湪鍙戝姩鏈烘垚鏈弬鏁拌〃鎵惧埌瀵瑰簲鐨勫寘瑁呭閲忥紝鍦ㄨ繍杈撴垚鏈弬鏁拌〃閲屾壘鍒板彂鍔ㄦ満瀵瑰簲杩愯緭鍗曚环鍜岃杞藉閲忥紝鐢ㄥ叕寮忚绠楀緱鍑虹粨鏋滐紝鏈堝害杩涜姹囨�� + traverse( owner, TransferPlanRow, tprow ){ + product := selectobject( owner, Product_MP, product, product.ID() = tprow.ProductID() ); + productparents := product.GetAllParent(); + if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満 + //璧峰搴撳瓨鐐规槸鍚︽槸澶ц繛 + originsp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = tprow.SourceStockpoingPointID() ); + isdl := table.IsInUnit( originsp, dlunit ); + //鐩殑鍦板簱瀛樼偣鏄惁鏄暱鏄� + destisp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = tprow.TargetStockpoingPointID() ); + iscc := table.IsInUnit( destisp, ccunit ); + if( isdl and iscc ){ + //鏌ヨ瀵瑰簲鐨勫彂鍔ㄦ満鎴愭湰 + enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() + and engine.MLB_MQB() = product.MQBMLB() + and engine.Factory() = ccunit + and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); + //鍦ㄨ繍杈撴垚鏈弬鏁拌〃閲屾壘鍒板彂鍔ㄦ満瀵瑰簲杩愯緭鍗曚环鍜岃杞藉閲� + transcost := selectobject( owner, LogisticsCostTransport, trans, trans.Origin() = dlline + and trans.Destination() = dlrent + and exists( productparents, Elements, e, e.ID() = trans.Product() ) ); + if( not isnull( enginecost ) and not isnull( transcost ) ){ + row := table.GetRow( product.ID() ); + products.Add( product ); + traverse( tprow,TransferPlanCell, tpcell, tpcell.TransferPlanColumn().ColumnDate() <> Date::MinDate() ){ + periodtime := tpcell.TransferPlanColumn().ColumnDate().StartOfMonth(); + periodname := periodtime.Format( "M2/D2/Y" ); + column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); + + cost := ceil( ceil( [Number]tpcell.Value() / enginecost.PackagingCapacity() ) / transcost.LoadingCapacity() ) * transcost.TransportPrice(); + cell := selectobject( row, Cell, cell, cell.Column() = column ); + cell.CCLongTransCoat( cell.CCLongTransCoat() + cost ); + } + } + } + } + } + //闀挎槬鐭�旇繍杈撹垂鐢細瀹㈡埛闇�姹傛暟閲�/鍖呰瀹归噺/瑁呰浇瀹归噺*杩愯緭鍗曚环锛屽鎴烽渶姹傛暟閲忓彇鑷猣orecast閲宻ales segment涓洪暱鏄ョ殑鏁伴噺姹囨�伙紝鍐嶇敤鍏紡璁$畻锛屾湀搴﹁繘琛屾眹鎬伙紙鍙栧鎴烽渶姹傛暟閲忔崲绠楁垚杞︽锛� + traverse( owner, SalesDemand.astype( Forecast ), forecast, not isnull( forecast.SalesSegment_MP() ) and forecast.StartDate() < startofnextyear ){ + salessegment := forecast.SalesSegment_MP(); + parentsalessegments := salessegment.GetAllParent(); + //鏄惁灞炰簬闀挎槬 + iscc := salessegment.Name() = ccunit or exists( parentsalessegments, Elements, psalessegment, psalessegment.Name() = ccunit ); + if( iscc ){ + product := forecast.Product_MP(); + productparents := product.GetAllParent(); + if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満 + row := table.GetRow( forecast.ProductID() ); + products.Add( forecast.Product_MP() ); + + //鏌ヨ瀵瑰簲鐨勫彂鍔ㄦ満鎴愭湰 + enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() + and engine.MLB_MQB() = product.MQBMLB() + and engine.Factory() = ccunit + and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); + if( not isnull( enginecost ) ){ + traverse( forecast, PlanningSalesDemandInPeriod, psdip ){ + periodtime := psdip.StartDate().StartOfMonth(); + periodname := periodtime.Format( "M2/D2/Y" ); + // info( '-------------------------', periodname, periodtime ); + column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); + // info( '-------------------------', column.Name() ); + cost := ceil( [Number]psdip.Quantity() / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); + cell := selectobject( row, Cell, cell, cell.Column() = column ); + cell.CCShortTransCost( cell.CCShortTransCost() + cost ); + } + } + } + } + } + //澶栫搴撲粨鍌ㄨ垂鐢細浠撳偍鏁伴噺/鍖呰瀹归噺*浠撳偍鍗曚环锛屽湪Actual inventories閲屽彇鍒伴暱鏄ュ绉熷簱/澶ц繛澶栫搴撹鍙戝姩鏈虹殑浠撳偍閲忥紝鏍规嵁鍙戝姩鏈哄彿鎵惧埌瀵瑰簲鐨凣eneration 鍜屾í绾靛埗锛屽湪鍙戝姩鏈烘垚鏈弬鏁拌〃閲屾壘鍒板搴旂殑浠撳偍鍗曚环鍜屽寘瑁呭閲忥紝鐢ㄥ叕寮忚绠楋紝鏈堝害杩涜姹囨�� + traverse( owner, StockingPoint_MP, stockingpoint ){ + unit := stockingpoint.Unit(); + parentunits := unit.GetAllParent(); + //鏄惁灞炰簬闀挎槬澶栫搴� + isccrent := stockingpoint.ID() = ccrent or unit.ID() = ccrent or exists( parentunits, Elements, punit, punit.ID() = ccrent ); + //鏄惁灞炰簬澶ц繛澶栫搴� + isdlrent := stockingpoint.ID() = dlrent or unit.ID() = dlrent or exists( parentunits, Elements, punit, punit.ID() = dlrent ); + if( isccrent or isdlrent ){ + traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() ){ + //鑾峰彇琛� + product := pisp.Product_MP(); + productparents := product.GetAllParent(); + if( exists( productparents, Elements, e, e.ID() = produtparent ) ){//鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満 + row := table.GetRow( pisp.ProductID() ); + products.Add( pisp.Product_MP() ); + traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear ){ + periodtime := pispip.Start().StartOfMonth().Date(); + periodname := periodtime.Format( "M2/D2/Y" ); + column := selectobject( table, Column, column, column.Name() = periodname and column.StartDate() = periodtime ); + cell := selectobject( row, Cell, cell, cell.Column() = column ); + + if( isccrent ){ + //鍦ㄥ彂鍔ㄦ満鎴愭湰鍙傛暟琛ㄦ壘鍒板搴旂殑鍖呰瀹归噺 + enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() + and engine.MLB_MQB() = product.MQBMLB() + and engine.Factory() = ccunit + and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); + if( not isnull( enginecost ) ){ + cost := ceil( [Number]pispip.NewSupplyQuantity() / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//鍥涜垗浜斿叆 + cell.CCRentStorageCost( cell.CCRentStorageCost() + cost ); + } + } else { + //鍦ㄥ彂鍔ㄦ満鎴愭湰鍙傛暟琛ㄦ壘鍒板搴旂殑鍖呰瀹归噺 + enginecost := selectobject( owner, LogisticsCostEngine, engine, engine.Generation() = product.Generation() + and engine.MLB_MQB() = product.MQBMLB() + and engine.Factory() = dlunit + and exists( productparents, Elements, e, e.ID() = engine.Product() ) ); + if( not isnull( enginecost ) ){ + cost := ceil( [Number]pispip.NewSupplyQuantity() / enginecost.PackagingCapacity() ) * enginecost.StoragePrice();//鍥涜垗浜斿叆 + cell.DLRentStorageCost( cell.DLRentStorageCost() + cost );; + } + } + } + } + } + } + } + rows := selectsortedset( table, Row, row, row.Name() ); + i := 0; + traverse( rows, Elements, e ){ + e.RowNr( i ); + i := i + 1; + } + info( '-------------------------------------end---------------------------------' ); + // + showtable.Generate( search, products ); + *] +} diff --git "a/_Main/BL/Type_CCEngineLogisticsCostReport0/_ROOT_Type_DLEngineLogisticsCostReport\0430.qbl" "b/_Main/BL/Type_CCEngineLogisticsCostReport0/_ROOT_Type_DLEngineLogisticsCostReport\0430.qbl" new file mode 100644 index 0000000..04e2d69 --- /dev/null +++ "b/_Main/BL/Type_CCEngineLogisticsCostReport0/_ROOT_Type_DLEngineLogisticsCostReport\0430.qbl" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type DLEngineLogisticsCostReport +{ + #keys: '5[415136.0.992900071][415136.0.992900069][0.0.0][415136.0.992900070][415136.0.992900072]' + BaseType: Object + Description: '澶ц繛鍙戝姩鏈虹墿娴佹垚鏈姤琛�' + StructuredName: 'DLEngineLogisticsCostReports' +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow/Attribute_Name.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow/Attribute_Name.qbl new file mode 100644 index 0000000..c4671b2 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow/Attribute_Name.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[415136.0.986400984][415136.0.986400983][415136.0.986400985]' + Description: '鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow/Attribute_RowNr.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow/Attribute_RowNr.qbl new file mode 100644 index 0000000..3be673c --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow/Attribute_RowNr.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute RowNr +{ + #keys: '3[415136.0.986616244][415136.0.986616243][415136.0.986616245]' + Description: '琛屽彿' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow/DefaultValue_Name.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow/DefaultValue_Name.qbl new file mode 100644 index 0000000..86c3d59 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow/DefaultValue_Name.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Name +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow/Method_Initialize.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow/Method_Initialize.qbl new file mode 100644 index 0000000..3dfa50b --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow/Method_Initialize.qbl @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Method Initialize ( + CCEngineLogisticsCostColumn column +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := this.Cell( relnew, RentEnterCost := 0 + , RentOutCost := 0 + , FactoryToRentTransCost := 0 + , RentStorageCost := 0 ); + + column.Cell( relinsert, cell ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow/Method_SetFactoryToRentTransCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow/Method_SetFactoryToRentTransCost.qbl new file mode 100644 index 0000000..5f18e61 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow/Method_SetFactoryToRentTransCost.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method SetFactoryToRentTransCost ( + CCEngineLogisticsCostColumn column, + Number quantity +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := selectobject( this, Cell, cell, cell.Column() = column ); + + value := cell.FactoryToRentTransCost() + quantity; + cell.FactoryToRentTransCost( value ); + *] +} diff --git "a/_Main/BL/Type_CCEngineLogisticsCostRow/Method_SetRentEnterCost\043517.qbl" "b/_Main/BL/Type_CCEngineLogisticsCostRow/Method_SetRentEnterCost\043517.qbl" new file mode 100644 index 0000000..9e1a6db --- /dev/null +++ "b/_Main/BL/Type_CCEngineLogisticsCostRow/Method_SetRentEnterCost\043517.qbl" @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method SetRentEnterCost ( + CCEngineLogisticsCostColumn column, + Number quantity +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := selectobject( this, Cell, cell, cell.Column() = column ); + + value := cell.RentEnterCost() + quantity; + cell.RentEnterCost( value ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow/Method_SetRentOutCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow/Method_SetRentOutCost.qbl new file mode 100644 index 0000000..4bc1338 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow/Method_SetRentOutCost.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method SetRentOutCost ( + CCEngineLogisticsCostColumn column, + Number quantity +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := selectobject( this, Cell, cell, cell.Column() = column ); + + value := cell.RentOutCost() + quantity; + cell.RentOutCost( value ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow/Method_SetRentStorageCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow/Method_SetRentStorageCost.qbl new file mode 100644 index 0000000..ed29d5b --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow/Method_SetRentStorageCost.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method SetRentStorageCost ( + CCEngineLogisticsCostColumn column, + Number quantity +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := selectobject( this, Cell, cell, cell.Column() = column ); + + value := cell.RentStorageCost() + quantity; + cell.RentStorageCost( value ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow/_ROOT_Type_CCEngineLogisticsCostRow.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow/_ROOT_Type_CCEngineLogisticsCostRow.qbl new file mode 100644 index 0000000..e879ecf --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow/_ROOT_Type_CCEngineLogisticsCostRow.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type CCEngineLogisticsCostRow +{ + #keys: '5[415136.0.986400975][415136.0.986400973][0.0.0][415136.0.986400974][415136.0.986400976]' + BaseType: Object + Description: '闀挎槬鍙戝姩鏈虹墿娴佹垚鏈姤琛ㄨ' + StructuredName: 'CCEngineLogisticsCostRows' +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow0/Attribute_Name.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow0/Attribute_Name.qbl new file mode 100644 index 0000000..b82b5a4 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow0/Attribute_Name.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[415136.0.992900087][415136.0.992900086][415136.0.992900088]' + Description: '鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow0/Attribute_RowNr.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow0/Attribute_RowNr.qbl new file mode 100644 index 0000000..c2b95d9 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow0/Attribute_RowNr.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute RowNr +{ + #keys: '3[415136.0.992900090][415136.0.992900089][415136.0.992900091]' + Description: '琛屽彿' + ValueType: Number +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow0/DefaultValue_Name.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow0/DefaultValue_Name.qbl new file mode 100644 index 0000000..86c3d59 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow0/DefaultValue_Name.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Name +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_Initialize.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_Initialize.qbl new file mode 100644 index 0000000..ce80682 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_Initialize.qbl @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: #root +Method Initialize ( + DLEngineLogisticsCostColumn column +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := this.Cell( relnew, CCRentEnterCost := 0 + , CCRentOutCost := 0 + , CCLongTransCoat := 0 + , CCShortTransCost := 0 + , CCRentStorageCost := 0 + , DLRentEnterCost := 0 + , DLRentOutCost := 0 + , FactoryToDLRentTransCost := 0 + , DLRentStorageCost := 0 ); + + column.Cell( relinsert, cell ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetDLRentEnterCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetDLRentEnterCost.qbl new file mode 100644 index 0000000..ac5cbcf --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetDLRentEnterCost.qbl @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +Method SetDLRentEnterCost ( + DLEngineLogisticsCostColumn column, + LogisticsCostEngine enginecost, + FinancialProductionCell fpcell +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := selectobject( this, Cell, cell, cell.Column() = column ); + quantity := [Number]fpcell.Value() - cell.CCRentQuantity(); + //鍏ュ簱閲�/鍖呰瀹归噺*鍏ュ簱鍗曚环锛屽叆搴撻噺绛変簬闀挎槬浜ч噺 + cost := ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); + + value := cell.DLRentEnterCost() + cost; + cell.DLRentEnterCost( value ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetDLRentOutCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetDLRentOutCost.qbl new file mode 100644 index 0000000..3d8b591 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetDLRentOutCost.qbl @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +Method SetDLRentOutCost ( + DLEngineLogisticsCostColumn column, + LogisticsCostEngine enginecost, + FinancialSalesCell fscell +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := selectobject( this, Cell, cell, cell.Column() = column ); + quantity := [Number]fscell.Value() - cell.CCRentQuantity(); + //鍏ュ簱閲�/鍖呰瀹归噺*鍏ュ簱鍗曚环锛屽叆搴撻噺绛変簬闀挎槬浜ч噺 + cost := ceil( quantity / enginecost.PackagingCapacity() ) * enginecost.WarehousingPrice(); + + value := cell.DLRentOutCost() + cost; + cell.DLRentOutCost( value ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetFactoryToRentTransCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetFactoryToRentTransCost.qbl new file mode 100644 index 0000000..784e4a2 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetFactoryToRentTransCost.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method SetFactoryToRentTransCost ( + DLEngineLogisticsCostColumn column, + Number quantity +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := selectobject( this, Cell, cell, cell.Column() = column ); + + value := cell.FactoryToDLRentTransCost() + quantity; + cell.FactoryToDLRentTransCost( value ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetRentOutCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetRentOutCost.qbl new file mode 100644 index 0000000..4189c40 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetRentOutCost.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method SetRentOutCost ( + DLEngineLogisticsCostColumn column, + Number quantity +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := selectobject( this, Cell, cell, cell.Column() = column ); + + value := cell.CCRentOutCost() + quantity; + cell.CCRentOutCost( value ); + *] +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetRentStorageCost.qbl b/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetRentStorageCost.qbl new file mode 100644 index 0000000..908dae6 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostRow0/Method_SetRentStorageCost.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method SetRentStorageCost ( + DLEngineLogisticsCostColumn column, + Number quantity +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := selectobject( this, Cell, cell, cell.Column() = column ); + + value := cell.CCRentStorageCost() + quantity; + cell.CCRentStorageCost( value ); + *] +} diff --git "a/_Main/BL/Type_CCEngineLogisticsCostRow0/_ROOT_Type_DLEngineLogisticsCostRow\0430.qbl" "b/_Main/BL/Type_CCEngineLogisticsCostRow0/_ROOT_Type_DLEngineLogisticsCostRow\0430.qbl" new file mode 100644 index 0000000..7af48a3 --- /dev/null +++ "b/_Main/BL/Type_CCEngineLogisticsCostRow0/_ROOT_Type_DLEngineLogisticsCostRow\0430.qbl" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type DLEngineLogisticsCostRow +{ + #keys: '5[415136.0.992900084][415136.0.992900082][0.0.0][415136.0.992900083][415136.0.992900085]' + BaseType: Object + Description: '澶ц繛鍙戝姩鏈虹墿娴佹垚鏈姤琛ㄨ' + StructuredName: 'DLEngineLogisticsCostRows' +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostSearch/Attribute_Generation.qbl b/_Main/BL/Type_CCEngineLogisticsCostSearch/Attribute_Generation.qbl new file mode 100644 index 0000000..9fe72ca --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostSearch/Attribute_Generation.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Generation +{ + #keys: '3[415136.0.986844795][415136.0.986844794][415136.0.986844796]' + ValueType: String +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostSearch/Attribute_MqbMlb.qbl b/_Main/BL/Type_CCEngineLogisticsCostSearch/Attribute_MqbMlb.qbl new file mode 100644 index 0000000..9cbf262 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostSearch/Attribute_MqbMlb.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MqbMlb +{ + #keys: '3[415136.0.986844798][415136.0.986844797][415136.0.986844799]' + ValueType: String +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostSearch/Attribute_Power.qbl b/_Main/BL/Type_CCEngineLogisticsCostSearch/Attribute_Power.qbl new file mode 100644 index 0000000..5e899bd --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostSearch/Attribute_Power.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Power +{ + #keys: '3[415136.0.986844801][415136.0.986844800][415136.0.986844802]' + ValueType: String +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostSearch/DefaultValue_Generation.qbl b/_Main/BL/Type_CCEngineLogisticsCostSearch/DefaultValue_Generation.qbl new file mode 100644 index 0000000..9e5b51e --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostSearch/DefaultValue_Generation.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Generation +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostSearch/DefaultValue_MqbMlb.qbl b/_Main/BL/Type_CCEngineLogisticsCostSearch/DefaultValue_MqbMlb.qbl new file mode 100644 index 0000000..78982c5 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostSearch/DefaultValue_MqbMlb.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: MqbMlb +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostSearch/DefaultValue_Power.qbl b/_Main/BL/Type_CCEngineLogisticsCostSearch/DefaultValue_Power.qbl new file mode 100644 index 0000000..4922731 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostSearch/DefaultValue_Power.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Power +} diff --git a/_Main/BL/Type_CCEngineLogisticsCostSearch/_ROOT_Type_CCEngineLogisticsCostSearch.qbl b/_Main/BL/Type_CCEngineLogisticsCostSearch/_ROOT_Type_CCEngineLogisticsCostSearch.qbl new file mode 100644 index 0000000..a622989 --- /dev/null +++ b/_Main/BL/Type_CCEngineLogisticsCostSearch/_ROOT_Type_CCEngineLogisticsCostSearch.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type CCEngineLogisticsCostSearch +{ + #keys: '5[415136.0.986844792][415136.0.986844790][0.0.0][415136.0.986844791][415136.0.986844793]' + BaseType: Object + Description: '闀挎槬鍙戝姩鏈虹墿娴佹垚鏈姤琛ㄦ煡璇㈢被' + StructuredName: 'CCEngineLogisticsCostSearchs' +} diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_CleaningCost.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_CleaningCost.qbl new file mode 100644 index 0000000..6c17882 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_CleaningCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CleaningCost +{ + #keys: '3[413988.0.1476832734][413988.0.1476832733][413988.0.1476832735]' + Description: '娓呮礂璐圭敤' + ValueType: Real +} diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_Coefficient.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_Coefficient.qbl new file mode 100644 index 0000000..759cfb1 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_Coefficient.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Coefficient +{ + #keys: '3[413988.0.1476832767][413988.0.1476832766][413988.0.1476832768]' + Description: '绯绘暟' + ValueType: Real +} diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_EstimatedTotalCost.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_EstimatedTotalCost.qbl new file mode 100644 index 0000000..492f6a1 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_EstimatedTotalCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EstimatedTotalCost +{ + #keys: '3[413988.0.1476832744][413988.0.1476832743][413988.0.1476832745]' + Description: '棰勮鎬昏垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl new file mode 100644 index 0000000..5906af1 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ExternalRentalWarehouseTransportationCosts +{ + #keys: '3[413988.0.1476832711][413988.0.1476832710][413988.0.1476832712]' + Description: '澶栫搴撹繍杈撹垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_NumberOfEmptyShelves.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_NumberOfEmptyShelves.qbl new file mode 100644 index 0000000..932717f --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_NumberOfEmptyShelves.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute NumberOfEmptyShelves +{ + #keys: '3[413988.0.1476832678][413988.0.1476832677][413988.0.1476832679]' + Description: '绌烘枡鏋舵暟閲�' + ValueType: Real +} diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_OutboundExpensesForRentedWarehouses.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_OutboundExpensesForRentedWarehouses.qbl new file mode 100644 index 0000000..4a5e80d --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_OutboundExpensesForRentedWarehouses.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OutboundExpensesForRentedWarehouses +{ + #keys: '3[413988.0.1476832701][413988.0.1476832700][413988.0.1476832702]' + Description: '澶栫搴撳嚭搴撹垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_RentalWarehouseStorageFees.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_RentalWarehouseStorageFees.qbl new file mode 100644 index 0000000..09df526 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_RentalWarehouseStorageFees.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute RentalWarehouseStorageFees +{ + #keys: '3[413988.0.1476832724][413988.0.1476832723][413988.0.1476832725]' + Description: '澶栫搴撲粨鍌ㄨ垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_StorageFeesForRentedWarehouses.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_StorageFeesForRentedWarehouses.qbl new file mode 100644 index 0000000..fe287f9 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_StorageFeesForRentedWarehouses.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StorageFeesForRentedWarehouses +{ + #keys: '3[413988.0.1476832691][413988.0.1476832690][413988.0.1476832692]' + Description: '澶栫搴撳叆搴撹垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_TotalCost.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_TotalCost.qbl new file mode 100644 index 0000000..491e2a8 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_TotalCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TotalCost +{ + #keys: '3[413988.0.1476832757][413988.0.1476832756][413988.0.1476832758]' + Description: '鎬昏垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_TotalQuantityOfMaterialRacks.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_TotalQuantityOfMaterialRacks.qbl new file mode 100644 index 0000000..9d71cb2 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_TotalQuantityOfMaterialRacks.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TotalQuantityOfMaterialRacks +{ + #keys: '3[413988.0.1476832665][413988.0.1476832664][413988.0.1476832666]' + Description: '鏂欐灦鎬绘暟閲�' + ValueType: Real +} diff --git a/_Main/BL/Type_CC_EngineRackCell/StaticMethod_CreateData.qbl b/_Main/BL/Type_CC_EngineRackCell/StaticMethod_CreateData.qbl new file mode 100644 index 0000000..87bff90 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackCell/StaticMethod_CreateData.qbl @@ -0,0 +1,36 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateData ( + MacroPlan macroPlan +) +{ + TextBody: + [* + macroPlan.CC_EngineRackRow( relflush ); + macroPlan.CC_EngineRackColumn( relflush ); + + // 鍒涘缓琛孍VO5 MLB, EVO5 MQB, GEN3 MLB, GEN3 MQB + macroPlan.CC_EngineRackRow( relnew, Generation := "EVO5", MLB_MQB := "MLB" ); + macroPlan.CC_EngineRackRow( relnew, Generation := "EVO5", MLB_MQB := "MQB" ); + macroPlan.CC_EngineRackRow( relnew, Generation := "GEN3", MLB_MQB := "MLB" ); + macroPlan.CC_EngineRackRow( relnew, Generation := "GEN3", MLB_MQB := "MQB" ); + + // 鍒涘缓鍒� + indexDate := macroPlan.StartOfPlanning().Date().StartOfMonth(); + for ( i := 0; i < 12; i++ ) { + macroPlan.CC_EngineRackColumn( relnew, StartDate := indexDate ); + indexDate := indexDate.StartOfNextMonth(); + } + + // 鍒涘缓鍗曞厓鏍� + traverse ( macroPlan, CC_EngineRackRow, ccerr ) { + traverse ( macroPlan, CC_EngineRackColumn, ccerc ) { + cell := ccerr.CC_EngineRackCell( relnew ); + + // 澶栫搴撳叆搴撹垂鐢紙鍙戝姩鏈洪攢閲� / 鍖呰瀹归噺[鍚戜笂鍙栨暣] * 鏂欐灦鍏ュ簱鍗曚环锛� + + // 澶栫搴撳嚭搴撹垂鐢紙鍙戝姩鏈轰骇閲� / 鍖呰瀹归噺[鍚戜笂鍙栨暣] * 鏂欐灦鍑哄簱鍗曚环锛� + } + } + *] +} diff --git a/_Main/BL/Type_CC_EngineRackCell/_ROOT_Type_CC_EngineRackCell.qbl b/_Main/BL/Type_CC_EngineRackCell/_ROOT_Type_CC_EngineRackCell.qbl new file mode 100644 index 0000000..c95d6fa --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackCell/_ROOT_Type_CC_EngineRackCell.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type CC_EngineRackCell +{ + #keys: '5[413988.0.1476832563][413988.0.1476832561][0.0.0][413988.0.1476832562][413988.0.1476832564]' + BaseType: Object + StructuredName: 'CC_EngineRackCells' +} diff --git a/_Main/BL/Type_CC_EngineRackColumn/Attribute_StartDate.qbl b/_Main/BL/Type_CC_EngineRackColumn/Attribute_StartDate.qbl new file mode 100644 index 0000000..d9c6682 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackColumn/Attribute_StartDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[413988.0.1476832655][413988.0.1476832654][413988.0.1476832656]' + ValueType: Date +} diff --git a/_Main/BL/Type_CC_EngineRackColumn/_ROOT_Type_CC_EngineRackColumn.qbl b/_Main/BL/Type_CC_EngineRackColumn/_ROOT_Type_CC_EngineRackColumn.qbl new file mode 100644 index 0000000..99a2deb --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackColumn/_ROOT_Type_CC_EngineRackColumn.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type CC_EngineRackColumn +{ + #keys: '5[413988.0.1476832558][413988.0.1476832556][0.0.0][413988.0.1476832557][413988.0.1476832559]' + BaseType: Object + StructuredName: 'CC_EngineRackColumns' +} diff --git a/_Main/BL/Type_CC_EngineRackRow/Attribute_Generation.qbl b/_Main/BL/Type_CC_EngineRackRow/Attribute_Generation.qbl new file mode 100644 index 0000000..8e44d15 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackRow/Attribute_Generation.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Generation +{ + #keys: '3[413988.0.1476832621][413988.0.1476832620][413988.0.1476832622]' + ValueType: String +} diff --git a/_Main/BL/Type_CC_EngineRackRow/Attribute_MLB_MQB.qbl b/_Main/BL/Type_CC_EngineRackRow/Attribute_MLB_MQB.qbl new file mode 100644 index 0000000..b8c24e0 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackRow/Attribute_MLB_MQB.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MLB_MQB +{ + #keys: '3[413988.0.1476832631][413988.0.1476832630][413988.0.1476832632]' + ValueType: String +} diff --git a/_Main/BL/Type_CC_EngineRackRow/Attribute_Name.qbl b/_Main/BL/Type_CC_EngineRackRow/Attribute_Name.qbl new file mode 100644 index 0000000..1fe00e4 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackRow/Attribute_Name.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[413988.0.1476832641][413988.0.1476832640][413988.0.1476832642]' + ValueType: String +} diff --git a/_Main/BL/Type_CC_EngineRackRow/Function_CalcName.qbl b/_Main/BL/Type_CC_EngineRackRow/Function_CalcName.qbl new file mode 100644 index 0000000..cc3f7b8 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackRow/Function_CalcName.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcName +{ + TextBody: + [* + // lihongji Aug-12-2024 (created) + + value := this.Generation() + " " + this.MLB_MQB(); + + this.Name( value ); + *] +} diff --git a/_Main/BL/Type_CC_EngineRackRow/_ROOT_Type_CC_EngineRackRow.qbl b/_Main/BL/Type_CC_EngineRackRow/_ROOT_Type_CC_EngineRackRow.qbl new file mode 100644 index 0000000..dd3f907 --- /dev/null +++ b/_Main/BL/Type_CC_EngineRackRow/_ROOT_Type_CC_EngineRackRow.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type CC_EngineRackRow +{ + #keys: '5[413988.0.1476832553][413988.0.1476832551][0.0.0][413988.0.1476832552][413988.0.1476832554]' + BaseType: Object + StructuredName: 'CC_EngineRackRows' +} diff --git a/_Main/BL/Type_DLEngineLogisticsCostSearch/Attribute_Generation.qbl b/_Main/BL/Type_DLEngineLogisticsCostSearch/Attribute_Generation.qbl new file mode 100644 index 0000000..44c29c6 --- /dev/null +++ b/_Main/BL/Type_DLEngineLogisticsCostSearch/Attribute_Generation.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Generation +{ + #keys: '3[415136.0.992900097][415136.0.992900096][415136.0.992900098]' + ValueType: String +} diff --git a/_Main/BL/Type_DLEngineLogisticsCostSearch/Attribute_MqbMlb.qbl b/_Main/BL/Type_DLEngineLogisticsCostSearch/Attribute_MqbMlb.qbl new file mode 100644 index 0000000..31d1589 --- /dev/null +++ b/_Main/BL/Type_DLEngineLogisticsCostSearch/Attribute_MqbMlb.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MqbMlb +{ + #keys: '3[415136.0.992900100][415136.0.992900099][415136.0.992900101]' + ValueType: String +} diff --git a/_Main/BL/Type_DLEngineLogisticsCostSearch/Attribute_Power.qbl b/_Main/BL/Type_DLEngineLogisticsCostSearch/Attribute_Power.qbl new file mode 100644 index 0000000..abbed13 --- /dev/null +++ b/_Main/BL/Type_DLEngineLogisticsCostSearch/Attribute_Power.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Power +{ + #keys: '3[415136.0.992900103][415136.0.992900102][415136.0.992900104]' + ValueType: String +} diff --git a/_Main/BL/Type_DLEngineLogisticsCostSearch/DefaultValue_Generation.qbl b/_Main/BL/Type_DLEngineLogisticsCostSearch/DefaultValue_Generation.qbl new file mode 100644 index 0000000..9e5b51e --- /dev/null +++ b/_Main/BL/Type_DLEngineLogisticsCostSearch/DefaultValue_Generation.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Generation +} diff --git a/_Main/BL/Type_DLEngineLogisticsCostSearch/DefaultValue_MqbMlb.qbl b/_Main/BL/Type_DLEngineLogisticsCostSearch/DefaultValue_MqbMlb.qbl new file mode 100644 index 0000000..78982c5 --- /dev/null +++ b/_Main/BL/Type_DLEngineLogisticsCostSearch/DefaultValue_MqbMlb.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: MqbMlb +} diff --git a/_Main/BL/Type_DLEngineLogisticsCostSearch/DefaultValue_Power.qbl b/_Main/BL/Type_DLEngineLogisticsCostSearch/DefaultValue_Power.qbl new file mode 100644 index 0000000..4922731 --- /dev/null +++ b/_Main/BL/Type_DLEngineLogisticsCostSearch/DefaultValue_Power.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Power +} diff --git a/_Main/BL/Type_DLEngineLogisticsCostSearch/_ROOT_Type_DLEngineLogisticsCostSearch.qbl b/_Main/BL/Type_DLEngineLogisticsCostSearch/_ROOT_Type_DLEngineLogisticsCostSearch.qbl new file mode 100644 index 0000000..20b6977 --- /dev/null +++ b/_Main/BL/Type_DLEngineLogisticsCostSearch/_ROOT_Type_DLEngineLogisticsCostSearch.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type DLEngineLogisticsCostSearch +{ + #keys: '5[415136.0.992900094][415136.0.992900092][0.0.0][415136.0.992900093][415136.0.992900095]' + BaseType: Object + Description: '澶ц繛鍙戝姩鏈虹墿娴佹垚鏈姤琛ㄦ煡璇㈢被' + StructuredName: 'DLEngineLogisticsCostSearchs' +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_CCLineHaulCost.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_CCLineHaulCost.qbl new file mode 100644 index 0000000..f9d737d --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_CCLineHaulCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCLineHaulCost +{ + #keys: '3[413988.0.1488160127][413988.0.1488160126][413988.0.1488160128]' + Description: 'CC闀块�旇繍杈撹垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_CCOutboundExpensesForRentedWarehouses.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_CCOutboundExpensesForRentedWarehouses.qbl new file mode 100644 index 0000000..aea2366 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_CCOutboundExpensesForRentedWarehouses.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCOutboundExpensesForRentedWarehouses +{ + #keys: '3[413988.0.1488160088][413988.0.1488160087][413988.0.1488160089]' + Description: 'CC澶栫搴撳嚭搴撹垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_CCRentalWarehouseStorageFees.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_CCRentalWarehouseStorageFees.qbl new file mode 100644 index 0000000..21aceda --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_CCRentalWarehouseStorageFees.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCRentalWarehouseStorageFees +{ + #keys: '3[413988.0.1488160085][413988.0.1488160084][413988.0.1488160086]' + Description: 'CC澶栫搴撲粨鍌ㄨ垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_CCShortDistanceTransportationCosts.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_CCShortDistanceTransportationCosts.qbl new file mode 100644 index 0000000..4b0d7c2 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_CCShortDistanceTransportationCosts.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCShortDistanceTransportationCosts +{ + #keys: '3[413988.0.1488160140][413988.0.1488160139][413988.0.1488160141]' + Description: 'CC鐭�旇繍杈撹垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_CCStorageFeesForRentedWarehouses.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_CCStorageFeesForRentedWarehouses.qbl new file mode 100644 index 0000000..0030285 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_CCStorageFeesForRentedWarehouses.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCStorageFeesForRentedWarehouses +{ + #keys: '3[413988.0.1488160082][413988.0.1488160081][413988.0.1488160083]' + Description: 'CC澶栫搴撳叆搴撹垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_CleaningCost.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_CleaningCost.qbl new file mode 100644 index 0000000..65b1569 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_CleaningCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CleaningCost +{ + #keys: '3[413988.0.1488160070][413988.0.1488160069][413988.0.1488160071]' + Description: '娓呮礂璐圭敤' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_Coefficient.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_Coefficient.qbl new file mode 100644 index 0000000..033b1b7 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_Coefficient.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Coefficient +{ + #keys: '3[413988.0.1488160076][413988.0.1488160075][413988.0.1488160077]' + Description: '绯绘暟' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_DLExternalRentalWarehouseTransportationCosts.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_DLExternalRentalWarehouseTransportationCosts.qbl new file mode 100644 index 0000000..8d194a3 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_DLExternalRentalWarehouseTransportationCosts.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute DLExternalRentalWarehouseTransportationCosts +{ + #keys: '3[413988.0.1488160120][413988.0.1488160119][413988.0.1488160121]' + Description: 'DL澶栫搴撹繍杈撹垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_DLOutboundExpensesForRentedWarehouses.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_DLOutboundExpensesForRentedWarehouses.qbl new file mode 100644 index 0000000..d28179a --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_DLOutboundExpensesForRentedWarehouses.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute DLOutboundExpensesForRentedWarehouses +{ + #keys: '3[413988.0.1488160107][413988.0.1488160106][413988.0.1488160108]' + Description: 'DL澶栫搴撳嚭搴撹垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_DLRentalWarehouseStorageFees.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_DLRentalWarehouseStorageFees.qbl new file mode 100644 index 0000000..52465fe --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_DLRentalWarehouseStorageFees.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute DLRentalWarehouseStorageFees +{ + #keys: '3[413988.0.1488160104][413988.0.1488160103][413988.0.1488160105]' + Description: '澶栫搴撲粨鍌ㄨ垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_DLStorageFeesForRentedWarehouses.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_DLStorageFeesForRentedWarehouses.qbl new file mode 100644 index 0000000..b9c4bed --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_DLStorageFeesForRentedWarehouses.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute DLStorageFeesForRentedWarehouses +{ + #keys: '3[413988.0.1488160101][413988.0.1488160100][413988.0.1488160102]' + Description: 'DL澶栫搴撳叆搴撹垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_EstimatedTotalCost.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_EstimatedTotalCost.qbl new file mode 100644 index 0000000..b4eae80 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_EstimatedTotalCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EstimatedTotalCost +{ + #keys: '3[413988.0.1488160067][413988.0.1488160066][413988.0.1488160068]' + Description: '棰勮鎬昏垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_NumberOfEmptyShelves.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_NumberOfEmptyShelves.qbl new file mode 100644 index 0000000..dc2670d --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_NumberOfEmptyShelves.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute NumberOfEmptyShelves +{ + #keys: '3[413988.0.1488160059][413988.0.1488160058][413988.0.1488160060]' + Description: '绌烘枡鏋舵暟閲�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_TotalCost.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_TotalCost.qbl new file mode 100644 index 0000000..13b7227 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_TotalCost.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TotalCost +{ + #keys: '3[413988.0.1488160073][413988.0.1488160072][413988.0.1488160074]' + Description: '鎬昏垂鐢�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/Attribute_TotalQuantityOfMaterialRacks.qbl b/_Main/BL/Type_DL_EngineRackCell/Attribute_TotalQuantityOfMaterialRacks.qbl new file mode 100644 index 0000000..6ce47f1 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/Attribute_TotalQuantityOfMaterialRacks.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TotalQuantityOfMaterialRacks +{ + #keys: '3[413988.0.1488160063][413988.0.1488160062][413988.0.1488160064]' + Description: '鏂欐灦鎬绘暟閲�' + ValueType: Real +} diff --git a/_Main/BL/Type_DL_EngineRackCell/StaticMethod_CreateData.qbl b/_Main/BL/Type_DL_EngineRackCell/StaticMethod_CreateData.qbl new file mode 100644 index 0000000..3c495c1 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/StaticMethod_CreateData.qbl @@ -0,0 +1,36 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateData ( + MacroPlan macroPlan +) +{ + TextBody: + [* + macroPlan.DL_EngineRackRow( relflush ); + macroPlan.DL_EngineRackColumn( relflush ); + + // 鍒涘缓琛孍VO5 MLB, EVO5 MQB, GEN3 MLB, GEN3 MQB + macroPlan.DL_EngineRackRow( relnew, Generation := "EVO5", MLB_MQB := "MLB" ); + macroPlan.DL_EngineRackRow( relnew, Generation := "EVO5", MLB_MQB := "MQB" ); + macroPlan.DL_EngineRackRow( relnew, Generation := "GEN3", MLB_MQB := "MLB" ); + macroPlan.DL_EngineRackRow( relnew, Generation := "GEN3", MLB_MQB := "MQB" ); + + // 鍒涘缓鍒� + indexDate := macroPlan.StartOfPlanning().Date().StartOfMonth(); + for ( i := 0; i < 12; i++ ) { + macroPlan.DL_EngineRackColumn( relnew, StartDate := indexDate ); + indexDate := indexDate.StartOfNextMonth(); + } + + // 鍒涘缓鍗曞厓鏍� + traverse ( macroPlan, DL_EngineRackRow, dlerr ) { + traverse ( macroPlan, DL_EngineRackColumn, dlerc ) { + cell := dlerr.DL_EngineRackCell( relnew ); + + // 澶栫搴撳叆搴撹垂鐢紙鍙戝姩鏈洪攢閲� / 鍖呰瀹归噺[鍚戜笂鍙栨暣] * 鏂欐灦鍏ュ簱鍗曚环锛� + + // 澶栫搴撳嚭搴撹垂鐢紙鍙戝姩鏈轰骇閲� / 鍖呰瀹归噺[鍚戜笂鍙栨暣] * 鏂欐灦鍑哄簱鍗曚环锛� + } + } + *] +} diff --git a/_Main/BL/Type_DL_EngineRackCell/_ROOT_Type_DL_EngineRackCell.qbl b/_Main/BL/Type_DL_EngineRackCell/_ROOT_Type_DL_EngineRackCell.qbl new file mode 100644 index 0000000..b4b91cb --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackCell/_ROOT_Type_DL_EngineRackCell.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type DL_EngineRackCell +{ + #keys: '5[413988.0.1488132575][413988.0.1488132573][0.0.0][413988.0.1488132574][413988.0.1488132576]' + BaseType: Object + StructuredName: 'DL_EngineRackCells' +} diff --git a/_Main/BL/Type_DL_EngineRackColumn/Attribute_StartDate.qbl b/_Main/BL/Type_DL_EngineRackColumn/Attribute_StartDate.qbl new file mode 100644 index 0000000..361c13f --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackColumn/Attribute_StartDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[413988.0.1488132628][413988.0.1488132627][413988.0.1488132629]' + ValueType: Date +} diff --git a/_Main/BL/Type_DL_EngineRackColumn/_ROOT_Type_DL_EngineRackColumn.qbl b/_Main/BL/Type_DL_EngineRackColumn/_ROOT_Type_DL_EngineRackColumn.qbl new file mode 100644 index 0000000..0dffeed --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackColumn/_ROOT_Type_DL_EngineRackColumn.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type DL_EngineRackColumn +{ + #keys: '5[413988.0.1488132585][413988.0.1488132583][0.0.0][413988.0.1488132584][413988.0.1488132586]' + BaseType: Object + StructuredName: 'DL_EngineRackColumns' +} diff --git a/_Main/BL/Type_DL_EngineRackRow/Attribute_Generation.qbl b/_Main/BL/Type_DL_EngineRackRow/Attribute_Generation.qbl new file mode 100644 index 0000000..4d1931e --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackRow/Attribute_Generation.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Generation +{ + #keys: '3[413988.0.1488132589][413988.0.1488132588][413988.0.1488132590]' + ValueType: String +} diff --git a/_Main/BL/Type_DL_EngineRackRow/Attribute_MLB_MQB.qbl b/_Main/BL/Type_DL_EngineRackRow/Attribute_MLB_MQB.qbl new file mode 100644 index 0000000..a676182 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackRow/Attribute_MLB_MQB.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MLB_MQB +{ + #keys: '3[413988.0.1488132595][413988.0.1488132594][413988.0.1488132596]' + ValueType: String +} diff --git a/_Main/BL/Type_DL_EngineRackRow/Attribute_Name.qbl b/_Main/BL/Type_DL_EngineRackRow/Attribute_Name.qbl new file mode 100644 index 0000000..19a00a9 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackRow/Attribute_Name.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Name +{ + #keys: '3[413988.0.1488132592][413988.0.1488132591][413988.0.1488132593]' + ValueType: String +} diff --git a/_Main/BL/Type_DL_EngineRackRow/DefaultValue_Generation.qbl b/_Main/BL/Type_DL_EngineRackRow/DefaultValue_Generation.qbl new file mode 100644 index 0000000..9e5b51e --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackRow/DefaultValue_Generation.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Generation +} diff --git a/_Main/BL/Type_DL_EngineRackRow/DefaultValue_MLB_MQB.qbl b/_Main/BL/Type_DL_EngineRackRow/DefaultValue_MLB_MQB.qbl new file mode 100644 index 0000000..b629d82 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackRow/DefaultValue_MLB_MQB.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: MLB_MQB +} diff --git a/_Main/BL/Type_DL_EngineRackRow/DefaultValue_Name.qbl b/_Main/BL/Type_DL_EngineRackRow/DefaultValue_Name.qbl new file mode 100644 index 0000000..86c3d59 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackRow/DefaultValue_Name.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Name +} diff --git a/_Main/BL/Type_DL_EngineRackRow/Function_CalcName.qbl b/_Main/BL/Type_DL_EngineRackRow/Function_CalcName.qbl new file mode 100644 index 0000000..cc3f7b8 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackRow/Function_CalcName.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcName +{ + TextBody: + [* + // lihongji Aug-12-2024 (created) + + value := this.Generation() + " " + this.MLB_MQB(); + + this.Name( value ); + *] +} diff --git a/_Main/BL/Type_DL_EngineRackRow/_ROOT_Type_DL_EngineRackRow.qbl b/_Main/BL/Type_DL_EngineRackRow/_ROOT_Type_DL_EngineRackRow.qbl new file mode 100644 index 0000000..9fb52b5 --- /dev/null +++ b/_Main/BL/Type_DL_EngineRackRow/_ROOT_Type_DL_EngineRackRow.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type DL_EngineRackRow +{ + #keys: '5[413988.0.1488132580][413988.0.1488132578][0.0.0][413988.0.1488132579][413988.0.1488132581]' + BaseType: Object + StructuredName: 'DL_EngineRackRows' +} diff --git a/_Main/BL/Type_EnginePipelineColumn/Attribute_EndDate.qbl b/_Main/BL/Type_EnginePipelineColumn/Attribute_EndDate.qbl new file mode 100644 index 0000000..63fc0ea --- /dev/null +++ b/_Main/BL/Type_EnginePipelineColumn/Attribute_EndDate.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EndDate +{ + #keys: '3[415136.0.999760039][415136.0.999760038][415136.0.999760040]' + Description: '缁撴潫鏃ユ湡' + ValueType: Date +} diff --git a/_Main/BL/Type_EnginePipelineColumn/Attribute_Period.qbl b/_Main/BL/Type_EnginePipelineColumn/Attribute_Period.qbl deleted file mode 100644 index b07e6fa..0000000 --- a/_Main/BL/Type_EnginePipelineColumn/Attribute_Period.qbl +++ /dev/null @@ -1,7 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Attribute Period -{ - #keys: '3[415136.0.883574681][415136.0.883574680][415136.0.883574682]' - ValueType: Date -} diff --git a/_Main/BL/Type_EnginePipelineColumn/Attribute_StartDate.qbl b/_Main/BL/Type_EnginePipelineColumn/Attribute_StartDate.qbl new file mode 100644 index 0000000..0453f82 --- /dev/null +++ b/_Main/BL/Type_EnginePipelineColumn/Attribute_StartDate.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[415136.0.999760029][415136.0.999760028][415136.0.999760030]' + Description: '寮�濮嬫棩鏈�' + ValueType: Date +} diff --git a/_Main/BL/Type_EnginePipelineReport/Method_Generate.qbl b/_Main/BL/Type_EnginePipelineReport/Method_Generate.qbl index 846f44a..cd19c53 100644 --- a/_Main/BL/Type_EnginePipelineReport/Method_Generate.qbl +++ b/_Main/BL/Type_EnginePipelineReport/Method_Generate.qbl @@ -9,7 +9,6 @@ [* // 鐢勫叞楦� Jun-25-2024 (created) table := selectobject( this, Source.Report, report, not report.IsShow() ); - //娓呯┖涔嬪墠瀛樺偍鐨勬樉绀烘暟鎹� this.Clear( search.TimeUnit(), search.StartDate(), search.EndDate() ); Transaction::Transaction().Propagate( attribute( EnginePipelineColumn, Index ) ); @@ -44,9 +43,22 @@ showrowccproduction := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), '闀挎槬浜ч噺', rownr + 2, false ); showrowdemand := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), '闇�姹�', rownr + 3, false ); rownr := rownr + 4; - traverse( models, Elements, model ){ - EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), model, rownr, false ); - rownr := rownr + 1; + modelsnr := rownr + 3; + models := construct( Strings ); + uniquemodels := selectuniquevalues( row, Cell.Demand, demand, true, demand.Model() ); + + traverse( uniquemodels, Elements, e ){ + + if( rownr < modelsnr ){ + EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), e, rownr, false ); + models.Add( e ); + rownr := rownr + 1; + } + } + + for( rownr := rownr; rownr < modelsnr; rownr ++ ){ + + EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), '', rownr, false ); } showrowinventory := EnginePipelineRow::CraeteCellValueForRow( this, productcolumn, attricolumn, row.Name(), '搴撳瓨', rownr, false ); @@ -60,6 +72,7 @@ production := column.CellValue( relnew, Value := [String]cell.ProductionQuantity() ); showrowproduction.CellValue( relinsert, production ); sumproduction := selectobject( column, CellValue, c, c.Row() = sumrowproduction ); + if( isnull( sumproduction ) ){ sumproduction := column.CellValue( relnew, Value := [String]0 ); sumrowproduction.CellValue( relinsert, sumproduction ); @@ -71,6 +84,7 @@ dlproduction := column.CellValue( relnew, Value := [String]dlproductionquantity ); showrowdlproduction.CellValue( relinsert, dlproduction ); sumdlproduction := selectobject( column, CellValue, c, c.Row() = sumrowdlproduction ); + if( isnull( sumdlproduction ) ){ sumdlproduction := column.CellValue( relnew, Value := [String]0 ); sumrowdlproduction.CellValue( relinsert, sumdlproduction ); @@ -82,6 +96,7 @@ ccproduction := column.CellValue( relnew, Value := [String]ccproductionquantity ); showrowccproduction.CellValue( relinsert, ccproduction ); sumccproduction := selectobject( column, CellValue, c, c.Row() = sumrowccproduction ); + if( isnull( sumccproduction ) ){ sumccproduction := column.CellValue( relnew, Value := [String]0 ); sumrowccproduction.CellValue( relinsert, sumccproduction ); @@ -98,25 +113,26 @@ } sumdemand.Value( [String]( [Real]sumdemand.Value() + cell.DemandQuantity() ) ); - traverse( cell, Demand, demand ){ - demandrow := selectobject( this, Row, r, r.Name() = row.Name() and exists( r, CellValue, cv, cv.Value() = demand.Model() ) ); - sumdemandrow := selectobject( this, Row, r, r.Name() = 'SUM' and exists( r, CellValue, cv, cv.Value() = demand.Model() ) ); + traverse( cell, Demand, demand, exists( models, Elements, model, model = demand.Model() ) ){ + demandrow := selectobject( this, Row, r, r.Name() = row.Name() and exists( r, CellValue, cv, cv.Column() = attricolumn and cv.Value() = demand.Model() ) ); + sumdemandrow := selectobject( this, Row, r, r.Name() = 'SUM' and exists( r, CellValue, cv, cv.Column() = attricolumn and cv.Value() = demand.Model() ) ); if( not isnull( demandrow ) ){ demandcell := column.CellValue( relnew, Value := [String]demand.Quantity() ); demandrow.CellValue( relinsert, demandcell ); } - + if( not isnull( sumdemandrow ) ){ sumdemandcell := selectobject( column, CellValue, c, c.Row() = sumdemandrow ); if( isnull( sumdemandcell ) ){ sumdemandcell := column.CellValue( relnew, Value := [String]0 ); sumdemandrow.CellValue( relinsert, sumdemandcell ); } sumdemandcell.Value( [String]( [Real]sumdemandcell.Value() + demand.Quantity() ) ); + } } for( demandr := showrowdemand.RowNr() + 1; demandr < showrowinventory.RowNr(); demandr := demandr + 1 ){ - demandrow := selectobject( this, Row, r, r.RowNr() = demandr ); + demandrow := selectobject( this, Row, r, r.RowNr() = demandr and r.Name() = row.Name() ); if( not isnull( demandrow ) and not exists( demandrow, CellValue, cv, cv.Column() = column ) ){ demandcell := column.CellValue( relnew, Value := '' ); demandrow.CellValue( relinsert, demandcell ); @@ -139,12 +155,20 @@ } traverse( this, Column, column ){ for( demandr := sumrowdemand.RowNr() + 1; demandr < sumrowinventory.RowNr(); demandr := demandr + 1 ){ - demandrow := selectobject( this, Row, r, r.RowNr() = demandr ); + demandrow := selectobject( this, Row, r, r.RowNr() = demandr and r.Name() = 'SUM' ); + // info( '------------------14----------------' ); if( not isnull( demandrow ) and not exists( demandrow, CellValue, cv, cv.Column() = column ) ){ demandcell := column.CellValue( relnew, Value := '' ); demandrow.CellValue( relinsert, demandcell ); } } } + + rows := selectsortedset( this, Row, row, row.Name(), row.RowNr() ); + i := 0; + traverse( rows, Elements, e ){ + e.RowNr( i ); + i := i + 1; + } *] } diff --git a/_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl b/_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl index 525a923..c4e150b 100644 --- a/_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl +++ b/_Main/BL/Type_EnginePipelineReport/Method_GenerateColumn.qbl @@ -17,13 +17,13 @@ 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, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); } 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() ); + this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart + Duration::Days( 6 ) ).Date(), 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 index 97975cf..751a42f 100644 --- a/_Main/BL/Type_EnginePipelineReport/Method_GetColumnByUnit.qbl +++ b/_Main/BL/Type_EnginePipelineReport/Method_GetColumnByUnit.qbl @@ -8,9 +8,9 @@ TextBody: [* // 鐢勫叞楦� Aug-7-2024 (created) - periodname := period.Format( "M2/D2/Y" ); + //periodname := period.Format( "M2/D2/Y" ); - column := selectobject( this, Column, column, column.Name() = periodname and column.Period() = period and column.TimeUnit() = unit ); + column := selectobject( this, Column, column, column.StartDate() <= period and column.EndDate() >= period and column.TimeUnit() = unit ); return column; *] diff --git a/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCALineUnit.qbl b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCALineUnit.qbl new file mode 100644 index 0000000..3afba65 --- /dev/null +++ b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCALineUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultCCALineUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '闀挎槬瑁呴厤绾�'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCMPLineUnit.qbl b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCMPLineUnit.qbl new file mode 100644 index 0000000..0c32fd7 --- /dev/null +++ b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultCCMPLineUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultCCMPLineUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '闀挎槬鏈哄姞绾�'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLALineUnit.qbl b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLALineUnit.qbl new file mode 100644 index 0000000..153da57 --- /dev/null +++ b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLALineUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultDLALineUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '澶ц繛瑁呴厤绾�'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLMPLineUnit.qbl b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLMPLineUnit.qbl new file mode 100644 index 0000000..48e75f8 --- /dev/null +++ b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultDLMPLineUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultDLMPLineUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '澶ц繛鏈哄姞绾�'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultName.qbl b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultName.qbl index 2948919..cc879a1 100644 --- a/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultName.qbl +++ b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultName.qbl @@ -5,6 +5,6 @@ TextBody: [* // 鐢勫叞楦� Jun-25-2024 (created) - return 'Machining pipelines'; + return 'Engine pipelines'; *] } diff --git a/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultProductParent.qbl b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultProductParent.qbl new file mode 100644 index 0000000..a0443f2 --- /dev/null +++ b/_Main/BL/Type_EnginePipelineReport/StaticMethod_GetDefaultProductParent.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultProductParent () as String +{ + TextBody: + [* + // 鐢勫叞楦� Aug-14-2024 (created) + return '浜ф垚鍝�'; + *] +} diff --git a/_Main/BL/Type_EnginePipelineRow/Method_SetCellDemandValue.qbl b/_Main/BL/Type_EnginePipelineRow/Method_SetCellDemandValue.qbl index b1ce10b..ab43596 100644 --- a/_Main/BL/Type_EnginePipelineRow/Method_SetCellDemandValue.qbl +++ b/_Main/BL/Type_EnginePipelineRow/Method_SetCellDemandValue.qbl @@ -11,10 +11,10 @@ // 鐢勫叞楦� Jun-24-2024 (created) cell := selectobject( this, Cell, cell, cell.Column() = column ); - demand := selectobject( cell, Demand, demand, demand.EngineType() = cell.Row().Name() and demand.Model() = segment and demand.Period() = column.Period() ); + demand := selectobject( cell, Demand, demand, demand.EngineType() = cell.Row().Name() and demand.Model() = segment and demand.Period() = column.StartDate() ); if( isnull( demand ) ){ - demand := cell.Demand( relnew, EngineType := cell.Row().Name(), Period := column.Period(), Model := segment, Quantity := 0 ); + demand := cell.Demand( relnew, EngineType := cell.Row().Name(), Period := column.StartDate(), Model := segment, Quantity := 0 ); } demand.Quantity( demand.Quantity() + quantity ); diff --git a/_Main/BL/Type_EnginePipelineRow/Method_SetCellProductionValue.qbl b/_Main/BL/Type_EnginePipelineRow/Method_SetCellProductionValue.qbl index 97c34c8..9cff783 100644 --- a/_Main/BL/Type_EnginePipelineRow/Method_SetCellProductionValue.qbl +++ b/_Main/BL/Type_EnginePipelineRow/Method_SetCellProductionValue.qbl @@ -14,7 +14,7 @@ production := cell.Production(); if( isnull( production ) ){ - production := cell.Production( relnew, EngineType := cell.Row().Name(), Period := column.Period(), DLProduction := 0, CCProduction := 0 ); + production := cell.Production( relnew, EngineType := cell.Row().Name(), Period := column.StartDate(), DLProduction := 0, CCProduction := 0 ); } if( isccunit ){ diff --git a/_Main/BL/Type_EnginePipelineSource/StaticMethod_Initialize.qbl b/_Main/BL/Type_EnginePipelineSource/StaticMethod_Initialize.qbl index b18fbac..f9e39e3 100644 --- a/_Main/BL/Type_EnginePipelineSource/StaticMethod_Initialize.qbl +++ b/_Main/BL/Type_EnginePipelineSource/StaticMethod_Initialize.qbl @@ -8,8 +8,13 @@ [* // 鐢勫叞楦� Jun-24-2024 (created) owner.EnginePipelineSource( relflush ); - ccunit := EnginePipelineReport::GetDefaultCCUnit(); - dlunit := EnginePipelineReport::GetDefaultDLUnit(); + //ccunit := EnginePipelineReport::GetDefaultCCUnit(); + //dlunit := EnginePipelineReport::GetDefaultDLUnit(); + productparent := EnginePipelineReport::GetDefaultProductParent(); + ccalineunit := EnginePipelineReport::GetDefaultCCALineUnit(); + dlalienunit := EnginePipelineReport::GetDefaultDLALineUnit() + ccmplineunit := EnginePipelineReport::GetDefaultCCMPLineUnit() + dlmplineunit := EnginePipelineReport::GetDefaultDLMPLineUnit(); //allunit := EnginePipelineReport::GetDefaultAllUnit(); source := owner.EnginePipelineSource( relnew, Name := EnginePipelineReport::GetDefaultName() ); table := source.Report( relnew, ID := source.Name(), Name := source.Name() ); @@ -27,55 +32,62 @@ unit := stockingpoint.Unit(); parentunits := unit.GetAllParent(); //鏄惁灞炰簬闀挎槬宸ュ巶 - iscc := unit.ID() = ccunit or exists( parentunits, Elements, punit, punit.ID() = ccunit ); + iscc := unit.ID() = ccalineunit or unit.ID() = ccmplineunit or exists( parentunits, Elements, punit, punit.ID() = ccalineunit or punit.ID() = ccmplineunit ); //鏄惁灞炰簬澶ц繛宸ュ巶 - isdl := unit.ID() = dlunit or exists( parentunits, Elements, punit, punit.ID() = dlunit ); + isdl := unit.ID() = dlalienunit or unit.ID() = dlmplineunit or exists( parentunits, Elements, punit, punit.ID() = dlalienunit or punit.ID() = dlmplineunit ); - 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() ); + traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and not pisp.IsSystem() + and exists( pisp.Product_MP().GetAllParent(), Elements, e, e.ID() = productparent ) + and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 ) ) ){ + 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() ); + 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() );//鍚戜笂鍙栨暣 + weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), pispip.Start().Date() ); + supplyquantity := [Number]pispip.NewSupplyQuantity();//鍥涜垗浜斿叆 + inventoryquantity := [Number]pispip.PlannedInventoryLevelEnd();//鍥涜垗浜斿叆 //浜ч噺鏄姞鎬� if( iscc or isdl ){ - row.SetCellProductionValue( daycolumn, iscc, supplyquantity ); - row.SetCellProductionValue( weekcolumn, iscc, supplyquantity ); + row.SetCellProductionValue( daycolumn, iscc, [Real]supplyquantity ); + row.SetCellProductionValue( weekcolumn, iscc, [Real]supplyquantity ); } //搴撳瓨闇�瑕佸彇鏈�鍚庝竴澶� - row.SetCellInventoryValue( daycolumn, pispip.PlannedInventoryLevelEnd() ); - + row.SetCellInventoryValue( daycolumn, [Real]inventoryquantity ); + if( pispip.Start() = weekstart + Duration::Days( 6 ) or pispip.Period_MP() = endperiod ){ - weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); - - row.SetCellInventoryValue( weekcolumn, inventoryquantity ); + weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); + + row.SetCellInventoryValue( weekcolumn, [Real]inventoryquantity ); } } } } //鐢熸垚闇�姹傛暟鎹� - traverse( owner, SalesDemand.astype( Forecast ), forecast ){ - row := table.GetRow( forecast.ProductID() ); - weekstart := owner.StartOfPlanning().Date(); - traverse( forecast, PlanningSalesDemandInPeriod, psdip ){ + traverse( owner, SalesDemand.astype( Forecast ), forecast, not isnull( forecast.SalesSegment_MP() ) and forecast.StartDate() < endperiod.StartDate() and forecast.Quantity() <> 0 + and exists( forecast.Product_MP().GetAllParent(), Elements, e, e.ID() = productparent ) + and exists( forecast, PlanningSalesDemandInPeriod, psdip, psdip.Quantity() <> 0 ) ){ + row := table.GetRow( forecast.ProductID() ); + // weekstart := owner.StartOfPlanning().Date(); + traverse( forecast, PlanningSalesDemandInPeriod, psdip, psdip.Quantity() <> 0 ){ //澶� - daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), psdip.StartDate() ); + daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), psdip.StartDate() ); //鍛� - weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), weekstart ); - + weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), psdip.StartDate() ); + if( not isnull( daycolumn ) ){ row.SetCellDemandValue( daycolumn, forecast.SalesSegmentName(), forecast.Quantity() ); } if( not isnull( weekcolumn ) ){ row.SetCellDemandValue( weekcolumn, forecast.SalesSegmentName(), forecast.Quantity() ); } + // if( psdip.StartDate() = ( weekstart + Duration::Days( 6 ) ).Date() or psdip.PeriodStart() = endperiod.StartDate() ){ + // weekstart := ( weekstart + Duration::Days( 7 ) ).Date(); + // } } } diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_Generation.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_Generation.qbl new file mode 100644 index 0000000..e13e182 --- /dev/null +++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_Generation.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Generation +{ + #keys: '3[415136.0.978920071][415136.0.978920070][415136.0.978920072]' + ValueType: String +} diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_MqbMlb.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_MqbMlb.qbl new file mode 100644 index 0000000..ebd546f --- /dev/null +++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_MqbMlb.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MqbMlb +{ + #keys: '3[415136.0.978920068][415136.0.978920067][415136.0.978920069]' + ValueType: String +} diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_Power.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_Power.qbl new file mode 100644 index 0000000..c34c582 --- /dev/null +++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_Power.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Power +{ + #keys: '3[415136.0.978920065][415136.0.978920064][415136.0.978920066]' + ValueType: String +} diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_ProductID.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_ProductID.qbl new file mode 100644 index 0000000..a8b2d86 --- /dev/null +++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_ProductID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[415136.0.978920045][415136.0.978920044][415136.0.978920046]' + Description: '浜у搧ID' + ValueType: String +} diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_Quantity.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_Quantity.qbl new file mode 100644 index 0000000..cc92bcf --- /dev/null +++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_Quantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[415136.0.978920075][415136.0.978920074][415136.0.978920076]' + ValueType: Real +} diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_StartDate.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_StartDate.qbl new file mode 100644 index 0000000..dc1960d --- /dev/null +++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_StartDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[415136.0.978920085][415136.0.978920084][415136.0.978920086]' + ValueType: Date +} diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_Unit.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_Unit.qbl new file mode 100644 index 0000000..03cce08 --- /dev/null +++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_Unit.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Unit +{ + #keys: '3[415136.0.978920055][415136.0.978920054][415136.0.978920056]' + Description: '宸ュ巶鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_FinancialProductionImportData/DefaultValue_Generation.qbl b/_Main/BL/Type_FinancialProductionImportData/DefaultValue_Generation.qbl new file mode 100644 index 0000000..9e5b51e --- /dev/null +++ b/_Main/BL/Type_FinancialProductionImportData/DefaultValue_Generation.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Generation +} diff --git a/_Main/BL/Type_FinancialProductionImportData/DefaultValue_MqbMlb.qbl b/_Main/BL/Type_FinancialProductionImportData/DefaultValue_MqbMlb.qbl new file mode 100644 index 0000000..78982c5 --- /dev/null +++ b/_Main/BL/Type_FinancialProductionImportData/DefaultValue_MqbMlb.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: MqbMlb +} diff --git a/_Main/BL/Type_FinancialProductionImportData/DefaultValue_Power.qbl b/_Main/BL/Type_FinancialProductionImportData/DefaultValue_Power.qbl new file mode 100644 index 0000000..4922731 --- /dev/null +++ b/_Main/BL/Type_FinancialProductionImportData/DefaultValue_Power.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Power +} diff --git a/_Main/BL/Type_FinancialProductionImportData/Function_CalcQuantity.qbl b/_Main/BL/Type_FinancialProductionImportData/Function_CalcQuantity.qbl new file mode 100644 index 0000000..eb3e7a1 --- /dev/null +++ b/_Main/BL/Type_FinancialProductionImportData/Function_CalcQuantity.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcQuantity +{ + TextBody: + [* + // 鐢勫叞楦� Aug-8-2024 (created) + + value := guard( [Number]this.Cell().Value(), 0 ); + + this.Quantity( value ); + *] +} diff --git a/_Main/BL/Type_FinancialProductionImportData/_ROOT_Type_FinancialProductionImportData.qbl b/_Main/BL/Type_FinancialProductionImportData/_ROOT_Type_FinancialProductionImportData.qbl new file mode 100644 index 0000000..b278a5d --- /dev/null +++ b/_Main/BL/Type_FinancialProductionImportData/_ROOT_Type_FinancialProductionImportData.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type FinancialProductionImportData +{ + #keys: '5[415136.0.978920028][415136.0.978920026][0.0.0][415136.0.978920027][415136.0.978920029]' + BaseType: Object + Description: '璐㈠姟浜ч噺鎶ヨ〃浜岀淮琛�' + StructuredName: 'FinancialProductionImportDatas' +} diff --git a/_Main/BL/Type_FinancialProductionReport/Method_GetRowByUnit.qbl b/_Main/BL/Type_FinancialProductionReport/Method_GetRowByUnit.qbl index 8de3af4..194f329 100644 --- a/_Main/BL/Type_FinancialProductionReport/Method_GetRowByUnit.qbl +++ b/_Main/BL/Type_FinancialProductionReport/Method_GetRowByUnit.qbl @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: #root Method GetRowByUnit ( - String product, + Product_MP product, String unit ) as FinancialProductionRow { @@ -9,12 +9,13 @@ TextBody: [* // 鐢勫叞楦� Aug-2-2024 (created) - row := selectobject( this, FinancialProductionRow, row, row.Name() = product and row.Unit() = unit ); + row := selectobject( this, FinancialProductionRow, row, row.Name() = product.ID() and row.Unit() = unit ); if( isnull( row ) ){ //鍒濆鍖栧崟鍏冩牸 - row := this.FinancialProductionRow( relnew, Name := product, Unit := unit ); + row := this.FinancialProductionRow( relnew, Name := product.ID(), Unit := unit ); + row.Product_MP( relset, product ); traverse( this, FinancialProductionColumn, column ){ - row.Initialize( column, unit ); + row.Initialize( column, product, unit ); } } return row; diff --git a/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCALineUnit.qbl b/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCALineUnit.qbl new file mode 100644 index 0000000..3afba65 --- /dev/null +++ b/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCALineUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultCCALineUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '闀挎槬瑁呴厤绾�'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCMPLineUnit.qbl b/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCMPLineUnit.qbl new file mode 100644 index 0000000..0c32fd7 --- /dev/null +++ b/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCMPLineUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultCCMPLineUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '闀挎槬鏈哄姞绾�'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLALineUnit.qbl b/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLALineUnit.qbl new file mode 100644 index 0000000..153da57 --- /dev/null +++ b/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLALineUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultDLALineUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '澶ц繛瑁呴厤绾�'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLMPLineUnit.qbl b/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLMPLineUnit.qbl new file mode 100644 index 0000000..48e75f8 --- /dev/null +++ b/_Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLMPLineUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultDLMPLineUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '澶ц繛鏈哄姞绾�'; + //return 'Assembly Plant (France)'; + *] +} diff --git "a/_Main/BL/Type_FinancialProductionRow/Method_Initialize\043110.qbl" "b/_Main/BL/Type_FinancialProductionRow/Method_Initialize\043110.qbl" index ca0352d..9f6d003 100644 --- "a/_Main/BL/Type_FinancialProductionRow/Method_Initialize\043110.qbl" +++ "b/_Main/BL/Type_FinancialProductionRow/Method_Initialize\043110.qbl" @@ -2,14 +2,25 @@ #parent: #root Method Initialize ( FinancialProductionColumn column, + Product_MP product, String unit ) { + Description: '鍒濆鍖栧崟鍏冩牸' TextBody: [* // 鐢勫叞楦� Jun-24-2024 (created) cell := column.FinancialProductionCell( relnew, Value := '' ); this.FinancialProductionCell( relinsert, cell ); + if( unit <> FinancialProductionReport::GetDefaultAllUnit() ){ + importdata := product.MacroPlan().FPImportData( relnew, Generation := product.Generation() + , MqbMlb := product.MQBMLB() + , Power := product.Power() + , ProductID := product.ID() + , StartDate := column.Period() + , Unit := unit ); + importdata.Cell( relset, cell ); + } *] } diff --git a/_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl b/_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl index 63d3a59..dc85d48 100644 --- a/_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl +++ b/_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl @@ -8,8 +8,13 @@ [* // 鐢勫叞楦� Jun-24-2024 (created) owner.FinancialProductionSource( relflush ); + owner.FPImportData( relflush ); ccunit := FinancialProductionReport::GetDefaultCCUnit(); dlunit := FinancialProductionReport::GetDefaultDLUnit(); + ccalineunit := FinancialProductionReport::GetDefaultCCALineUnit(); + dlalienunit := FinancialProductionReport::GetDefaultDLALineUnit() + ccmplineunit := FinancialProductionReport::GetDefaultCCMPLineUnit() + dlmplineunit := FinancialProductionReport::GetDefaultDLMPLineUnit(); allunit := FinancialProductionReport::GetDefaultAllUnit(); source := owner.FinancialProductionSource( relnew, IsImport := false, Name := FinancialProductionReport::GetDefaultName() ); table := source.FinancialProductionReport( relnew, ID := source.Name(), Name := source.Name(), IsImport := false ); @@ -34,24 +39,22 @@ unit := stockingpoint.Unit(); parentunits := unit.GetAllParent(); //鏄惁灞炰簬闀挎槬宸ュ巶 - iscc := unit.ID() = ccunit or exists( parentunits, Elements, punit, punit.ID() = ccunit ); + iscc := unit.ID() = ccalineunit or unit.ID() = ccmplineunit or exists( parentunits, Elements, punit, punit.ID() = ccalineunit or punit.ID() = ccmplineunit ); //鏄惁灞炰簬澶ц繛宸ュ巶 - isdl := unit.ID() = dlunit or exists( parentunits, Elements, punit, punit.ID() = dlunit ); + isdl := unit.ID() = dlalienunit or unit.ID() = dlmplineunit or exists( parentunits, Elements, punit, punit.ID() = dlalienunit or punit.ID() = dlmplineunit ); if( iscc or isdl ){ - traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() ){ + traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() + and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.NewSupplyQuantity() <> 0 ) ){ //鑾峰彇宸ュ巶琛� - factoryrow := table.GetRowByUnit( pisp.ProductID(), ifexpr( iscc, ccunit, dlunit ) ); + factoryrow := table.GetRowByUnit( pisp.Product_MP(), ifexpr( iscc, ccunit, dlunit ) ); //鑾峰彇鍚堣琛� - allrow := table.GetRowByUnit( pisp.ProductID(), allunit ); + allrow := table.GetRowByUnit( pisp.Product_MP(), allunit ); products.Add( pisp.Product_MP() ); //褰損roduct planning鐨勬棩鏈熷尯闂村湪闇�瑕佺殑鏃ユ湡鍖洪棿鍐� - traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear - // and ( ( pispip.Period_MP().StartDate().StartOfMonth() = startofplanning.StartOfMonth() and currentperiods.Find( pispip.Period_MP() ) >= 0 ) - // or ( pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Month() and pispip.Period_MP().StartDate() < startofnextyear ) ) - ){ + traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.NewSupplyQuantity() <> 0 ){ periodtime := pispip.Start().StartOfMonth().Date(); periodname := periodtime.Format( "M2/D2/Y" ); - quantity := ceil( pispip.NewSupplyQuantity() );//鍚戜笂鍙栨暣 + quantity := [Number]pispip.NewSupplyQuantity();//鍥涜垗浜斿叆 column := selectobject( table, FinancialProductionColumn, column, column.Name() = periodname and column.Period() = periodtime ); diff --git a/_Main/BL/Type_FinancialSalesImportData/Attribute_Generation.qbl b/_Main/BL/Type_FinancialSalesImportData/Attribute_Generation.qbl new file mode 100644 index 0000000..9ddab1f --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/Attribute_Generation.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Generation +{ + #keys: '3[415136.0.984654696][415136.0.984654695][415136.0.984654697]' + ValueType: String +} diff --git a/_Main/BL/Type_FinancialSalesImportData/Attribute_MqbMlb.qbl b/_Main/BL/Type_FinancialSalesImportData/Attribute_MqbMlb.qbl new file mode 100644 index 0000000..904c6ff --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/Attribute_MqbMlb.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute MqbMlb +{ + #keys: '3[415136.0.984654699][415136.0.984654698][415136.0.984654700]' + ValueType: String +} diff --git a/_Main/BL/Type_FinancialSalesImportData/Attribute_Power.qbl b/_Main/BL/Type_FinancialSalesImportData/Attribute_Power.qbl new file mode 100644 index 0000000..415414c --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/Attribute_Power.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Power +{ + #keys: '3[415136.0.984654702][415136.0.984654701][415136.0.984654703]' + ValueType: String +} diff --git a/_Main/BL/Type_FinancialSalesImportData/Attribute_ProductID.qbl b/_Main/BL/Type_FinancialSalesImportData/Attribute_ProductID.qbl new file mode 100644 index 0000000..67d9741 --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/Attribute_ProductID.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[415136.0.984654705][415136.0.984654704][415136.0.984654706]' + Description: '浜у搧ID' + ValueType: String +} diff --git a/_Main/BL/Type_FinancialSalesImportData/Attribute_Quantity.qbl b/_Main/BL/Type_FinancialSalesImportData/Attribute_Quantity.qbl new file mode 100644 index 0000000..1b2d6cd --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/Attribute_Quantity.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Quantity +{ + #keys: '3[415136.0.984654708][415136.0.984654707][415136.0.984654709]' + ValueType: Real +} diff --git a/_Main/BL/Type_FinancialSalesImportData/Attribute_StartDate.qbl b/_Main/BL/Type_FinancialSalesImportData/Attribute_StartDate.qbl new file mode 100644 index 0000000..ae1a6f4 --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/Attribute_StartDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[415136.0.984654711][415136.0.984654710][415136.0.984654712]' + ValueType: Date +} diff --git a/_Main/BL/Type_FinancialSalesImportData/Attribute_Unit.qbl b/_Main/BL/Type_FinancialSalesImportData/Attribute_Unit.qbl new file mode 100644 index 0000000..900f457 --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/Attribute_Unit.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Unit +{ + #keys: '3[415136.0.984654714][415136.0.984654713][415136.0.984654715]' + Description: '宸ュ巶鍚嶇О' + ValueType: String +} diff --git a/_Main/BL/Type_FinancialSalesImportData/DefaultValue_Generation.qbl b/_Main/BL/Type_FinancialSalesImportData/DefaultValue_Generation.qbl new file mode 100644 index 0000000..9e5b51e --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/DefaultValue_Generation.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Generation +} diff --git a/_Main/BL/Type_FinancialSalesImportData/DefaultValue_MqbMlb.qbl b/_Main/BL/Type_FinancialSalesImportData/DefaultValue_MqbMlb.qbl new file mode 100644 index 0000000..78982c5 --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/DefaultValue_MqbMlb.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: MqbMlb +} diff --git a/_Main/BL/Type_FinancialSalesImportData/DefaultValue_Power.qbl b/_Main/BL/Type_FinancialSalesImportData/DefaultValue_Power.qbl new file mode 100644 index 0000000..4922731 --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/DefaultValue_Power.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Power +} diff --git a/_Main/BL/Type_FinancialSalesImportData/DefaultValue_ProductID.qbl b/_Main/BL/Type_FinancialSalesImportData/DefaultValue_ProductID.qbl new file mode 100644 index 0000000..98649b2 --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/DefaultValue_ProductID.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: ProductID +} diff --git a/_Main/BL/Type_FinancialSalesImportData/DefaultValue_Unit.qbl b/_Main/BL/Type_FinancialSalesImportData/DefaultValue_Unit.qbl new file mode 100644 index 0000000..7e60e2c --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/DefaultValue_Unit.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#parent: #root +DefaultValue +{ + TargetAttribute: Unit +} diff --git a/_Main/BL/Type_FinancialSalesImportData/Function_CalcQuantity.qbl b/_Main/BL/Type_FinancialSalesImportData/Function_CalcQuantity.qbl new file mode 100644 index 0000000..f8f1de8 --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/Function_CalcQuantity.qbl @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Function CalcQuantity +{ + TextBody: + [* + // 鐢勫叞楦� Aug-9-2024 (created) + + value := guard( [Number]this.Cell().Value(), 0 ); + + this.Quantity( value ); + *] +} diff --git a/_Main/BL/Type_FinancialSalesImportData/_ROOT_Type_FinancialSalesImportData.qbl b/_Main/BL/Type_FinancialSalesImportData/_ROOT_Type_FinancialSalesImportData.qbl new file mode 100644 index 0000000..48b4d84 --- /dev/null +++ b/_Main/BL/Type_FinancialSalesImportData/_ROOT_Type_FinancialSalesImportData.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type FinancialSalesImportData +{ + #keys: '5[415136.0.984654693][415136.0.984654691][0.0.0][415136.0.984654692][415136.0.984654694]' + BaseType: Object + Description: '璐㈠姟閿�鎶ヨ〃浜岀淮琛�' + StructuredName: 'FinancialSalesImportDatas' +} diff --git a/_Main/BL/Type_FinancialSalesReport/Method_GetRow.qbl b/_Main/BL/Type_FinancialSalesReport/Method_GetRow.qbl index 6cbc77d..aeb1ee4 100644 --- a/_Main/BL/Type_FinancialSalesReport/Method_GetRow.qbl +++ b/_Main/BL/Type_FinancialSalesReport/Method_GetRow.qbl @@ -2,18 +2,19 @@ #parent: #root Method GetRow ( String salessegment, - String product + Product_MP product ) as FinancialSalesRow { TextBody: [* // 鐢勫叞楦� Jun-28-2024 (created) - row := selectobject( this, FinancialSalesRow, row, row.Name() = product and row.Unit() = salessegment ); + row := selectobject( this, FinancialSalesRow, row, row.Name() = product.ID() and row.Unit() = salessegment ); if( isnull( row ) ){ - row := this.FinancialSalesRow( relnew, Name := product, Unit := salessegment ); + row := this.FinancialSalesRow( relnew, Name := product.ID(), Unit := salessegment ); + row.Product_MP( relset, product ); //鍒濆鍖栧崟鍏冩牸 - row.InitializeCell( this ); + row.InitializeCell( this, product ); } return row; diff --git a/_Main/BL/Type_FinancialSalesReport/Method_IsInUnit.qbl b/_Main/BL/Type_FinancialSalesReport/Method_IsInUnit.qbl index 02e06b4..57394ad 100644 --- a/_Main/BL/Type_FinancialSalesReport/Method_IsInUnit.qbl +++ b/_Main/BL/Type_FinancialSalesReport/Method_IsInUnit.qbl @@ -11,6 +11,6 @@ // 鐢勫叞楦� Aug-5-2024 (created) unit := sp.Unit(); parentunits := unit.GetAllParent(); - return unit.ID() = unitname or exists( parentunits, Elements, punit, punit.ID() = unitname ); + return sp.ID() = unitname or unit.ID() = unitname or exists( parentunits, Elements, punit, punit.ID() = unitname ); *] } diff --git a/_Main/BL/Type_FinancialSalesRow/Method_Initialize.qbl b/_Main/BL/Type_FinancialSalesRow/Method_Initialize.qbl index e262727..658b23c 100644 --- a/_Main/BL/Type_FinancialSalesRow/Method_Initialize.qbl +++ b/_Main/BL/Type_FinancialSalesRow/Method_Initialize.qbl @@ -2,14 +2,25 @@ #parent: #root Method Initialize ( FinancialSalesColumn column, + Product_MP product, String unit ) { + Description: '鍒濆鍖栧崟鍏冩牸' TextBody: [* - // 鐢勫叞楦� Jun-24-2024 (created) + // 鐢勫叞楦� Jun-24-2024 (created) cell := column.FinancialSalesCell( relnew, Value := '' ); this.FinancialSalesCell( relinsert, cell ); + if( unit <> FinancialProductionReport::GetDefaultAllUnit() ){ + importdata := product.MacroPlan().FSImportData( relnew, Generation := product.Generation() + , MqbMlb := product.MQBMLB() + , Power := product.Power() + , ProductID := product.ID() + , StartDate := column.Period() + , Unit := unit ); + importdata.Cell( relset, cell ); + } *] } diff --git a/_Main/BL/Type_FinancialSalesRow/Method_InitializeCell.qbl b/_Main/BL/Type_FinancialSalesRow/Method_InitializeCell.qbl index 0c6ebc7..a578477 100644 --- a/_Main/BL/Type_FinancialSalesRow/Method_InitializeCell.qbl +++ b/_Main/BL/Type_FinancialSalesRow/Method_InitializeCell.qbl @@ -1,14 +1,15 @@ Quintiq file version 2.0 #parent: #root Method InitializeCell ( - FinancialSalesReport table + FinancialSalesReport table, + Product_MP product ) { TextBody: [* // 鐢勫叞楦� Jun-28-2024 (created) traverse( table, FinancialSalesColumn, column ){ - this.Initialize( column, this.Unit() ); + this.Initialize( column, product, this.Unit() ); } *] } diff --git a/_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl b/_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl index cf1176e..31f6bcd 100644 --- a/_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl +++ b/_Main/BL/Type_FinancialSalesSource/StaticMethod_Initialize.qbl @@ -32,7 +32,8 @@ table.GenerateColumn( owner ); //棣栧厛鍦╢orecast鐣岄潰鏌ユ壘sales segment涓洪暱鏄ョ殑鎵�鏈夐渶姹傦紝璇嗗埆鍑篗LB鐨勬墍鏈変骇鍝侊紝姣忎釜浜у搧鎸夋湀姹囨�婚渶姹傛暟閲� - traverse( owner, SalesDemand.astype( Forecast ), forecast, forecast.StartDate() < startofnextyear ){ + traverse( owner, SalesDemand.astype( Forecast ), forecast, not isnull( forecast.SalesSegment_MP() ) and forecast.StartDate() < startofnextyear and forecast.Quantity() <> 0 + and exists( forecast, PlanningSalesDemandInPeriod, psdip, psdip.Quantity() <> 0 ) ){ salessegment := forecast.SalesSegment_MP(); parentsalessegments := salessegment.GetAllParent(); //鏄惁灞炰簬闀挎槬 @@ -46,20 +47,18 @@ if( ( iscc and forecast.Product_MP().MQBMLB() = 'MLB' ) or isdl ){ product := forecast.Product_MP(); //鑾峰彇鍚堣琛� - allrow := table.GetRow( allunit, product.ID() ); + allrow := table.GetRow( allunit, product ); //鑾峰彇宸ュ巶琛� - factoryrow := table.GetRow( ifexpr( iscc and forecast.Product_MP().MQBMLB() = 'MLB', ccunit, dlunit ), product.ID() ); + factoryrow := table.GetRow( ifexpr( iscc and forecast.Product_MP().MQBMLB() = 'MLB', ccunit, dlunit ), product ); - if( products.Find( product ) < 0 ){ - products.Add( product ); - } - traverse( forecast, PlanningSalesDemandInPeriod, psdip ){ + products.Add( product ); + traverse( forecast, PlanningSalesDemandInPeriod, psdip, psdip.Quantity() <> 0 ){ periodtime := psdip.StartDate().StartOfMonth(); periodname := periodtime.Format( "M2/D2/Y" ); // info( '-------------------------', periodname, periodtime ); column := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime ); // info( '-------------------------', column.Name() ); - quantity := ceil( psdip.Quantity() );//鍚戜笂鍙栨暣 + quantity := [Number]psdip.Quantity();//鍥涜垗浜斿叆 factoryrow.Initialize( column, quantity ); allrow.Initialize( column, quantity ); @@ -73,14 +72,17 @@ //鏄惁灞炰簬闀挎槬瑁呴厤绾� // iscc := unit.ID() = ccspline or exists( parentunits, Elements, punit, punit.ID() = ccspline ); if( table.IsInUnit( stockingpoint, ccspline ) ){ - traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and pisp.Product_MP().MQBMLB() = 'MQB' ){//浜у搧涓篗QB - allrow := table.GetRow( allunit, pisp.ProductID() ); - ccrow := table.GetRow( ccunit, pisp.ProductID() ); - traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear ){ + traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and pisp.Product_MP().MQBMLB() = 'MQB' + and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.DependentDemandAndSalesDemandQuantity() <> 0 ) ){//浜у搧涓篗QB + product := pisp.Product_MP(); + allrow := table.GetRow( allunit, product ); + ccrow := table.GetRow( ccunit, product ); + products.Add( product ); + traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear and pispip.DependentDemandAndSalesDemandQuantity() <> 0 ){ periodtime := pispip.Start().StartOfMonth().Date(); periodname := periodtime.Format( "M2/D2/Y" ); column := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime ); - quantity := ceil( pispip.DependentDemandAndSalesDemandQuantity() );//鍚戜笂鍙栨暣 + quantity := [Number]pispip.DependentDemandAndSalesDemandQuantity();//鍥涜垗浜斿叆 ccrow.Initialize( column, quantity );//鍙朤otal Demand瀛楁鎸夋湀姹囨�婚渶姹傛暟閲� allrow.Initialize( column, quantity ); @@ -98,18 +100,23 @@ destisp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = laneleg.DestinationStockingPointID() ); isccrent := table.IsInUnit( destisp, ccrent ); if( isdlspline and isccrent ){ - traverse( laneleg, Trip, trip, trip.Arrival() < startofnextyearlead ){ - periodtime := ( trip.Arrival() - FinancialSalesReport::GetDefaultTripLeadingTime() ).StartOfMonth().Date(); + traverse( laneleg, Trip, trip, trip.Arrival() < startofnextyearlead and exists( trip, ProductInTrip, pit, pit.Quantity() <> 0 ) ){ + // periodtime := ( trip.Arrival() - FinancialSalesReport::GetDefaultTripLeadingTime() ).StartOfMonth().Date(); + periodtime := trip.Departure().StartOfMonth().Date(); periodname := periodtime.Format( "M2/D2/Y" ); column := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime ); - traverse( trip, ProductInTrip, pit ){ - quantity := ceil( pit.Quantity() );//鍚戜笂鍙栨暣 - dlrow := table.GetRow( dlunit, pit.ProductID() ); - dlrow.Initialize( column, quantity );//姹囨�绘暟閲� - - allrow := table.GetRow( allunit, pit.ProductID() ); - allrow.Initialize( column, quantity ); + if( not isnull( column ) ){ + traverse( trip, ProductInTrip, pit, pit.Quantity() <> 0 ){ + product := pit.Product_MP(); + products.Add( product ); + quantity := [Number]pit.Quantity();//鍥涜垗浜斿叆 + dlrow := table.GetRow( dlunit, pit.Product_MP() ); + dlrow.Initialize( column, quantity );//姹囨�绘暟閲� + + allrow := table.GetRow( allunit, pit.Product_MP() ); + allrow.Initialize( column, quantity ); + } } } } diff --git a/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCALineUnit.qbl b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCALineUnit.qbl new file mode 100644 index 0000000..3afba65 --- /dev/null +++ b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCALineUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultCCALineUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '闀挎槬瑁呴厤绾�'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCMPLineUnit.qbl b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCMPLineUnit.qbl new file mode 100644 index 0000000..0c32fd7 --- /dev/null +++ b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCMPLineUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultCCMPLineUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '闀挎槬鏈哄姞绾�'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLALineUnit.qbl b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLALineUnit.qbl new file mode 100644 index 0000000..153da57 --- /dev/null +++ b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLALineUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultDLALineUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '澶ц繛瑁呴厤绾�'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLMPLineUnit.qbl b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLMPLineUnit.qbl new file mode 100644 index 0000000..48e75f8 --- /dev/null +++ b/_Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLMPLineUnit.qbl @@ -0,0 +1,11 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultDLMPLineUnit () const as String +{ + TextBody: + [* + // 鐢勫叞楦� Jun-25-2024 (created) + return '澶ц繛鏈哄姞绾�'; + //return 'Assembly Plant (France)'; + *] +} diff --git a/_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl b/_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl index 47f1246..b5bb158 100644 --- a/_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl +++ b/_Main/BL/Type_InventorySummarySource/StaticMethod_Initialize.qbl @@ -14,6 +14,10 @@ allunit := InventorySummaryReport::GetDefaultAllUnit(); ccunit := InventorySummaryReport::GetDefaultCCUnit(); dlunit := InventorySummaryReport::GetDefaultDLUnit(); + ccalineunit := FinancialProductionReport::GetDefaultCCALineUnit(); + dlalienunit := FinancialProductionReport::GetDefaultDLALineUnit() + ccmplineunit := FinancialProductionReport::GetDefaultCCMPLineUnit() + dlmplineunit := FinancialProductionReport::GetDefaultDLMPLineUnit(); source := owner.InventorySummarySource( relnew, ID := InventorySummaryReport::GetDefaultName(), Name := InventorySummaryReport::GetDefaultName() ); table := source.InventorySummaryReport( relnew, ID := source.Name(), Name := source.Name() ); @@ -31,9 +35,9 @@ unit := stockingpoint.Unit(); parentunits := unit.GetAllParent(); //鏄惁灞炰簬闀挎槬宸ュ巶 - iscc := unit.ID() = ccunit or exists( parentunits, Elements, punit, punit.ID() = ccunit ); + iscc := unit.ID() = ccalineunit or unit.ID() = ccmplineunit or exists( parentunits, Elements, punit, punit.ID() = ccalineunit or punit.ID() = ccmplineunit ); //鏄惁灞炰簬澶ц繛宸ュ巶 - isdl := unit.ID() = dlunit or exists( parentunits, Elements, punit, punit.ID() = dlunit ); + isdl := unit.ID() = dlalienunit or unit.ID() = dlmplineunit or exists( parentunits, Elements, punit, punit.ID() = dlalienunit or punit.ID() = dlmplineunit ); if( iscc or isdl ){ traverse( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() ){ //鑾峰彇宸ュ巶琛� diff --git a/_Main/BL/Type_MachiningPipelineCell/StaticMethod_Initialize.qbl b/_Main/BL/Type_MachiningPipelineCell/StaticMethod_Initialize.qbl index ba284fe..46090ff 100644 --- a/_Main/BL/Type_MachiningPipelineCell/StaticMethod_Initialize.qbl +++ b/_Main/BL/Type_MachiningPipelineCell/StaticMethod_Initialize.qbl @@ -8,13 +8,13 @@ [* // 鐢勫叞楦� Jul-12-2024 (created) cell := column.Cell( relnew, CCAssemblyPlanQty := 0, - CCProductionQty := 0, - CCTransferQty := 0, - CCInventoryQty := 0, - DLAssemblyPlanQty := 0, - DLProductionQty := 0, - DLTransferQty := 0, - DLInventoryQty := 0 ); + CCProductionQty := 0, + CCTransferQty := 0, + CCInventoryQty := 0, + DLAssemblyPlanQty := 0, + DLProductionQty := 0, + DLTransferQty := 0, + DLInventoryQty := 0 ); return cell; *] diff --git a/_Main/BL/Type_MachiningPipelineColumn0/Attribute_CCAssemblyPlanQty.qbl b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_CCAssemblyPlanQty.qbl new file mode 100644 index 0000000..af5f2ec --- /dev/null +++ b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_CCAssemblyPlanQty.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CCAssemblyPlanQty +{ + #keys: '3[415136.0.1006432687][415136.0.1006432686][415136.0.1006432688]' + Description: '闀挎槬瑁呴厤璁″垝' + ValueType: Real +} diff --git a/_Main/BL/Type_MachiningPipelineColumn0/Attribute_DLAssemblyPlanQty.qbl b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_DLAssemblyPlanQty.qbl new file mode 100644 index 0000000..38d7472 --- /dev/null +++ b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_DLAssemblyPlanQty.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute DLAssemblyPlanQty +{ + #keys: '3[415136.0.1006432691][415136.0.1006432690][415136.0.1006432692]' + Description: '澶ц繛瑁呴厤璁″垝' + ValueType: Real +} diff --git a/_Main/BL/Type_MachiningPipelineColumn0/Attribute_EndDate.qbl b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_EndDate.qbl new file mode 100644 index 0000000..0b796c8 --- /dev/null +++ b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_EndDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute EndDate +{ + #keys: '3[415136.0.1004832687][415136.0.1004832686][415136.0.1004832688]' + ValueType: Date +} diff --git a/_Main/BL/Type_MachiningPipelineColumn0/Attribute_Period.qbl b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_Period.qbl deleted file mode 100644 index 4ee9a29..0000000 --- a/_Main/BL/Type_MachiningPipelineColumn0/Attribute_Period.qbl +++ /dev/null @@ -1,7 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Attribute Period -{ - #keys: '3[415136.0.886711554][415136.0.886711553][415136.0.886711555]' - ValueType: Date -} diff --git a/_Main/BL/Type_MachiningPipelineColumn0/Attribute_StartDate.qbl b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_StartDate.qbl new file mode 100644 index 0000000..6a2d095 --- /dev/null +++ b/_Main/BL/Type_MachiningPipelineColumn0/Attribute_StartDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute StartDate +{ + #keys: '3[415136.0.1004832677][415136.0.1004832676][415136.0.1004832678]' + ValueType: Date +} diff --git a/_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl b/_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl index 525a923..8a122c3 100644 --- a/_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl +++ b/_Main/BL/Type_MachiningPipelineReport/Method_GenerateColumn.qbl @@ -17,13 +17,13 @@ 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, StartDate := periodtime, EndDate := periodtime, CCAssemblyPlanQty := 0, DLAssemblyPlanQty := 0, TimeUnit := Translations::MP_GlobalParameters_Day() ); } 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() ); + this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart + Duration::Days( 6 ) ).Date(), CCAssemblyPlanQty := 0, DLAssemblyPlanQty := 0, 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 index 1c5b4cb..67af163 100644 --- a/_Main/BL/Type_MachiningPipelineReport/Method_GetColumnByUnit.qbl +++ b/_Main/BL/Type_MachiningPipelineReport/Method_GetColumnByUnit.qbl @@ -8,9 +8,9 @@ TextBody: [* // 鐢勫叞楦� Aug-7-2024 (created) - periodname := period.Format( "M2/D2/Y" ); + //periodname := period.Format( "M2/D2/Y" ); - column := selectobject( this, Column, column, column.Name() = periodname and column.Period() = period and column.TimeUnit() = unit ); + column := selectobject( this, Column, column, column.StartDate() <= period and column.EndDate() >= period and column.TimeUnit() = unit ); return column; *] diff --git a/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultCCProductionUnit.qbl b/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultCCProductionUnit.qbl index 050172d..c197afd 100644 --- a/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultCCProductionUnit.qbl +++ b/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultCCProductionUnit.qbl @@ -5,7 +5,7 @@ TextBody: [* // 鐢勫叞楦� Jun-25-2024 (created) - return '闀挎槬鏈哄姞浜х嚎'; + return '闀挎槬鏈哄姞绾�'; //return 'Assembly Plant (France)'; *] } diff --git a/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultDLProductionUnit.qbl b/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultDLProductionUnit.qbl index 4056b04..b9ca520 100644 --- a/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultDLProductionUnit.qbl +++ b/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultDLProductionUnit.qbl @@ -5,7 +5,7 @@ TextBody: [* // 鐢勫叞楦� Jun-25-2024 (created) - return '澶ц繛鏈哄姞浜х嚎'; + return '澶ц繛鏈哄姞绾�'; //return 'Assembly Plant (Spain)'; *] } diff --git a/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultProductParent.qbl b/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultProductParent.qbl new file mode 100644 index 0000000..1cff05e --- /dev/null +++ b/_Main/BL/Type_MachiningPipelineReport/StaticMethod_GetDefaultProductParent.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDefaultProductParent () as String +{ + TextBody: + [* + // 鐢勫叞楦� Aug-14-2024 (created) + return '鏈哄姞浠�'; + *] +} diff --git a/_Main/BL/Type_MachiningPipelineRow/Method_SetCellAssemblyValue.qbl b/_Main/BL/Type_MachiningPipelineRow/Method_SetCellAssemblyValue.qbl deleted file mode 100644 index 7e188ba..0000000 --- a/_Main/BL/Type_MachiningPipelineRow/Method_SetCellAssemblyValue.qbl +++ /dev/null @@ -1,20 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Method SetCellAssemblyValue ( - MachiningPipelineColumn column, - Boolean iscc, - Real quantity -) -{ - TextBody: - [* - // 鐢勫叞楦� Jun-24-2024 (created) - cell := selectobject( this, Cell, cell, cell.Column() = column ); - - if( iscc ){ - cell.CCAssemblyPlanQty( cell.CCAssemblyPlanQty() + quantity ); - } else { - cell.DLAssemblyPlanQty( cell.DLAssemblyPlanQty() + quantity ); - } - *] -} diff --git a/_Main/BL/Type_MachiningPipelineRow/Method_SetCellTransferValue.qbl b/_Main/BL/Type_MachiningPipelineRow/Method_SetCellTransferValue.qbl new file mode 100644 index 0000000..40d4b74 --- /dev/null +++ b/_Main/BL/Type_MachiningPipelineRow/Method_SetCellTransferValue.qbl @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +Method SetCellTransferValue ( + MachiningPipelineColumn column, + Boolean iscc, + Real quantity +) +{ + TextBody: + [* + // 鐢勫叞楦� Jun-24-2024 (created) + cell := selectobject( this, Cell, cell, cell.Column() = column ); + + if( iscc ){ + cell.CCTransferQty( cell.CCTransferQty() + quantity ); + } else { + cell.DLTransferQty( cell.DLTransferQty() + quantity ); + } + *] +} diff --git a/_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl b/_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl index 5776315..23633d0 100644 --- a/_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl +++ b/_Main/BL/Type_MachiningPipelineSource0/StaticMethod_Initialize.qbl @@ -8,6 +8,7 @@ [* // 鐢勫叞楦� Jun-24-2024 (created) owner.FinancialProductionSource( relflush ); + productparent := MachiningPipelineReport::GetDefaultProductParent(); ccunit := MachiningPipelineReport::GetDefaultCCUnit(); dlunit := MachiningPipelineReport::GetDefaultDLUnit(); //allunit := EnginePipelineReport::GetDefaultAllUnit(); @@ -39,39 +40,48 @@ //鏄惁灞炰簬澶ц繛鏈哄姞浜х嚎 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( stockingpoint, ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and not pisp.IsSystem() + // and exists( pisp.Product_MP().GetAllParent(), Elements, e, e.ID() = productparent ) + and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 ) ) ){ + pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() + and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 ), pispip.Start() ); traverse( pispips, Elements, pispip ){ + supplyquantity := [Number]pispip.NewSupplyQuantity();//鍥涜垗浜斿叆 //澶� - daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), pispip.Start().Date() ); + 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() );//鍚戜笂鍙栨暣 + weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), pispip.Start().Date() ); //瑁呴厤绾� if( isccassemnly or isdlassemnly ){ - row.SetCellAssemblyValue( daycolumn, isccassemnly, supplyquantity ); - row.SetCellAssemblyValue( weekcolumn, isccassemnly, supplyquantity ); + if( isccassemnly ){ + daycolumn.CCAssemblyPlanQty( daycolumn.CCAssemblyPlanQty() + supplyquantity ); + weekcolumn.CCAssemblyPlanQty( weekcolumn.CCAssemblyPlanQty() + supplyquantity ); + } else { + daycolumn.DLAssemblyPlanQty( daycolumn.DLAssemblyPlanQty() + supplyquantity ); + weekcolumn.DLAssemblyPlanQty( weekcolumn.DLAssemblyPlanQty() + 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 ); + product := pisp.Product_MP(); + productparents := product.GetAllParent(); + if( exists( productparents, Elements, e, e.ID() = productparent ) ){//鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満 + row := table.GetRow( pisp.ProductID() ); + products.Add( pisp.Product_MP() ); + + inventoryquantity:= [Number]pispip.PlannedInventoryLevelEnd();//鍥涜垗浜斿叆 + + //鏈哄姞绾� + if( isccproduction or isdlproduction ){ + row.SetCellProductionValue( daycolumn, isccproduction, [Real]supplyquantity ); + row.SetCellProductionValue( weekcolumn, isccproduction, [Real]supplyquantity ); + } + //搴撳瓨 + if( iscc or isdl ){ + row.SetCellInventoryValue( daycolumn, iscc, [Real]inventoryquantity ); + if( weekcolumn.EndDate() = pispip.Start().Date() or pispip.Period_MP() = endperiod ){ + row.SetCellInventoryValue( weekcolumn, iscc, [Real]inventoryquantity ); + } } } } @@ -80,25 +90,33 @@ } //鐢熸垚璋冩嫧鏁版嵁 - traverse( owner, TransferPlanRow, tprow, ( tprow.SourceStockpoingPointID() = 'CC' and tprow.TargetStockpoingPointID() = 'DL' ) or ( tprow.SourceStockpoingPointID() = 'DL' and tprow.TargetStockpoingPointID() = 'CC' ) ){ - row := selectobject( table, Row, row, row.Name() = tprow.Name() ); - traverse( table, Column, column ){ - cell := selectobject( row, Cell, cell, cell.Column() = column ); - if( column.TimeUnit() = Translations::MP_GlobalParameters_Day() ){ - tpcell := selectobject( tprow, TransferPlanCell, tpcell, tpcell.TransferPlanColumn().ColumnDate() = column.Period() ); - if( tprow.SourceStockpoingPointID() = 'CC' and tprow.TargetStockpoingPointID() = 'DL' ){ - cell.CCTransferQty( [Real]tpcell.Value() ); - }else if( tprow.SourceStockpoingPointID() = 'DL' and tprow.TargetStockpoingPointID() = 'CC' ){ - cell.DLTransferQty( [Real]tpcell.Value() ); - } - }else if( column.TimeUnit() = Translations::MP_GlobalParameters_Week() ){ - period := column.Period() + Duration::Days( 6 ); - tpcell := selectobject( tprow, TransferPlanCell, tpcell, tpcell.TransferPlanColumn().ColumnDate() = period.Date() ); - - if( tprow.SourceStockpoingPointID() = 'CC' and tprow.TargetStockpoingPointID() = 'DL' ){ - cell.CCTransferQty( [Real]tpcell.Value() ); - }else if( tprow.SourceStockpoingPointID() = 'DL' and tprow.TargetStockpoingPointID() = 'CC' ){ - cell.DLTransferQty( [Real]tpcell.Value() ); + traverse( owner, TransferPlanRow, tprow ){ + product := selectobject( owner, Product_MP, product, product.ID() = tprow.ProductID() ); + productparents := product.GetAllParent(); + if( exists( productparents, Elements, e, e.ID() = productparent ) ){//鏌ヨ浜у搧绫诲瀷鏄彂鍔ㄦ満 + //璧峰搴撳瓨鐐规槸鍚︽槸澶ц繛or闀挎槬 + originsp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = tprow.SourceStockpoingPointID() ); + originunit := originsp.Unit(); + originparentunits := originunit.GetAllParent(); + originiscc := originsp.ID() = ccunit or originunit.ID() = ccunit or exists( originparentunits, Elements, punit, punit.ID() = ccunit ); + originisdl := originsp.ID() = dlunit or originunit.ID() = dlunit or exists( originparentunits, Elements, punit, punit.ID() = dlunit ); + //鐩殑鍦版槸鍚︽槸闀挎槬澶栫搴� + destisp := selectobject( owner, StockingPoint_MP, sp, sp.ID() = tprow.TargetStockpoingPointID() ); + destiunit := destisp.Unit(); + destiparentunits := destiunit.GetAllParent(); + destiiscc := destisp.ID() = ccunit or destiunit.ID() = ccunit or exists( destiparentunits, Elements, punit, punit.ID() = ccunit ); + destiisdl := destisp.ID() = dlunit or destiunit.ID() = dlunit or exists( destiparentunits, Elements, punit, punit.ID() = dlunit ); + if( ( originiscc and destiisdl ) or ( originisdl and destiiscc ) ){ + row := table.GetRow( tprow.ProductID() ); + traverse( tprow, TransferPlanCell, tpcell, tpcell.TransferPlanColumn().ColumnDate() <> Date::MinDate() ){ + //澶� + daycolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Day(), tpcell.TransferPlanColumn().ColumnDate() ); + //鍛� + weekcolumn := table.GetColumnByUnit( Translations::MP_GlobalParameters_Week(), tpcell.TransferPlanColumn().ColumnDate() ); + quantity := [Real]tpcell.Value();//鍥涜垗浜斿叆 + + row.SetCellTransferValue( daycolumn, ( originiscc and destiisdl ), quantity ); + row.SetCellTransferValue( weekcolumn, ( originiscc and destiisdl ), quantity ); } } } @@ -108,6 +126,10 @@ i := 0; traverse( rows, Elements, e ){ e.RowNr( i ); + traverse( e, Cell, cell ){ + cell.CCAssemblyPlanQty( cell.Column().CCAssemblyPlanQty() ); + cell.DLAssemblyPlanQty( cell.Column().DLAssemblyPlanQty() ); + } i := i + 1; } showtable.Generate( search, products ); diff --git a/_Main/BL/Type_Routing/StaticMethod_ThermalTrialRatio.qbl b/_Main/BL/Type_Routing/StaticMethod_ThermalTrialRatio.qbl index 63d74ca..53e032b 100644 --- a/_Main/BL/Type_Routing/StaticMethod_ThermalTrialRatio.qbl +++ b/_Main/BL/Type_Routing/StaticMethod_ThermalTrialRatio.qbl @@ -28,17 +28,19 @@ name := newrouting.Name().ReplaceAll( 'Copy', thermaltrial ); newrouting.Name( name ); newrouting.UpdateTypeIndex( name ); - routing.Start( start ); - routing.End( end ); + + newrouting.Start( start ); + newrouting.End( end ); routingstep := newrouting.LastStep(); - //info( '------------------', routingstep.Tool(), ',', unit.ID() ); - newroutingstep := RoutingStep::Create( newrouting, thermaltrial, routingstep.Tool(), false ); + newroutingstep := RoutingStep::Create( newrouting, thermaltrial, routingstep.Tool(), false ); + spname := ifexpr( unit.ID().EndsWith( '鎵归噺鐑瘯' ), unit.ID().ReplaceAll( '鎵归噺鐑瘯', '-' + thermaltrial ), unit.ID().ReplaceAll( '鐑瘯', '-' + thermaltrial ) ); + info( '------------------', routingstep.Tool(), ',', unit.ID(), ',', spname ); traverse( routingstep, Operation, operation ){ id := Operation::GetConcatenatedID( newrouting.ID(), newroutingstep.Name(), unit.ID() ); // info( '------------------', operation.Name(), routingstep.Name(), newroutingstep.Name() ); - stockingpoint := StockingPoint_MP::FindCreateUpdate( routing.MacroPlan(), thermaltrial, unit, newrouting, true ); + stockingpoint := StockingPoint_MP::FindCreateUpdate( routing.MacroPlan(), spname, unit, newrouting, true ); traverse( operation, OperationBOM, obom, not obom.IsInput() ){ pisp := obom.PISPNodeInRouting().ProductInStockingPoint_MP(); diff --git a/_Main/Sys/Repr/Global/CCEngineLogisticsCostCell.qrp b/_Main/Sys/Repr/Global/CCEngineLogisticsCostCell.qrp new file mode 100644 index 0000000..55dd648 --- /dev/null +++ b/_Main/Sys/Repr/Global/CCEngineLogisticsCostCell.qrp @@ -0,0 +1,41 @@ +Quintiq file version 2.0 +#parent: #root +TypeRepresentation CCEngineLogisticsCostCell +{ + AttributeRepresentation Coefficient + { + AttributeKey: '[415136.0.986844757]' + Synonym: '绯绘暟' + } + AttributeRepresentation EstimatedTotalCost + { + AttributeKey: '[415136.0.986844738]' + Synonym: '棰勮鎬昏垂鐢�' + } + AttributeRepresentation FactoryToRentTransCost + { + AttributeKey: '[415136.0.986844780]' + Synonym: '鍘傚唴鍒板绉熷簱杩愯緭璐圭敤' + } + AttributeRepresentation RentEnterCost + { + AttributeKey: '[415136.0.986881422]' + Synonym: '澶栫搴撳叆搴撹垂鐢�' + } + AttributeRepresentation RentOutCost + { + AttributeKey: '[415136.0.986881432]' + Synonym: '澶栫搴撳嚭搴撹垂鐢�' + } + AttributeRepresentation RentStorageCost + { + AttributeKey: '[415136.0.986881445]' + Synonym: '澶栫搴撲粨鍌ㄨ垂鐢�' + } + AttributeRepresentation TotalCost + { + AttributeKey: '[415136.0.986844770]' + Synonym: '鎬昏垂鐢�' + } + RelationRepresentation Column { RelationKey: '[415136.0.986881392]' Visibility: 'Normal' } +} diff --git a/_Main/Sys/Repr/Global/DLEngineLogisticsCostCell.qrp b/_Main/Sys/Repr/Global/DLEngineLogisticsCostCell.qrp new file mode 100644 index 0000000..6efbdbf --- /dev/null +++ b/_Main/Sys/Repr/Global/DLEngineLogisticsCostCell.qrp @@ -0,0 +1,66 @@ +Quintiq file version 2.0 +#parent: #root +TypeRepresentation DLEngineLogisticsCostCell +{ + AttributeRepresentation CCLongTransCoat + { + AttributeKey: '[415136.0.992900331]' + Synonym: '闀挎槬闀块�旇繍杈撹垂鐢�' + } + AttributeRepresentation CCRentEnterCost + { + AttributeKey: '[415136.0.992900044]' + Synonym: '闀挎槬澶栫搴撳叆搴撹垂鐢�' + } + AttributeRepresentation CCRentOutCost + { + AttributeKey: '[415136.0.992900047]' + Synonym: '闀挎槬澶栫搴撳嚭搴撹垂鐢�' + } + AttributeRepresentation CCRentStorageCost + { + AttributeKey: '[415136.0.992900050]' + Synonym: '闀挎槬澶栫搴撲粨鍌ㄨ垂鐢�' + } + AttributeRepresentation CCShortTransCost + { + AttributeKey: '[415136.0.992900341]' + Synonym: '闀挎槬鐭�旇繍杈撹垂鐢�' + } + AttributeRepresentation Coefficient + { + AttributeKey: '[415136.0.992900035]' + Synonym: '绯绘暟' + } + AttributeRepresentation DLRentEnterCost + { + AttributeKey: '[415136.0.992900241]' + Synonym: '澶ц繛澶栫搴撳叆搴撹垂鐢�' + } + AttributeRepresentation DLRentOutCost + { + AttributeKey: '[415136.0.992900248]' + Synonym: '澶ц繛澶栫搴撳嚭搴撹垂鐢�' + } + AttributeRepresentation DLRentStorageCost + { + AttributeKey: '[415136.0.992900261]' + Synonym: '澶ц繛澶栫搴撲粨鍌ㄨ垂鐢�' + } + AttributeRepresentation EstimatedTotalCost + { + AttributeKey: '[415136.0.992900038]' + Synonym: '棰勮鎬昏垂鐢�' + } + AttributeRepresentation FactoryToDLRentTransCost + { + AttributeKey: '[415136.0.992900041]' + Synonym: '鍘傚唴鍒板ぇ杩炲绉熷簱杩愯緭璐圭敤' + } + AttributeRepresentation TotalCost + { + AttributeKey: '[415136.0.992900053]' + Synonym: '鎬昏垂鐢�' + } + RelationRepresentation Column { RelationKey: '[415136.0.992900194]' Visibility: 'Normal' } +} diff --git a/_Main/Sys/Repr/Global/InventorySummaryCell.qrp b/_Main/Sys/Repr/Global/InventorySummaryCell.qrp new file mode 100644 index 0000000..bd2db27 --- /dev/null +++ b/_Main/Sys/Repr/Global/InventorySummaryCell.qrp @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +#parent: #root +TypeRepresentation InventorySummaryCell +{ + AttributeRepresentation AverageInventory + { + AttributeKey: '[415136.0.865305023]' + Synonym: '骞冲潎搴撳瓨' + } + AttributeRepresentation EndingInventory + { + AttributeKey: '[415136.0.865304923]' + Synonym: '鏈熸湯搴撳瓨' + } + AttributeRepresentation MaximumInventory + { + AttributeKey: '[415136.0.865304943]' + Synonym: '鏈�澶у簱瀛�' + } + AttributeRepresentation MinimumInventory + { + AttributeKey: '[415136.0.865304933]' + Synonym: '鏈�灏忓簱瀛�' + } + RelationRepresentation AsFirstCellInColumn { RelationKey: '[415136.0.865304766]' Visibility: 'Normal' } +} diff --git a/_Main/Sys/Repr/Global/MachiningPipelineCell.qrp b/_Main/Sys/Repr/Global/MachiningPipelineCell.qrp new file mode 100644 index 0000000..0e40a27 --- /dev/null +++ b/_Main/Sys/Repr/Global/MachiningPipelineCell.qrp @@ -0,0 +1,51 @@ +Quintiq file version 2.0 +#parent: #root +TypeRepresentation MachiningPipelineCell +{ + AttributeRepresentation CCAssemblyPlanQty + { + AttributeKey: '[415136.0.886711536]' + Synonym: 'CC瑁呴厤璁″垝' + } + AttributeRepresentation CCInventoryQty + { + AttributeKey: '[415136.0.886711533]' + Synonym: 'CC搴撳瓨' + } + AttributeRepresentation CCProductionQty + { + AttributeKey: '[415136.0.886711530]' + Synonym: 'CC鐢熶骇璁″垝' + } + AttributeRepresentation CCTransferQty + { + AttributeKey: '[415136.0.894481175]' + Synonym: 'CC璋冩嫧璁″垝' + } + AttributeRepresentation DLAssemblyPlanQty + { + AttributeKey: '[415136.0.894481138]' + Synonym: 'DL瑁呴厤璁″垝' + } + AttributeRepresentation DLInventoryQty + { + AttributeKey: '[415136.0.894481161]' + Synonym: 'DL搴撳瓨' + } + AttributeRepresentation DLProductionQty + { + AttributeKey: '[415136.0.894481151]' + Synonym: 'DL鐢熶骇璁″垝' + } + AttributeRepresentation DLTransferQty + { + AttributeKey: '[415136.0.894481185]' + Synonym: 'DL璋冩嫧璁″垝' + } + AttributeRepresentation TotalInventoryQty + { + AttributeKey: '[415136.0.894481168]' + Synonym: 'CC+DL鎬诲簱瀛�' + } + RelationRepresentation AsFirstCellInColumn { RelationKey: '[415136.0.894469842]' Visibility: 'Normal' } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def index a385b33..25803c6 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def @@ -11,8 +11,9 @@ BaseType: 'WebButton' Properties: [ + Description: 'Financial production report' Image: 'DOCUMENT_REFRESH' - Label: 'Financial production report' + Label: '璐㈠姟浜ч噺鎶ヨ〃' Taborder: 0 ] } @@ -22,8 +23,9 @@ BaseType: 'WebButton' Properties: [ + Description: 'Financial sales report' Image: 'MONEY_COINS2' - Label: 'Financial sales report' + Label: '璐㈠姟閿�閲忔姤琛�' Taborder: 1 ] } @@ -33,8 +35,9 @@ BaseType: 'WebButton' Properties: [ + Description: 'Inventory summary report' Image: 'DOCUMENT_CHECK_EDIT' - Label: 'Inventory summary report' + Label: '搴撳瓨姹囨�绘姤琛�' Taborder: 2 ] } @@ -44,8 +47,9 @@ BaseType: 'WebButton' Properties: [ + Description: 'Financial weekly report' Image: 'DOCUMENT_DIRTY' - Label: 'Financial weekly report' + Label: '闀挎槬鍛ㄦ姤鎶ヨ〃' Taborder: 3 ] } @@ -70,8 +74,9 @@ ] Properties: [ + Description: 'Pipeline report' Image: 'DOCUMENT_CONNECTION' - Label: 'Pipeline report' + Label: '绠$嚎鎶ヨ〃' Taborder: 5 ] } @@ -93,7 +98,7 @@ Properties: [ Image: 'LOCATION_PIN' - Label: 'Machine logistics cost report' + Label: '鏈哄姞鐗╂祦鎴愭湰鎶ヨ〃' Taborder: 7 ] } @@ -130,6 +135,43 @@ Taborder: 9 ] } + Component bCC_EngineRackReport + { + #keys: '[413988.0.1477120930]' + BaseType: 'WebButton' + Properties: + [ + Image: 'SATELLITE' + Label: '闀挎槬鍙戝姩鏈烘枡鏋舵姤琛�' + Taborder: 10 + ] + } + Component bDL_EngineRackReport + { + #keys: '[413988.0.1488511896]' + BaseType: 'WebButton' + Properties: + [ + Image: 'EARTH_LOCATION' + Label: '澶ц繛鍙戝姩鏈烘枡鏋舵姤琛�' + Taborder: 11 + ] + } + Component ButtonEngineLogisticsCostReport + { + #keys: '[415136.0.989557433]' + BaseType: 'WebButton' + Children: + [ + #child: ContextMenuEngineLogisticsCostReport + ] + Properties: + [ + Image: 'MONEY2' + Label: '鍙戝姩鏈虹墿娴佹垚鏈姤琛�' + Taborder: 12 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuEngineLogisticsCostReport.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuEngineLogisticsCostReport.def new file mode 100644 index 0000000..90dcee1 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuEngineLogisticsCostReport.def @@ -0,0 +1,37 @@ +Quintiq file version 2.0 +Component ContextMenuEngineLogisticsCostReport +{ + #keys: '[415136.0.989557478]' + BaseType: 'WebContextMenu' + Children: + [ + Component MenuCCEngineLogisticsCostReport + { + #keys: '[415136.0.989557479]' + BaseType: 'WebMenu' + Properties: + [ + Description: 'CC engine logistics cost report' + Image: 'MONEY2' + Taborder: 0 + Title: '闀挎槬鍙戝姩鏈虹墿娴佹垚鏈姤琛�' + ] + } + Component MenuDLEngineLogisticsCostReport + { + #keys: '[415136.0.991620623]' + BaseType: 'WebMenu' + Properties: + [ + Description: 'DL engine logistics cost report' + Image: 'MONEY2' + Taborder: 1 + Title: '澶ц繛鍙戝姩鏈虹墿娴佹垚鏈姤琛�' + ] + } + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPipelineReport.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPipelineReport.def index 6e53b06..3cd265a 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPipelineReport.def +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPipelineReport.def @@ -11,9 +11,10 @@ BaseType: 'WebMenu' Properties: [ + Description: 'Engine pipeline report' Image: 'DOCUMENT_CONNECTION' Taborder: 0 - Title: 'Engine pipeline report' + Title: '鍙戝姩鏈虹绾挎姤琛�' ] } Component MenuMachiningPipelineReport @@ -22,9 +23,10 @@ BaseType: 'WebMenu' Properties: [ + Description: 'Machining pipeline report' Image: 'DOCUMENT_CONNECTION' Taborder: 1 - Title: 'Machining pipeline report' + Title: '鏈哄姞浠剁绾挎姤琛�' ] } ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bCC_EngineRackReport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bCC_EngineRackReport_OnClick.def new file mode 100644 index 0000000..1a91ad9 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bCC_EngineRackReport_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: ActionBarGroupReport/bCC_EngineRackReport +Response OnClick () id:Response_MacroPlanner_ActionBarGroupReport_bCC_EngineRackReport_OnClick +{ + #keys: '[413988.0.1477121059]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + ApplicationScope.ViewManager().ResetUserViewById( "CCEngineRackReport", true); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bDL_EngineRackReport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bDL_EngineRackReport_OnClick.def new file mode 100644 index 0000000..470ceb9 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bDL_EngineRackReport_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: ActionBarGroupReport/bDL_EngineRackReport +Response OnClick () id:Response_MacroPlanner_ActionBarGroupReport_bDL_EngineRackReport_OnClick +{ + #keys: '[413988.0.1488512018]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + ApplicationScope.ViewManager().ResetUserViewById( "DLEngineRackReport", true); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_MenuCCEngineLogis.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_MenuCCEngineLogis.def new file mode 100644 index 0000000..3362b31 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_MenuCCEngineLogis.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: ContextMenuEngineLogisticsCostReport/MenuCCEngineLogisticsCostReport +Response OnClick () id:Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_MenuCCEngineLogisticsCostReport_OnClick +{ + #keys: '[415136.0.989557681]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebMenu_OnClick' + QuillAction + { + Body: + [* + ApplicationScope.ViewManager().ResetUserViewById( "CC_engine_logistics_cost_report_view", true); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_MenuDLEngineLogis.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_MenuDLEngineLogis.def new file mode 100644 index 0000000..81ec434 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_MenuDLEngineLogis.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: ContextMenuEngineLogisticsCostReport/MenuDLEngineLogisticsCostReport +Response OnClick () id:Response_MacroPlanner_ContextMenuEngineLogisticsCostReport_MenuDLEngineLogisticsCostReport_OnClick +{ + #keys: '[415136.0.993328236]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebMenu_OnClick' + QuillAction + { + Body: + [* + ApplicationScope.ViewManager().ResetUserViewById( "DL_engine_logistics_cost_report_view", true); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostEngine/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostEngine/Component_pnlContent.def index a5cade2..69737c7 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostEngine/Component_pnlContent.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostEngine/Component_pnlContent.def @@ -5,17 +5,6 @@ BaseType: 'WebPanel' Children: [ - Component efFactory id:efFactory_245 - { - #keys: '[413988.0.1457133347]' - BaseType: 'WebEditField' - Properties: - [ - DataBinding: 'DataHolderDialogData.Data.Factory' - Label: '宸ュ巶' - Taborder: 0 - ] - } Component efGeneration { #keys: '[413988.0.1457133350]' @@ -93,6 +82,18 @@ Taborder: 7 ] } + Component ddslFactory + { + #keys: '[415754.0.98386037]' + BaseType: 'WebDropDownStringList' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.Factory' + Label: '宸ュ巶' + Strings: '澶ц繛宸ュ巶;闀挎槬宸ュ巶' + Taborder: 0 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostMachining/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostMachining/Component_pnlContent.def index 65628ad..b6ae3cb 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostMachining/Component_pnlContent.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostMachining/Component_pnlContent.def @@ -5,17 +5,6 @@ BaseType: 'WebPanel' Children: [ - Component efFactory - { - #keys: '[413988.0.1457092631]' - BaseType: 'WebEditField' - Properties: - [ - DataBinding: 'DataHolderDialogData.Data.Factory' - Label: '宸ュ巶' - Taborder: 0 - ] - } Component efProduct { #keys: '[413988.0.1457092665]' @@ -115,6 +104,18 @@ Taborder: 9 ] } + Component ddslFactory id:ddslFactory_653 + { + #keys: '[415754.0.98423632]' + BaseType: 'WebDropDownStringList' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.Factory' + Label: '宸ュ巶' + Strings: '澶ц繛宸ュ巶;闀挎槬宸ュ巶' + Taborder: 0 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostMaterialRack/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostMaterialRack/Component_pnlContent.def index 3ff05c2..7df23a3 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostMaterialRack/Component_pnlContent.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostMaterialRack/Component_pnlContent.def @@ -5,17 +5,6 @@ BaseType: 'WebPanel' Children: [ - Component efFactory - { - #keys: '[413988.0.1456914946]' - BaseType: 'WebEditField' - Properties: - [ - DataBinding: 'DataHolderDialogData.Data.Factory' - Label: '宸ュ巶' - Taborder: 0 - ] - } Component npWarehousingPrice { #keys: '[413988.0.1455874538]' @@ -60,6 +49,18 @@ Taborder: 4 ] } + Component ddslFactory + { + #keys: '[415754.0.97113155]' + BaseType: 'WebDropDownStringList' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.Factory' + Label: '宸ュ巶' + Strings: '澶ц繛宸ュ巶;闀挎槬宸ュ巶' + Taborder: 0 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Component_pnlContent.def index 49bac54..79402d5 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Component_pnlContent.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Component_pnlContent.def @@ -16,28 +16,6 @@ Taborder: 0 ] } - Component efOrigin - { - #keys: '[413988.0.1458251274]' - BaseType: 'WebEditField' - Properties: - [ - DataBinding: 'DataHolderDialogData.Data.Origin' - Label: '璧峰鍦�' - Taborder: 1 - ] - } - Component efDestination - { - #keys: '[413988.0.1458549250]' - BaseType: 'WebEditField' - Properties: - [ - DataBinding: 'DataHolderDialogData.Data.Destination' - Label: '鐩殑鍦�' - Taborder: 2 - ] - } Component npLoadingCapacity { #keys: '[413988.0.1456916992]' @@ -60,6 +38,28 @@ Taborder: 4 ] } + Component ddslOrigin + { + #keys: '[415754.0.97111795]' + BaseType: 'WebDropDownStringList' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.Origin' + Label: '璧峰鍦�' + Taborder: 1 + ] + } + Component ddslDestination + { + #keys: '[415754.0.97143070]' + BaseType: 'WebDropDownStringList' + Properties: + [ + DataBinding: 'DataHolderDialogData.Data.Destination' + Label: '鐩殑鍦�' + Taborder: 2 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Response_pnlContent_ddslDestination_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Response_pnlContent_ddslDestination_OnCreated.def new file mode 100644 index 0000000..1537904 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Response_pnlContent_ddslDestination_OnCreated.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: pnlContent/ddslDestination +Response OnCreated () id:Response_pnlContent_ddslDestination_OnCreated +{ + #keys: '[415754.0.97143069]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + spmpids := selectuniquevalues( MacroPlan, StockingPoint_MP, tempSPMP, true, tempSPMP.ID() ); + + this.Strings( spmpids.Concatenate( ";" ) ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Response_pnlContent_ddslOrigin_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Response_pnlContent_ddslOrigin_OnCreated.def new file mode 100644 index 0000000..ae09d4e --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditLogisticsCostTransport/Response_pnlContent_ddslOrigin_OnCreated.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: pnlContent/ddslOrigin +Response OnCreated () id:Response_pnlContent_ddslOrigin_OnCreated +{ + #keys: '[415754.0.97111881]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + spmpids := selectuniquevalues( MacroPlan, StockingPoint_MP, tempSPMP, true, tempSPMP.ID() ); + + this.Strings( spmpids.Concatenate( ";" ) ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlContent.def index a1be8e2..270f029 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlContent.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Component_pnlContent.def @@ -38,7 +38,6 @@ DataBinding: 'DataHolderDialogData.Data.Name' Label: 'Name' Sorting: 'none' - Strings: '鏃╃彮;涓彮;澶滅彮' Taborder: 2 ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlContent_ddslName_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlContent_ddslName_OnCreated.def new file mode 100644 index 0000000..74052a9 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditShiftDayTime/Response_pnlContent_ddslName_OnCreated.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: pnlContent/ddslName +Response OnCreated () id:Response_pnlContent_ddslName_OnCreated +{ + #keys: '[415754.0.97151310]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + spns := selectuniquevalues( MacroPlan, ShiftPattern, tempSP, true, tempSP.Name() ); + + this.Strings( spns.Concatenate( ";" ) ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnOk_OnClick.def index 20dc8c9..4c15147 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnOk_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditThermalTrialRatio/Response_pnlActions_btnOk_OnClick.def @@ -4,7 +4,6 @@ { #keys: '[415136.0.756140039]' DefinitionID: 'Responsedef_WebButton_OnClick' - GroupServerCalls: true Precondition: [* return Routing::ValidateThermalTrialRatio( feedback, ddlUnit.Data(), [Number]efMaxCapacity.Text(), dsStartTime.Date(), dsEndTime.Date(), [Number]efThermalTrialRatio.Text() ); @@ -15,5 +14,6 @@ [* Form.OnOK(); *] + GroupServerCalls: false } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurve.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurve.def index adffbb1..1f2d31d 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurve.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurve.def @@ -11,7 +11,6 @@ BaseType: 'WebEditField' Properties: [ - Enabled: false NumberOfColumns: 60 Taborder: 1 ] @@ -33,6 +32,7 @@ BaseType: 'WebLabel' Properties: [ + Label: 'Curve' NumberOfColumns: 0 Taborder: 0 ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurveEnable.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurveEnable.def index e1fca08..7162d7b 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurveEnable.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurveEnable.def @@ -32,5 +32,6 @@ FixedSize: true Orientation: 'horizontal' Taborder: 7 + Visible: false ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pPPAEnable.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pPPAEnable.def index 914e317..6c66c50 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pPPAEnable.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pPPAEnable.def @@ -11,7 +11,6 @@ BaseType: 'WebCheckbox' Properties: [ - Checked: true Label: '涓婁紶PPA' Taborder: 1 ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurveEnable_cCurveEnable_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurveEnable_cCurveEnable_OnChanged.def index f23663f..97c1f53 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurveEnable_cCurveEnable_OnChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurveEnable_cCurveEnable_OnChanged.def @@ -9,8 +9,8 @@ { Body: [* - efCurve.Enabled( this.Checked(), "" ); - cPreviousEditionCurve.Enabled( this.Checked(), "" ); + //efCurve.Enabled( this.Checked(), "" ); + //cPreviousEditionCurve.Enabled( this.Checked(), "" ); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurve_bCurve_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurve_bCurve_OnClick.def index 72eaf70..c88046e 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurve_bCurve_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurve_bCurve_OnClick.def @@ -7,7 +7,7 @@ DefinitionID: 'Responsedef_WebButton_OnClick' Precondition: [* - return cCurveEnable.Checked(); + //return cCurveEnable.Checked(); *] QuillAction { @@ -29,6 +29,8 @@ efCurve.Text( fileName ); dhBinaryDataCurve.Data( &webFileBinaryData ); dhOriginalFileNameCurve.Data( fileName ); + + cCurveEnable.Checked( true ); } } onerror { WebMessageBox::Error( e.GeneralInformation() ); diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnCreated.def index 49d9857..b1bd376 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnCreated.def @@ -9,7 +9,7 @@ { Body: [* - this.Enabled( cPPAEnable.Checked(), "" ); + //this.Enabled( cPPAEnable.Checked(), "" ); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnUserChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnUserChanged.def index 56212dd..6e59ccd 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnUserChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnUserChanged.def @@ -27,6 +27,8 @@ dhBinaryDataPPA.Data( BinaryData::FromBase64EncodedString( dhLocalBinaryDataPPA.Data().AsBase64EncodedString() ) ); dhOriginalFileNamePPA.Data( dhLocalOriginalFileNamePPA.Data() ); } + + cPPAEnable.Checked( true ); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAEnable_cPPAEnable_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAEnable_cPPAEnable_OnChanged.def index 2bafc54..33d8285 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAEnable_cPPAEnable_OnChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAEnable_cPPAEnable_OnChanged.def @@ -9,9 +9,9 @@ { Body: [* - efPPA.Enabled( this.Checked(), "" ); - cPPA.Enabled( this.Checked(), "" ); - cPPAPPAArchiveEnable.Enabled( this.Checked(), "" ); + //efPPA.Enabled( this.Checked(), "" ); + //cPPA.Enabled( this.Checked(), "" ); + //cPPAPPAArchiveEnable.Enabled( this.Checked(), "" ); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_bPPA_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_bPPA_OnClick.def index 0110168..46226c9 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_bPPA_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_bPPA_OnClick.def @@ -7,7 +7,7 @@ DefinitionID: 'Responsedef_WebButton_OnClick' Precondition: [* - return cPPAEnable.Checked(); + //return cPPAEnable.Checked(); *] QuillAction { @@ -29,6 +29,8 @@ efPPA.Text( fileName ); dhBinaryDataPPA.Data( &webFileBinaryData ); dhOriginalFileNamePPA.Data( fileName ); + + cPPAEnable.Checked( true ); } } onerror { WebMessageBox::Error( e.GeneralInformation() ); diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_cPPA_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_cPPA_OnCreated.def index 5b53a0b..6510f56 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_cPPA_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_cPPA_OnCreated.def @@ -9,7 +9,7 @@ { Body: [* - this.Enabled( cPPAEnable.Checked(), "" ); + //this.Enabled( cPPAEnable.Checked(), "" ); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnCreated.def index 2a9aa8d..feb6b37 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnCreated.def @@ -9,7 +9,7 @@ { Body: [* - this.Enabled( cCurveEnable.Checked(), "" ); + //this.Enabled( cCurveEnable.Checked(), "" ); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnUserChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnUserChanged.def index 86af038..7fe5e41 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnUserChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnUserChanged.def @@ -26,6 +26,8 @@ dhBinaryDataCurve.Data( BinaryData::FromBase64EncodedString( dhLocalBinaryDataCurve.Data().AsBase64EncodedString() ) ); dhOriginalFileNameCurve.Data( dhLocalOriginalFileNameCurve.Data() ); } + + cCurveEnable.Checked( true ); *] GroupServerCalls: false } diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_MatrixEditorTable\043358.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_MatrixEditorTable\043358.def" new file mode 100644 index 0000000..7474baa --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_MatrixEditorTable\043358.def" @@ -0,0 +1,98 @@ +Quintiq file version 2.0 +Component MatrixEditorTable id:MatrixEditorTable_358 +{ + #keys: '[415136.0.989500591]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCellTable + { + #keys: '[415136.0.989500592]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractorCell + { + #keys: '[415136.0.989500593]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'CCEngineLogisticsCostReport' + Source: 'DataHolderTable' + Taborder: 0 + Transformation: 'Row.Cell' + ] + } + ] + Properties: + [ + Attributes: 'RentEnterCost;RentOutCost;FactoryToRentTransCost;RentStorageCost;EstimatedTotalCost;Coefficient;TotalCost' + Column: 'Column' + Row: 'Row' + Taborder: 0 + ] + } + Component MatrixEditorRowsTable + { + #keys: '[415136.0.989500594]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractorRow + { + #keys: '[415136.0.989500595]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'CCEngineLogisticsCostReport' + Source: 'DataHolderTable' + Taborder: 0 + Transformation: 'Row' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'RowNr' + Taborder: 1 + ] + } + Component MatrixEditorColumnsTable + { + #keys: '[415136.0.989500596]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractorColumn + { + #keys: '[415136.0.989500597]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'CCEngineLogisticsCostReport' + Source: 'DataHolderTable' + Taborder: 0 + Transformation: 'Column' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'Index' + Taborder: 2 + ] + } + #child: matrixEditorActionBarPageTable_1 + #child: matrixeditorContextMenuTable_1 + ] + Properties: + [ + AllowMultipleAttributes: true + Columns: 'MatrixEditorColumnsTable' + ContextMenu: 'matrixeditorContextMenuTable' + Rows: 'MatrixEditorRowsTable' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelCCEngineLogisticsCostReportHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelCCEngineLogisticsCostReportHeader.def new file mode 100644 index 0000000..c2ab378 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelCCEngineLogisticsCostReportHeader.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +Component PanelCCEngineLogisticsCostReportHeader +{ + #keys: '[415136.0.989500449]' + BaseType: 'WebPanel' + Children: + [ + #child: PanelCCEngineLogisticsCostReportSearch + ] + Properties: + [ + FixedSize: true + Taborder: 2 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelCCEngineLogisticsCostReportSearch.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelCCEngineLogisticsCostReportSearch.def new file mode 100644 index 0000000..ce604b5 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelCCEngineLogisticsCostReportSearch.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +Component PanelCCEngineLogisticsCostReportSearch +{ + #keys: '[415136.0.989500450]' + BaseType: 'WebPanel' + Children: + [ + #child: PanelExport_670 + #child: PanelPower_653 + #child: PanelMQBMLB_667 + #child: PanelGeneration_969 + ] + Properties: + [ + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelExport\043670.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelExport\043670.def" new file mode 100644 index 0000000..bb0fe40 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelExport\043670.def" @@ -0,0 +1,34 @@ +Quintiq file version 2.0 +Component PanelExport id:PanelExport_670 +{ + #keys: '[415136.0.989500459]' + BaseType: 'WebPanel' + Children: + [ + Component ButtonExport + { + #keys: '[415136.0.989500460]' + BaseType: 'WebButton' + Properties: + [ + Image: 'EXPORT1' + Taborder: 1 + ] + } + Component ButtonSearch + { + #keys: '[415136.0.989500461]' + BaseType: 'WebButton' + Properties: + [ + Image: 'VIEW' + Taborder: 0 + ] + } + ] + Properties: + [ + Orientation: 'horizontal' + Taborder: 3 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelGeneration\043969.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelGeneration\043969.def" new file mode 100644 index 0000000..98fd409 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelGeneration\043969.def" @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component PanelGeneration id:PanelGeneration_969 +{ + #keys: '[415136.0.989500453]' + BaseType: 'WebPanel' + Children: + [ + Component ddslGeneration + { + #keys: '[415136.0.989500454]' + BaseType: 'WebDropDownStringList' + Properties: + [ + Label: 'Generation' + Taborder: 0 + ] + } + ] + Properties: + [ + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelMQBMLB\043667.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelMQBMLB\043667.def" new file mode 100644 index 0000000..095d66d --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelMQBMLB\043667.def" @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component PanelMQBMLB id:PanelMQBMLB_667 +{ + #keys: '[415136.0.989500455]' + BaseType: 'WebPanel' + Children: + [ + Component ddslMQBMLB + { + #keys: '[415136.0.989500456]' + BaseType: 'WebDropDownStringList' + Properties: + [ + Label: 'MQB/MLB' + Taborder: 0 + ] + } + ] + Properties: + [ + Orientation: 'horizontal' + Taborder: 1 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelPower\043653.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelPower\043653.def" new file mode 100644 index 0000000..8631fe8 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelPower\043653.def" @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component PanelPower id:PanelPower_653 +{ + #keys: '[415136.0.989500457]' + BaseType: 'WebPanel' + Children: + [ + Component ddslPower + { + #keys: '[415136.0.989500458]' + BaseType: 'WebDropDownStringList' + Properties: + [ + Label: 'Power' + Taborder: 0 + ] + } + ] + Properties: + [ + Orientation: 'horizontal' + Taborder: 2 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelTable\043211.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelTable\043211.def" new file mode 100644 index 0000000..8bec6f3 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_PanelTable\043211.def" @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component PanelTable id:PanelTable_211 +{ + #keys: '[415136.0.989500590]' + BaseType: 'WebPanel' + Children: + [ + #child: MatrixEditorTable_358 + ] + Properties: + [ + Taborder: 3 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_matrixEditorActionBarPageTable\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_matrixEditorActionBarPageTable\0431.def" new file mode 100644 index 0000000..84c5a9d --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_matrixEditorActionBarPageTable\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPageTable id:matrixEditorActionBarPageTable_1 +{ + #keys: '[415136.0.989500598]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 3 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_matrixeditorContextMenuTable\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_matrixeditorContextMenuTable\0431.def" new file mode 100644 index 0000000..02ffa78 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Component_matrixeditorContextMenuTable\0431.def" @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenuTable id:matrixeditorContextMenuTable_1 +{ + #keys: '[415136.0.989500599]' + BaseType: 'matrixeditorContextMenu' + Properties: + [ + Taborder: 4 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_MatrixEditorTable_358_OnUpdateValue.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_MatrixEditorTable_358_OnUpdateValue.def new file mode 100644 index 0000000..ef0c204 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_MatrixEditorTable_358_OnUpdateValue.def @@ -0,0 +1,32 @@ +Quintiq file version 2.0 +#parent: MatrixEditorTable_358 +Response OnUpdateValue ( + CCEngineLogisticsCostRow row, + CCEngineLogisticsCostColumn column, + CCEngineLogisticsCostCell cell, + Number value, + Number oldvalue +) id:Response_MatrixEditorTable_358_OnUpdateValue +{ + #keys: '[415136.0.989501207]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebMatrixEditor_OnUpdateValue' + QuillAction + { + Body: + [* + table := selectobject( MacroPlan, CCEngineLogisticsCostReport, report, not report.IsShow() ); + cell.Coefficient( value ); + traverse( table, Row, trow, trow.Name() = row.Name() ){ + traverse( trow, Cell, tcel, tcel.Column().Name() = column.Name() ){ + tcel.RentEnterCost( cell.RentEnterCost() ); + tcel.RentOutCost( cell.RentOutCost() ); + tcel.FactoryToRentTransCost( cell.FactoryToRentTransCost() ); + tcel.RentStorageCost( cell.RentStorageCost() ); + tcel.Coefficient( cell.Coefficient() ); + } + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_OnCreated.def new file mode 100644 index 0000000..0061f31 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_OnCreated.def @@ -0,0 +1,25 @@ +Quintiq file version 2.0 +#parent: #root +Response OnCreated () id:Response_FormCCEngineLogisticsCostReport_OnCreated +{ + #keys: '[415136.0.989500680]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + //鍒濆鍖� + //if( not exists( MacroPlan, FinancialProductionSource, source, not source.IsImport() ) ){ + CCEngineLogisticsCostReport::Initialize( MacroPlan ); + //} + //info( '------------------1----------------' ); + table := selectobject( MacroPlan, CCEngineLogisticsCostReport, table, table.IsShow() ); + //info( '------------------2----------------', table.IsImport(), table.IsShow() ); + DataHolderTable.Data( table ); + + dhSearch.Data( table.MacroPlan().CCEngineLogisticsCostSearch() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelExport_670_ButtonExport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelExport_670_ButtonExport_OnClick.def new file mode 100644 index 0000000..3956972 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelExport_670_ButtonExport_OnClick.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: PanelExport_670/ButtonExport +Response OnClick () id:Response_PanelExport_670_ButtonExport_OnClick +{ + #keys: '[415136.0.989500440]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + binaryValue := CCEngineLogisticsCostReport::Download( MacroPlan ); + + Application.Download( CCEngineLogisticsCostReport::GetDefaultName() + '.xlsx', binaryValue.AsBinaryData() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelExport_670_ButtonSearch_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelExport_670_ButtonSearch_OnClick.def new file mode 100644 index 0000000..0396f68 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelExport_670_ButtonSearch_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: PanelExport_670/ButtonSearch +Response OnClick () id:Response_PanelExport_670_ButtonSearch_OnClick +{ + #keys: '[415136.0.989500439]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelGeneration_969_ddslGeneration_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelGeneration_969_ddslGeneration_OnCreated.def new file mode 100644 index 0000000..845a6c6 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelGeneration_969_ddslGeneration_OnCreated.def @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: PanelGeneration_969/ddslGeneration +Response OnCreated () id:Response_PanelGeneration_969_ddslGeneration_OnCreated +{ + #keys: '[415136.0.989500446]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.Generation() ); + + valueString := values.Concatenate( ";" ); + valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); + + valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; + + this.Strings( valueString ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelGeneration_969_ddslGeneration_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelGeneration_969_ddslGeneration_OnSelectionChanged.def new file mode 100644 index 0000000..a3099b3 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelGeneration_969_ddslGeneration_OnSelectionChanged.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: PanelGeneration_969/ddslGeneration +Response OnSelectionChanged () id:Response_PanelGeneration_969_ddslGeneration_OnSelectionChanged +{ + #keys: '[415136.0.989500445]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' + QuillAction + { + Body: + [* + if( dhSearch.Data().Generation() <> selection ){ + dhSearch.Data().Generation( selection ); + // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelMQBMLB_667_ddslMQBMLB_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelMQBMLB_667_ddslMQBMLB_OnCreated.def new file mode 100644 index 0000000..4c3fe96 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelMQBMLB_667_ddslMQBMLB_OnCreated.def @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: PanelMQBMLB_667/ddslMQBMLB +Response OnCreated () id:Response_PanelMQBMLB_667_ddslMQBMLB_OnCreated +{ + #keys: '[415136.0.989500444]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.MQBMLB() ); + + valueString := values.Concatenate( ";" ); + valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); + + valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; + + this.Strings( valueString ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelMQBMLB_667_ddslMQBMLB_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelMQBMLB_667_ddslMQBMLB_OnSelectionChanged.def new file mode 100644 index 0000000..6514388 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelMQBMLB_667_ddslMQBMLB_OnSelectionChanged.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: PanelMQBMLB_667/ddslMQBMLB +Response OnSelectionChanged () id:Response_PanelMQBMLB_667_ddslMQBMLB_OnSelectionChanged +{ + #keys: '[415136.0.989500443]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' + QuillAction + { + Body: + [* + if( dhSearch.Data().MqbMlb() <> selection ){ + dhSearch.Data().MqbMlb( selection ); + // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelPower_653_ddslPower_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelPower_653_ddslPower_OnCreated.def new file mode 100644 index 0000000..8e2b817 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelPower_653_ddslPower_OnCreated.def @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: PanelPower_653/ddslPower +Response OnCreated () id:Response_PanelPower_653_ddslPower_OnCreated +{ + #keys: '[415136.0.989500442]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.Power() ); + + valueString := values.Concatenate( ";" ); + valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); + + valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; + + this.Strings( valueString ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelPower_653_ddslPower_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelPower_653_ddslPower_OnSelectionChanged.def new file mode 100644 index 0000000..a5e290e --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/Response_PanelPower_653_ddslPower_OnSelectionChanged.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: PanelPower_653/ddslPower +Response OnSelectionChanged () id:Response_PanelPower_653_ddslPower_OnSelectionChanged +{ + #keys: '[415136.0.989500441]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' + QuillAction + { + Body: + [* + if( dhSearch.Data().Power() <> selection ){ + dhSearch.Data().Power( selection ); + // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/_ROOT_Component_FormCCEngineLogisticsCostReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/_ROOT_Component_FormCCEngineLogisticsCostReport.def new file mode 100644 index 0000000..5428df3 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCCEngineLogisticsCostReport/_ROOT_Component_FormCCEngineLogisticsCostReport.def @@ -0,0 +1,39 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormCCEngineLogisticsCostReport +{ + #keys: '[415136.0.989500338]' + BaseType: 'WebForm' + Children: + [ + Component DataHolderTable id:DataHolderTable_437 + { + #keys: '[415136.0.989500367]' + BaseType: 'WebDataHolder' + Databinding: 'CCEngineLogisticsCostReport' + Properties: + [ + Taborder: 0 + ] + } + Component dhSearch id:dhSearch_902 + { + #keys: '[415136.0.989500384]' + BaseType: 'WebDataHolder' + Databinding: 'CCEngineLogisticsCostSearch' + Properties: + [ + Taborder: 1 + ] + } + #child: PanelCCEngineLogisticsCostReportHeader + #child: PanelTable_211 + ] + Properties: + [ + Description: 'CC engine logistics cost report' + Image: 'MONEY2' + Title: '闀挎槬鍙戝姩鏈虹墿娴佹垚鏈姤琛�' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_MatrixEditor531.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_MatrixEditor531.def new file mode 100644 index 0000000..6179223 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_MatrixEditor531.def @@ -0,0 +1,98 @@ +Quintiq file version 2.0 +Component MatrixEditor531 +{ + #keys: '[413988.0.1478231769]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCell611 + { + #keys: '[413988.0.1478231770]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractor453 + { + #keys: '[413988.0.1478231771]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'CC_EngineRackRow.CC_EngineRackCell' + ] + } + ] + Properties: + [ + Attributes: 'TotalQuantityOfMaterialRacks;NumberOfEmptyShelves;StorageFeesForRentedWarehouses;OutboundExpensesForRentedWarehouses;ExternalRentalWarehouseTransportationCosts;RentalWarehouseStorageFees;CleaningCost;EstimatedTotalCost;Coefficient;TotalCost' + Column: 'CC_EngineRackColumn' + Row: 'CC_EngineRackRow' + Taborder: 0 + ] + } + Component MatrixEditorRows933 + { + #keys: '[413988.0.1478231774]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor852 + { + #keys: '[413988.0.1478231775]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'CC_EngineRackRow' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'Name' + Taborder: 1 + ] + } + Component MatrixEditorColumns163 + { + #keys: '[413988.0.1478231778]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor403 + { + #keys: '[413988.0.1478231779]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'CC_EngineRackColumn' + ] + } + ] + Properties: + [ + Legend: 'StartDate' + SortCriteria: 'StartDate' + Taborder: 2 + ] + } + #child: matrixEditorActionBarPage178 + #child: matrixeditorContextMenu683 + ] + Properties: + [ + AllowMultipleAttributes: true + Columns: 'MatrixEditorColumns163' + ContextMenu: 'matrixeditorContextMenu683' + Rows: 'MatrixEditorRows933' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixEditorActionBarPage178.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixEditorActionBarPage178.def new file mode 100644 index 0000000..f3c1018 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixEditorActionBarPage178.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPage178 +{ + #keys: '[413988.0.1478231782]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 3 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixeditorContextMenu683.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixeditorContextMenu683.def new file mode 100644 index 0000000..8625d7e --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixeditorContextMenu683.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenu683 +{ + #keys: '[413988.0.1478231785]' + BaseType: 'matrixeditorContextMenu' + Properties: + [ + Taborder: 4 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pContent.def new file mode 100644 index 0000000..565cb90 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pContent.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component pContent +{ + #keys: '[413988.0.1478230471]' + BaseType: 'WebPanel' + Children: + [ + #child: MatrixEditor531 + ] + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def new file mode 100644 index 0000000..67e1268 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +Component pHeader +{ + #keys: '[413988.0.1478230459]' + BaseType: 'WebPanel' + Children: + [ + Component bRefresh + { + #keys: '[413988.0.1478230548]' + BaseType: 'WebButton' + Properties: + [ + Image: 'REFRESH' + Taborder: 0 + ] + } + ] + Properties: + [ + Border: true + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bRefresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bRefresh_OnClick.def new file mode 100644 index 0000000..f544dae --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/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.1478230577]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + CC_EngineRackCell::CreateData( MacroPlan ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/_ROOT_Component_FormCC_EngineRackReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/_ROOT_Component_FormCC_EngineRackReport.def new file mode 100644 index 0000000..4e8e307 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/_ROOT_Component_FormCC_EngineRackReport.def @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormCC_EngineRackReport +{ + #keys: '[413988.0.1478230433]' + BaseType: 'WebForm' + Children: + [ + #child: pHeader + #child: pContent + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_MatrixEditorTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_MatrixEditorTable.def new file mode 100644 index 0000000..eddbd91 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_MatrixEditorTable.def @@ -0,0 +1,98 @@ +Quintiq file version 2.0 +Component MatrixEditorTable +{ + #keys: '[415136.0.992750484]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCellTable + { + #keys: '[415136.0.992750485]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractorCell + { + #keys: '[415136.0.992750486]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'DLEngineLogisticsCostReport' + Source: 'DataHolderTable' + Taborder: 0 + Transformation: 'Row.Cell' + ] + } + ] + Properties: + [ + Attributes: 'CCRentEnterCost;CCRentOutCost;CCLongTransCoat;CCShortTransCost;CCRentStorageCost;DLRentEnterCost;DLRentOutCost;FactoryToDLRentTransCost;DLRentStorageCost;EstimatedTotalCost;Coefficient;TotalCost' + Column: 'Column' + Row: 'Row' + Taborder: 0 + ] + } + Component MatrixEditorRowsTable + { + #keys: '[415136.0.992750487]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractorRow + { + #keys: '[415136.0.992750488]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'DLEngineLogisticsCostReport' + Source: 'DataHolderTable' + Taborder: 0 + Transformation: 'Row' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'RowNr' + Taborder: 1 + ] + } + Component MatrixEditorColumnsTable + { + #keys: '[415136.0.992750489]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractorColumn + { + #keys: '[415136.0.992750490]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'DLEngineLogisticsCostReport' + Source: 'DataHolderTable' + Taborder: 0 + Transformation: 'Column' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'Index' + Taborder: 2 + ] + } + #child: matrixEditorActionBarPageTable + #child: matrixeditorContextMenuTable + ] + Properties: + [ + AllowMultipleAttributes: true + Columns: 'MatrixEditorColumnsTable' + ContextMenu: 'matrixeditorContextMenuTable' + Rows: 'MatrixEditorRowsTable' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelDLEngineLogisticsCostReportHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelDLEngineLogisticsCostReportHeader.def new file mode 100644 index 0000000..780d9b1 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelDLEngineLogisticsCostReportHeader.def @@ -0,0 +1,15 @@ +Quintiq file version 2.0 +Component PanelDLEngineLogisticsCostReportHeader +{ + #keys: '[415136.0.992750421]' + BaseType: 'WebPanel' + Children: + [ + #child: PanelDLEngineLogisticsCostReportSearch + ] + Properties: + [ + FixedSize: true + Taborder: 2 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelDLEngineLogisticsCostReportSearch.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelDLEngineLogisticsCostReportSearch.def new file mode 100644 index 0000000..151c26b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelDLEngineLogisticsCostReportSearch.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +Component PanelDLEngineLogisticsCostReportSearch +{ + #keys: '[415136.0.992750422]' + BaseType: 'WebPanel' + Children: + [ + #child: PanelExport + #child: PanelPower + #child: PanelMQBMLB + #child: PanelGeneration + ] + Properties: + [ + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelExport.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelExport.def new file mode 100644 index 0000000..bfe165a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelExport.def @@ -0,0 +1,34 @@ +Quintiq file version 2.0 +Component PanelExport +{ + #keys: '[415136.0.992750423]' + BaseType: 'WebPanel' + Children: + [ + Component ButtonExport + { + #keys: '[415136.0.992750424]' + BaseType: 'WebButton' + Properties: + [ + Image: 'EXPORT1' + Taborder: 1 + ] + } + Component ButtonSearch + { + #keys: '[415136.0.992750425]' + BaseType: 'WebButton' + Properties: + [ + Image: 'VIEW' + Taborder: 0 + ] + } + ] + Properties: + [ + Orientation: 'horizontal' + Taborder: 3 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelGeneration.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelGeneration.def new file mode 100644 index 0000000..0a77a61 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelGeneration.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component PanelGeneration +{ + #keys: '[415136.0.992750430]' + BaseType: 'WebPanel' + Children: + [ + Component ddslGeneration + { + #keys: '[415136.0.992750431]' + BaseType: 'WebDropDownStringList' + Properties: + [ + Label: 'Generation' + Taborder: 0 + ] + } + ] + Properties: + [ + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelMQBMLB.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelMQBMLB.def new file mode 100644 index 0000000..be8faab --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelMQBMLB.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component PanelMQBMLB +{ + #keys: '[415136.0.992750428]' + BaseType: 'WebPanel' + Children: + [ + Component ddslMQBMLB + { + #keys: '[415136.0.992750429]' + BaseType: 'WebDropDownStringList' + Properties: + [ + Label: 'MQB/MLB' + Taborder: 0 + ] + } + ] + Properties: + [ + Orientation: 'horizontal' + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelPower.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelPower.def new file mode 100644 index 0000000..a79871c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelPower.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component PanelPower +{ + #keys: '[415136.0.992750426]' + BaseType: 'WebPanel' + Children: + [ + Component ddslPower + { + #keys: '[415136.0.992750427]' + BaseType: 'WebDropDownStringList' + Properties: + [ + Label: 'Power' + Taborder: 0 + ] + } + ] + Properties: + [ + Orientation: 'horizontal' + Taborder: 2 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelTable.def new file mode 100644 index 0000000..ef8cd4d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_PanelTable.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component PanelTable +{ + #keys: '[415136.0.992750483]' + BaseType: 'WebPanel' + Children: + [ + #child: MatrixEditorTable + ] + Properties: + [ + Taborder: 3 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_matrixEditorActionBarPageTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_matrixEditorActionBarPageTable.def new file mode 100644 index 0000000..d4dfb58 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_matrixEditorActionBarPageTable.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPageTable +{ + #keys: '[415136.0.992750491]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 3 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_matrixeditorContextMenuTable.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_matrixeditorContextMenuTable.def new file mode 100644 index 0000000..270ddaa --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Component_matrixeditorContextMenuTable.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenuTable +{ + #keys: '[415136.0.992750492]' + BaseType: 'matrixeditorContextMenu' + Properties: + [ + Taborder: 4 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_MatrixEditorTable_OnUpdateValue.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_MatrixEditorTable_OnUpdateValue.def new file mode 100644 index 0000000..70dd20a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_MatrixEditorTable_OnUpdateValue.def @@ -0,0 +1,33 @@ +Quintiq file version 2.0 +#parent: MatrixEditorTable +Response OnUpdateValue ( + DLEngineLogisticsCostRow row, + DLEngineLogisticsCostColumn column, + DLEngineLogisticsCostCell cell, + Number value, + Number oldvalue +) id:Response_MatrixEditorTable_OnUpdateValue +{ + #keys: '[415136.0.992750480]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebMatrixEditor_OnUpdateValue' + QuillAction + { + Body: + [* + table := selectobject( MacroPlan, DLEngineLogisticsCostReport, report, not report.IsShow() ); + info( focusedattribute ); + //cell.Coefficient( value ); + //traverse( table, Row, trow, trow.Name() = row.Name() ){ + // traverse( trow, Cell, tcel, tcel.Column().Name() = column.Name() ){ + // tcel.RentEnterCost( cell.RentEnterCost() ); + // tcel.RentOutCost( cell.RentOutCost() ); + // tcel.FactoryToRentTransCost( cell.FactoryToRentTransCost() ); + // tcel.RentStorageCost( cell.RentStorageCost() ); + // tcel.Coefficient( cell.Coefficient() ); + // } + //} + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_OnCreated.def new file mode 100644 index 0000000..ca7f4d4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_OnCreated.def @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +#parent: #root +Response OnCreated () id:Response_FormDLEngineLogisticsCostReport_OnCreated +{ + #keys: '[415136.0.997148779]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + //鍒濆鍖� + //if( not exists( MacroPlan, FinancialProductionSource, source, not source.IsImport() ) ){ + DLEngineLogisticsCostReport::Initialize( MacroPlan ); + //} + //info( '------------------1----------------' ); + table := selectobject( MacroPlan, DLEngineLogisticsCostReport, table, table.IsShow() ); + //info( '------------------2----------------', table.IsImport(), table.IsShow() ); + DataHolderTable.Data( table ); + + dhSearch.Data( table.MacroPlan().DLEngineLogisticsCostSearch() ); + info( '------------------2----------------', isnull( dhSearch.Data() ) ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelExport_ButtonExport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelExport_ButtonExport_OnClick.def new file mode 100644 index 0000000..be0eca4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelExport_ButtonExport_OnClick.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: PanelExport/ButtonExport +Response OnClick () id:Response_PanelExport_ButtonExport_OnClick +{ + #keys: '[415136.0.992750420]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + binaryValue := DLEngineLogisticsCostReport::Download( MacroPlan ); + + Application.Download( DLEngineLogisticsCostReport::GetDefaultName() + '.xlsx', binaryValue.AsBinaryData() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelExport_ButtonSearch_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelExport_ButtonSearch_OnClick.def new file mode 100644 index 0000000..52aab5d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelExport_ButtonSearch_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: PanelExport/ButtonSearch +Response OnClick () id:Response_PanelExport_ButtonSearch_OnClick +{ + #keys: '[415136.0.992750419]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelGeneration_ddslGeneration_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelGeneration_ddslGeneration_OnCreated.def new file mode 100644 index 0000000..9ae9bfa --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelGeneration_ddslGeneration_OnCreated.def @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: PanelGeneration/ddslGeneration +Response OnCreated () id:Response_PanelGeneration_ddslGeneration_OnCreated +{ + #keys: '[415136.0.992750414]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.Generation() ); + + valueString := values.Concatenate( ";" ); + valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); + + valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; + + this.Strings( valueString ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelGeneration_ddslGeneration_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelGeneration_ddslGeneration_OnSelectionChanged.def new file mode 100644 index 0000000..ea16450 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelGeneration_ddslGeneration_OnSelectionChanged.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: PanelGeneration/ddslGeneration +Response OnSelectionChanged () id:Response_PanelGeneration_ddslGeneration_OnSelectionChanged +{ + #keys: '[415136.0.992750413]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' + QuillAction + { + Body: + [* + if( dhSearch.Data().Generation() <> selection ){ + dhSearch.Data().Generation( selection ); + // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelMQBMLB_ddslMQBMLB_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelMQBMLB_ddslMQBMLB_OnCreated.def new file mode 100644 index 0000000..58c4ae0 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelMQBMLB_ddslMQBMLB_OnCreated.def @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: PanelMQBMLB/ddslMQBMLB +Response OnCreated () id:Response_PanelMQBMLB_ddslMQBMLB_OnCreated +{ + #keys: '[415136.0.992750416]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.MQBMLB() ); + + valueString := values.Concatenate( ";" ); + valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); + + valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; + + this.Strings( valueString ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelMQBMLB_ddslMQBMLB_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelMQBMLB_ddslMQBMLB_OnSelectionChanged.def new file mode 100644 index 0000000..e9f628d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelMQBMLB_ddslMQBMLB_OnSelectionChanged.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: PanelMQBMLB/ddslMQBMLB +Response OnSelectionChanged () id:Response_PanelMQBMLB_ddslMQBMLB_OnSelectionChanged +{ + #keys: '[415136.0.992750415]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' + QuillAction + { + Body: + [* + if( dhSearch.Data().MqbMlb() <> selection ){ + dhSearch.Data().MqbMlb( selection ); + // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelPower_ddslPower_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelPower_ddslPower_OnCreated.def new file mode 100644 index 0000000..a402a02 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelPower_ddslPower_OnCreated.def @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: PanelPower/ddslPower +Response OnCreated () id:Response_PanelPower_ddslPower_OnCreated +{ + #keys: '[415136.0.992750418]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.Power() ); + + valueString := values.Concatenate( ";" ); + valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); + + valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; + + this.Strings( valueString ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelPower_ddslPower_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelPower_ddslPower_OnSelectionChanged.def new file mode 100644 index 0000000..bb72128 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/Response_PanelPower_ddslPower_OnSelectionChanged.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: PanelPower/ddslPower +Response OnSelectionChanged () id:Response_PanelPower_ddslPower_OnSelectionChanged +{ + #keys: '[415136.0.992750417]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' + QuillAction + { + Body: + [* + if( dhSearch.Data().Power() <> selection ){ + dhSearch.Data().Power( selection ); + // DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/_ROOT_Component_FormDLEngineLogisticsCostReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/_ROOT_Component_FormDLEngineLogisticsCostReport.def new file mode 100644 index 0000000..5e6807d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDLEngineLogisticsCostReport/_ROOT_Component_FormDLEngineLogisticsCostReport.def @@ -0,0 +1,39 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormDLEngineLogisticsCostReport +{ + #keys: '[415136.0.992750301]' + BaseType: 'WebForm' + Children: + [ + Component DataHolderTable + { + #keys: '[415136.0.992750351]' + BaseType: 'WebDataHolder' + Databinding: 'DLEngineLogisticsCostReport' + Properties: + [ + Taborder: 0 + ] + } + Component dhSearch + { + #keys: '[415136.0.992750376]' + BaseType: 'WebDataHolder' + Databinding: 'DLEngineLogisticsCostSearch' + Properties: + [ + Taborder: 1 + ] + } + #child: PanelDLEngineLogisticsCostReportHeader + #child: PanelTable + ] + Properties: + [ + Description: 'DL engine logistics cost report' + Image: 'MONEY2' + Title: '澶ц繛鍙戝姩鏈虹墿娴佹垚鏈姤琛�' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_MatrixEditor392.def b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_MatrixEditor392.def new file mode 100644 index 0000000..e80f1a7 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_MatrixEditor392.def @@ -0,0 +1,98 @@ +Quintiq file version 2.0 +Component MatrixEditor392 +{ + #keys: '[413988.0.1489707423]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCell613 + { + #keys: '[413988.0.1489707424]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractor134 + { + #keys: '[413988.0.1489707425]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'DL_EngineRackRow.DL_EngineRackCell' + ] + } + ] + Properties: + [ + Attributes: 'TotalQuantityOfMaterialRacks;NumberOfEmptyShelves;CCStorageFeesForRentedWarehouses;CCOutboundExpensesForRentedWarehouses;CCRentalWarehouseStorageFees;CCLineHaulCost;CCShortDistanceTransportationCosts;DLStorageFeesForRentedWarehouses;DLOutboundExpensesForRentedWarehouses;DLExternalRentalWarehouseTransportationCosts;DLRentalWarehouseStorageFees;CleaningCost;EstimatedTotalCost;Coefficient;TotalCost' + Column: 'DL_EngineRackColumn' + Row: 'DL_EngineRackRow' + Taborder: 0 + ] + } + Component MatrixEditorRows494 + { + #keys: '[413988.0.1489707428]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor670 + { + #keys: '[413988.0.1489707429]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'DL_EngineRackRow' + ] + } + ] + Properties: + [ + Legend: 'Name' + SortCriteria: 'Name' + Taborder: 1 + ] + } + Component MatrixEditorColumns989 + { + #keys: '[413988.0.1489707432]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor963 + { + #keys: '[413988.0.1489707433]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'DL_EngineRackColumn' + ] + } + ] + Properties: + [ + Legend: 'StartDate' + SortCriteria: 'StartDate' + Taborder: 2 + ] + } + #child: matrixEditorActionBarPage191 + #child: matrixeditorContextMenu687 + ] + Properties: + [ + AllowMultipleAttributes: true + Columns: 'MatrixEditorColumns989' + ContextMenu: 'matrixeditorContextMenu687' + Rows: 'MatrixEditorRows494' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_matrixEditorActionBarPage191.def b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_matrixEditorActionBarPage191.def new file mode 100644 index 0000000..850426c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_matrixEditorActionBarPage191.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPage191 +{ + #keys: '[413988.0.1489707436]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 3 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_matrixeditorContextMenu687.def b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_matrixeditorContextMenu687.def new file mode 100644 index 0000000..70b409c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_matrixeditorContextMenu687.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenu687 +{ + #keys: '[413988.0.1489707439]' + BaseType: 'matrixeditorContextMenu' + Properties: + [ + Taborder: 4 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_pContent.def new file mode 100644 index 0000000..d978a52 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_pContent.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component pContent +{ + #keys: '[413988.0.1488511835]' + BaseType: 'WebPanel' + Children: + [ + #child: MatrixEditor392 + ] + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_pHeader.def new file mode 100644 index 0000000..d9d33b0 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Component_pHeader.def @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +Component pHeader +{ + #keys: '[413988.0.1488511824]' + BaseType: 'WebPanel' + Children: + [ + Component bRefresh + { + #keys: '[413988.0.1488540773]' + BaseType: 'WebButton' + Properties: + [ + Image: 'REFRESH' + Taborder: 0 + ] + } + ] + Properties: + [ + Border: true + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Response_pHeader_bRefresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/Response_pHeader_bRefresh_OnClick.def new file mode 100644 index 0000000..198ae43 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/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.1488531173]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + DL_EngineRackCell::CreateData( MacroPlan ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/_ROOT_Component_FormDL_EngineRackReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/_ROOT_Component_FormDL_EngineRackReport.def new file mode 100644 index 0000000..23cd4e6 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormDL_EngineRackReport/_ROOT_Component_FormDL_EngineRackReport.def @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormDL_EngineRackReport +{ + #keys: '[413988.0.1488511807]' + BaseType: 'WebForm' + Children: + [ + #child: pHeader + #child: pContent + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/_ROOT_Component_FormEnginePipelineReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/_ROOT_Component_FormEnginePipelineReport.def index 3a6bcc9..bac49a1 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/_ROOT_Component_FormEnginePipelineReport.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormEnginePipelineReport/_ROOT_Component_FormEnginePipelineReport.def @@ -42,7 +42,8 @@ ] Properties: [ + Description: 'Engine pipeline report' Image: 'DOCUMENT_CONNECTION' - Title: 'Engine pipeline report' + Title: '鍙戝姩鏈虹绾挎姤琛�' ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialProductionReport/_ROOT_Component_FormFinancialProductionReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialProductionReport/_ROOT_Component_FormFinancialProductionReport.def index 146e986..7e63fb7 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialProductionReport/_ROOT_Component_FormFinancialProductionReport.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialProductionReport/_ROOT_Component_FormFinancialProductionReport.def @@ -32,7 +32,8 @@ ] Properties: [ + Description: 'Financial production report' Image: 'DOCUMENT_REFRESH' - Title: 'Financial production report' + Title: '璐㈠姟浜ч噺鎶ヨ〃' ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/_ROOT_Component_FormFinancialSalesReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/_ROOT_Component_FormFinancialSalesReport.def index 248b71f..a30e8a2 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/_ROOT_Component_FormFinancialSalesReport.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialSalesReport/_ROOT_Component_FormFinancialSalesReport.def @@ -32,7 +32,8 @@ ] Properties: [ + Description: 'Financial sales report' Image: 'MONEY_COINS2' - Title: 'Financial sales report' + Title: '璐㈠姟閿�閲忔姤琛�' ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/_ROOT_Component_FormFinancialWeeklyReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/_ROOT_Component_FormFinancialWeeklyReport.def index af4455d..349ef4e 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/_ROOT_Component_FormFinancialWeeklyReport.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/_ROOT_Component_FormFinancialWeeklyReport.def @@ -12,7 +12,8 @@ ] Properties: [ + Description: 'Financial weekly report' Image: 'DOCUMENT_DIRTY' - Title: 'Financial weekly report' + Title: '闀挎槬鍛ㄦ姤琛�' ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/_ROOT_Component_FormInventorySummaryReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/_ROOT_Component_FormInventorySummaryReport.def index 18cc120..0f7034e 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/_ROOT_Component_FormInventorySummaryReport.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/_ROOT_Component_FormInventorySummaryReport.def @@ -32,7 +32,8 @@ ] Properties: [ + Description: 'Inventory summary report' Image: 'DOCUMENT_CHECK_EDIT' - Title: 'Inventory summary report' + Title: '搴撳瓨姹囨�绘姤琛�' ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/_ROOT_Component_FormMachiningPipelineReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/_ROOT_Component_FormMachiningPipelineReport.def index 323e7bd..7d54e40 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/_ROOT_Component_FormMachiningPipelineReport.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormMachiningPipelineReport/_ROOT_Component_FormMachiningPipelineReport.def @@ -32,7 +32,8 @@ ] Properties: [ + Description: 'Machining pipeline report' Image: 'DOCUMENT_CONNECTION' - Title: 'Machining pipeline report' + Title: '鏈哄姞浠剁绾挎姤琛�' ] } diff --git a/_Main/UI/MacroPlannerWebApp/Views/CCEngineRackReport.vw b/_Main/UI/MacroPlannerWebApp/Views/CCEngineRackReport.vw new file mode 100644 index 0000000..dbdb6c2 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/CCEngineRackReport.vw @@ -0,0 +1,206 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormCC_EngineRackReport + { + title: 'QMacroPlanner::FormCC_EngineRackReport' + shown: true + componentID: 'QMacroPlanner::FormCC_EngineRackReport' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 14 + columnPosition: 1 + columnSpan: 12 + } + components + { + FormCC_EngineRackReport_pHeader + { + sizeRatio: 1 + } + FormCC_EngineRackReport_pContent + { + sizeRatio: 1 + } + FormCC_EngineRackReport_MatrixEditor531 + { + gridColor: '#c4c4c4' + totalHeaderWidth: 200 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QMacroPlanner::FormCC_EngineRackReport.MatrixEditor531' + state + { + cells + { + attributes + { + attribute_TotalQuantityOfMaterialRacks + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'TotalQuantityOfMaterialRacks' + } + attribute_NumberOfEmptyShelves + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 1 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'NumberOfEmptyShelves' + } + attribute_StorageFeesForRentedWarehouses + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 2 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'StorageFeesForRentedWarehouses' + } + attribute_OutboundExpensesForRentedWarehouses + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 3 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'OutboundExpensesForRentedWarehouses' + } + attribute_ExternalRentalWarehouseTransportationCosts + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 4 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'ExternalRentalWarehouseTransportationCosts' + } + attribute_RentalWarehouseStorageFees + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 5 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'RentalWarehouseStorageFees' + } + attribute_CleaningCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 6 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'CleaningCost' + } + attribute_EstimatedTotalCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 7 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'EstimatedTotalCost' + } + attribute_Coefficient + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 8 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'Coefficient' + } + attribute_TotalCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 9 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'TotalCost' + } + } + } + columns + { + sorting + { + criteria: "datamember:'StartDate'" + } + } + rows + { + sorting + { + criteria: "datamember:'Name'" + } + } + } + } + } + } + } + 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: 'SATELLITE' + description: '' + } + formatversion: 2 + id: 'CCEngineRackReport' + name: 'CCEngineRackReport' + isglobal: false + isroot: true +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/CC_engine_logistics_cost_report_view.vw b/_Main/UI/MacroPlannerWebApp/Views/CC_engine_logistics_cost_report_view.vw new file mode 100644 index 0000000..d2ca7d4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/CC_engine_logistics_cost_report_view.vw @@ -0,0 +1,104 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormCCEngineLogisticsCostReport + { + title: 'QMacroPlanner::FormCCEngineLogisticsCostReport' + shown: true + componentID: 'QMacroPlanner::FormCCEngineLogisticsCostReport' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 15 + columnPosition: 1 + columnSpan: 13 + } + components + { + FormCCEngineLogisticsCostReport_PanelCCEngineLogisticsCostReportHeader + { + sizeRatio: 1 + } + FormCCEngineLogisticsCostReport_PanelCCEngineLogisticsCostReportSearch + { + sizeRatio: 1 + } + FormCCEngineLogisticsCostReport_PanelGeneration + { + sizeRatio: 1 + } + FormCCEngineLogisticsCostReport_PanelMQBMLB + { + sizeRatio: 1 + } + FormCCEngineLogisticsCostReport_PanelPower + { + sizeRatio: 1 + } + FormCCEngineLogisticsCostReport_PanelExport + { + sizeRatio: 1 + } + FormCCEngineLogisticsCostReport_PanelTable + { + sizeRatio: 1 + } + FormCCEngineLogisticsCostReport_MatrixEditorTable + { + gridColor: '#c4c4c4' + totalHeaderWidth: 113 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QMacroPlanner::FormCCEngineLogisticsCostReport.MatrixEditorTable' + state + { + cells + { + attributes + { + } + } + columns + { + sorting + { + criteria: "datamember:'Index'" + } + } + rows + { + sorting + { + criteria: "datamember:'RowNr'" + } + } + } + } + } + } + } + } + userconfigurableinformation + { + } + page: '' + group: '' + index: 27 + image: 'MONEY2' + description: '' + } + formatversion: 2 + id: 'CC_engine_logistics_cost_report_view' + name: 'CC engine logistics cost report view' + isglobal: false + isroot: true +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/DLEngineRackReport.vw b/_Main/UI/MacroPlannerWebApp/Views/DLEngineRackReport.vw new file mode 100644 index 0000000..12f5037 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/DLEngineRackReport.vw @@ -0,0 +1,89 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormDL_EngineRackReport + { + title: 'QMacroPlanner::FormDL_EngineRackReport' + shown: true + componentID: 'QMacroPlanner::FormDL_EngineRackReport' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 14 + columnPosition: 1 + columnSpan: 12 + } + components + { + FormDL_EngineRackReport_pHeader + { + sizeRatio: 1 + } + FormDL_EngineRackReport_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: 'DOCUMENT_MUSIC' + description: '' + } + formatversion: 2 + id: 'DLEngineRackReport' + name: 'DLEngineRackReport' + isglobal: false + isroot: true +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/DL_engine_logistics_cost_report_view.vw b/_Main/UI/MacroPlannerWebApp/Views/DL_engine_logistics_cost_report_view.vw new file mode 100644 index 0000000..ad0533f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/DL_engine_logistics_cost_report_view.vw @@ -0,0 +1,200 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormDLEngineLogisticsCostReport + { + title: 'QMacroPlanner::FormDLEngineLogisticsCostReport' + shown: true + componentID: 'QMacroPlanner::FormDLEngineLogisticsCostReport' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 15 + columnPosition: 1 + columnSpan: 13 + } + components + { + FormDLEngineLogisticsCostReport_PanelDLEngineLogisticsCostReportHeader + { + sizeRatio: 1 + } + FormDLEngineLogisticsCostReport_PanelDLEngineLogisticsCostReportSearch + { + sizeRatio: 1 + } + FormDLEngineLogisticsCostReport_PanelGeneration + { + sizeRatio: 1 + } + FormDLEngineLogisticsCostReport_PanelMQBMLB + { + sizeRatio: 1 + } + FormDLEngineLogisticsCostReport_PanelPower + { + sizeRatio: 1 + } + FormDLEngineLogisticsCostReport_PanelExport + { + sizeRatio: 1 + } + FormDLEngineLogisticsCostReport_PanelTable + { + sizeRatio: 1 + } + FormDLEngineLogisticsCostReport_MatrixEditorTable + { + gridColor: '#c4c4c4' + totalHeaderWidth: 200 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QMacroPlanner::FormDLEngineLogisticsCostReport.MatrixEditorTable' + state + { + cells + { + attributes + { + attribute_CCRentEnterCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'CCRentEnterCost' + } + attribute_CCRentOutCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 1 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'CCRentOutCost' + } + attribute_CCLongTransCoat + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 2 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'CCLongTransCoat' + } + attribute_CCShortTransCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 3 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'CCShortTransCost' + } + attribute_CCRentStorageCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 4 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'CCRentStorageCost' + } + attribute_DLRentEnterCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 5 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'DLRentEnterCost' + } + attribute_DLRentOutCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 6 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'DLRentOutCost' + } + attribute_FactoryToDLRentTransCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 7 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'FactoryToDLRentTransCost' + } + attribute_DLRentStorageCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 8 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'DLRentStorageCost' + } + attribute_EstimatedTotalCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 9 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'EstimatedTotalCost' + } + attribute_Coefficient + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 10 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'Coefficient' + } + attribute_TotalCost + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 11 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'TotalCost' + } + } + } + columns + { + sorting + { + criteria: "datamember:'Index'" + } + } + rows + { + sorting + { + criteria: "datamember:'RowNr'" + } + } + } + } + } + } + } + } + userconfigurableinformation + { + } + page: '' + group: '' + index: 28 + image: 'MONEY2' + description: '' + } + formatversion: 2 + id: 'DL_engine_logistics_cost_report_view' + name: 'DL engine logistics cost report view' + isglobal: false + isroot: true +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/DemandComparison.vw b/_Main/UI/MacroPlannerWebApp/Views/DemandComparison.vw index 3f13663..177feb9 100644 --- a/_Main/UI/MacroPlannerWebApp/Views/DemandComparison.vw +++ b/_Main/UI/MacroPlannerWebApp/Views/DemandComparison.vw @@ -2,6 +2,142 @@ { viewcontents { + forms + { + form_FormDemandComparison + { + title: 'QMacroPlanner::FormDemandComparison' + shown: true + componentID: 'QMacroPlanner::FormDemandComparison' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 17 + columnPosition: 1 + columnSpan: 11 + } + components + { + FormDemandComparison_PanelDemandComparison294 + { + sizeRatio: 1 + } + FormDemandComparison_PanelSelection + { + sizeRatio: 1 + } + FormDemandComparison_PanelSelectionChecks + { + sizeRatio: 1 + } + FormDemandComparison_pSelectionPR + { + sizeRatio: 1 + } + FormDemandComparison_pSelectionPP + { + sizeRatio: 1 + } + FormDemandComparison_pSelectionBudget + { + sizeRatio: 1 + } + FormDemandComparison_pSelectionPPA + { + sizeRatio: 1 + } + FormDemandComparison_pSelectionIDS + { + sizeRatio: 1 + } + FormDemandComparison_pSelectionCurve + { + sizeRatio: 1 + } + FormDemandComparison_PanelFilter + { + sizeRatio: 1 + } + FormDemandComparison_PanelOperation + { + sizeRatio: 1 + } + FormDemandComparison_pVersionInfomation + { + sizeRatio: 1 + } + FormDemandComparison_PanelDemandComparison + { + sizeRatio: 1 + } + FormDemandComparison_MatrixEditor + { + gridColor: '#c4c4c4' + totalHeaderWidth: 200 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QMacroPlanner::FormDemandComparison.MatrixEditor' + state + { + cells + { + attributes + { + attribute_BaseVersion + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'BaseVersion' + } + attribute_CompareVersion + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 1 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'CompareVersion' + } + attribute_Gap + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 2 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'Gap' + } + } + } + columns + { + sorting + { + criteria: "datamember:'Index'" + } + } + rows + { + sorting + { + criteria: "datamember:'Index'" + } + } + } + } + } + } + } + } + userconfigurableinformation + { + } page: '' group: '' index: 0 diff --git a/_Main/UI/MacroPlannerWebApp/Views/LogisticsCostParameterSetting.vw b/_Main/UI/MacroPlannerWebApp/Views/LogisticsCostParameterSetting.vw index e12a02c..3835185 100644 --- a/_Main/UI/MacroPlannerWebApp/Views/LogisticsCostParameterSetting.vw +++ b/_Main/UI/MacroPlannerWebApp/Views/LogisticsCostParameterSetting.vw @@ -43,21 +43,12 @@ subtotals: '' width: 82 } - column_Product - { - columnId: 'Product' - dataPath: 'Product' - dataType: 'string' - index: 2 - subtotals: '' - width: 63 - } column_Factory { columnId: 'Factory' dataPath: 'Factory' dataType: 'string' - index: 3 + index: 2 subtotals: '' width: 60 } @@ -66,7 +57,7 @@ columnId: 'PackagingCapacity' dataPath: 'PackagingCapacity' dataType: 'number' - index: 4 + index: 3 subtotals: '' width: 86 } @@ -75,7 +66,7 @@ columnId: 'WarehousingPrice' dataPath: 'WarehousingPrice' dataType: 'number' - index: 5 + index: 4 subtotals: '' width: 126 } @@ -84,7 +75,7 @@ columnId: 'OutboundPrice' dataPath: 'OutboundPrice' dataType: 'number' - index: 6 + index: 5 subtotals: '' width: 126 } @@ -93,7 +84,7 @@ columnId: 'StoragePrice' dataPath: 'StoragePrice' dataType: 'number' - index: 7 + index: 6 subtotals: '' width: 124 } @@ -102,7 +93,7 @@ columnId: 'OtherPrice' dataPath: 'OtherPrice' dataType: 'number' - index: 8 + index: 7 subtotals: '' width: 127 } diff --git a/_Main/UI/MacroPlannerWebApp/Views/ShiftPlan.vw b/_Main/UI/MacroPlannerWebApp/Views/ShiftPlan.vw index 7ecffee..7db21f8 100644 --- a/_Main/UI/MacroPlannerWebApp/Views/ShiftPlan.vw +++ b/_Main/UI/MacroPlannerWebApp/Views/ShiftPlan.vw @@ -2,10 +2,94 @@ { viewcontents { - image: 'COMPASSES' + forms + { + form_FormShihtPlan + { + title: 'QMacroPlanner::FormShihtPlan' + shown: true + componentID: 'QMacroPlanner::FormShihtPlan' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 17 + columnPosition: 1 + columnSpan: 9 + } + components + { + FormShihtPlan_PanelMatrix + { + sizeRatio: 1 + } + FormShihtPlan_pOperation + { + sizeRatio: 1 + } + FormShihtPlan_MatrixEditorTimeCapacities + { + gridColor: '#c4c4c4' + totalHeaderWidth: 200 + attributeHeaderWidthRatio: 0.6 + nameHeaderWidthRatio: 0.4 + columnWidth: 100 + horizontalGrid: true + verticalGrid: true + backendState + { + componentId: 'QMacroPlanner::FormShihtPlan.MatrixEditorTimeCapacities' + state + { + cells + { + attributes + { + attribute_Outcome + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 0 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'Outcome' + } + attribute_Remark + { + type: 'MatrixEditorWebApiCellDataModelInterest' + index: 1 + rowsubtotal: '' + columnsubtotal: '' + attribute: 'Remark' + } + } + } + columns + { + sorting + { + criteria: "datamember:'StartDate'" + } + } + rows + { + sorting + { + criteria: "datamember:'DisplayIndex'" + } + } + } + } + } + } + } + } + userconfigurableinformation + { + } page: '' group: '' index: 0 + image: 'COMPASSES' description: '' } formatversion: 2 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 9b27eac..2fa4484 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-07' + LASTACCESSDATE '2024-08-12' VIEWSCOPE 0 } AUTHORIZATIONS -- Gitblit v1.9.3