From 964b4387b4b3ba025c996b1f04fa75f72ae5da09 Mon Sep 17 00:00:00 2001
From: renhao <renhui.hao@capgemini.com>
Date: 星期五, 22 九月 2023 14:28:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev'
---
LibMacroPlanner/BL/Type_Scenario/Method_CanSelect.qbl | 3
_Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl | 47
_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl | 2
_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInSeason.qbl | 19
_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl | 19
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_listContextMenuCapacityAndSaleBudgeFilterYear#1.def | 25
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOPDetails.def | 41
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_list_ForecastView_FOF#670.def | 2
_Main/Sys/Integration/Mapping/PanelMaterialResponseResult1.xml | 0
_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPHeader.def | 65
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth10.qbl | 8
_Main/BL/Type_MappingVersionControl/Attribute_Qty.qbl | 8
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByMonth.qbl | 22
_Main/BL/Relations/Relation_VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus.qbl | 23
_Main/BL/Type_VersionControl/Attribute_Notes.qbl | 7
_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream.qbl | 34
_Main/BL/Type_VersionControl/_ROOT_Type_VersionControl.qbl | 10
_Main/BL/Relations/Relation_PriorityFactor_MacroPlan_MacroPlan_PriorityFactor.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def | 23
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth3.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/_ROOT_Component_FormOrderLock.def | 66
_Main/BL/Type_MappingSaleBudge/Attribute_PlaceOfProductionOfArray.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def | 18
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/_ROOT_Component_FormCapacityAndSaleBudgeFilterBusinessType.def | 17
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityTotalScore.qbl | 7
_Main/BL/Type_VersionStatusDetail/StaticMethod_FindStatus.qbl | 18
_Main/BL/Type_VersionStatusDetail/StaticMethod_GetFullVersionID.qbl | 20
_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def | 2
_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetBySeason.qbl | 21
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def | 47
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity6.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth6.qbl | 8
_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl | 21
_Main/BL/Type_OrderLockLog/Attribute_LastModify.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def | 10
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def | 1
_Main/BL/Type_MappingVersionControl/Attribute_VersionID.qbl | 9
_Main/BL/Type_CustomerAndForecastOrder/Attribute_SalesSegmentName.qbl | 7
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity9.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResultBusinessTypeDetails.def | 59
_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl | 47
_Main/BL/Type_VersionStatusDetail/_ROOT_Type_VersionStatusDetail.qbl | 10
_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def | 13
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetBySeason.qbl | 21
_Main/BL/Type_CustomerOrder/Attribute_LastModifyTime.qbl | 8
_Main/BL/Type_VersionControl/Attribute_User.qbl | 8
_Main/BL/Type_VersionStatusDetail/Attribute_SingleVersionName.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_Edit.def | 20
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Component_Menurelease.def | 12
_Main/BL/Type_MappingVersionControl/Attribute_EndTime.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixeditorContextMenuProductPlanning#1.def | 57
_Main/BL/Type_H_MaterialHedgingResult/Attribute_ID.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityEquivalent.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth11.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Material/_ROOT_Component_FrmAuthorizeAndCountersign_Material.def | 1
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity2.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderUnlock_OnClick.def | 38
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_ClickBtnOK.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyCoefficient#902.def | 34
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/_ROOT_Component_FormCapacityAndSaleBudgeCompare.def | 3
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_MPSync_MPSync_Ca.qbl | 23
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth11.qbl | 8
_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_CreateIfNotExist.qbl | 17
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResultBusinessTypeDetails_MenuEmergencyTopping_OnClick.def | 24
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop360#136.def | 29
_Main/BL/Type_CustomerOrder/Attribute_LastModify.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def | 28
_Main/BL/Relations/Relation_H_MaterialHedgingResult_MacroPlan_MacroPlan_H_MaterialHedgingResult.qbl | 23
_Main/UI/MacroPlannerWebApp/Views/PriorityPolicy.vw | 2258 ++++++++
_Main/BL/Type_CapacityAllocationResults/Attribute_RequirementDate.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth3.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listActionBarPagePriorityFactorGrading.def | 10
_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserCh#171.def | 16
_Main/BL/Type_CapacityAndSaleBudge/Attribute_BusinessType.qbl | 2
_Main/Sys/Integration/Brokers/PanelMaterialResponseResult1.xml | 0
_Main/BL/Type_MappingSaleBudge/DefaultValue_PlaceOfProductionOfEvaporation.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlContent_dsForecastDemandDate_OnCreated.def | 16
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth4.qbl | 8
_Main/BL/Type_VersionControl/Attribute_IsReleased.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResultDetails642.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listActionBarPageOrderLock#1.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_MatrixEditorProductPlanning#679.def | 209
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales1.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockPlanning.def | 17
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Method_New.def | 1
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def | 17
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_ListCapacityAndSaleBudgeFilterBusinessType_OnUserCheckedChanged#670.def | 16
_Main/BL/Type_MappingVersionControl/Attribute_VersionName.qbl | 8
_Main/BL/Type_VersionStatus/Attribute_BusinessType.qbl | 8
_Main/BL/Type_MappingVersionControl/Attribute_DataFrom.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def | 28
_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter#323.qbl | 15
_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyBySeason.qbl | 21
_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl | 7
_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl | 22
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth5.qbl | 8
_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl | 20
LibMacroPlanner/BL/Type_Scenario/Method_SetReleased.qbl | 12
_Main/BL/Type_PriorityFactorDetails/StaticMethod_CreateTestData.qbl | 2
_Main/BL/Type_MappingSaleBudge/Attribute_NumberOfMask.qbl | 8
_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMeasurementUnit.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_listActionBarPageCapacityAndSaleBudgeFilterBusinessType.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOP.def | 10
_Main/BL/Type_H_MaterialHedgingResult/DefaultValue_CustomerCode.qbl | 6
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth4.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def | 24
_Main/BL/Type_MappingSaleBudge/DefaultValue_NumberOfMask.qbl | 6
_Main/BL/Type_MappingVersionControl/TypeIndex_TypeIndexVersionControl.qbl | 28
_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop597#324.def | 28
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity5.qbl | 8
_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl | 18
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def | 17
_Main/BL/Type_MappingAnnualBudget/Attribute_yearNo.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario#549.def | 1
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def | 23
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton#713.def | 107
_Main/BL/Type_VersionStatusDetail/DefaultValue_SingleVersionName.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/_ROOT_Component_FormCapacityAndSaleBudgeFilterYear.def | 3
_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/Attribute_BusinessType.qbl | 7
_Main/BL/Type_MPSync/StaticMethod_CapacityAndSaleBudgeYearsString.qbl | 14
_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl | 59
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth9.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResultDetails.def | 10
_Main/BL/Type_H_MaterialHedgingResult/Attribute_ReverseQty.qbl | 8
_Main/BL/Type_PriorityResultGroupDetail/_ROOT_Type_PriorityResultGroupDetail.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderLock_OnClick.def | 37
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_Panel261_223_btn_Cancel_FAAC_OnClick.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def | 114
_Main/UI/MacroPlannerWebApp/Views/填产方案列表.vw | 2
_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl | 50
_Main/BL/Type_GlobalDTOTable/StaticMethod_GetBusinessTypeName.qbl | 32
_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/_ROOT_Component_FrmRAShow.def | 33
_Main/UI/MacroPlannerWebApp/Component_Form234/_ROOT_Component_FrmOrderResultEx#234.def | 1
_Main/BL/Relations/Relation_PriorityResult_MacroPlan_MacroPlan_PriorityResult.qbl | 23
_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl | 2
_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetByHalfYear.qbl | 21
_Main/BL/Type_MappingVersionControl/Attribute_StartTime.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def | 9
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick.def | 22
_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnApply_OnClick.def | 19
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth12.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth9.qbl | 8
_Main/BL/Type_CapacityAllocationResults/Attribute_Division.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listContextMenuOrderLock#1.def | 10
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity8.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth12.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick.def | 21
_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInSheetInHalfYear.qbl | 19
_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick.def | 22
_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def | 93
_Main/BL/InfoMessages.qbl | 10
_Main/BL/Type_CapacityAllocationResults/Attribute_VersionNumber.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/_ROOT_Component_FrmOrderForecast.def | 9
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth1.qbl | 8
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity3.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop264#19.def | 28
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales2.qbl | 8
_Main/BL/Type_MappingAnnualBudget/Attribute_BusinessType.qbl | 8
_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl | 23
_Main/BL/Relations/Relation_PriorityFactorDetails_PriorityFactor_PriorityFactor_PriorityFactorD.qbl | 2
_Main/BL/Type_OrderLockLog/Attribute_OrderID.qbl | 7
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth4.qbl | 8
_Main/BL/Type_VersionControl/Attribute_VersionID.qbl | 8
_Main/BL/Type_PriorityResultDetail/DefaultValue_StockingPointID.qbl | 6
_Main/BL/Type_OrderLockLog/Attribute_End.qbl | 7
_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMaterialCode.qbl | 8
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSaleByMonth.qbl | 22
_Main/BL/Type_VersionStatusDetail/Attribute_SortNumber.qbl | 7
_Main/BL/Relations/Relation_PriorityResultBusinessTypeDetail_PriorityResult_PriorityResult_Prio.qbl | 23
_Main/BL/EDI/Broker_Broker_OTD_VersionControlToDB.qbl | 133
_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInSheetInYear.qbl | 15
_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_List696.def | 41
_Main/BL/Type_CapacityAllocationResults/_ROOT_Type_CapacityAllocationResults.qbl | 10
_Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl | 22
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def | 1
_Main/BL/Type_MappingSaleBudge/DefaultValue_NumberOfCut.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnCancel_OnClick.def | 15
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_InitialData778_OnClick#971.def | 35
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Component_pnlActions.def | 40
_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/_ROOT_Type_CapacityAndSaleBudgeFilterBusinessType.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnCancel_OnClick.def | 15
_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_MPSync_MPSync_CapacityAndSal.qbl | 23
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByYear.qbl | 20
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def | 50
_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleBase.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/_ROOT_Component_DialogCreateEditScenario.def | 1
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop#217.def | 27
_Main/BL/Type_VersionControl/Attribute_SingleVersionName.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth1.qbl | 8
_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl | 7
_Main/BL/Type_GlobalDTOTable/StaticMethod_GetNextCalType.qbl | 41
_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl | 64
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_ClickBtnOK.def | 16
_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl | 55
_Main/BL/Type_H_MaterialHedgingResult/DefaultValue_SKU.qbl | 6
_Main/BL/Type_PriorityResult/DefaultValue_CustomerID.qbl | 6
_Main/BL/Type_VersionStatus/Attribute_SortNumber.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlContent.def | 24
LibMacroPlanner/BL/InfoMessages.qbl | 4
_Main/BL/Type_PriorityResultBusinessTypeDetail/_ROOT_Type_PriorityResultBusinessTypeDetail.qbl | 10
_Main/BL/Type_PriorityResultDetail/DefaultValue_BusinessType.qbl | 0
_Main/BL/Type_Scenario/Attribute_IsCreateNewVersion.qbl | 8
_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfModules.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlContent.def | 48
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResultDetails#633.def | 46
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def | 28
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuLock_OnClick.def | 34
_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl | 2
_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/_ROOT_Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray.qbl | 10
_Main/BL/Type_PriorityResultDetail/DefaultValue_UnitOfMeasureName.qbl | 6
_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl | 4
_Main/BL/Type_Scenario/DefaultValue_VersionID.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def | 59
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_ListPriorityFactorGrading.def | 59
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick.def | 22
_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlContent_dsOrderDate_OnCreated.def | 16
_Main/BL/Type_VersionControl/StaticMethod_ReleaseLatestVersion.qbl | 10
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth2.qbl | 8
_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl | 43
_Main/BL/Type_VersionControl/Attribute_CreateTime.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth3.qbl | 8
_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_TestData.qbl | 2
_Main/BL/Type_MappingAnnualBudget/DefaultValue_BusinessType.qbl | 0
_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMeasurementUnit.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_Add_Order_FOF_OnClick.def | 2
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity7.qbl | 8
_Main/BL/Type_OrderLockLog/Attribute_EndDate.qbl | 7
_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl | 37
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def | 21
_Main/BL/Relations/Relation_VersionStatusDetail_VersionStatus_VersionStatus_VersionStatusDetail.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def | 17
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop612#612.def | 28
_Main/BL/Type_VersionControl/StaticMethod_Create.qbl | 29
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderPlanDeliver_OnC.def | 51
_Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastData.qbl | 71
_Main/BL/Type_CustomerAndForecastOrder/Attribute_StockingPointID.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_listActionBarPageCapacityAndSaleBudgeFilterPlaceOfProductionOfArra.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixEditorActionBarPageProductPlanning#1.def | 10
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOPDetails.def | 10
_Main/BL/Type_VersionStatusDetail/Attribute_VersionID.qbl | 8
_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl | 25
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Material/Response_OnCreated.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelMatrix#780.def | 24
_Main/BL/Type_H_MaterialHedgingResult/Attribute_Unit.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_Resolution.qbl | 8
_Main/BL/Type_MappingAnnualBudget/_ROOT_Type_MappingAnnualBudget.qbl | 10
_Main/BL/Type_PriorityResult/DefaultValue_SalesSegmentName.qbl | 6
_Main/BL/Type_H_MaterialHedgingResult/_ROOT_Type_H_MaterialHedgingResult.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_PanelOrderLockLog.def | 14
_Main/BL/Relations/Relation_PriorityResultGroupDetail_PriorityResult_PriorityResult_PriorityRes.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listActionBarPageFillingSchemeDetail.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockOrder.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick.def | 21
_Main/BL/Type_PriorityResult/Attribute_Customer.qbl | 7
_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/_ROOT_Component_FormCapacityAndSaleBudgeFilterItem.def | 3
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth10.qbl | 8
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity8.qbl | 8
_Main/BL/Type_MappingSaleBudge/DefaultValue_DisplayTechnology.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnUserSelectionChanged.def | 19
_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_listContextMenuOrderLockLog.def | 10
_Main/BL/Type_MappingVersionControl/Attribute_ReleaseTime.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_Panel418_btn_Add_FM_OnClick.def | 2
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def | 20
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_MenuPrintRequest_OnClick#623.def | 4
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def | 43
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_ListOrderLock_844_OnUserCheckedChanged.def | 18
_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_ListOrderLockLog.def | 41
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def | 9
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop104#150.def | 30
_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_listActionBarPage112.def | 10
_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Response_OnCreated.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuNew_OnClick.def | 19
_Main/BL/Type_CustomerOrder/Attribute_IsLocked.qbl | 8
_Main/BL/Type_MPSync/StaticMethod_TestData.qbl | 64
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity1.qbl | 8
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales3.qbl | 8
_Main/BL/Type_VersionControl/Attribute_CalType.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResult.def | 41
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetails.def | 32
_Main/BL/Type_H_MaterialHedgingResult/Attribute_Serial.qbl | 8
_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_to.xml | 0
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def | 43
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth2.qbl | 8
_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInSheetInSeason.qbl | 19
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResultDetails590.def | 10
_Main/BL/Type_VersionStatus/Attribute_BusinessName.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_YearNo.qbl | 7
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl | 7
_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl | 40
_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetByMonth.qbl | 22
_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByHalfYear.qbl | 21
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth2.qbl | 8
_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl | 7
_Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl | 30
_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_Panel950.def | 25
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_Panel796.def | 26
_Main/UI/MacroPlannerWebApp/Views/OrderLock.vw | 351 +
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales11.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOPDetails.def | 10
_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_CreateIfNotExist.qbl | 17
_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInPCSInYear.qbl | 15
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuRelease_OnClick.def | 4
_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByYear.qbl | 18
_Main/BL/Type_VersionStatusDetail/Attribute_CreateTime.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResultDetails.def | 24
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_Panel989.def | 24
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def | 3
_Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl | 37
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuUnlock_OnClick.def | 30
_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_OnCreated.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuDelete_OnClick.def | 28
_Main/BL/Relations/Relation_MappingAnnualBudget_MPSync_MPSync_MappingAnnualBudget.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_OnCreated.def | 43
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity5.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOP.def | 10
_Main/BL/Relations/Relation_PriorityPolicy_MacroPlan_MacroPlan_PriorityPolicy.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOP.def | 41
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSaleByYear.qbl | 20
_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl | 7
_Main/BL/Type_VersionStatusDetail/Attribute_ReleaseTime.qbl | 8
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity11.qbl | 8
_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/_ROOT_Component_FormFillingSchemeDetail#802.def | 4
_Main/BL/Type_OrderLockLog/Attribute_Notes.qbl | 8
LibMacroPlanner/BL/Type_Scenario/Attribute_IsReleased.qbl | 9
_Main/BL/Type_MappingSaleBudge/Attribute_Deleted.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth7.qbl | 8
_Main/BL/Type_H_MessagePassing/Attribute_ValueJsonString.qbl | 8
_Main/BL/Type_Scenario/Attribute_IsOrderLocked.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/_ROOT_Component_DialogNewPriorityPolicy.def | 32
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def | 24
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth6.qbl | 8
_Main/BL/Type_H_FunctionClass/StaticMethod_SM_MaterialReverse.qbl | 65
_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl | 14
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def | 20
_Main/BL/Type_PriorityResult/Function_CalcPriorityResultScore.qbl | 21
_Main/BL/Type_OrderLockLog/Attribute_ProductID.qbl | 7
_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl | 18
_Main/UI/MacroPlannerWebApp/Component_FormHedgingOfLog/_ROOT_Component_FormHedgingOfLog.def | 4
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_pnlActions_btnOk_OnClick.def | 22
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResult.def | 15
_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Component_Panel418.def | 17
_Main/BL/Type_CustomerAndForecastOrder/DefaultValue_StockingPointID.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Material_FOF503_OnClick#222.def | 43
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales4.qbl | 8
_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_pnlActions.def | 10
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSTotal.qbl | 8
_Main/BL/Type_MappingSaleBudge/Method_GetSaleAmountInYear.qbl | 15
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResult.def | 10
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth9.qbl | 8
_Main/BL/Type_PriorityResult/DefaultValue_BusinessType.qbl | 0
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEdit_OnClick.def | 20
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity2.qbl | 8
_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl | 6
_Main/BL/Type_MappingSaleBudge/DefaultValue_OrgCode.qbl | 6
_Main/BL/Type_MappingVersionControl/_ROOT_Type_MappingVersionControl.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormMaterialPurchase/_ROOT_Component_FormMaterialPurchase.def | 2
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel383.def | 1
_Main/BL/Type_CapacityAndSaleBudge/_ROOT_Type_CapacityAndSaleBudge.qbl | 2
_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_GetProductCodesByPlaceOfProductionOfArray.qbl | 9
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity9.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick.def | 16
_Main/BL/Type_Scenario/Method_SetReleased.qbl | 5
_Main/BL/Type_H_MaterialHedgingResult/Attribute_ForecastQty.qbl | 8
_Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl | 19
_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnCancel_OnClick.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLock.def | 16
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales10.qbl | 8
_Main/BL/Type_CapacityAndSaleBudgeChartRow/Attribute_PlaceOfProductionOfArray.qbl | 2
_Main/BL/Type_CapacityAllocationResults/Attribute_PanelBase.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountTotal.qbl | 8
_Main/BL/Type_Scenario/Attribute_VersionID.qbl | 8
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity4.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/_ROOT_Component_DialogEditPriorityFactor.def | 32
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listActionBarPagePriorityFactor.def | 2
_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def | 4
_Main/BL/Type_PriorityResult/DefaultValue_ProductID.qbl | 6
_Main/BL/Type_VersionStatus/Attribute_LastReleaseTime.qbl | 8
_Main/BL/Type_OrderLockLog/Attribute_IsLocked#2.qbl | 7
_Main/BL/Type_OrderLockLog/Attribute_Price.qbl | 7
_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionC.qbl | 23
_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Method_JustShow.def | 10
_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl | 23
_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByMonth.qbl | 22
_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEdit_OnClick.def | 20
_Main/BL/Type_MappingVersionControl/Attribute_User.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderCustomerOrder_O.def | 51
_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_Panel418_btn_Add_FM_OnClick#975.def | 28
_Main/BL/Type_PriorityResult/DefaultValue_UnitOfMeasureName.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCopyScenario_OnClick.def | 12
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnCreated.def | 37
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuEdit_OnClick.def | 20
_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_Panel224.def | 48
_Main/BL/Relations/Relation_OrderLockLog_MacroPlan_MacroPlan_OrderLockLog.qbl | 23
_Main/BL/Type_MappingSaleBudge/Attribute_OrgCode.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def | 82
_Main/BL/Type_H_MaterialHedgingResult/Attribute_SKU.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicySelectBusinessType_OnCreated.def | 17
_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_from.xml | 0
_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_GetProductCodesByBusinessType.qbl | 11
_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_PanelSalesDemands.def | 1
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Order_FOF449_OnClick#880.def | 43
.gitignore | 2
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth5.qbl | 8
_Main/BL/Type_VersionControl/Attribute_LongVersionName.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_OnCreated.def | 6
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuDelete_OnClick.def | 19
_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnSelectionCh.def | 20
_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeCompare.qbl | 109
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity10.qbl | 8
_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl | 9
_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetByYear.qbl | 20
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def | 1
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Component_pnlContent.def | 36
_Main/BL/Type_VersionStatus/_ROOT_Type_VersionStatus.qbl | 10
_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter.qbl | 20
_Main/BL/Type_PriorityResult/DefaultValue_Customer.qbl | 6
_Main/BL/Type_MPSync/Method_CapacityAndSaleBudgeBusinessTypeString.qbl | 11
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_liH_Forecast.def | 4
_Main/BL/Relations/Relation_VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl.qbl | 23
_Main/BL/Type_OrderLockLog/Attribute_CustomerName#23.qbl | 7
_Main/BL/Type_PRHistoryData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl | 23
_Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl | 17
_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/_ROOT_Component_DialogVersionIDCopy.def | 24
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeader_OnClick.def | 58
_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl | 3
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_ListFillingSchemeDetail.def | 10
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop744#568.def | 27
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def | 16
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def | 24
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity1.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listContextMenuPriorityPolicy.def | 46
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales5.qbl | 8
_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl | 7
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth1.qbl | 8
_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Attribute_PlaceOfProductionOfArray.qbl | 7
_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInPCSInYear.qbl | 15
_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart.qbl | 116
_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl | 7
_Main/BL/Type_VersionControl/Attribute_BusinessType.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def | 16
_Main/BL/Type_MappingVersionControl/Attribute_StockingPointID.qbl | 9
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/_ROOT_Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def | 17
_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl | 6
_Main/BL/Type_CustomerOrder/StaticMethod_LockUnlock.qbl | 59
_Main/BL/Type_VersionControl/Attribute_ReleaseTime.qbl | 8
_Main/BL/Type_OrderLockLog/Attribute_UnitOfMeasureName.qbl | 7
_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetNextFriday.qbl | 29
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOP.def | 14
_Main/BL/Type_VersionStatusDetail/DefaultValue_User.qbl | 6
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity4.qbl | 8
_Main/BL/Type_PriorityFactor/Attribute_coefficient.qbl | 2
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_ListCapacityAndSaleBudgeFilterBusinessType_OnUserCheckedChanged.def | 18
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listActionBarPagePriorityPolicy.def | 10
_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl | 16
_Main/BL/Type_MappingAnnualBudget/Attribute_ProductId.qbl | 7
_Main/BL/Type_VersionStatusDetail/DefaultValue_Notes.qbl | 6
_Main/BL/Type_MappingVersionControl/Attribute_ProductID.qbl | 9
_Main/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl | 20
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlContent_dsForecastDemandDate_OnCreated.def | 16
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlActions.def | 40
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth5.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPDetails.def | 15
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetTotal.qbl | 8
_Main/BL/Type_MappingSaleBudge/DefaultValue_CapacityEquivalent.qbl | 6
_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl | 25
_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInHalfYear.qbl | 19
_Main/BL/Type_VersionStatus/Attribute_Notes.qbl | 8
_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties | 6
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales9.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormReleaseRecord/_ROOT_Component_FormReleaseRecord.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def | 21
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listContextMenuFillingSchemeDetail.def | 2
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_RadioButtonGroupOrderLockHeader_OnChanged.def | 69
_Main/BL/Type_MappingSaleBudge/DefaultValue_ShippingForm.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlActions.def | 40
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick.def | 19
_Main/BL/Type_MappingSaleBudge/Attribute_PlaceOfProductionOfEvaporation.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth12.qbl | 8
_Main/BL/Type_MappingVersionControl/Attribute_DataTo.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def | 41
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity10.qbl | 8
_Main/BL/Type_MappingVersionControl/Attribute_CreateTime.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop846#618.def | 30
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel849.def | 4
_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl | 40
_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlActions_btnOk_OnClick.def | 13
LibMacroPlanner/BL/Type_ScenarioMP/Method_SetReleased.qbl | 6
_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSaleByYear.qbl | 20
_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnOk_OnClick.def | 16
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth7.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnCancel_OnClick.def | 15
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales6.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth8.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnOk_OnClick.def | 8
_Main/UI/MacroPlannerWebApp/Views/PriorityResults.vw | 2258 ++++++++
_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_listActionBarPageOrderLockLog.def | 10
_Main/BL/Type_H_MaterialHedgingResult/Attribute_CustomerCode.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_ShippingForm.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def | 49
_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnCancel_OnClick.def | 2
_Main/BL/Type_VersionStatus/Attribute_LastVersionName.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlActions.def | 52
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderClear_OnClick.def | 20
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel351.def | 84
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/_ROOT_Component_FormCapacityAndSaleBudgeFilterMonth.def | 3
_Main/BL/Type_H_MaterialHedgingResult/Attribute_CustomerName.qbl | 8
_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl | 28
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def | 7
_Main/BL/Type_H_MaterialHedgingResult/Attribute_AuthorizeQty.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_Panel261#223.def | 39
_Main/BL/Type_CapacityAndSaleBudgeCompareItemRowProduct/StaticMethod_CreateIfNotExist.qbl | 2
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth8.qbl | 8
_Main/BL/Type_OrderLockLog/Attribute_SalesSegmentName.qbl | 7
_Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl | 133
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_ClickBtnOk.def | 19
_Main/BL/Type_VersionStatusDetail/StaticMethod_CreateOrUpdate.qbl | 38
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity7.qbl | 8
_Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl | 71
_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMaterialCode.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/_ROOT_Component_FormPriorityResult.def | 33
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_ListOrderLock#844.def | 43
_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Response_Panel224_btn_Query_FRAS_OnClick.def | 20
_Main/BL/Type_MPSync/Method_CapacityAndSaleBudgePlaceOfProductionOfArrayString.qbl | 11
_Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl | 18
_Main/BL/Type_MappingAnnualBudget/Method_GetSaleAmountInYear.qbl | 15
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnC#663.def | 16
_Main/BL/Type_OrderLockLog/_ROOT_Type_OrderLockLog.qbl | 10
_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSaleByMonth.qbl | 22
_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart#95.qbl | 301 +
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_New.def | 18
_Main/BL/Type_VersionStatusDetail/Attribute_Notes.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def | 52
_Main/BL/Type_MappingSaleBudge/Attribute_NumberOfCut.qbl | 8
_Main/BL/Type_MappingSaleBudge/DefaultValue_Resolution.qbl | 6
_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfPanels.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResult_OnUserSelectionChanged.def | 22
_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInYear.qbl | 15
_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_listContextMenu660.def | 10
_Main/BL/Type_OrderLockLog/DefaultValue_LastModify.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperation.def | 46
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth11.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_DisplayTechnology.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserChecke.def | 18
_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockHeader#545.def | 125
_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_HasAlreadyRelease.qbl | 23
_Main/BL/Type_PriorityResultDetail/DefaultValue_Customer.qbl | 6
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def | 12
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/_ROOT_Component_FrmAuthorizeAndCountersign_Order.def | 28
_Main/BL/Type_H_MaterialHedgingResult/DefaultValue_ID.qbl | 6
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity6.qbl | 8
_Main/BL/Type_CapacityAndSaleBudgeChartRowProduct/StaticMethod_CreateIfNotExist.qbl | 2
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales12.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonLoad_OnClick.def | 4
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick.def | 22
_Main/UI/MacroPlannerWebApp/Component_FormHistoricalFillingCapacityOrder/_ROOT_Component_FormHistoricalFillingCapacityOrder.def | 2
_Main/BL/Type_CapacityAndSaleBudgeChartElement/Attribute_BusinessTypeOrPlaceOfProductionOfArray.qbl | 8
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity3.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth10.qbl | 8
_Main/BL/Type_VersionStatusDetail/Attribute_User.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_OnUserSelectionChanged.def | 28
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel647.def | 2
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnDoubleClick.def | 16
_Main/UI/MacroPlannerWebApp/Component_FrmOrderResult/_ROOT_Component_FrmOrderResult.def | 1
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales8.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResultGroupDetails#743.def | 41
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity11.qbl | 8
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity12.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def | 6
_Main/BL/Type_MappingBOM/StaticMethod_CreateTestData.qbl | 7
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth6.qbl | 8
_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByHalfYear.qbl | 21
_Main/UI/MacroPlannerWebApp/Views/SOP_Versions.vw | 351 +
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral#549.def | 11
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def | 21
_Main/BL/Type_OrderLockLog/Attribute_Quantity.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/_ROOT_Component_FrmMaterial.def | 15
_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/_ROOT_Component_FormOrderLockLog.def | 43
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlContent_dsDemandDate_OnCreated.def | 16
_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/Attribute_PlaceOfProductionOfArray.qbl | 8
_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl | 7
_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl | 9
_Main/BL/Type_PriorityResult/DefaultValue_StockingPointID.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnClose.def | 3
_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Method_New.def | 1
_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnCheckEditability.def | 43
_Main/BL/Type_OrderLockLog/Attribute_LastModifyTime.qbl | 8
_Main/BL/Type_PriorityResultDetail/DefaultValue_SalesSegmentName.qbl | 6
_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth8.qbl | 8
_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl | 7
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity12.qbl | 8
_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth7.qbl | 8
_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales7.qbl | 8
_Main/BL/Type_OrderLockLog/Attribute_StockingPointID.qbl | 7
_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl | 7
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/_ROOT_Component_FormCapacityAndSaleBudgeChart.def | 3
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuInitData_OnClick.def | 17
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def | 17
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_listContextMenuCapacityAndSaleBudgeFilterYear#1.def | 25
_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse#1.qbl | 15
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnOk_OnClick.def | 15
_Main/BL/Type_H_MaterialHedgingResult/Attribute_MType.qbl | 8
_Main/BL/Type_PriorityPolicy/_ROOT_Type_PriorityPolicy.qbl | 10
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResult.def | 10
/dev/null | 11
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_Edit.def | 15
_Main/BL/Type_PriorityResultDetail/DefaultValue_CustomerID.qbl | 6
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def | 17
_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl | 7
_Main/BL/Type_VersionStatus/Attribute_LastUser.qbl | 8
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_Panel261_223_btn_OK_FAAC_OnClick.def | 37
629 files changed, 15,888 insertions(+), 414 deletions(-)
diff --git a/.gitignore b/.gitignore
index 00e3f69..6868dd4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,5 @@
**/LibUserSettings/**
/.idea
+_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
+*.properties
diff --git a/LibMacroPlanner/BL/InfoMessages.qbl b/LibMacroPlanner/BL/InfoMessages.qbl
index 05bad47..cfaabd1 100644
--- a/LibMacroPlanner/BL/InfoMessages.qbl
+++ b/LibMacroPlanner/BL/InfoMessages.qbl
@@ -529,6 +529,10 @@
{
DefaultText: 'Revert'
}
+ InfoMessage Scenario_General_IsReleased
+ {
+ DefaultText: 'Not allowed on a released scenario'
+ }
InfoMessage Strategy_CampaignOptimizer_DisableTooltip
{
DefaultText: 'When disabled, the optimizer is only allowed to replan the quantities of the campaigns based on the constraints of the campaigns created manually.'
diff --git a/LibMacroPlanner/BL/Type_Scenario/Attribute_IsReleased.qbl b/LibMacroPlanner/BL/Type_Scenario/Attribute_IsReleased.qbl
new file mode 100644
index 0000000..37963e6
--- /dev/null
+++ b/LibMacroPlanner/BL/Type_Scenario/Attribute_IsReleased.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsReleased
+{
+ #keys: '3[412960.0.172790038][412960.0.172790037][412960.0.172790039]'
+ Description: '璇ョ増鏈槸鍚﹀凡鍙戝竷'
+ ValueType: Boolean
+ InterfaceProperties { Accessibility: 'Module' }
+}
diff --git a/LibMacroPlanner/BL/Type_Scenario/Method_CanSelect.qbl b/LibMacroPlanner/BL/Type_Scenario/Method_CanSelect.qbl
index ee79d24..072d7c9 100644
--- a/LibMacroPlanner/BL/Type_Scenario/Method_CanSelect.qbl
+++ b/LibMacroPlanner/BL/Type_Scenario/Method_CanSelect.qbl
@@ -32,6 +32,9 @@
{
feedback_o := Translations::Scenario_General_IsDeleted();
}
+ else if( this.IsReleased() ){
+ feedback_o := Translations::Scenario_General_IsReleased();
+ }
return feedback_o = '';
*]
diff --git a/LibMacroPlanner/BL/Type_Scenario/Method_SetReleased.qbl b/LibMacroPlanner/BL/Type_Scenario/Method_SetReleased.qbl
new file mode 100644
index 0000000..c30613e
--- /dev/null
+++ b/LibMacroPlanner/BL/Type_Scenario/Method_SetReleased.qbl
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: #root
+Method SetReleased
+{
+ Description: '璁剧疆鏌愬満鏅殑鍙戝竷鐘舵��'
+ IsAbstract: true
+ TextBody:
+ [*
+ // Administrator Sep-15-2023 (created)
+ this.IsReleased( true );
+ *]
+}
diff --git a/LibMacroPlanner/BL/Type_ScenarioMP/Method_SetReleased.qbl b/LibMacroPlanner/BL/Type_ScenarioMP/Method_SetReleased.qbl
new file mode 100644
index 0000000..b84962e
--- /dev/null
+++ b/LibMacroPlanner/BL/Type_ScenarioMP/Method_SetReleased.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+MethodOverride SetReleased
+{
+ TextBody: 'this.IsReleased( true );'
+}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl b/_Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl
new file mode 100644
index 0000000..b3723db
--- /dev/null
+++ b/_Main/BL/EDI/Broker_Broker_OTD_VersionControl.qbl
@@ -0,0 +1,133 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker Broker_OTD_VersionControl
+{
+ MDSDefinition: GlobalOTDTable
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Destination MappingVersionControl
+ {
+ EDIMLTable MappingVersionControl
+ {
+ PrimaryKeyColumns: EndTime
+ PrimaryKeyColumns: ProductID
+ PrimaryKeyColumns: StartTime
+ PrimaryKeyColumns: StockingPointID
+ PrimaryKeyColumns: VersionID
+ TargetType: MappingVersionControl
+ TypeIndex: TypeIndexVersionControl
+ EDIMLColumn CreateTime { Attribute: CreateTime ValueType: DateTime }
+ EDIMLColumn DataFrom { Attribute: DataFrom ValueType: String }
+ EDIMLColumn DataTo { Attribute: DataTo ValueType: String }
+ EDIMLColumn EndTime { Attribute: EndTime ValueType: DateTime }
+ EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
+ EDIMLColumn Qty { Attribute: Qty ValueType: Real }
+ EDIMLColumn ReleaseTime { Attribute: ReleaseTime ValueType: DateTime }
+ EDIMLColumn StartTime { Attribute: StartTime ValueType: DateTime }
+ EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
+ EDIMLColumn User { Attribute: User ValueType: String }
+ EDIMLColumn VersionID { Attribute: VersionID ValueType: String }
+ EDIMLColumn VersionName { Attribute: VersionName ValueType: String }
+ }
+ }
+ EDIODBCLink.Source MID_VERSIONCONTROL
+ {
+ DataIntegrityStrategy: 'Disabled'
+ SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle'
+ EDIODBCLinkTable MID_VERSIONCONTROL
+ {
+ OthersMayCreateTable: true
+ OthersMayDeleteRow: true
+ OthersMayDropTable: true
+ OthersMayFlushTable: true
+ OthersMayInsertRow: true
+ Parameters: '/owner="TIANMA"'
+ PrimaryKeyColumns: ENDTIME
+ PrimaryKeyColumns: ID
+ PrimaryKeyColumns: PRODUCTID
+ PrimaryKeyColumns: STARTTIME
+ PrimaryKeyColumns: STOCKINGPOINTID
+ RecordModificationHintStrategy: 'None'
+ EDIODBCLinkColumn CREATETIME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn DATAFROM
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn DATATO
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn ENDTIME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn ID
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn NAME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn PRODUCTID
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn QTY
+ {
+ OthersMayUpdateColumn: true
+ ValueType: Real
+ }
+ EDIODBCLinkColumn RELEASETIME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn STARTTIME
+ {
+ OthersMayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn STOCKINGPOINTID
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn USER
+ {
+ OthersMayUpdateColumn: true
+ ValueType: String
+ }
+ }
+ }
+ EDITransformation.Transformation TransformationVersionControl
+ {
+ EDITableTransformation
+ {
+ InputTable: MID_VERSIONCONTROL
+ OutputTable: MappingVersionControl
+ EDIColumnMatch { InputColumn: CREATETIME OutputColumn: CreateTime }
+ EDIColumnMatch { InputColumn: DATAFROM OutputColumn: DataFrom }
+ EDIColumnMatch { InputColumn: DATATO OutputColumn: DataTo }
+ EDIColumnMatch { InputColumn: ENDTIME OutputColumn: EndTime }
+ EDIColumnMatch { InputColumn: ID OutputColumn: VersionID }
+ EDIColumnMatch { InputColumn: NAME OutputColumn: VersionName }
+ EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID }
+ EDIColumnMatch { InputColumn: QTY OutputColumn: Qty }
+ EDIColumnMatch { InputColumn: RELEASETIME OutputColumn: ReleaseTime }
+ EDIColumnMatch { InputColumn: STARTTIME OutputColumn: StartTime }
+ EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockingPointID }
+ EDIColumnMatch { InputColumn: USER OutputColumn: User }
+ }
+ }
+}
diff --git a/_Main/BL/EDI/Broker_Broker_OTD_VersionControlToDB.qbl b/_Main/BL/EDI/Broker_Broker_OTD_VersionControlToDB.qbl
new file mode 100644
index 0000000..f767cde
--- /dev/null
+++ b/_Main/BL/EDI/Broker_Broker_OTD_VersionControlToDB.qbl
@@ -0,0 +1,133 @@
+Quintiq file version 2.0
+#parent: #root
+EDIBroker Broker_OTD_VersionControlToDB
+{
+ MDSDefinition: GlobalOTDTable
+ TimeZone: 'ACT'
+ UseOSTimeZone: false
+ EDIModelLink.Source MappingVersionControlToDB
+ {
+ EDIMLTable MappingVersionControl
+ {
+ PrimaryKeyColumns: EndTime
+ PrimaryKeyColumns: ProductID
+ PrimaryKeyColumns: StartTime
+ PrimaryKeyColumns: StockingPointID
+ PrimaryKeyColumns: VersionID
+ TargetType: MappingVersionControl
+ TypeIndex: TypeIndexVersionControl
+ EDIMLColumn CreateTime { Attribute: CreateTime ValueType: DateTime }
+ EDIMLColumn DataFrom { Attribute: DataFrom ValueType: String }
+ EDIMLColumn DataTo { Attribute: DataTo ValueType: String }
+ EDIMLColumn EndTime { Attribute: EndTime ValueType: DateTime }
+ EDIMLColumn ProductID { Attribute: ProductID ValueType: String }
+ EDIMLColumn Qty { Attribute: Qty ValueType: Real }
+ EDIMLColumn ReleaseTime { Attribute: ReleaseTime ValueType: DateTime }
+ EDIMLColumn StartTime { Attribute: StartTime ValueType: DateTime }
+ EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String }
+ EDIMLColumn User { Attribute: User ValueType: String }
+ EDIMLColumn VersionID { Attribute: VersionID ValueType: String }
+ EDIMLColumn VersionName { Attribute: VersionName ValueType: String }
+ }
+ }
+ EDIODBCLink.Destination MID_VERSIONCONTROLTODB
+ {
+ DataIntegrityStrategy: 'Disabled'
+ SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle'
+ EDIODBCLinkTable MID_VERSIONCONTROL
+ {
+ MayCreateTable: true
+ MayDeleteRow: true
+ MayDropTable: true
+ MayFlushTable: true
+ MayInsertRow: true
+ Parameters: '/owner="TIANMA"'
+ PrimaryKeyColumns: ENDTIME
+ PrimaryKeyColumns: ID
+ PrimaryKeyColumns: PRODUCTID
+ PrimaryKeyColumns: STARTTIME
+ PrimaryKeyColumns: STOCKINGPOINTID
+ RecordModificationHintStrategy: 'None'
+ EDIODBCLinkColumn CREATETIME
+ {
+ MayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn DATAFROM
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn DATATO
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn ENDTIME
+ {
+ MayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn ID
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn NAME
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn PRODUCTID
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn QTY
+ {
+ MayUpdateColumn: true
+ ValueType: Real
+ }
+ EDIODBCLinkColumn RELEASETIME
+ {
+ MayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn STARTTIME
+ {
+ MayUpdateColumn: true
+ ValueType: DateTime
+ }
+ EDIODBCLinkColumn STOCKINGPOINTID
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ EDIODBCLinkColumn USER
+ {
+ MayUpdateColumn: true
+ ValueType: String
+ }
+ }
+ }
+ EDITransformation.Transformation TransformationVersionControlToDB
+ {
+ EDITableTransformation
+ {
+ InputTable: MappingVersionControl
+ OutputTable: MID_VERSIONCONTROL
+ EDIColumnMatch { InputColumn: CreateTime OutputColumn: CREATETIME }
+ EDIColumnMatch { InputColumn: DataFrom OutputColumn: DATAFROM }
+ EDIColumnMatch { InputColumn: DataTo OutputColumn: DATATO }
+ EDIColumnMatch { InputColumn: EndTime OutputColumn: ENDTIME }
+ EDIColumnMatch { InputColumn: ProductID OutputColumn: PRODUCTID }
+ EDIColumnMatch { InputColumn: Qty OutputColumn: QTY }
+ EDIColumnMatch { InputColumn: ReleaseTime OutputColumn: RELEASETIME }
+ EDIColumnMatch { InputColumn: StartTime OutputColumn: STARTTIME }
+ EDIColumnMatch { InputColumn: StockingPointID OutputColumn: STOCKINGPOINTID }
+ EDIColumnMatch { InputColumn: User OutputColumn: USER }
+ EDIColumnMatch { InputColumn: VersionID OutputColumn: ID }
+ EDIColumnMatch { InputColumn: VersionName OutputColumn: NAME }
+ }
+ }
+}
diff --git a/_Main/BL/InfoMessages.qbl b/_Main/BL/InfoMessages.qbl
index d3fc0df..952d7d5 100644
--- a/_Main/BL/InfoMessages.qbl
+++ b/_Main/BL/InfoMessages.qbl
@@ -2,4 +2,12 @@
#parent: #root
InfoMessages id:#InfoMessages #extension
{
-}
+ InfoMessage FilllingCapacity_NotRelease
+ {
+ DefaultText: 'other scheme is already released.'
+ }
+ InfoMessage FilllingCapacity_ValidateInput
+ {
+ DefaultText: 'Please input validate value !'
+ }
+}
\ No newline at end of file
diff --git "a/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse\0431.qbl" "b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse\0431.qbl"
index 3692157..7a5e360 100644
--- "a/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse\0431.qbl"
+++ "b/_Main/BL/IntegratorConfigs/IntegratorConfig_PanelMaterialRestServer/ContentMapperProcessor_ContentMapperReponse\0431.qbl"
@@ -2,8 +2,21 @@
#parent: #root
ContentMapperProcessor ContentMapperReponse
{
- DefaultMappingName: 'PanelMaterialResponseResult'
PosX: 330
PosY: 450
ReplyChannelOutputs: QuintiqEndpoint
+ ConditionalMapping
+ {
+ ExpectedValue: '/panelMaterial/send'
+ MappingName: 'PanelMaterialResponseResult1'
+ SourceMessagePath
+ {
+ Path: 'Header'
+ }
+ SourceMessagePath
+ {
+ Path: 'path'
+ SequenceNr: 1
+ }
+ }
}
diff --git a/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl b/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl
new file mode 100644
index 0000000..278c0e9
--- /dev/null
+++ b/_Main/BL/Relations/Relation_CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAll.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation CapacityAllocationResults_GlobalOTDTable_GlobalOTDTable_CapacityAllocationResults
+{
+ #keys: '1[414702.0.340560333]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[414702.0.340560335][414702.0.340560334][414702.0.340560336]'
+ Cardinality: '0to1'
+ ObjectDefinition: CapacityAllocationResults
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide CapacityAllocationResults
+ {
+ #keys: '3[414702.0.340560338][414702.0.340560337][414702.0.340560339]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_MPSync_MPSync_CapacityAndSal.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_MPSync_MPSync_CapacityAndSal.qbl
new file mode 100644
index 0000000..fe18a82
--- /dev/null
+++ b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_MPSync_MPSync_CapacityAndSal.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation CapacityAndSaleBudgeFilterBusinessType_MPSync_MPSync_CapacityAndSaleBudgeFilterBusinessType
+{
+ #keys: '1[414384.0.873958122]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MPSync
+ {
+ #keys: '3[414384.0.873958124][414384.0.873958123][414384.0.873958125]'
+ Cardinality: '0to1'
+ ObjectDefinition: CapacityAndSaleBudgeFilterBusinessType
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide CapacityAndSaleBudgeFilterBusinessType
+ {
+ #keys: '3[414384.0.873958127][414384.0.873958126][414384.0.873958128]'
+ Cardinality: '1toN'
+ ObjectDefinition: MPSync
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_MPSync_MPSync_Ca.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_MPSync_MPSync_Ca.qbl
new file mode 100644
index 0000000..ef6b268
--- /dev/null
+++ b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_MPSync_MPSync_Ca.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_MPSync_MPSync_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+{
+ #keys: '1[414384.0.873958138]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MPSync
+ {
+ #keys: '3[414384.0.873958140][414384.0.873958139][414384.0.873958141]'
+ Cardinality: '0to1'
+ ObjectDefinition: CapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide CapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+ {
+ #keys: '3[414384.0.873958143][414384.0.873958142][414384.0.873958144]'
+ Cardinality: '1toN'
+ ObjectDefinition: MPSync
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_H_MaterialHedgingResult_MacroPlan_MacroPlan_H_MaterialHedgingResult.qbl b/_Main/BL/Relations/Relation_H_MaterialHedgingResult_MacroPlan_MacroPlan_H_MaterialHedgingResult.qbl
new file mode 100644
index 0000000..587e695
--- /dev/null
+++ b/_Main/BL/Relations/Relation_H_MaterialHedgingResult_MacroPlan_MacroPlan_H_MaterialHedgingResult.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation H_MaterialHedgingResult_MacroPlan_MacroPlan_H_MaterialHedgingResult
+{
+ #keys: '1[414724.0.133544606]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[414724.0.133544608][414724.0.133544607][414724.0.133544609]'
+ Cardinality: '0to1'
+ ObjectDefinition: H_MaterialHedgingResult
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide H_MaterialHedgingResult
+ {
+ #keys: '3[414724.0.133544611][414724.0.133544610][414724.0.133544612]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_MappingAnnualBudget_MPSync_MPSync_MappingAnnualBudget.qbl b/_Main/BL/Relations/Relation_MappingAnnualBudget_MPSync_MPSync_MappingAnnualBudget.qbl
new file mode 100644
index 0000000..4f9165c
--- /dev/null
+++ b/_Main/BL/Relations/Relation_MappingAnnualBudget_MPSync_MPSync_MappingAnnualBudget.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation MappingAnnualBudget_MPSync_MPSync_MappingAnnualBudget
+{
+ #keys: '1[414384.0.874289921]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MPSync
+ {
+ #keys: '3[414384.0.874289923][414384.0.874289922][414384.0.874289924]'
+ Cardinality: '0to1'
+ ObjectDefinition: MappingAnnualBudget
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide MappingAnnualBudget
+ {
+ #keys: '3[414384.0.874289926][414384.0.874289925][414384.0.874289927]'
+ Cardinality: '1toN'
+ ObjectDefinition: MPSync
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionC.qbl b/_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionC.qbl
new file mode 100644
index 0000000..39dd1eb
--- /dev/null
+++ b/_Main/BL/Relations/Relation_MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionC.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation MappingVersionControl_GlobalOTDTable_GlobalOTDTable_MappingVersionControl
+{
+ #keys: '1[412960.0.150120043]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[412960.0.150120045][412960.0.150120044][412960.0.150120046]'
+ Cardinality: '0to1'
+ ObjectDefinition: MappingVersionControl
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide MappingVersionControl
+ {
+ #keys: '3[412960.0.150120048][412960.0.150120047][412960.0.150120049]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_OrderLockLog_MacroPlan_MacroPlan_OrderLockLog.qbl b/_Main/BL/Relations/Relation_OrderLockLog_MacroPlan_MacroPlan_OrderLockLog.qbl
new file mode 100644
index 0000000..cb254ef
--- /dev/null
+++ b/_Main/BL/Relations/Relation_OrderLockLog_MacroPlan_MacroPlan_OrderLockLog.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation OrderLockLog_MacroPlan_MacroPlan_OrderLockLog
+{
+ #keys: '1[412960.0.217504333]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[412960.0.217504335][412960.0.217504334][412960.0.217504336]'
+ Cardinality: '0to1'
+ ObjectDefinition: OrderLockLog
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide OrderLockLog
+ {
+ #keys: '3[412960.0.217504338][412960.0.217504337][412960.0.217504339]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PriorityFactorDetails_GlobalOTDTable_GlobalOTDTable_PriorityFactorD.qbl b/_Main/BL/Relations/Relation_PriorityFactorDetails_GlobalOTDTable_GlobalOTDTable_PriorityFactorD.qbl
deleted file mode 100644
index 81e03b6..0000000
--- a/_Main/BL/Relations/Relation_PriorityFactorDetails_GlobalOTDTable_GlobalOTDTable_PriorityFactorD.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation PriorityFactorDetails_GlobalOTDTable_GlobalOTDTable_PriorityFactorDetails
-{
- #keys: '1[414382.0.444830151]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide GlobalOTDTable
- {
- #keys: '3[414382.0.444830153][414382.0.444830152][414382.0.444830154]'
- Cardinality: '0to1'
- ObjectDefinition: PriorityFactorDetails
- OwningSide: 'Reference'
- }
- RelationSide.RightSide PriorityFactorDetails
- {
- #keys: '3[414382.0.444830156][414382.0.444830155][414382.0.444830157]'
- Cardinality: '1toN'
- ObjectDefinition: GlobalOTDTable
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_PriorityFactorDetails_PriorityFactor_PriorityFactor_PriorityFactorD.qbl b/_Main/BL/Relations/Relation_PriorityFactorDetails_PriorityFactor_PriorityFactor_PriorityFactorD.qbl
index ded778d..f58818b 100644
--- a/_Main/BL/Relations/Relation_PriorityFactorDetails_PriorityFactor_PriorityFactor_PriorityFactorD.qbl
+++ b/_Main/BL/Relations/Relation_PriorityFactorDetails_PriorityFactor_PriorityFactor_PriorityFactorD.qbl
@@ -18,6 +18,6 @@
#keys: '3[414382.0.444850087][414382.0.444850086][414382.0.444850088]'
Cardinality: '1toN'
ObjectDefinition: PriorityFactor
- OwningSide: 'Reference'
+ OwningSide: 'Owned'
}
}
diff --git a/_Main/BL/Relations/Relation_PriorityFactor_GlobalOTDTable_GlobalOTDTable_PriorityFactor.qbl b/_Main/BL/Relations/Relation_PriorityFactor_GlobalOTDTable_GlobalOTDTable_PriorityFactor.qbl
deleted file mode 100644
index 14911e1..0000000
--- a/_Main/BL/Relations/Relation_PriorityFactor_GlobalOTDTable_GlobalOTDTable_PriorityFactor.qbl
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Relation PriorityFactor_GlobalOTDTable_GlobalOTDTable_PriorityFactor
-{
- #keys: '1[414382.0.444830037]'
- DefaultRelationStrategy
- {
- }
- RelationSide.LeftSide GlobalOTDTable
- {
- #keys: '3[414382.0.444830039][414382.0.444830038][414382.0.444830040]'
- Cardinality: '0to1'
- ObjectDefinition: PriorityFactor
- OwningSide: 'Reference'
- }
- RelationSide.RightSide PriorityFactor
- {
- #keys: '3[414382.0.444830042][414382.0.444830041][414382.0.444830043]'
- Cardinality: '1toN'
- ObjectDefinition: GlobalOTDTable
- OwningSide: 'Owned'
- }
-}
diff --git a/_Main/BL/Relations/Relation_PriorityFactor_MacroPlan_MacroPlan_PriorityFactor.qbl b/_Main/BL/Relations/Relation_PriorityFactor_MacroPlan_MacroPlan_PriorityFactor.qbl
new file mode 100644
index 0000000..dd6e961
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PriorityFactor_MacroPlan_MacroPlan_PriorityFactor.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PriorityFactor_MacroPlan_MacroPlan_PriorityFactor
+{
+ #keys: '1[414382.0.475830114]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[414382.0.475830116][414382.0.475830115][414382.0.475830117]'
+ Cardinality: '0to1'
+ ObjectDefinition: PriorityFactor
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PriorityFactor
+ {
+ #keys: '3[414382.0.475830119][414382.0.475830118][414382.0.475830120]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PriorityPolicy_MacroPlan_MacroPlan_PriorityPolicy.qbl b/_Main/BL/Relations/Relation_PriorityPolicy_MacroPlan_MacroPlan_PriorityPolicy.qbl
new file mode 100644
index 0000000..8f753de
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PriorityPolicy_MacroPlan_MacroPlan_PriorityPolicy.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PriorityPolicy_MacroPlan_MacroPlan_PriorityPolicy
+{
+ #keys: '1[414382.0.488041940]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[414382.0.488041942][414382.0.488041941][414382.0.488041943]'
+ Cardinality: '0to1'
+ ObjectDefinition: PriorityPolicy
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PriorityPolicy
+ {
+ #keys: '3[414382.0.488041945][414382.0.488041944][414382.0.488041946]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PriorityResultBusinessTypeDetail_PriorityResult_PriorityResult_Prio.qbl b/_Main/BL/Relations/Relation_PriorityResultBusinessTypeDetail_PriorityResult_PriorityResult_Prio.qbl
new file mode 100644
index 0000000..a9e64fe
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PriorityResultBusinessTypeDetail_PriorityResult_PriorityResult_Prio.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PriorityResultBusinessTypeDetail_PriorityResult_PriorityResult_PriorityResultBusinessTypeDetail
+{
+ #keys: '1[414382.0.504275181]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide PriorityResult
+ {
+ #keys: '3[414382.0.504275183][414382.0.504275182][414382.0.504275184]'
+ Cardinality: '0to1'
+ ObjectDefinition: PriorityResultBusinessTypeDetail
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PriorityResultBusinessTypeDetail
+ {
+ #keys: '3[414382.0.504275186][414382.0.504275185][414382.0.504275187]'
+ Cardinality: '1toN'
+ ObjectDefinition: PriorityResult
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PriorityResultGroupDetail_PriorityResult_PriorityResult_PriorityRes.qbl b/_Main/BL/Relations/Relation_PriorityResultGroupDetail_PriorityResult_PriorityResult_PriorityRes.qbl
new file mode 100644
index 0000000..bdd10c4
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PriorityResultGroupDetail_PriorityResult_PriorityResult_PriorityRes.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PriorityResultGroupDetail_PriorityResult_PriorityResult_PriorityResultGroupDetail
+{
+ #keys: '1[414382.0.504275195]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide PriorityResult
+ {
+ #keys: '3[414382.0.504275197][414382.0.504275196][414382.0.504275198]'
+ Cardinality: '0to1'
+ ObjectDefinition: PriorityResultGroupDetail
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PriorityResultGroupDetail
+ {
+ #keys: '3[414382.0.504275200][414382.0.504275199][414382.0.504275201]'
+ Cardinality: '1toN'
+ ObjectDefinition: PriorityResult
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_PriorityResult_MacroPlan_MacroPlan_PriorityResult.qbl b/_Main/BL/Relations/Relation_PriorityResult_MacroPlan_MacroPlan_PriorityResult.qbl
new file mode 100644
index 0000000..2a02cb7
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PriorityResult_MacroPlan_MacroPlan_PriorityResult.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PriorityResult_MacroPlan_MacroPlan_PriorityResult
+{
+ #keys: '1[414382.0.504275161]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide MacroPlan
+ {
+ #keys: '3[414382.0.504275163][414382.0.504275162][414382.0.504275164]'
+ Cardinality: '0to1'
+ ObjectDefinition: PriorityResult
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide PriorityResult
+ {
+ #keys: '3[414382.0.504275166][414382.0.504275165][414382.0.504275167]'
+ Cardinality: '1toN'
+ ObjectDefinition: MacroPlan
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl.qbl b/_Main/BL/Relations/Relation_VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl.qbl
new file mode 100644
index 0000000..bb27705
--- /dev/null
+++ b/_Main/BL/Relations/Relation_VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation VersionControl_GlobalOTDTable_GlobalOTDTable_VersionControl
+{
+ #keys: '1[412960.0.134860006]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[412960.0.134860008][412960.0.134860007][412960.0.134860009]'
+ Cardinality: '0to1'
+ ObjectDefinition: VersionControl
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide VersionControl
+ {
+ #keys: '3[412960.0.134860011][412960.0.134860010][412960.0.134860012]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_VersionStatusDetail_VersionStatus_VersionStatus_VersionStatusDetail.qbl b/_Main/BL/Relations/Relation_VersionStatusDetail_VersionStatus_VersionStatus_VersionStatusDetail.qbl
new file mode 100644
index 0000000..41e591c
--- /dev/null
+++ b/_Main/BL/Relations/Relation_VersionStatusDetail_VersionStatus_VersionStatus_VersionStatusDetail.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation VersionStatusDetail_VersionStatus_VersionStatus_VersionStatusDetail
+{
+ #keys: '1[412960.0.143214355]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide VersionStatus
+ {
+ #keys: '3[412960.0.143214357][412960.0.143214356][412960.0.143214358]'
+ Cardinality: '0to1'
+ ObjectDefinition: VersionStatusDetail
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide VersionStatusDetail
+ {
+ #keys: '3[412960.0.143214360][412960.0.143214359][412960.0.143214361]'
+ Cardinality: '1toN'
+ ObjectDefinition: VersionStatus
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Relations/Relation_VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus.qbl b/_Main/BL/Relations/Relation_VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus.qbl
new file mode 100644
index 0000000..effee95
--- /dev/null
+++ b/_Main/BL/Relations/Relation_VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation VersionStatus_GlobalOTDTable_GlobalOTDTable_VersionStatus
+{
+ #keys: '1[412960.0.134830056]'
+ DefaultRelationStrategy
+ {
+ }
+ RelationSide.LeftSide GlobalOTDTable
+ {
+ #keys: '3[412960.0.134830058][412960.0.134830057][412960.0.134830059]'
+ Cardinality: '0to1'
+ ObjectDefinition: VersionStatus
+ OwningSide: 'Reference'
+ }
+ RelationSide.RightSide VersionStatus
+ {
+ #keys: '3[412960.0.134830061][412960.0.134830060][412960.0.134830062]'
+ Cardinality: '1toN'
+ ObjectDefinition: GlobalOTDTable
+ OwningSide: 'Owned'
+ }
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_Division.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_Division.qbl
new file mode 100644
index 0000000..09c1ae9
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_Division.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Division
+{
+ #keys: '3[414702.0.340560478][414702.0.340560477][414702.0.340560479]'
+ Description: '浜嬩笟閮�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleBase.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleBase.qbl
new file mode 100644
index 0000000..ae1564e
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleBase.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ModuleBase
+{
+ #keys: '3[414702.0.340560468][414702.0.340560467][414702.0.340560469]'
+ Description: '妯$粍鍩哄湴'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMaterialCode.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMaterialCode.qbl
new file mode 100644
index 0000000..837fe5a
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMaterialCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ModuleMaterialCode
+{
+ #keys: '3[414702.0.340560429][414702.0.340560428][414702.0.340560430]'
+ Description: '妯$粍鐗╂枡缂栫爜'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMeasurementUnit.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMeasurementUnit.qbl
new file mode 100644
index 0000000..bbaff01
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_ModuleMeasurementUnit.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ModuleMeasurementUnit
+{
+ #keys: '3[414702.0.340560458][414702.0.340560457][414702.0.340560459]'
+ Description: '妯$粍鍗曚綅'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfModules.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfModules.qbl
new file mode 100644
index 0000000..efcf4e6
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfModules.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NumberOfModules
+{
+ #keys: '3[414702.0.340560442][414702.0.340560441][414702.0.340560443]'
+ Description: '妯$粍鏁伴噺'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfPanels.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfPanels.qbl
new file mode 100644
index 0000000..ad4630f
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_NumberOfPanels.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NumberOfPanels
+{
+ #keys: '3[414702.0.340560391][414702.0.340560390][414702.0.340560392]'
+ Description: '闈㈡澘鏁伴噺'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelBase.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelBase.qbl
new file mode 100644
index 0000000..5feb094
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelBase.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PanelBase
+{
+ #keys: '3[414702.0.340560371][414702.0.340560370][414702.0.340560372]'
+ Description: '闈㈡澘鍩哄湴'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMaterialCode.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMaterialCode.qbl
new file mode 100644
index 0000000..883bd5c
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMaterialCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PanelMaterialCode
+{
+ #keys: '3[414702.0.340560381][414702.0.340560380][414702.0.340560382]'
+ Description: '闈㈡澘鐗╂枡缂栫爜'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMeasurementUnit.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMeasurementUnit.qbl
new file mode 100644
index 0000000..d722862
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_PanelMeasurementUnit.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PanelMeasurementUnit
+{
+ #keys: '3[414702.0.340560404][414702.0.340560403][414702.0.340560405]'
+ Description: '闈㈡澘鍗曚綅'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_RequirementDate.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_RequirementDate.qbl
new file mode 100644
index 0000000..3d48677
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_RequirementDate.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute RequirementDate
+{
+ #keys: '3[414702.0.340560506][414702.0.340560505][414702.0.340560507]'
+ Description: '闇�姹傛棩鏈�'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/Attribute_VersionNumber.qbl b/_Main/BL/Type_CapacityAllocationResults/Attribute_VersionNumber.qbl
new file mode 100644
index 0000000..490bfdf
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/Attribute_VersionNumber.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionNumber
+{
+ #keys: '3[414702.0.340560355][414702.0.340560354][414702.0.340560356]'
+ Description: '鐗堟湰鍙�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl
new file mode 100644
index 0000000..ef9782f
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateDate (
+ GlobalOTDTable globalOTDTable,
+ MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ globalOTDTable.CapacityAllocationResults( relflush );
+
+ finaleProduct_MPs := CapacityAllocationResults::ObtainTheFinalOutputProduct( macroPlan );
+
+ period_MPS := null( Period_MPs );
+ traverse ( macroPlan, PeriodSpecification_MP, psmp, psmp.ID() = "Planning periods" ) {
+ period_MPS := selectsortedset( psmp, PeriodSpecificationPeriod.Period_MP, pmp, not pmp.IsHistorical(), pmp.StartDate() );
+ }
+
+ traverse ( finaleProduct_MPs, Elements, fpmp/*, fpmp.ID() = "ProXOver 1 D2.6 A"*/ ) {
+ traverse ( fpmp, ProductInStockingPoint_MP, pisp, /*pisp.Name() = "ProXOver 1 D2.6 A in Finished Cars (France)" and*/ not pisp.IsSystem() ) {
+ traverse ( period_MPS, Elements, pmp ) {
+ CapacityAllocationResults::IterativeGeneration( globalOTDTable, pisp, 1, null( NewSupply ), -1.0, pmp.StartDate() );
+ }
+ // info( pisp.Name() );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl
new file mode 100644
index 0000000..af2857c
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration.qbl
@@ -0,0 +1,55 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod IterativeGeneration (
+ GlobalOTDTable globalOTDTable,
+ ProductInStockingPoint_MP pisp,
+ Number numberOfLayers,
+ NewSupply finaleNewSupply,
+ Real finaleDependentDemand,
+ Date targetDate
+)
+{
+ TextBody:
+ [*
+ traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, pispippl.Start().Date() = targetDate ) {
+ traverse ( pispippl, NewSupply, ns, ns.Quantity() > 0 ) {
+ // info( "鐢熸垚鐨勪骇鍝侊細", pisp.ProductID(), " 浜у搧鍦ㄥ簱瀛樼偣锛�", pisp.Name(), " 灞傛暟锛�", numberOfLayers, " 鎬荤敓浜ч噺锛�", ns.Quantity(), " 鏈�缁堜緷璧栫墿鏂欐暟閲忥細", finaleDependentDemand );
+ if ( finaleDependentDemand < 0 ) {
+ finaleDependentDemand := ns.Quantity();
+ }
+ if ( isnull( finaleNewSupply ) ) {
+ finaleNewSupply := ns;
+ }
+ if ( guard( ns.PeriodTask_MP().astype( PeriodTaskOperation ).DependentDemand( relsize ) > 0, false ) ) {
+ numberOfLayers++;
+ traverse ( ns, PeriodTask_MP.astype( PeriodTaskOperation ).DependentDemand, dd ) {
+ oo := ns.ProcessOutput().astype( OperationOutput );
+ oi := dd.ProcessInput().astype( OperationInput );
+ finaleDependentDemand := finaleDependentDemand * oo.Quantity() * oi.Quantity();
+ // info( "渚濊禆闇�姹備骇鍝両D锛�", dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID(), " 渚濊禆鏁伴噺锛�", dd.Quantity(), " 褰撳墠鍛ㄦ湡浠诲姟Key锛�", dd.PeriodTask_MP().astype( PeriodTaskOperation ).Key() );
+ CapacityAllocationResults::IterativeGeneration( globalOTDTable, dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(), numberOfLayers, finaleNewSupply, finaleDependentDemand, targetDate );
+ }
+ // info( "----------------------------------------------------" );
+ } else {
+ // info( "鏃犱緷璧栭渶姹傦紝闇�瑕佺敓鎴愪骇鑳藉垎閰嶇粨鏋溿�傘�傘��" );
+ // info( "======" );
+ pispPanel := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+ pispModule := finaleNewSupply.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
+ globalOTDTable.CapacityAllocationResults( relnew,
+ PanelBase := pispPanel.StockingPointID(),
+ PanelMaterialCode := pispPanel.ProductID(),
+ NumberOfPanels := finaleDependentDemand,
+ PanelMeasurementUnit := pispPanel.UnitOfMeasure_MP().Name(),
+ ModuleMaterialCode := pispModule.ProductID(),
+ NumberOfModules := finaleNewSupply.Quantity(),
+ ModuleMeasurementUnit := pispModule.UnitOfMeasure_MP().Name(),
+ ModuleBase := pispModule.StockingPointID(),
+ RequirementDate := finaleNewSupply.Start().Date()
+ );
+ }
+ finaleNewSupply := null( NewSupply );
+ }
+ numberOfLayers := 1;
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl
new file mode 100644
index 0000000..0db5a04
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ObtainTheFinalOutputProduct (
+ MacroPlan macroPlan
+) as owning Product_MPs
+{
+ TextBody:
+ [*
+ finaleProducts := construct( Product_MPs );
+
+ traverse ( macroPlan, Product_MP, pmp, pmp.IsLeaf() ) {
+ flag := true;
+ traverse ( macroPlan, Routing.RoutingStep.Operation.OperationInput, oi, flag ) {
+ if ( pmp = oi.ProductInStockingPoint_MP().Product_MP() ) {
+ flag := false;
+ }
+ }
+ if ( flag ) {
+ finaleProducts.Add( pmp );
+ }
+ }
+
+ return &finaleProducts;
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAllocationResults/_ROOT_Type_CapacityAllocationResults.qbl b/_Main/BL/Type_CapacityAllocationResults/_ROOT_Type_CapacityAllocationResults.qbl
new file mode 100644
index 0000000..e6f475e
--- /dev/null
+++ b/_Main/BL/Type_CapacityAllocationResults/_ROOT_Type_CapacityAllocationResults.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type CapacityAllocationResults
+{
+ #keys: '5[414702.0.340560330][414702.0.340560328][0.0.0][414702.0.340560329][414702.0.340560331]'
+ BaseType: Object
+ Description: '浜ц兘鍒嗛厤缁撴灉鎶ヨ〃'
+ StructuredName: 'CapacityAllocationResultss'
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudge/Attribute_BusinessType.qbl b/_Main/BL/Type_CapacityAndSaleBudge/Attribute_BusinessType.qbl
index 63bb032..a8afdb0 100644
--- a/_Main/BL/Type_CapacityAndSaleBudge/Attribute_BusinessType.qbl
+++ b/_Main/BL/Type_CapacityAndSaleBudge/Attribute_BusinessType.qbl
@@ -3,6 +3,6 @@
Attribute BusinessType
{
#keys: '3[414384.0.810464687][414384.0.810464686][414384.0.810464688]'
- Description: '涓氬姟绫诲瀷'
+ Description: '涓氬姟绫诲瀷(浜嬩笟閮�)'
ValueType: String
}
diff --git a/_Main/BL/Type_CapacityAndSaleBudge/_ROOT_Type_CapacityAndSaleBudge.qbl b/_Main/BL/Type_CapacityAndSaleBudge/_ROOT_Type_CapacityAndSaleBudge.qbl
index 19c5d54..650ea87 100644
--- a/_Main/BL/Type_CapacityAndSaleBudge/_ROOT_Type_CapacityAndSaleBudge.qbl
+++ b/_Main/BL/Type_CapacityAndSaleBudge/_ROOT_Type_CapacityAndSaleBudge.qbl
@@ -5,6 +5,6 @@
{
#keys: '5[414384.0.810464639][414384.0.810464637][0.0.0][414384.0.810464638][414384.0.810464640]'
BaseType: Object
- Description: '浜ч攢棰勭畻'
+ Description: '浜ч攢棰勭畻 锛侊紒锛佸純鐢紒锛侊紒'
StructuredName: 'CapacityAndSaleBudges'
}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/Attribute_BusinessTypeOrOrgCode.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/Attribute_BusinessTypeOrOrgCode.qbl
deleted file mode 100644
index bd447f7..0000000
--- a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/Attribute_BusinessTypeOrOrgCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute BusinessTypeOrOrgCode
-{
- #keys: '3[414384.0.852466562][414384.0.852466561][414384.0.852466563]'
- Description: '浜嬩笟閮�/闈㈡澘鍩哄湴'
- ValueType: String
-}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/Attribute_BusinessTypeOrPlaceOfProductionOfArray.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/Attribute_BusinessTypeOrPlaceOfProductionOfArray.qbl
new file mode 100644
index 0000000..58725cf
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/Attribute_BusinessTypeOrPlaceOfProductionOfArray.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessTypeOrPlaceOfProductionOfArray
+{
+ #keys: '3[414384.0.852466562][414384.0.852466561][414384.0.852466563]'
+ Description: '浜嬩笟閮�/闈㈡澘鍩哄湴'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_Create.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_Create.qbl
deleted file mode 100644
index 2acad18..0000000
--- a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_Create.qbl
+++ /dev/null
@@ -1,14 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod Create (
- ScenarioManager parent,
- String timeStringAndScenarioName,
- String businessTypeOrOrgCode,
- Real quantity
-)
-{
- TextBody:
- [*
- // yypsybs Sep-20-2023 (created)
- *]
-}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_TestData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_TestData.qbl
index 0f370d3..39c29d0 100644
--- a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_TestData.qbl
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_TestData.qbl
@@ -20,7 +20,7 @@
for( j := 1; j <= 12; j := j + 1 ) {
monthString := "MONTH" + ifexpr( j < 10, "0" + [String]j, [String]j );
scenarioManager.CapacityAndSaleBudgeChartElement( relnew,
- BusinessTypeOrOrgCode := businessTypeString,
+ BusinessTypeOrPlaceOfProductionOfArray := businessTypeString,
TimeStringAndScenarioName := monthString + " - " + scenarioName,
Quantity := Real::Random( 20.0, 30.0 ) );
}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartRow/Attribute_PlaceOfProductionOfArray.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartRow/Attribute_PlaceOfProductionOfArray.qbl
index 57beec6..fad5998 100644
--- a/_Main/BL/Type_CapacityAndSaleBudgeChartRow/Attribute_PlaceOfProductionOfArray.qbl
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartRow/Attribute_PlaceOfProductionOfArray.qbl
@@ -3,6 +3,6 @@
Attribute PlaceOfProductionOfArray
{
#keys: '3[414384.0.850180083][414384.0.850180082][414384.0.850180084]'
- Description: '缁勭粐缂栫爜'
+ Description: '闈㈡澘鍩哄湴'
ValueType: String
}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_GetProductCodesByBusinessType.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_GetProductCodesByBusinessType.qbl
index a664cdc..1a9a53a 100644
--- a/_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_GetProductCodesByBusinessType.qbl
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_GetProductCodesByBusinessType.qbl
@@ -2,14 +2,17 @@
#parent: #root
StaticMethod GetProductCodesByBusinessType (
CapacityAndSaleBudgeChartRows list,
- String businessTyoe
+ String businessType
) as owning Strings
{
TextBody:
[*
// yypsybs Sep-20-2023 (created)
- return selectuniquevalues( list, Elements, item,
- item.BusinessType() = businessTyoe,
- item.BusinessType() );
+ result := construct( Strings );
+ rowList := selectset( list, Elements, item, item.BusinessType() = businessType );
+ traverse( rowList, Elements, row ) {
+ result := result.Union( selectvalues( row, CapacityAndSaleBudgeChartRowProduct, cell, cell.ProductCode() ) );
+ }
+ return &result;
*]
}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_GetProductCodesByPlaceOfProductionOfArray.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_GetProductCodesByPlaceOfProductionOfArray.qbl
index 109e1d7..7ded1be 100644
--- a/_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_GetProductCodesByPlaceOfProductionOfArray.qbl
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_GetProductCodesByPlaceOfProductionOfArray.qbl
@@ -8,8 +8,11 @@
TextBody:
[*
// yypsybs Sep-20-2023 (created)
- return selectuniquevalues( list, Elements, item,
- item.PlaceOfProductionOfArray() = placeOfProductionOfArray,
- item.PlaceOfProductionOfArray() );
+ result := construct( Strings );
+ rowList := selectset( list, Elements, item, item.PlaceOfProductionOfArray() = placeOfProductionOfArray );
+ traverse( rowList, Elements, row ) {
+ result := result.Union( selectvalues( row, CapacityAndSaleBudgeChartRowProduct, cell, cell.ProductCode() ) );
+ }
+ return &result;
*]
}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartRowProduct/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartRowProduct/StaticMethod_CreateIfNotExist.qbl
index 8d05fbd..ad1fad0 100644
--- a/_Main/BL/Type_CapacityAndSaleBudgeChartRowProduct/StaticMethod_CreateIfNotExist.qbl
+++ b/_Main/BL/Type_CapacityAndSaleBudgeChartRowProduct/StaticMethod_CreateIfNotExist.qbl
@@ -10,7 +10,7 @@
// yypsybs Sep-18-2023 (created)
value := select( parent, CapacityAndSaleBudgeChartRowProduct, item, item.ProductCode() = productCode );
if( isnull( value ) ) {
- parent.CapacityAndSaleBudgeChartRowProduct( relnew, ProductCode := productCode );
+ value := parent.CapacityAndSaleBudgeChartRowProduct( relnew, ProductCode := productCode );
}
return value;
*]
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/Attribute_OrgCode.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/Attribute_OrgCode.qbl
deleted file mode 100644
index 3329fb9..0000000
--- a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/Attribute_OrgCode.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute OrgCode
-{
- #keys: '3[414384.0.822962978][414384.0.822962977][414384.0.822962979]'
- Description: '缁勭粐缂栫爜'
- ValueType: String
-}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/Attribute_PlaceOfProductionOfArray.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/Attribute_PlaceOfProductionOfArray.qbl
new file mode 100644
index 0000000..da79fc6
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/Attribute_PlaceOfProductionOfArray.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PlaceOfProductionOfArray
+{
+ #keys: '3[414384.0.864360344][414384.0.864360343][414384.0.864360345]'
+ Description: '闈㈡澘鍩哄湴'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl
index 8d6c215..e155e81 100644
--- a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl
@@ -3,15 +3,15 @@
StaticMethod CreateIfNotExist (
ScenarioManager scenarioManager,
String businessType,
- String orgCode
+ String placeOfProductionOfArray
) as CapacityAndSaleBudgeCompareItemRow
{
TextBody:
[*
// yypsybs Sep-18-2023 (created)
- value := select( scenarioManager, CapacityAndSaleBudgeCompareItemRow, row, row.BusinessType() = businessType and row.OrgCode() = orgCode );
+ value := select( scenarioManager, CapacityAndSaleBudgeCompareItemRow, row, row.BusinessType() = businessType and row.PlaceOfProductionOfArray() = placeOfProductionOfArray );
if( isnull( value ) ) {
- value := scenarioManager.CapacityAndSaleBudgeCompareItemRow( relnew, BusinessType := businessType, OrgCode := orgCode );
+ value := scenarioManager.CapacityAndSaleBudgeCompareItemRow( relnew, BusinessType := businessType, PlaceOfProductionOfArray := placeOfProductionOfArray );
}
return value;
*]
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRowProduct/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRowProduct/StaticMethod_CreateIfNotExist.qbl
index aae08c5..e0c8850 100644
--- a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRowProduct/StaticMethod_CreateIfNotExist.qbl
+++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRowProduct/StaticMethod_CreateIfNotExist.qbl
@@ -10,7 +10,7 @@
// yypsybs Sep-18-2023 (created)
value := select( parent, CapacityAndSaleBudgeCompareItemRowProduct, item, item.ProductCode() = productCode );
if( isnull( value ) ) {
- parent.CapacityAndSaleBudgeCompareItemRowProduct( relnew, ProductCode := productCode );
+ value := parent.CapacityAndSaleBudgeCompareItemRowProduct( relnew, ProductCode := productCode );
}
return value;
*]
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/Attribute_BusinessType.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..17fd28b
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/Attribute_BusinessType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+ #keys: '3[414384.0.874249290][414384.0.874249289][414384.0.874249291]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_CreateIfNotExist.qbl
new file mode 100644
index 0000000..4e3f888
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_CreateIfNotExist.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateIfNotExist (
+ MPSync parent,
+ String value
+)
+{
+ TextBody:
+ [*
+ // yypsybs Sep-15-2023 (created)
+ old := select( parent, CapacityAndSaleBudgeFilterBusinessType, item, item.BusinessType() = value );
+ if( isnull( old ) ) {
+ parent.CapacityAndSaleBudgeFilterBusinessType( relnew,
+ BusinessType := value );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/_ROOT_Type_CapacityAndSaleBudgeFilterBusinessType.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/_ROOT_Type_CapacityAndSaleBudgeFilterBusinessType.qbl
new file mode 100644
index 0000000..8232f6d
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/_ROOT_Type_CapacityAndSaleBudgeFilterBusinessType.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type CapacityAndSaleBudgeFilterBusinessType
+{
+ #keys: '5[414384.0.874249287][414384.0.874249285][0.0.0][414384.0.874249286][414384.0.874249288]'
+ BaseType: Object
+ Description: '瀵规瘮浜嬩笟閮�'
+ StructuredName: 'CapacityAndSaleBudgeFilterBusinessTypes'
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl
index a977b0a..ae10a43 100644
--- a/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl
@@ -4,7 +4,7 @@
ScenarioManager parent
)
{
- Description: '鍒濆鍖栨湀浠�'
+ Description: '鍒濆鍖栧勾浠�'
TextBody:
[*
// yypsybs Sep-15-2023 (created)
@@ -13,7 +13,7 @@
if( existList.Find( i ) = -1 ) {
parent.CapacityAndSaleBudgeFilterMonth( relnew,
MonthNo := i );
- }
+ }
}
*]
}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Attribute_PlaceOfProductionOfArray.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Attribute_PlaceOfProductionOfArray.qbl
new file mode 100644
index 0000000..252f523
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Attribute_PlaceOfProductionOfArray.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PlaceOfProductionOfArray
+{
+ #keys: '3[414384.0.873958113][414384.0.873958112][414384.0.873958114]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_CreateIfNotExist.qbl
new file mode 100644
index 0000000..6bb6aff
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_CreateIfNotExist.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateIfNotExist (
+ MPSync parent,
+ String value
+)
+{
+ TextBody:
+ [*
+ // yypsybs Sep-15-2023 (created)
+ old := select( parent, CapacityAndSaleBudgeFilterPlaceOfProductionOfArray, item, item.PlaceOfProductionOfArray() = value );
+ if( isnull( old ) ) {
+ parent.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relnew,
+ PlaceOfProductionOfArray := value );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/_ROOT_Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/_ROOT_Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray.qbl
new file mode 100644
index 0000000..c5c8dae
--- /dev/null
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/_ROOT_Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type CapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+{
+ #keys: '5[414384.0.873958110][414384.0.873958108][0.0.0][414384.0.873958109][414384.0.873958111]'
+ BaseType: Object
+ Description: '瀵规瘮浜嬩笟閮�'
+ StructuredName: 'CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays'
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl
index c0ddc68..822bde4 100644
--- a/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl
+++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl
@@ -10,7 +10,7 @@
// yypsybs Sep-15-2023 (created)
existList := selectuniquevalues( parent, CapacityAndSaleBudgeFilterYear, item, item.YearNo() );
nowYear := Date::Today().Year();
- for( i := nowYear; i <= nowYear + 10; i++ ) {
+ for( i := nowYear - 10; i <= nowYear; i++ ) {
if( existList.Find( i ) = -1 ) {
parent.CapacityAndSaleBudgeFilterYear( relnew,
YearNo := i );
diff --git a/_Main/BL/Type_CustomerAndForecastOrder/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_CustomerAndForecastOrder/Attribute_SalesSegmentName.qbl
new file mode 100644
index 0000000..caa0ddb
--- /dev/null
+++ b/_Main/BL/Type_CustomerAndForecastOrder/Attribute_SalesSegmentName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SalesSegmentName
+{
+ #keys: '3[414382.0.475811339][414382.0.475811338][414382.0.475811340]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CustomerAndForecastOrder/Attribute_StockingPointID.qbl b/_Main/BL/Type_CustomerAndForecastOrder/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..ce0439b
--- /dev/null
+++ b/_Main/BL/Type_CustomerAndForecastOrder/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[414382.0.475811360][414382.0.475811359][414382.0.475811361]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CustomerAndForecastOrder/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_CustomerAndForecastOrder/DefaultValue_StockingPointID.qbl
new file mode 100644
index 0000000..fbb83fc
--- /dev/null
+++ b/_Main/BL/Type_CustomerAndForecastOrder/DefaultValue_StockingPointID.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: StockingPointID
+}
diff --git a/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl
index 720a7bb..dc39665 100644
--- a/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl
+++ b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl
@@ -11,7 +11,7 @@
owner.FillingCapacityOrder(relnew,ProductID := data.ProductID(),BusinessType := data.BusinessType(),Customer := data.Customer(),CustomerID := data.CustomerID(),
Quantity := data.Quantity(),UnitOfMeasureName := data.UnitOfMeasureName(),PanelBigSheetQuantity := data.PanelBigSheetQuantity(),SalesAmount := data.SalesAmount(),
- ForecastDemandDate := data.ForecastDemandDate(),DemandDate := data.DemandDate(),VerNo := data.VerNo()
+ ForecastDemandDate := data.ForecastDemandDate(),DemandDate := data.DemandDate(),VerNo := data.VerNo(),SalesSegmentName := data.SalesSegmentName()
);
*]
}
diff --git a/_Main/BL/Type_CustomerOrder/Attribute_IsLocked.qbl b/_Main/BL/Type_CustomerOrder/Attribute_IsLocked.qbl
new file mode 100644
index 0000000..34516aa
--- /dev/null
+++ b/_Main/BL/Type_CustomerOrder/Attribute_IsLocked.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsLocked
+{
+ #keys: '3[412960.0.250388873][412960.0.250388872][412960.0.250388874]'
+ Description: '鏄惁琚攣瀹�'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_CustomerOrder/Attribute_LastModify.qbl b/_Main/BL/Type_CustomerOrder/Attribute_LastModify.qbl
new file mode 100644
index 0000000..14a756a
--- /dev/null
+++ b/_Main/BL/Type_CustomerOrder/Attribute_LastModify.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LastModify
+{
+ #keys: '3[412960.0.217504307][412960.0.217504306][412960.0.217504308]'
+ Description: '鏈�鍚庝慨鏀逛汉'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CustomerOrder/Attribute_LastModifyTime.qbl b/_Main/BL/Type_CustomerOrder/Attribute_LastModifyTime.qbl
new file mode 100644
index 0000000..530eb19
--- /dev/null
+++ b/_Main/BL/Type_CustomerOrder/Attribute_LastModifyTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LastModifyTime
+{
+ #keys: '3[412960.0.217504317][412960.0.217504316][412960.0.217504318]'
+ Description: '鏈�鍚庢搷浣滄椂闂�'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_CustomerOrder/StaticMethod_LockUnlock.qbl b/_Main/BL/Type_CustomerOrder/StaticMethod_LockUnlock.qbl
new file mode 100644
index 0000000..755761e
--- /dev/null
+++ b/_Main/BL/Type_CustomerOrder/StaticMethod_LockUnlock.qbl
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod LockUnlock (
+ MacroPlan owner,
+ CustomerOrders customerorders,
+ Boolean lock
+)
+{
+ Description: '閿佸畾/瑙i攣璁㈠崟'
+ TextBody:
+ [*
+ // Administrator Sep-21-2023 (created)
+ lastmodifytime := DateTime::ActualTime();
+ lastmodify := QuintiqUser::CurrentUser().Username();
+ if( lock ){
+ traverse( customerorders, Elements, order ){
+ order.IsLocked( lock );
+ order.LastModify( lastmodify );
+ order.LastModifyTime( lastmodifytime );
+ owner.OrderLockLog( relnew,
+ CustomerName := order.CustomerName(),
+ End := order.First().AsPlanningBaseSalesDemandInPeriod().End().Date(),
+ EndDate := order.EndDate(),
+ IsLocked := order.IsLocked(),
+ LastModify := order.LastModify(),
+ LastModifyTime := order.LastModifyTime(),
+ OrderID := order.OrderID(),
+ Price := order.Price(),
+ ProductID := order.ProductID(),
+ Quantity := order.Quantity(),
+ SalesSegmentName := order.SalesSegmentName(),
+ StockingPointID := order.StockingPointID(),
+ UnitOfMeasureName := order.UnitOfMeasureName(),
+ Notes := "娣诲姞閿佸畾" );
+ }
+ }else{
+ traverse( customerorders, Elements, order ){
+ order.IsLocked( lock );
+ order.LastModify( lastmodify );
+ order.LastModifyTime( lastmodifytime );
+ owner.OrderLockLog( relnew,
+ CustomerName := order.CustomerName(),
+ End := order.First().AsPlanningBaseSalesDemandInPeriod().End().Date(),
+ EndDate := order.EndDate(),
+ IsLocked := order.IsLocked(),
+ LastModify := order.LastModify(),
+ LastModifyTime := order.LastModifyTime(),
+ OrderID := order.OrderID(),
+ Price := order.Price(),
+ ProductID := order.ProductID(),
+ Quantity := order.Quantity(),
+ SalesSegmentName := order.SalesSegmentName(),
+ StockingPointID := order.StockingPointID(),
+ UnitOfMeasureName := order.UnitOfMeasureName(),
+ Notes := "瑙i櫎閿佸畾" );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl b/_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl
index 48ac995..15c7113 100644
--- a/_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl
+++ b/_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl
@@ -38,11 +38,32 @@
filllingCapacityOrderScheme := owner.FilllingCapacityOrderScheme(relnew,SchemeName := schemeName,SchemeDate := schemeDate,BusinessType := businessType,Customer := customer,CustomerID := customerID,
SalesSegmentName := salesSegmentName);
+
traverse( fillingCapacityOrders,Elements,e)
{
e.SchemeName(schemeName);
e.IsFilling(true);
filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, e);
}
+
+ // 鐗堟湰鍙�
+ verNoOrder := select( filllingCapacityOrderScheme,FillingCapacityOrder,o,
+ o.VerNo() <> ''
+ )
+
+ // 闇�瑕佸皢閿�鍞鍗曞拰棰勫敭璁㈠崟鍚屾椂淇濆瓨鍒版柟妗堜腑
+ traverse( owner,CustomerAndForecastOrder,order)
+ {
+
+ fillingOrder := owner.FillingCapacityOrder(relnew,BusinessType := order.BusinessType(),Customer := order.Customer(),CustomerID := order.CustomerID(),
+ DemandDate := order.DemandDate(),ForecastDemandDate := order.ForecastDemandDate(),IsFilling := true,
+ OrderType := '鎻愭媺',PanelBigSheetQuantity := order.PanelBigSheetQuantity(),ProductID := order.ProductID(),
+ Quantity := order.Quantity(),SalesSegmentName := order.SalesSegmentName(),SalesAmount := order.SalesAmount(),
+ SchemeName := schemeName,StockingPointID := order.StockingPointID(),UnitOfMeasureName := order.UnitOfMeasureName(),
+ VerNo := verNoOrder.VerNo()
+ );
+
+ filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, fillingOrder);
+ }
*]
}
diff --git a/_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_HasAlreadyRelease.qbl b/_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_HasAlreadyRelease.qbl
new file mode 100644
index 0000000..2dbd374
--- /dev/null
+++ b/_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_HasAlreadyRelease.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod HasAlreadyRelease (
+ MacroPlan owner
+) as Boolean
+{
+ TextBody:
+ [*
+ // NBoTk Sep-19-2023 (created)
+ check := false;
+ value := selectobject( owner,FilllingCapacityOrderScheme,scheme,
+ scheme.IsRelease()
+ )
+
+
+
+ if(not isnull( value) )
+ {
+ check := true;
+ }
+ return check;
+ *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeBusinessTypeString.qbl b/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeBusinessTypeString.qbl
deleted file mode 100644
index a9f779b..0000000
--- a/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeBusinessTypeString.qbl
+++ /dev/null
@@ -1,11 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method CapacityAndSaleBudgeBusinessTypeString () as owning String
-{
- TextBody:
- [*
- // yypsybs Sep-19-2023 (created)
- result := selectuniquevalues( this, CapacityAndSaleBudge, item, true, item.BusinessType() );
- return result.Concatenate( ";" ) ;
- *]
-}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgePlaceOfProductionOfArrayString.qbl b/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgePlaceOfProductionOfArrayString.qbl
deleted file mode 100644
index 753ff1b..0000000
--- a/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgePlaceOfProductionOfArrayString.qbl
+++ /dev/null
@@ -1,11 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Method CapacityAndSaleBudgePlaceOfProductionOfArrayString () as owning String
-{
- TextBody:
- [*
- // yypsybs Sep-19-2023 (created)
- result := selectuniquevalues( this, CapacityAndSaleBudge, item, true, item.PlaceOfProductionOfArray() );
- return result.Concatenate( ";" ) ;
- *]
-}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl b/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl
index f69a011..dd75de6 100644
--- a/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl
+++ b/_Main/BL/Type_GlobalDTOTable/Method_InitTestData.qbl
@@ -16,55 +16,5 @@
MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat2, "PROD_2", 1777.0, "PROD_2_DESC" );
MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 3, "鎵嬫満浜嬩笟閮�", "MAT_3", "MAT_3", "TYPE_1", 233.0, "閫氱敤", "鐭懆鏈�" );
MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 4, "鎵嬫満浜嬩笟閮�", "MAT_4", "MAT_4", "TYPE_2", 233.0, "涓撶敤", "鐭懆鏈�" );
-
-
- // yypsybs Sep-15-2023 (created)
- info( "CapacityAndSaleBudge::InitTestData" )
- this.CapacityAndSaleBudge( relflush );
- for( i := 1; i < 100; i := i + 1 ) {
- row := this.CapacityAndSaleBudge( relnew,
- PlaceOfProductionOfArray := "闈㈡澘鍩哄湴" + [String]Number::Random( 1, 10 ),
- BusinessType := "浜嬩笟閮�" + [String]Number::Random( 1, 10 ),
- CapacityInPCSInMonth1 := Number::Random( 1, 10000 ),
- CapacityInPCSInMonth2 := Number::Random( 1, 10000 ),
- CapacityInPCSInMonth3 := Number::Random( 1, 10000 ),
- CapacityInPCSInMonth4 := Number::Random( 1, 10000 ),
- CapacityInPCSInMonth5 := Number::Random( 1, 10000 ),
- CapacityInPCSInMonth6 := Number::Random( 1, 10000 ),
- CapacityInPCSInMonth7 := Number::Random( 1, 10000 ),
- CapacityInPCSInMonth8 := Number::Random( 1, 10000 ),
- CapacityInPCSInMonth9 := Number::Random( 1, 10000 ),
- CapacityInPCSInMonth10 := Number::Random( 1, 10000 ),
- CapacityInPCSInMonth11 := Number::Random( 1, 10000 ),
- CapacityInPCSInMonth12 := Number::Random( 1, 10000 ),
- CapacityInSheetInMonth1 := Number::Random( 1, 10000 ),
- CapacityInSheetInMonth2 := Number::Random( 1, 10000 ),
- CapacityInSheetInMonth3 := Number::Random( 1, 10000 ),
- CapacityInSheetInMonth4 := Number::Random( 1, 10000 ),
- CapacityInSheetInMonth5 := Number::Random( 1, 10000 ),
- CapacityInSheetInMonth6 := Number::Random( 1, 10000 ),
- CapacityInSheetInMonth7 := Number::Random( 1, 10000 ),
- CapacityInSheetInMonth8 := Number::Random( 1, 10000 ),
- CapacityInSheetInMonth9 := Number::Random( 1, 10000 ),
- CapacityInSheetInMonth10 := Number::Random( 1, 10000 ),
- CapacityInSheetInMonth11 := Number::Random( 1, 10000 ),
- CapacityInSheetInMonth12 := Number::Random( 1, 10000 ),
- SaleAmountInMonth1 := Number::Random( 1, 10000 ),
- SaleAmountInMonth2 := Number::Random( 1, 10000 ),
- SaleAmountInMonth3 := Number::Random( 1, 10000 ),
- SaleAmountInMonth4 := Number::Random( 1, 10000 ),
- SaleAmountInMonth5 := Number::Random( 1, 10000 ),
- SaleAmountInMonth6 := Number::Random( 1, 10000 ),
- SaleAmountInMonth7 := Number::Random( 1, 10000 ),
- SaleAmountInMonth8 := Number::Random( 1, 10000 ),
- SaleAmountInMonth9 := Number::Random( 1, 10000 ),
- SaleAmountInMonth10 := Number::Random( 1, 10000 ),
- SaleAmountInMonth11 := Number::Random( 1, 10000 ),
- SaleAmountInMonth12 := Number::Random( 1, 10000 )
- );
- row.CapacityInPCSTotal( row.GetCapacityInPCSInYear() );
- row.CapacityInSheetTotal( row.GetCapacityInSheetInYear() );
- row.SaleAmountTotal( row.GetSaleAmountInYear() );
- }
*]
}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl b/_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl
index 08f1d13..5c58293 100644
--- a/_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl
+++ b/_Main/BL/Type_GlobalDTOTable/Method_ReceivingPanelMaterials.qbl
@@ -44,44 +44,18 @@
replynvt := LibInt_MessageAccessor::CreateEmptyMessage();
LibInt_MessageAccessor::SetHeaderProperty( replynvt, "Content-Type", "application/json" );
+ LibInt_MessageAccessor::SetHeaderProperty( replynvt, "path", "/panelMaterial/send" );
rootNamedValue := replynvt.Root();
bodyHandle := replynvt.GetHandle( "Body" );
- petHandle := replynvt.GetHandle( "Pet" );
+
+ //petHandle := replynvt.GetHandle( "Pet" );
bodyNamedValue := rootNamedValue.Child( bodyHandle );
- petNamedValue := bodyNamedValue.AddChild( petHandle );
- categoryHandle := replynvt.GetHandle( "Category" );
- categoryNamedValue := petNamedValue.AddChild( categoryHandle );
- categoryIDHandle := replynvt.GetHandle( "Id" );
- categoryIDNamedValue := categoryNamedValue.AddChild( categoryIDHandle );
- categoryIDNamedValue.SetValue( 3 );
- categoryNameHandle := replynvt.GetHandle( "Name" );
- categoryNameNamedValue := categoryNamedValue.AddChild( categoryNameHandle );
- categoryNameNamedValue.SetValue( "Cat" );
- petNameHandle := replynvt.GetHandle( "Name" );
- petNameValue := petNamedValue.AddChild( petNameHandle );
- petNameValue.SetValue( "Pet1" );
- petIdHandle := replynvt.GetHandle( "PetId" );
- petIdNameValue := petNamedValue.AddChild( petIdHandle );
- petIdNameValue.SetValue( 1 );
+ codeHandler := replynvt.GetHandle( "code" );
+ codeNamedValue := bodyNamedValue.AddChild( codeHandler );
+ codeNamedValue.SetValue( 200 );
- photoUrlHandle := replynvt.GetHandle( "PhotoUrl" );
- photoUrlNameValue := petNamedValue.AddChild( photoUrlHandle );
- urlHandle := replynvt.GetHandle( "Url" );
- photoUrlNameValue.AddChild( urlHandle, "url1" );
-
- statusHandle := replynvt.GetHandle( "Status" );
- statusNameValue := petNamedValue.AddChild( statusHandle );
- statusNameValue.SetValue( "available" );
-
- tagHandle := replynvt.GetHandle( "Tag" );
- tagNameValue := petNamedValue.AddChild( tagHandle );
- tagIdHandle := replynvt.GetHandle( "Id" );
- tagNameValue.AddChild( tagIdHandle, 123 );
- tagNameHandle := replynvt.GetHandle( "Name" );
- tagNameValue.AddChild( tagNameHandle, "tag1" );
-
-
+ info( "鍝嶅簲------------------------------------------------------------" );
info( replynvt.ToString() );
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_CapacityAndSaleBudgeYearsString.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_CapacityAndSaleBudgeYearsString.qbl
deleted file mode 100644
index d59f61d..0000000
--- a/_Main/BL/Type_GlobalDTOTable/StaticMethod_CapacityAndSaleBudgeYearsString.qbl
+++ /dev/null
@@ -1,14 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod CapacityAndSaleBudgeYearsString () as String
-{
- TextBody:
- [*
- // yypsybs Sep-19-2023 (created)
- years := construct( Strings );;
- for( i := Date::ActualDate().Year(); i < Date::ActualDate().Year() + 10; i := i + 1 ) {
- years.Add( [String]i );
- }
- return ifexpr( years.Size() > 0, years.Concatenate( ";" ), "" );
- *]
-}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetBusinessTypeName.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetBusinessTypeName.qbl
new file mode 100644
index 0000000..20d4032
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetBusinessTypeName.qbl
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetBusinessTypeName (
+ String name
+) as String
+{
+ Description: '浠庝簨涓氶儴涓枃鍚嶇О鍒扮缉鍐欑殑杞崲'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ result := "";
+ if( name = "闆嗗洟" ){
+ result := "TM";
+ }else if( name = "鎵嬫満浜嬩笟閮�" ){
+ result := "SJ";
+ }else if( name = "IT浜嬩笟閮�" ){
+ result := "IT";
+ }else if( name = "杞﹁浇浜嬩笟閮�" ){
+ result := "CZ";
+ }else if( name = "姹借溅鐢靛瓙浜嬩笟閮�" ){
+ result := "QD";
+ }else if( name = "涓撴樉浜嬩笟閮�" ){
+ result := "ZX";
+ }else if( name = "绌挎埓浜嬩笟閮�" ){
+ result := "CD";
+ }else if( name = "闈㈡澘" ){
+ result := "MB";
+ }
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetNextCalType.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetNextCalType.qbl
new file mode 100644
index 0000000..97b09dc
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetNextCalType.qbl
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetNextCalType (
+ String latestcaltype,
+ String businesstype
+) as String
+{
+ Description: '鑾峰彇涓嬩竴涓绠楁楠�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ result := "";
+ if( businesstype = "TM"){
+ if( latestcaltype = "" ){
+ result := "SCENE";
+ }else if( latestcaltype = "SCENE" ){
+ result := "TM_SOP_R1";
+ }else if( latestcaltype = "TM_SOP_R1" ){
+ result := "TM_SOP_R2";
+ }else if( latestcaltype = "TM_SOP_R2" ){
+ error( "This version is ended" );
+ }
+ }else{
+ if( latestcaltype = "TM_SOP_R1" ){
+ result := businesstype + "_SOP_R1";
+ }else if( latestcaltype = "TM_SOP_R2" ){
+ result := businesstype + "_MPS_R1";
+ }else if( latestcaltype = businesstype + "_MPS_R1" ){
+ result := businesstype + "_MRP_R1";
+ }else if( latestcaltype = businesstype + "_MRP_R1" ){
+ result := businesstype + "_MPS_R2";
+ }else if( latestcaltype = businesstype + "_MPS_R2" ){
+ result := businesstype + "_MRP_R2";
+ }else if( latestcaltype = businesstype + "_MRP_R2" ){
+ error( "This version is ended" );
+ }
+ }
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl
new file mode 100644
index 0000000..a8610b8
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetOutputVersionData.qbl
@@ -0,0 +1,71 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetOutputVersionData (
+ GlobalOTDTable owner,
+ MacroPlan macroplan,
+ String businessname
+)
+{
+ Description: '褰㈡垚骞跺彂閫佺増鏈暟鎹�'
+ TextBody:
+ [*
+ // Administrator Sep-14-2023 (created)
+ businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
+
+ // Clean exist data
+ traverse( owner, MappingVersionControl, mpc, true ){
+ mpc.Delete();
+ }
+
+ // Get Latest version
+ latestversion := VersionControl::FindLatestUpdateVersion( owner, businesstype );
+ createtime := latestversion.CreateTime();
+ datafrom := businesstype;
+ releasetime := latestversion.ReleaseTime();
+ versionid := latestversion.VersionID() + "-" + latestversion.CalType();
+ info( versionid );
+ versionname := latestversion.LongVersionName();
+ user := latestversion.User();
+
+ // Get Data list to deal
+ listtodeal := selectset( macroplan,
+ Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod,
+ pispip,
+ pispip.SalesDemandQuantity() > 0 );
+
+ if( latestversion.CalType() = "TM_SOP_R1" ){
+ listtodeal := selectset( macroplan,
+ Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod,
+ pispip,
+ pispip.ProductInStockingPoint_MP().ProductID().StartsWith( "C1" ) );
+ }
+
+ traverse( listtodeal, Elements, item, true ){
+ endtime := item.End();
+ productid := item.ProductInStockingPoint_MP().ProductID();
+ qty := item.SalesDemandQuantity();
+ starttime := item.Start();
+ stockingpointid := item.StockingPointInPeriod().StockingPointID();
+ datato := "TM";
+ if( businesstype <> "TM" ){
+ datato := "TM";
+ }
+ owner.MappingVersionControl( relnew,
+ CreateTime := createtime,
+ DataFrom := datafrom,
+ DataTo := datato,
+ EndTime := endtime,
+ ProductID := productid,
+ Qty := qty,
+ ReleaseTime := releasetime,
+ StartTime := starttime,
+ StockingPointID := stockingpointid,
+ User := user,
+ VersionID := versionid,
+ VersionName := versionname )
+ }
+
+ // Send Data To DB
+ owner.Broker_OTD_VersionControlToDB().Execute();
+ *]
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl
new file mode 100644
index 0000000..b094140
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_GetVersionData.qbl
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetVersionData (
+ GlobalOTDTable owner,
+ String businessname
+)
+{
+ Description: '鎶藉彇骞跺鐞嗙増鏈暟鎹�'
+ TextBody:
+ [*
+ // Administrator Sep-14-2023 (created)
+ businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
+ releasetime := DateTime::ActualTime();
+ // Clean exist data
+ traverse( owner, MappingVersionControl, mpc, true ){
+ mpc.Delete();
+ }
+
+ // Get Data From DB
+ owner.Broker_OTD_VersionControl().Execute();
+
+ // Get Data list to deal
+ listtodeal := selectset( owner, MappingVersionControl, item, item.DataTo() = businesstype );
+
+ traverse( listtodeal, Elements, item, true ){
+ versionid := item.VersionID();
+ existversion := VersionControl::FindByFullVersionID( owner, versionid );
+ if( isnull( existversion ) ){
+ longversionname := item.VersionName();
+ longversionnamelist := longversionname.Tokenize( "-" );
+ shortversionname := longversionnamelist.Element( longversionnamelist.Size() - 1 );
+ caltype := shortversionname.SubString( 0, 10 );
+ shortversionid := versionid.ReplaceAll( "-" + caltype, "" );
+ newversioncontrol := VersionControl::Create( owner,
+ item.DataFrom(),
+ caltype,
+ item.CreateTime(),
+ shortversionid,
+ longversionname,
+ shortversionname,
+ item.User() );
+ newversioncontrol.IsReleased( true );
+ newversioncontrol.ReleaseTime( releasetime );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetNextFriday.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetNextFriday.qbl
new file mode 100644
index 0000000..925d22a
--- /dev/null
+++ b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetNextFriday.qbl
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SM_GetNextFriday () as Date
+{
+ Description: '鑾峰彇涓嬩竴涓槦鏈�5鐨勬棩鏈�'
+ TextBody:
+ [*
+ /**********************鑾峰彇涓嬩竴涓懆5鐨勬棩鏈�*******************
+ *鍒涘缓浜猴細yunying
+ *鍒涘缓鏃ユ湡锛�2023-09-21
+ *鎻忚堪锛氬緱鍒颁笅涓�涓槦鏈�5鐨勬棩鏈燂紝濡傛灉褰撳ぉ鏃舵槦鏈熶簲锛屽垯杩斿洖褰撳ぉ鏃ユ湡锛屽垱寤鸿鍗曚娇鐢�
+ **********************************************************/
+ //瀹氫箟涓嬩竴涓槦鏈�
+ nTargetWeenNum := 5;
+ nTodayWeekNum := Date::ActualDate().DayOfWeek();
+ // 鍚戝悗鍋忕Щ澶╂暟
+ nAddDays := 0;
+ if( nTodayWeekNum <= nTargetWeenNum)
+ {
+ nAddDays := nTargetWeenNum-nTodayWeekNum;
+ }
+ else
+ {
+ nAddDays := 7 - nTodayWeekNum+nTargetWeenNum;
+ }
+ // 涓嬩竴涓槦鏈熺殑鏃ユ湡
+ return Date::ActualDate() + nAddDays;
+ *]
+}
diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastData.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastData.qbl
new file mode 100644
index 0000000..5bf028e
--- /dev/null
+++ b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_InitialForcastData.qbl
@@ -0,0 +1,71 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SM_InitialForcastData (
+ MacroPlan Owner
+) as owning JSON
+{
+ Description: '鍒濆鍖栬鍗曢娴嬩俊鎭�'
+ TextBody:
+ [*
+ /**********************************鍒濆鍖栬鍗曢娴嬩俊鎭�***************************************
+ *娉細鏈‘瀹氫笂娓搁娴嬭鍗曟洿鏂伴�昏緫鍜屾暟鎹湁鏁堟�э紝杩欓噷杩涜浜屾澶勭悊锛屾柊鐢熸垚涓�涓垪琛紝閬垮厤涓婃父淇℃伅鍙樺姩涓ラ噸
+ * 褰卞搷鍔熻兘
+ *
+ *****************************************************************************************/
+ // 鍒濆鍖栫粨鏋�
+ bStatus := false;
+ strMsg :="";
+
+ try{
+ // 棰勬祴鏁版嵁2姝ゅ鐞嗭紙绛涢��+瀹㈡埛鍚嶇О鎻愬彇锛�
+ if(Owner.H_Forecast(relget ).Size()>0)
+ {
+ traverse( Owner,H_Forecast,Obj,not isnull( Obj))
+ {
+ Owner.H_Forecast(reldelete, Obj);
+ }
+ }
+ AllData:= selectset( Owner, Product_MP.SalesDemand.astype( Forecast ),object,object.EndDate().DateTime().Date() >= Date::ActualDate().StartOfMonth()
+ and object.EndDate().DateTime().Date() <= Date::ActualDate().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth()
+ and object.Quantity()>0 );
+
+ CustomName:="";
+ DepartMent:="";
+ idx:=0;
+ traverse( AllData,Elements,Obj,not isnull(Obj))
+ {
+ idx:=Obj.SalesSegmentName().FindString( "-",0);
+ if(idx>0)
+ {
+ DepartMent:=Obj.SalesSegmentName().SubString( 0,idx);
+ CustomName := Obj.SalesSegmentName().SubString( idx+1, Obj.SalesSegmentName().Length() - (idx+1));
+ }
+ else
+ {
+ CustomName :=Obj.SalesSegmentName();
+ DepartMent := Obj.SalesSegmentName();
+ }
+
+ Owner.H_Forecast(relnew,OrderCode := H_FunctionClass::SM_GenerateID( "OF"),
+ SKU := Obj.ProductID(),
+ CustomCode := CustomName,
+ CustomName := CustomName,
+ Util:=Obj.UnitOfMeasureName(),
+ NeedTime:=Obj.EndDate(),
+ ForecastQty:=[Number]Obj.Quantity().Round( 0),
+ Department:=DepartMent);
+ }
+ bStatus := true;
+ strMsg :="璁㈠崟棰勬祴鍒濆鍖栨垚鍔�!";
+ }
+ onerror
+ {
+ strMsg :="璁㈠崟棰勬祴鍒濆鍖栧け璐ワ紝鍙兘褰卞搷鍐插噺璁$畻锛岃鑱旂郴绯荤粺绠$悊鍛橈紒";
+ Owner.H_ErrorLogs(relnew,EClassName := "H_FunctionClass",EDateTime := DateTime::ActualGMTTime(),EFunctionName := "SM_InitialForcastData",
+ DeveloperInformation := e.DeveloperInformation(),ErrorNr := e.ErrorNr(),DetailedInformation := e.DetailedInformation(),
+ GeneralInformation := e.GeneralInformation());
+ }
+ return JSON::Object().Add( "Status",bStatus)
+ .Add( "Msg",strMsg).Build();
+ *]
+}
diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_MaterialReverse.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_MaterialReverse.qbl
index 52dcd9d..d096a87 100644
--- a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_MaterialReverse.qbl
+++ b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_MaterialReverse.qbl
@@ -40,7 +40,7 @@
// 鑾峰彇棰勬祴鏁伴噺锛堝鎴�+SKU+鏈堜唤 鐞嗚鏄病鏈夌墿鏂欓娴嬶級
OrderForecast := select(Owner, H_OrderForecastRealQty , Obj, Obj.SKU() = SKU
and Obj.CustomID() = CustomerCode
- and Obj.Month().Format( "YM2") = Date::ActualDate().Format( "YM2"));
+ and Obj.Month().Format( "YM2") = Date::ActualDate().Format( "YM2"));
if ( not isnull(OrderForecast))
{
nForecastQtyOld := OrderForecast.ForecatsRealQty();
@@ -93,6 +93,28 @@
Owner.H_ReverseRealQty(relnew,ID := H_FunctionClass::SM_GenerateID( "RQ"),SKU := SKU,Unit := "閫氳繃SKU鑾峰彇",ReverseRealQty := nReverseQtyNew);
}
+
+ MaterialResult := selectset( Owner,H_MaterialHedgingResult,Obj,Obj.SKU() = SKU);
+ if( MaterialResult.Size()=0)
+ {
+ Owner.H_MaterialHedgingResult(relnew,
+ ID := H_FunctionClass::SM_GenerateID( "MR"),
+ SKU:=SKU,
+ ForecastQty := nForecastQtyNew,
+ ReverseQty := nReverseQtyNew,
+ AuthorizeQty := 0,
+ CustomerCode := CustomerCode,
+ CustomerName := "",
+ Unit := "",
+ MType := "鐗╂枡/鍗婃垚鍝�");
+ }
+ else
+ {
+ traverse( MaterialResult,Elements,Obj,not isnull( Obj))
+ {
+ Obj.ReverseQty( nReverseQtyNew);
+ }
+ }
// 閲婃斁閲囪喘
Owner.H_MaterialPurchase(relnew,ID := H_FunctionClass::SM_GenerateID( "MP"),VCode:=VCode, DemandTime := DateTime::ActualTime(),
H_HedgingRecord_ID := HRID,SKU := SKU,ProductSubclassType := "鐗╂枡绫诲瀷锛岀敤SKU鎶撶墿鏂欒〃寰楀埌",Qty := OperateQty,Unit := "閫氳繃SKU鎶�",
@@ -196,7 +218,46 @@
AuthorizeRealQty :=nAuthorizeQtyNew,
Unit := "SKU 鍒扮墿鏂欒〃鑾峰彇");
}
-
+ //鏇存柊缁撴灉
+ MaterialResult := selectset( Owner,H_MaterialHedgingResult,Obj,Obj.SKU() = SKU);
+ if( MaterialResult.Size()=0)
+ {
+ // 娣诲姞涓�鏉″弽绛捐褰�
+ Owner.H_MaterialHedgingResult(relnew,
+ ID := H_FunctionClass::SM_GenerateID( "MR"),
+ SKU:=SKU,
+ ForecastQty := nForecastQtyNew,
+ ReverseQty := nReverseQtyNew,
+ AuthorizeQty := 0,
+ CustomerCode := CustomerCode,
+ CustomerName := "",
+ Unit := "",
+ MType := "鐗╂枡/鍗婃垚鍝�");
+
+ // 娣诲姞涓�鏉℃巿鏉冭褰�
+ Owner.H_MaterialHedgingResult(relnew,
+ ID := H_FunctionClass::SM_GenerateID( "MR"),
+ SKU:=SKU,
+ ForecastQty := nForecastQtyNew,
+ ReverseQty := nReverseQtyNew,
+ AuthorizeQty := nAuthorizeQtyNew,
+ CustomerCode := CustomerCode,
+ Unit := "",MType := "鐗╂枡/鍗婃垚鍝�",
+ CustomerName := CustomerCode);
+ }
+ else
+ {
+ traverse( MaterialResult,Elements,Obj,not isnull( Obj))
+ {
+ Obj.ReverseQty( nReverseQtyNew);
+ if( Obj.CustomerCode()= CustomerCode)
+ {
+ Obj.AuthorizeQty(nAuthorizeQtyNew);
+ Obj.ForecastQty(nForecastQtyNew);
+ }
+ }
+ }
+
// 閲婃斁閲囪喘
nMid_R :=OperateQty - nReverseQtyOld;
if( nMid_R > 0)
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/Attribute_AuthorizeQty.qbl b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_AuthorizeQty.qbl
new file mode 100644
index 0000000..c4c9f13
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_AuthorizeQty.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute AuthorizeQty
+{
+ #keys: '3[414724.0.133544641][414724.0.133544640][414724.0.133544642]'
+ Description: '鎺堟潈鍓╀綑鏁伴噺'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/Attribute_CustomerCode.qbl b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_CustomerCode.qbl
new file mode 100644
index 0000000..24a04c3
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_CustomerCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CustomerCode
+{
+ #keys: '3[414724.0.133544653][414724.0.133544652][414724.0.133544654]'
+ Description: '瀹㈡埛ID'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/Attribute_CustomerName.qbl b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_CustomerName.qbl
new file mode 100644
index 0000000..13d3c7c
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_CustomerName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CustomerName
+{
+ #keys: '3[414724.0.133544660][414724.0.133544659][414724.0.133544661]'
+ Description: '瀹㈡埛鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/Attribute_ForecastQty.qbl b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_ForecastQty.qbl
new file mode 100644
index 0000000..04a979a
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_ForecastQty.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ForecastQty
+{
+ #keys: '3[414724.0.133544656][414724.0.133544655][414724.0.133544657]'
+ Description: '褰撴湀棰勬祴鍓╀綑鏁伴噺'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/Attribute_ID.qbl b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_ID.qbl
new file mode 100644
index 0000000..badfad5
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_ID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ID
+{
+ #keys: '3[414724.0.133544626][414724.0.133544625][414724.0.133544627]'
+ Description: 'KEY'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/Attribute_MType.qbl b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_MType.qbl
new file mode 100644
index 0000000..b18e72d
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_MType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MType
+{
+ #keys: '3[414724.0.134572562][414724.0.134572561][414724.0.134572563]'
+ Description: ' 鐗╂枡绫诲瀷'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/Attribute_ReverseQty.qbl b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_ReverseQty.qbl
new file mode 100644
index 0000000..a6dfa92
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_ReverseQty.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ReverseQty
+{
+ #keys: '3[414724.0.133544623][414724.0.133544622][414724.0.133544624]'
+ Description: '鍙嶇鍓╀綑鏁伴噺'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/Attribute_SKU.qbl b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_SKU.qbl
new file mode 100644
index 0000000..4d2dc02
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_SKU.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SKU
+{
+ #keys: '3[414724.0.133544644][414724.0.133544643][414724.0.133544645]'
+ Description: 'SKU缂栫爜'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/Attribute_Serial.qbl b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_Serial.qbl
new file mode 100644
index 0000000..b0b49ec
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_Serial.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Serial
+{
+ #keys: '3[414724.0.133544647][414724.0.133544646][414724.0.133544648]'
+ Description: '搴忓彿锛屼笉涓�瀹氫娇鐢�'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/Attribute_Unit.qbl b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_Unit.qbl
new file mode 100644
index 0000000..1b86054
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/Attribute_Unit.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Unit
+{
+ #keys: '3[414724.0.133544673][414724.0.133544672][414724.0.133544674]'
+ Description: '鍗曚綅'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/DefaultValue_CustomerCode.qbl b/_Main/BL/Type_H_MaterialHedgingResult/DefaultValue_CustomerCode.qbl
new file mode 100644
index 0000000..cc729d8
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/DefaultValue_CustomerCode.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: CustomerCode
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/DefaultValue_ID.qbl b/_Main/BL/Type_H_MaterialHedgingResult/DefaultValue_ID.qbl
new file mode 100644
index 0000000..049abc0
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/DefaultValue_ID.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: ID
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/DefaultValue_SKU.qbl b/_Main/BL/Type_H_MaterialHedgingResult/DefaultValue_SKU.qbl
new file mode 100644
index 0000000..2aceb60
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/DefaultValue_SKU.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: SKU
+}
diff --git a/_Main/BL/Type_H_MaterialHedgingResult/_ROOT_Type_H_MaterialHedgingResult.qbl b/_Main/BL/Type_H_MaterialHedgingResult/_ROOT_Type_H_MaterialHedgingResult.qbl
new file mode 100644
index 0000000..518141a
--- /dev/null
+++ b/_Main/BL/Type_H_MaterialHedgingResult/_ROOT_Type_H_MaterialHedgingResult.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type H_MaterialHedgingResult
+{
+ #keys: '5[414724.0.133544603][414724.0.133544601][0.0.0][414724.0.133544602][414724.0.133544604]'
+ BaseType: Object
+ Description: '鐗╂枡鍙嶇鎺堟潈缁撴灉'
+ StructuredName: 'H_MaterialHedgingResults'
+}
diff --git a/_Main/BL/Type_H_MessagePassing/Attribute_ValueJsonString.qbl b/_Main/BL/Type_H_MessagePassing/Attribute_ValueJsonString.qbl
new file mode 100644
index 0000000..aba7042
--- /dev/null
+++ b/_Main/BL/Type_H_MessagePassing/Attribute_ValueJsonString.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ValueJsonString
+{
+ #keys: '3[414724.0.138457270][414724.0.138457269][414724.0.138457271]'
+ Description: 'Json鏍煎紡瀛楃涓叉牸寮忕殑Value'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MPSync/Method_CapacityAndSaleBudgeBusinessTypeString.qbl b/_Main/BL/Type_MPSync/Method_CapacityAndSaleBudgeBusinessTypeString.qbl
new file mode 100644
index 0000000..717a4f8
--- /dev/null
+++ b/_Main/BL/Type_MPSync/Method_CapacityAndSaleBudgeBusinessTypeString.qbl
@@ -0,0 +1,11 @@
+Quintiq file version 2.0
+#parent: #root
+Method CapacityAndSaleBudgeBusinessTypeString () as owning String
+{
+ TextBody:
+ [*
+ // yypsybs Sep-19-2023 (created)
+ result := selectuniquevalues( this, MappingCapacityAndSaleBudge, item, true, item.BusinessType() );
+ return result.Concatenate( ";" ) ;
+ *]
+}
diff --git a/_Main/BL/Type_MPSync/Method_CapacityAndSaleBudgePlaceOfProductionOfArrayString.qbl b/_Main/BL/Type_MPSync/Method_CapacityAndSaleBudgePlaceOfProductionOfArrayString.qbl
new file mode 100644
index 0000000..2612296
--- /dev/null
+++ b/_Main/BL/Type_MPSync/Method_CapacityAndSaleBudgePlaceOfProductionOfArrayString.qbl
@@ -0,0 +1,11 @@
+Quintiq file version 2.0
+#parent: #root
+Method CapacityAndSaleBudgePlaceOfProductionOfArrayString () as owning String
+{
+ TextBody:
+ [*
+ // yypsybs Sep-19-2023 (created)
+ result := selectuniquevalues( this, MappingCapacityAndSaleBudge, item, true, item.PlaceOfProductionOfArray() );
+ return result.Concatenate( ";" ) ;
+ *]
+}
diff --git "a/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter\043323.qbl" "b/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter\043323.qbl"
new file mode 100644
index 0000000..5f2c716
--- /dev/null
+++ "b/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter\043323.qbl"
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method RefreshCapacityAndSaleBudgeFilter (
+ Boolean deleteBeforeCreate
+)
+{
+ TextBody:
+ [*
+ if( deleteBeforeCreate ) {
+ this.CapacityAndSaleBudgeFilterBusinessType( relflush );
+ this.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relflush );
+ }
+ this.RefreshCapacityAndSaleBudgeFilter();
+ *]
+}
diff --git a/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter.qbl b/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter.qbl
new file mode 100644
index 0000000..6c1f176
--- /dev/null
+++ b/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method RefreshCapacityAndSaleBudgeFilter
+{
+ TextBody:
+ [*
+ // yypsybs Sep-21-2023 (created)
+ info( "=====RefreshCapacityAndSaleBudgeFilter====" );
+ businessTypes := selectuniquevalues( this, MappingCapacityAndSaleBudge, item, item.BusinessType() );
+ info( [String]businessTypes.Size() );
+ traverse( businessTypes, Elements, businessType ) {
+ CapacityAndSaleBudgeFilterBusinessType::CreateIfNotExist( this, businessType );
+ }
+ placeOfProductionOfArrays := selectuniquevalues( this, MappingCapacityAndSaleBudge, item, item.PlaceOfProductionOfArray() );
+ info( [String]placeOfProductionOfArrays.Size() );
+ traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) {
+ CapacityAndSaleBudgeFilterPlaceOfProductionOfArray::CreateIfNotExist( this, placeOfProductionOfArray );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_MPSync/StaticMethod_CapacityAndSaleBudgeYearsString.qbl b/_Main/BL/Type_MPSync/StaticMethod_CapacityAndSaleBudgeYearsString.qbl
new file mode 100644
index 0000000..331fe2d
--- /dev/null
+++ b/_Main/BL/Type_MPSync/StaticMethod_CapacityAndSaleBudgeYearsString.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CapacityAndSaleBudgeYearsString () as String
+{
+ TextBody:
+ [*
+ // yypsybs Sep-19-2023 (created)
+ years := construct( Strings );;
+ for( i := Date::ActualDate().Year() - 10; i <= Date::ActualDate().Year(); i := i + 1 ) {
+ years.Add( [String]i );
+ }
+ return ifexpr( years.Size() > 0, years.Concatenate( ";" ), "" );
+ *]
+}
diff --git a/_Main/BL/Type_MPSync/StaticMethod_TestData.qbl b/_Main/BL/Type_MPSync/StaticMethod_TestData.qbl
new file mode 100644
index 0000000..87c2b27
--- /dev/null
+++ b/_Main/BL/Type_MPSync/StaticMethod_TestData.qbl
@@ -0,0 +1,64 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod TestData (
+ MPSync mpSync,
+ MacroPlan macroPlan
+)
+{
+ TextBody:
+ [*
+ // yypsybs Sep-20-2023 (created)
+
+ info( "MPSync::TestData" );
+
+ productCodeList := selectuniquevalues( macroPlan, Product_MP, item, item.ID() );
+ info( "productCodeList : " + [String]productCodeList.Size() );
+
+ mpSync.MappingCapacityAndSaleBudge( relflush );
+ for( year := Date::ActualDate().Year() - 10; year <= Date::ActualDate().Year(); year := year + 1 ) {
+ for( i := 1; i <= productCodeList.Size(); i := i + 1 ) {
+ productCode := productCodeList.Element( i - 1 );
+ mappingCapacityAndSaleBudge := mpSync.MappingCapacityAndSaleBudge( relnew,
+ YearNo := year,
+ ProductCode := productCode,
+ BusinessType := "浜嬩笟閮�" + [String](productCode.Length() mod 3 + 1),
+ PlaceOfProductionOfArray := "闈㈡澘鍩哄湴" + [String](productCode.Length() mod 4 + 1)
+ );
+ for( month := 1; month <= 12; month := month + 1 ) {
+ field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "CapacityInPCSInMonth" + [String]month );
+ field.Set( mappingCapacityAndSaleBudge, Real::Random( 20000.0, 30000.0 ) );
+ field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "CapacityInSheetInMonth" + [String]month );
+ field.Set( mappingCapacityAndSaleBudge, Real::Random( 20000.0, 30000.0 ) );
+ field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "SaleAmountInMonth" + [String]month );
+ field.Set( mappingCapacityAndSaleBudge, Real::Random( 20000.0, 30000.0 ) );
+ }
+ mappingCapacityAndSaleBudge.CapacityInPCSTotal( mappingCapacityAndSaleBudge.GetCapacityInPCSInYear() );
+ mappingCapacityAndSaleBudge.CapacityInSheetTotal( mappingCapacityAndSaleBudge.GetCapacityInSheetInYear() );
+ mappingCapacityAndSaleBudge.SaleAmountTotal( mappingCapacityAndSaleBudge.GetSaleAmountInYear() );
+ }
+ }
+ result1 := selectset( mpSync, MappingCapacityAndSaleBudge, item, true );
+ info( "test MappingCapacityAndSaleBudge size : " + [String]result1.Size() );
+
+ mpSync.MappingAnnualBudget( relflush );
+ for( year := Date::ActualDate().Year() - 10; year <= Date::ActualDate().Year(); year := year + 1 ) {
+ for( i := 1; i <= productCodeList.Size(); i := i + 1 ) {
+ productCode := productCodeList.Element( i - 1 );
+ mappingAnnualBudget := mpSync.MappingAnnualBudget( relnew,
+ YearNo := year,
+ ProductId := productCode
+ );
+ for( month := 1; month <= 12; month := month + 1 ) {
+ field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlyModCapacity" + [String]month );
+ field.Set( mappingAnnualBudget, Real::Random( 20000.0, 30000.0 ) );
+ field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlySheetCapacity" + [String]month );
+ field.Set( mappingAnnualBudget, Real::Random( 20000.0, 30000.0 ) );
+ field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlySales" + [String]month );
+ field.Set( mappingAnnualBudget, Real::Random( 20000.0, 30000.0 ) );
+ }
+ }
+ }
+ result2 := selectset( mpSync, MappingAnnualBudget, item, true );
+ info( "test MappingAnnualBudget size : " + [String]result2.Size() );
+ *]
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_BusinessType.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..a122190
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_BusinessType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+ #keys: '3[414384.0.874289974][414384.0.874289973][414384.0.874289975]'
+ Description: '涓氬姟绫诲瀷'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity1.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity1.qbl
new file mode 100644
index 0000000..a947f89
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity1.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlyModCapacity1
+{
+ #keys: '3[414384.0.874289977][414384.0.874289976][414384.0.874289978]'
+ Description: '1鏈堟ā缁勪骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity10.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity10.qbl
new file mode 100644
index 0000000..b1f45a3
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity10.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlyModCapacity10
+{
+ #keys: '3[414384.0.874290004][414384.0.874290003][414384.0.874290005]'
+ Description: '10鏈堟ā缁勪骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity11.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity11.qbl
new file mode 100644
index 0000000..230ec57
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity11.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlyModCapacity11
+{
+ #keys: '3[414384.0.874290007][414384.0.874290006][414384.0.874290008]'
+ Description: '11鏈堟ā缁勪骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity12.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity12.qbl
new file mode 100644
index 0000000..d959531
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity12.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlyModCapacity12
+{
+ #keys: '3[414384.0.874290010][414384.0.874290009][414384.0.874290011]'
+ Description: '12鏈堟ā缁勪骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity2.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity2.qbl
new file mode 100644
index 0000000..0cad4a5
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity2.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlyModCapacity2
+{
+ #keys: '3[414384.0.874289980][414384.0.874289979][414384.0.874289981]'
+ Description: '2鏈堟ā缁勪骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity3.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity3.qbl
new file mode 100644
index 0000000..83b2395
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity3.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlyModCapacity3
+{
+ #keys: '3[414384.0.874289983][414384.0.874289982][414384.0.874289984]'
+ Description: '3鏈堟ā缁勪骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity4.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity4.qbl
new file mode 100644
index 0000000..587cb6d
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity4.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlyModCapacity4
+{
+ #keys: '3[414384.0.874289986][414384.0.874289985][414384.0.874289987]'
+ Description: '4鏈堟ā缁勪骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity5.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity5.qbl
new file mode 100644
index 0000000..188baf2
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity5.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlyModCapacity5
+{
+ #keys: '3[414384.0.874289989][414384.0.874289988][414384.0.874289990]'
+ Description: '5鏈堟ā缁勪骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity6.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity6.qbl
new file mode 100644
index 0000000..0b85232
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity6.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlyModCapacity6
+{
+ #keys: '3[414384.0.874289992][414384.0.874289991][414384.0.874289993]'
+ Description: '6鏈堟ā缁勪骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity7.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity7.qbl
new file mode 100644
index 0000000..1ec701b
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity7.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlyModCapacity7
+{
+ #keys: '3[414384.0.874289995][414384.0.874289994][414384.0.874289996]'
+ Description: '7鏈堟ā缁勪骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity8.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity8.qbl
new file mode 100644
index 0000000..66f263c
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity8.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlyModCapacity8
+{
+ #keys: '3[414384.0.874289998][414384.0.874289997][414384.0.874289999]'
+ Description: '8鏈堟ā缁勪骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity9.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity9.qbl
new file mode 100644
index 0000000..3e6b697
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlyModCapacity9.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlyModCapacity9
+{
+ #keys: '3[414384.0.874290001][414384.0.874290000][414384.0.874290002]'
+ Description: '9鏈堟ā缁勪骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales1.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales1.qbl
new file mode 100644
index 0000000..f8d4c4d
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales1.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySales1
+{
+ #keys: '3[414384.0.874290049][414384.0.874290048][414384.0.874290050]'
+ Description: '1鏈堥攢鍞'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales10.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales10.qbl
new file mode 100644
index 0000000..e4969d8
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales10.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySales10
+{
+ #keys: '3[414384.0.874290076][414384.0.874290075][414384.0.874290077]'
+ Description: '10鏈堥攢鍞'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales11.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales11.qbl
new file mode 100644
index 0000000..e91c4cd
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales11.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySales11
+{
+ #keys: '3[414384.0.874290079][414384.0.874290078][414384.0.874290080]'
+ Description: '11鏈堥攢鍞'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales12.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales12.qbl
new file mode 100644
index 0000000..30a1a0b
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales12.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySales12
+{
+ #keys: '3[414384.0.874290082][414384.0.874290081][414384.0.874290083]'
+ Description: '12鏈堥攢鍞'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales2.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales2.qbl
new file mode 100644
index 0000000..898e38f
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales2.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySales2
+{
+ #keys: '3[414384.0.874290052][414384.0.874290051][414384.0.874290053]'
+ Description: '2鏈堥攢鍞'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales3.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales3.qbl
new file mode 100644
index 0000000..15a94ae
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales3.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySales3
+{
+ #keys: '3[414384.0.874290055][414384.0.874290054][414384.0.874290056]'
+ Description: '3鏈堥攢鍞'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales4.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales4.qbl
new file mode 100644
index 0000000..43b4653
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales4.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySales4
+{
+ #keys: '3[414384.0.874290058][414384.0.874290057][414384.0.874290059]'
+ Description: '4鏈堥攢鍞'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales5.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales5.qbl
new file mode 100644
index 0000000..7e5dce4
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales5.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySales5
+{
+ #keys: '3[414384.0.874290061][414384.0.874290060][414384.0.874290062]'
+ Description: '5鏈堥攢鍞'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales6.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales6.qbl
new file mode 100644
index 0000000..541e0c5
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales6.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySales6
+{
+ #keys: '3[414384.0.874290064][414384.0.874290063][414384.0.874290065]'
+ Description: '6鏈堥攢鍞'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales7.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales7.qbl
new file mode 100644
index 0000000..38e195c
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales7.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySales7
+{
+ #keys: '3[414384.0.874290067][414384.0.874290066][414384.0.874290068]'
+ Description: '7鏈堥攢鍞'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales8.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales8.qbl
new file mode 100644
index 0000000..2ba343e
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales8.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySales8
+{
+ #keys: '3[414384.0.874290070][414384.0.874290069][414384.0.874290071]'
+ Description: '8鏈堥攢鍞'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales9.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales9.qbl
new file mode 100644
index 0000000..dc656a9
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySales9.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySales9
+{
+ #keys: '3[414384.0.874290073][414384.0.874290072][414384.0.874290074]'
+ Description: '9鏈堥攢鍞'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity1.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity1.qbl
new file mode 100644
index 0000000..2bddbc1
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity1.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySheetCapacity1
+{
+ #keys: '3[414384.0.874290013][414384.0.874290012][414384.0.874290014]'
+ Description: '1鏈堝疄鏁板ぇ寮犱骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity10.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity10.qbl
new file mode 100644
index 0000000..9526d3c
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity10.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySheetCapacity10
+{
+ #keys: '3[414384.0.874290040][414384.0.874290039][414384.0.874290041]'
+ Description: '10鏈堝疄鏁板ぇ寮犱骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity11.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity11.qbl
new file mode 100644
index 0000000..5a8257c
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity11.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySheetCapacity11
+{
+ #keys: '3[414384.0.874290043][414384.0.874290042][414384.0.874290044]'
+ Description: '11鏈堝疄鏁板ぇ寮犱骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity12.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity12.qbl
new file mode 100644
index 0000000..245bdd7
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity12.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySheetCapacity12
+{
+ #keys: '3[414384.0.874290046][414384.0.874290045][414384.0.874290047]'
+ Description: '12鏈堝疄鏁板ぇ寮犱骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity2.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity2.qbl
new file mode 100644
index 0000000..c76ddae
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity2.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySheetCapacity2
+{
+ #keys: '3[414384.0.874290016][414384.0.874290015][414384.0.874290017]'
+ Description: '2鏈堝疄鏁板ぇ寮犱骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity3.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity3.qbl
new file mode 100644
index 0000000..b7b9a0b
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity3.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySheetCapacity3
+{
+ #keys: '3[414384.0.874290019][414384.0.874290018][414384.0.874290020]'
+ Description: '3鏈堝疄鏁板ぇ寮犱骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity4.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity4.qbl
new file mode 100644
index 0000000..666fb83
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity4.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySheetCapacity4
+{
+ #keys: '3[414384.0.874290022][414384.0.874290021][414384.0.874290023]'
+ Description: '4鏈堝疄鏁板ぇ寮犱骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity5.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity5.qbl
new file mode 100644
index 0000000..534a9d8
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity5.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySheetCapacity5
+{
+ #keys: '3[414384.0.874290025][414384.0.874290024][414384.0.874290026]'
+ Description: '5鏈堝疄鏁板ぇ寮犱骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity6.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity6.qbl
new file mode 100644
index 0000000..02aca20
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity6.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySheetCapacity6
+{
+ #keys: '3[414384.0.874290028][414384.0.874290027][414384.0.874290029]'
+ Description: '6鏈堝疄鏁板ぇ寮犱骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity7.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity7.qbl
new file mode 100644
index 0000000..51d0978
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity7.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySheetCapacity7
+{
+ #keys: '3[414384.0.874290031][414384.0.874290030][414384.0.874290032]'
+ Description: '7鏈堝疄鏁板ぇ寮犱骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity8.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity8.qbl
new file mode 100644
index 0000000..9551e3c
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity8.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySheetCapacity8
+{
+ #keys: '3[414384.0.874290034][414384.0.874290033][414384.0.874290035]'
+ Description: '8鏈堝疄鏁板ぇ寮犱骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity9.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity9.qbl
new file mode 100644
index 0000000..206054f
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_MonthlySheetCapacity9.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MonthlySheetCapacity9
+{
+ #keys: '3[414384.0.874290037][414384.0.874290036][414384.0.874290038]'
+ Description: '9鏈堝疄鏁板ぇ寮犱骇鑳�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_ProductId.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_ProductId.qbl
new file mode 100644
index 0000000..9f8ca6f
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_ProductId.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductId
+{
+ #keys: '3[414384.0.874289946][414384.0.874289945][414384.0.874289947]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Attribute_yearNo.qbl b/_Main/BL/Type_MappingAnnualBudget/Attribute_yearNo.qbl
new file mode 100644
index 0000000..c970d34
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Attribute_yearNo.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute YearNo
+{
+ #keys: '3[414384.0.874290125][414384.0.874290124][414384.0.874290126]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartRow/DefaultValue_BusinessType.qbl b/_Main/BL/Type_MappingAnnualBudget/DefaultValue_BusinessType.qbl
similarity index 100%
rename from _Main/BL/Type_CapacityAndSaleBudgeChartRow/DefaultValue_BusinessType.qbl
rename to _Main/BL/Type_MappingAnnualBudget/DefaultValue_BusinessType.qbl
diff --git a/_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInPCSInYear.qbl b/_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInPCSInYear.qbl
new file mode 100644
index 0000000..1d8303d
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInPCSInYear.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetCapacityInPCSInYear () as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := 0.0;
+ for( i := 1; i <= 12; i := i + 1 ) {
+ field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlyModCapacity" + [String]i );
+ result := result + field.GetReal( this );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInHalfYear.qbl b/_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInHalfYear.qbl
new file mode 100644
index 0000000..3606369
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInHalfYear.qbl
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetCapacityInSheetInHalfYear (
+ Number halfNo
+) as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := 0.0;
+ fromMonth := 1 + ( halfNo - 1 ) * 6;
+ toMonth := 6 + ( halfNo - 1 ) * 6;
+ for( i := fromMonth; i <= toMonth; i := i + 1 ) {
+ field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlySheetCapacity" + [String]i );
+ result := result + field.GetReal( this );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInSeason.qbl b/_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInSeason.qbl
new file mode 100644
index 0000000..9023738
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInSeason.qbl
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetCapacityInSheetInSeason (
+ Number seasonNo
+) as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := 0.0;
+ fromMonth := 1 + ( seasonNo - 1 ) * 3;
+ toMonth := 3 + ( seasonNo - 1 ) * 3;
+ for( i := fromMonth; i <= toMonth; i := i + 1 ) {
+ field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlySheetCapacity" + [String]i );
+ result := result + field.GetReal( this );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInYear.qbl b/_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInYear.qbl
new file mode 100644
index 0000000..7828eb3
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Method_GetCapacityInSheetInYear.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetCapacityInSheetInYear () as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := 0.0;
+ for( i := 1; i <= 12; i := i + 1 ) {
+ field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlySheetCapacity" + [String]i );
+ result := result + field.GetReal( this );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/Method_GetSaleAmountInYear.qbl b/_Main/BL/Type_MappingAnnualBudget/Method_GetSaleAmountInYear.qbl
new file mode 100644
index 0000000..bbb3166
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/Method_GetSaleAmountInYear.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetSaleAmountInYear () as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := 0.0;
+ for( i := 1; i <= 12; i := i + 1 ) {
+ field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlySales" + [String]i );
+ result := result + field.GetReal( this );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSaleByMonth.qbl b/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSaleByMonth.qbl
new file mode 100644
index 0000000..e85f742
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSaleByMonth.qbl
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetSaleByMonth (
+ Strings productNo,
+ MPSync parent,
+ Number yearNo,
+ Number monthNo
+) as Real
+{
+ Description: '閿�鍞锛圵锛�'
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlySales" + [String]monthNo );
+ value := sum( parent,
+ MappingAnnualBudget,
+ item,
+ item.YearNo() = yearNo and productNo.Find( item.ProductId() ) > -1,
+ field.GetReal( item ) );
+ return value;
+ *]
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSaleByYear.qbl b/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSaleByYear.qbl
new file mode 100644
index 0000000..679009e
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSaleByYear.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetSaleByYear (
+ Strings productNo,
+ MPSync parent,
+ Number yearNo
+) as Real
+{
+ Description: '閿�鍞锛圵锛�'
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := sum( parent,
+ MappingAnnualBudget,
+ item,
+ item.YearNo() = yearNo and productNo.Find( item.ProductId() ) > -1,
+ item.GetSaleAmountInYear() );
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByHalfYear.qbl b/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByHalfYear.qbl
new file mode 100644
index 0000000..0bc221e
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByHalfYear.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetSheetByHalfYear (
+ Strings productNo,
+ MPSync parent,
+ Number yearNo,
+ Number halfNo
+) as Real
+{
+ Description: '浜ц兘 - 瀹炴暟澶у紶'
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := sum( parent,
+ MappingAnnualBudget,
+ item,
+ item.YearNo() = yearNo and productNo.Find( item.ProductId() ) > -1,
+ item.GetCapacityInSheetInHalfYear( halfNo ) );
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByMonth.qbl b/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByMonth.qbl
new file mode 100644
index 0000000..18801f0
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByMonth.qbl
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetSheetByMonth (
+ Strings productNo,
+ MPSync parent,
+ Number yearNo,
+ Number monthNo
+) as Real
+{
+ Description: '浜ц兘-瀹炴暟澶у紶'
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ field := Reflection::FindAttribute( "MappingAnnualBudget", "MonthlySheetCapacity" + [String]monthNo );
+ value := sum( parent,
+ MappingAnnualBudget,
+ item,
+ item.YearNo() = yearNo and productNo.Find( item.ProductId() ) > -1,
+ field.GetReal( item ) );
+ return value;
+ *]
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetBySeason.qbl b/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetBySeason.qbl
new file mode 100644
index 0000000..0d6087b
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetBySeason.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetSheetBySeason (
+ Strings productNo,
+ MPSync parent,
+ Number yearNo,
+ Number seasonNo
+) as Real
+{
+ Description: '浜ц兘 - 瀹炴暟澶у紶'
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := sum( parent,
+ MappingAnnualBudget,
+ item,
+ item.YearNo() = yearNo and productNo.Find( item.ProductId() ) > -1,
+ item.GetCapacityInSheetInSeason( seasonNo ) );
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByYear.qbl b/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByYear.qbl
new file mode 100644
index 0000000..e63a38a
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/StaticMethod_GetSheetByYear.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetSheetByYear (
+ Strings productNo,
+ MPSync parent,
+ Number yearNo
+) as Real
+{
+ Description: '浜ц兘 - 瀹炴暟澶у紶'
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := sum( parent,
+ MappingAnnualBudget,
+ item,
+ item.YearNo() = yearNo and productNo.Find( item.ProductId() ) > -1,
+ item.GetCapacityInSheetInYear() );
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingAnnualBudget/_ROOT_Type_MappingAnnualBudget.qbl b/_Main/BL/Type_MappingAnnualBudget/_ROOT_Type_MappingAnnualBudget.qbl
new file mode 100644
index 0000000..eeab2ce
--- /dev/null
+++ b/_Main/BL/Type_MappingAnnualBudget/_ROOT_Type_MappingAnnualBudget.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type MappingAnnualBudget
+{
+ #keys: '5[414384.0.874289918][414384.0.874289916][0.0.0][414384.0.874289917][414384.0.874289919]'
+ BaseType: Object
+ Description: '骞村害棰勭畻鏁版嵁'
+ StructuredName: 'MappingAnnualBudgets'
+}
diff --git a/_Main/BL/Type_MappingBOM/StaticMethod_CreateTestData.qbl b/_Main/BL/Type_MappingBOM/StaticMethod_CreateTestData.qbl
index 2c92dc7..d374c5e 100644
--- a/_Main/BL/Type_MappingBOM/StaticMethod_CreateTestData.qbl
+++ b/_Main/BL/Type_MappingBOM/StaticMethod_CreateTestData.qbl
@@ -3,19 +3,20 @@
StaticMethod CreateTestData (
MacroPlan parent,
String businessType,
- String orgCode
+ String orgCode,
+ String productCode
) as MappingBOM
{
TextBody:
[*
// yypsybs Sep-18-2023 (created)
- value := select( parent, MappingBOM, bom, bom.BusinessType() = businessType and bom.OrganCode() = orgCode );
+ value := select( parent, MappingBOM, bom, bom.BusinessType() = businessType and bom.OrganCode() = orgCode and bom.ProductCode() = productCode );
if( isnull( value ) ) {
value := parent.MappingBOM( relnew,
BusinessType := businessType,
OrganCode := orgCode,
+ ProductCode := productCode,
ProcessSection := "",
- ProductCode := "",
ComponentCode := "",
AlternativeMaterialCode := "" );
}
diff --git a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByHalfYear.qbl b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByHalfYear.qbl
new file mode 100644
index 0000000..27563ee
--- /dev/null
+++ b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByHalfYear.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetNewSupplyByHalfYear (
+ Strings productNo,
+ MacroPlan macroPlan,
+ Number yearNo,
+ Number halfNo
+) as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ fromMonth := 1 + ( halfNo - 1 ) * 6;
+ toMonth := 6 + ( halfNo - 1 ) * 6;
+ result := 0.0;
+ for( i := fromMonth; i <= toMonth; i := i + 1 ) {
+ result := result + MappingCustomerOrder::GetNewSupplyByMonth( productNo, macroPlan, yearNo, i );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByMonth.qbl b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByMonth.qbl
new file mode 100644
index 0000000..478e518
--- /dev/null
+++ b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByMonth.qbl
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetNewSupplyByMonth (
+ Strings productNo,
+ MacroPlan macroPlan,
+ Number yearNo,
+ Number monthNo
+) as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := sum( macroPlan,
+ MappingCustomerOrder,
+ item,
+ productNo.Find( item.ProductID() ) > -1
+ and item.OrderDate().Year() = yearNo
+ and item.OrderDate().Month() = monthNo,
+ item.Quantity() * item.Price() );
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyBySeason.qbl b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyBySeason.qbl
new file mode 100644
index 0000000..1a6ad83
--- /dev/null
+++ b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyBySeason.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetNewSupplyBySeason (
+ Strings productNo,
+ MacroPlan macroPlan,
+ Number yearNo,
+ Number seasonNo
+) as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ fromMonth := 1 + ( seasonNo - 1 ) * 3;
+ toMonth := 3 + ( seasonNo - 1 ) * 3;
+ result := 0.0;
+ for( i := fromMonth; i <= toMonth; i := i + 1 ) {
+ result := result + MappingCustomerOrder::GetNewSupplyByMonth( productNo, macroPlan, yearNo, i );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByYear.qbl b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByYear.qbl
new file mode 100644
index 0000000..bd09df8
--- /dev/null
+++ b/_Main/BL/Type_MappingCustomerOrder/StaticMethod_GetNewSupplyByYear.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetNewSupplyByYear (
+ Strings productNo,
+ MacroPlan macroPlan,
+ Number yearNo
+) as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-21-2023 (created)
+ result := 0.0;
+ for( i := 1; i <= 12; i := i + 1 ) {
+ result := result + MappingCustomerOrder::GetNewSupplyByMonth( productNo, macroPlan, yearNo, i );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityEquivalent.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityEquivalent.qbl
new file mode 100644
index 0000000..79ee8e4
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityEquivalent.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityEquivalent
+{
+ #keys: '3[414384.0.867241217][414384.0.867241216][414384.0.867241218]'
+ Description: '浜ц兘褰撻噺'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInJan.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInJan.qbl
deleted file mode 100644
index acb1511..0000000
--- a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInJan.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CapacityInPCSInJan
-{
- #keys: '3[414384.0.803580132][414384.0.803580131][414384.0.803580133]'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth1.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth1.qbl
new file mode 100644
index 0000000..5aa064a
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth1.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSInMonth1
+{
+ #keys: '3[414384.0.864360392][414384.0.864360391][414384.0.864360393]'
+ Description: '1鏈堜骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth10.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth10.qbl
new file mode 100644
index 0000000..2d0823b
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth10.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSInMonth10
+{
+ #keys: '3[414384.0.864360398][414384.0.864360397][414384.0.864360399]'
+ Description: '10鏈堜骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth11.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth11.qbl
new file mode 100644
index 0000000..3e4e17f
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth11.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSInMonth11
+{
+ #keys: '3[414384.0.864360395][414384.0.864360394][414384.0.864360396]'
+ Description: '11鏈堜骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth12.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth12.qbl
new file mode 100644
index 0000000..a494071
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth12.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSInMonth12
+{
+ #keys: '3[414384.0.864360386][414384.0.864360385][414384.0.864360387]'
+ Description: '12鏈堜骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth2.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth2.qbl
new file mode 100644
index 0000000..96e4277
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth2.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSInMonth2
+{
+ #keys: '3[414384.0.864360371][414384.0.864360370][414384.0.864360372]'
+ Description: '2鏈堜骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth3.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth3.qbl
new file mode 100644
index 0000000..c82ee6a
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth3.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSInMonth3
+{
+ #keys: '3[414384.0.864360374][414384.0.864360373][414384.0.864360375]'
+ Description: '3鏈堜骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth4.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth4.qbl
new file mode 100644
index 0000000..14a2e6c
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth4.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSInMonth4
+{
+ #keys: '3[414384.0.864360377][414384.0.864360376][414384.0.864360378]'
+ Description: '4鏈堜骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth5.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth5.qbl
new file mode 100644
index 0000000..e889eda
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth5.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSInMonth5
+{
+ #keys: '3[414384.0.864360380][414384.0.864360379][414384.0.864360381]'
+ Description: '5鏈堜骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth6.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth6.qbl
new file mode 100644
index 0000000..227edb2
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth6.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSInMonth6
+{
+ #keys: '3[414384.0.864360401][414384.0.864360400][414384.0.864360402]'
+ Description: '6鏈堜骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth7.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth7.qbl
new file mode 100644
index 0000000..007d324
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth7.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSInMonth7
+{
+ #keys: '3[414384.0.864360383][414384.0.864360382][414384.0.864360384]'
+ Description: '7鏈堜骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth8.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth8.qbl
new file mode 100644
index 0000000..0bea26a
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth8.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSInMonth8
+{
+ #keys: '3[414384.0.864360368][414384.0.864360367][414384.0.864360369]'
+ Description: '8鏈堜骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth9.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth9.qbl
new file mode 100644
index 0000000..ce4956a
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSInMonth9.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSInMonth9
+{
+ #keys: '3[414384.0.864360389][414384.0.864360388][414384.0.864360390]'
+ Description: '9鏈堜骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSTotal.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSTotal.qbl
new file mode 100644
index 0000000..c7b3fc7
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInPCSTotal.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInPCSTotal
+{
+ #keys: '3[414384.0.867241226][414384.0.867241225][414384.0.867241227]'
+ Description: '骞翠骇鑳斤紙PCS锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInJan.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInJan.qbl
deleted file mode 100644
index b063ea3..0000000
--- a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInJan.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute CapacityInSheetInJan
-{
- #keys: '3[414384.0.803580142][414384.0.803580141][414384.0.803580143]'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth1.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth1.qbl
new file mode 100644
index 0000000..f2ed586
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth1.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetInMonth1
+{
+ #keys: '3[414384.0.864360406][414384.0.864360405][414384.0.864360407]'
+ Description: '1鏈堜骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth10.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth10.qbl
new file mode 100644
index 0000000..9e791d0
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth10.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetInMonth10
+{
+ #keys: '3[414384.0.864360430][414384.0.864360429][414384.0.864360431]'
+ Description: '10鏈堜骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth11.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth11.qbl
new file mode 100644
index 0000000..283eb69
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth11.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetInMonth11
+{
+ #keys: '3[414384.0.864360427][414384.0.864360426][414384.0.864360428]'
+ Description: '11鏈堜骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth12.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth12.qbl
new file mode 100644
index 0000000..b91d698
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth12.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetInMonth12
+{
+ #keys: '3[414384.0.864360439][414384.0.864360438][414384.0.864360440]'
+ Description: '12鏈堜骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth2.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth2.qbl
new file mode 100644
index 0000000..b73c187
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth2.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetInMonth2
+{
+ #keys: '3[414384.0.864360409][414384.0.864360408][414384.0.864360410]'
+ Description: '2鏈堜骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth3.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth3.qbl
new file mode 100644
index 0000000..7d60a74
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth3.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetInMonth3
+{
+ #keys: '3[414384.0.864360421][414384.0.864360420][414384.0.864360422]'
+ Description: '3鏈堜骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth4.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth4.qbl
new file mode 100644
index 0000000..6c46554
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth4.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetInMonth4
+{
+ #keys: '3[414384.0.864360415][414384.0.864360414][414384.0.864360416]'
+ Description: '4鏈堜骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth5.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth5.qbl
new file mode 100644
index 0000000..575b883
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth5.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetInMonth5
+{
+ #keys: '3[414384.0.864360412][414384.0.864360411][414384.0.864360413]'
+ Description: '5鏈堜骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth6.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth6.qbl
new file mode 100644
index 0000000..5af9a7b
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth6.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetInMonth6
+{
+ #keys: '3[414384.0.864360424][414384.0.864360423][414384.0.864360425]'
+ Description: '6鏈堜骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth7.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth7.qbl
new file mode 100644
index 0000000..dca7992
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth7.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetInMonth7
+{
+ #keys: '3[414384.0.864360433][414384.0.864360432][414384.0.864360434]'
+ Description: '7鏈堜骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth8.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth8.qbl
new file mode 100644
index 0000000..3daef81
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth8.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetInMonth8
+{
+ #keys: '3[414384.0.864360436][414384.0.864360435][414384.0.864360437]'
+ Description: '8鏈堜骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth9.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth9.qbl
new file mode 100644
index 0000000..b739807
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetInMonth9.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetInMonth9
+{
+ #keys: '3[414384.0.864360418][414384.0.864360417][414384.0.864360419]'
+ Description: '9鏈堜骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetTotal.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetTotal.qbl
new file mode 100644
index 0000000..1ec9da6
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_CapacityInSheetTotal.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CapacityInSheetTotal
+{
+ #keys: '3[414384.0.867241232][414384.0.867241231][414384.0.867241233]'
+ Description: '骞翠骇鑳斤紙Sheet锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_Deleted.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_Deleted.qbl
new file mode 100644
index 0000000..38d2205
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_Deleted.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Deleted
+{
+ #keys: '3[414384.0.867241223][414384.0.867241222][414384.0.867241224]'
+ Description: '宸插垹闄�'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_DisplayTechnology.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_DisplayTechnology.qbl
new file mode 100644
index 0000000..cfa5f36
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_DisplayTechnology.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DisplayTechnology
+{
+ #keys: '3[414384.0.867241208][414384.0.867241207][414384.0.867241209]'
+ Description: '鏄剧ず鎶�鏈垎绫�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_NumberOfCut.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_NumberOfCut.qbl
new file mode 100644
index 0000000..aac3e19
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_NumberOfCut.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NumberOfCut
+{
+ #keys: '3[414384.0.867241229][414384.0.867241228][414384.0.867241230]'
+ Description: '鍒囧壊鏁�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_NumberOfMask.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_NumberOfMask.qbl
new file mode 100644
index 0000000..0a37a77
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_NumberOfMask.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NumberOfMask
+{
+ #keys: '3[414384.0.867241241][414384.0.867241240][414384.0.867241242]'
+ Description: 'mask鏁�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_OrgCode.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_OrgCode.qbl
new file mode 100644
index 0000000..3e69afb
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_OrgCode.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrgCode
+{
+ #keys: '3[414384.0.867241214][414384.0.867241213][414384.0.867241215]'
+ Description: '涓氬姟閮ㄩ棬'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_PlaceOfProductionOfArray.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_PlaceOfProductionOfArray.qbl
new file mode 100644
index 0000000..5f3564c
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_PlaceOfProductionOfArray.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PlaceOfProductionOfArray
+{
+ #keys: '3[414384.0.864360358][414384.0.864360357][414384.0.864360359]'
+ Description: '闈㈡澘鍩哄湴'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_PlaceOfProductionOfEvaporation.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_PlaceOfProductionOfEvaporation.qbl
new file mode 100644
index 0000000..78ade77
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_PlaceOfProductionOfEvaporation.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PlaceOfProductionOfEvaporation
+{
+ #keys: '3[414384.0.867241211][414384.0.867241210][414384.0.867241212]'
+ Description: '钂搁晙浜у湴'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_Resolution.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_Resolution.qbl
new file mode 100644
index 0000000..f503398
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_Resolution.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Resolution
+{
+ #keys: '3[414384.0.867241235][414384.0.867241234][414384.0.867241236]'
+ Description: '鍒嗚鲸鐜�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth1.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth1.qbl
new file mode 100644
index 0000000..d061259
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth1.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountInMonth1
+{
+ #keys: '3[414384.0.864360470][414384.0.864360469][414384.0.864360471]'
+ Description: '1鏈堥攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth10.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth10.qbl
new file mode 100644
index 0000000..824026b
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth10.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountInMonth10
+{
+ #keys: '3[414384.0.864360449][414384.0.864360448][414384.0.864360450]'
+ Description: '10鏈堥攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth11.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth11.qbl
new file mode 100644
index 0000000..896ab80
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth11.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountInMonth11
+{
+ #keys: '3[414384.0.864360443][414384.0.864360442][414384.0.864360444]'
+ Description: '11鏈堥攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth12.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth12.qbl
new file mode 100644
index 0000000..e6fb2ea
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth12.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountInMonth12
+{
+ #keys: '3[414384.0.864360455][414384.0.864360454][414384.0.864360456]'
+ Description: '12鏈堥攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth2.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth2.qbl
new file mode 100644
index 0000000..7f2e07b
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth2.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountInMonth2
+{
+ #keys: '3[414384.0.864360461][414384.0.864360460][414384.0.864360462]'
+ Description: '2鏈堥攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth3.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth3.qbl
new file mode 100644
index 0000000..cafbdf7
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth3.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountInMonth3
+{
+ #keys: '3[414384.0.864360467][414384.0.864360466][414384.0.864360468]'
+ Description: '3鏈堥攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth4.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth4.qbl
new file mode 100644
index 0000000..d710f68
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth4.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountInMonth4
+{
+ #keys: '3[414384.0.864360464][414384.0.864360463][414384.0.864360465]'
+ Description: '4鏈堥攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth5.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth5.qbl
new file mode 100644
index 0000000..59d0ed8
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth5.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountInMonth5
+{
+ #keys: '3[414384.0.864360476][414384.0.864360475][414384.0.864360477]'
+ Description: '5鏈堥攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth6.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth6.qbl
new file mode 100644
index 0000000..bb36165
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth6.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountInMonth6
+{
+ #keys: '3[414384.0.864360458][414384.0.864360457][414384.0.864360459]'
+ Description: '6鏈堥攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth7.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth7.qbl
new file mode 100644
index 0000000..68f79e6
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth7.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountInMonth7
+{
+ #keys: '3[414384.0.864360473][414384.0.864360472][414384.0.864360474]'
+ Description: '7鏈堥攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth8.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth8.qbl
new file mode 100644
index 0000000..212ce32
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth8.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountInMonth8
+{
+ #keys: '3[414384.0.864360446][414384.0.864360445][414384.0.864360447]'
+ Description: '8鏈堥攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth9.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth9.qbl
new file mode 100644
index 0000000..e014c2a
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountInMonth9.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountInMonth9
+{
+ #keys: '3[414384.0.864360452][414384.0.864360451][414384.0.864360453]'
+ Description: '9鏈堥攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountTotal.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountTotal.qbl
new file mode 100644
index 0000000..db943a7
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_SaleAmountTotal.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SaleAmountTotal
+{
+ #keys: '3[414384.0.867241220][414384.0.867241219][414384.0.867241221]'
+ Description: '骞撮攢鍞锛堜竾锛�'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_SalesAmountInWInJan.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_SalesAmountInWInJan.qbl
deleted file mode 100644
index 97fa1b8..0000000
--- a/_Main/BL/Type_MappingSaleBudge/Attribute_SalesAmountInWInJan.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute SalesAmountInWInJan
-{
- #keys: '3[414384.0.803580152][414384.0.803580151][414384.0.803580153]'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_ShippingForm.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_ShippingForm.qbl
new file mode 100644
index 0000000..8356f90
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_ShippingForm.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ShippingForm
+{
+ #keys: '3[414384.0.867241244][414384.0.867241243][414384.0.867241245]'
+ Description: '鍑鸿揣褰㈡��'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Attribute_YearNo.qbl b/_Main/BL/Type_MappingSaleBudge/Attribute_YearNo.qbl
new file mode 100644
index 0000000..3816a37
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Attribute_YearNo.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute YearNo
+{
+ #keys: '3[414384.0.874271421][414384.0.874271420][414384.0.874271422]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/DefaultValue_CapacityEquivalent.qbl b/_Main/BL/Type_MappingSaleBudge/DefaultValue_CapacityEquivalent.qbl
new file mode 100644
index 0000000..c5be8e2
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/DefaultValue_CapacityEquivalent.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: CapacityEquivalent
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/DefaultValue_DisplayTechnology.qbl b/_Main/BL/Type_MappingSaleBudge/DefaultValue_DisplayTechnology.qbl
new file mode 100644
index 0000000..81ea97e
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/DefaultValue_DisplayTechnology.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: DisplayTechnology
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/DefaultValue_NumberOfCut.qbl b/_Main/BL/Type_MappingSaleBudge/DefaultValue_NumberOfCut.qbl
new file mode 100644
index 0000000..c512ccf
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/DefaultValue_NumberOfCut.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: NumberOfCut
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/DefaultValue_NumberOfMask.qbl b/_Main/BL/Type_MappingSaleBudge/DefaultValue_NumberOfMask.qbl
new file mode 100644
index 0000000..27114c0
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/DefaultValue_NumberOfMask.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: NumberOfMask
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/DefaultValue_OrgCode.qbl b/_Main/BL/Type_MappingSaleBudge/DefaultValue_OrgCode.qbl
new file mode 100644
index 0000000..e95264f
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/DefaultValue_OrgCode.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: OrgCode
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/DefaultValue_PlaceOfProductionOfEvaporation.qbl b/_Main/BL/Type_MappingSaleBudge/DefaultValue_PlaceOfProductionOfEvaporation.qbl
new file mode 100644
index 0000000..0c8ee87
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/DefaultValue_PlaceOfProductionOfEvaporation.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: PlaceOfProductionOfEvaporation
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/DefaultValue_Resolution.qbl b/_Main/BL/Type_MappingSaleBudge/DefaultValue_Resolution.qbl
new file mode 100644
index 0000000..e505ebf
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/DefaultValue_Resolution.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: Resolution
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/DefaultValue_ShippingForm.qbl b/_Main/BL/Type_MappingSaleBudge/DefaultValue_ShippingForm.qbl
new file mode 100644
index 0000000..bf077c5
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/DefaultValue_ShippingForm.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: ShippingForm
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInPCSInYear.qbl b/_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInPCSInYear.qbl
new file mode 100644
index 0000000..d3faf58
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInPCSInYear.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetCapacityInPCSInYear () as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := 0.0;
+ for( i := 1; i <= 12; i := i + 1 ) {
+ field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "CapacityInPCSInMonth" + [String]i );
+ result := result + field.GetReal( this );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInSheetInHalfYear.qbl b/_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInSheetInHalfYear.qbl
new file mode 100644
index 0000000..7ddf422
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInSheetInHalfYear.qbl
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetCapacityInSheetInHalfYear (
+ Number halfNo
+) as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := 0.0;
+ fromMonth := 1 + ( halfNo - 1 ) * 6;
+ toMonth := 6 + ( halfNo - 1 ) * 6;
+ for( i := fromMonth; i <= toMonth; i := i + 1 ) {
+ field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "CapacityInSheetInMonth" + [String]i );
+ result := result + field.GetReal( this );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInSheetInSeason.qbl b/_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInSheetInSeason.qbl
new file mode 100644
index 0000000..75d8ad6
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInSheetInSeason.qbl
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetCapacityInSheetInSeason (
+ Number seasonNo
+) as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := 0.0;
+ fromMonth := 1 + ( seasonNo - 1 ) * 3;
+ toMonth := 3 + ( seasonNo - 1 ) * 3;
+ for( i := fromMonth; i <= toMonth; i := i + 1 ) {
+ field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "CapacityInSheetInMonth" + [String]i );
+ result := result + field.GetReal( this );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInSheetInYear.qbl b/_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInSheetInYear.qbl
new file mode 100644
index 0000000..ddb2a10
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Method_GetCapacityInSheetInYear.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetCapacityInSheetInYear () as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := 0.0;
+ for( i := 1; i <= 12; i := i + 1 ) {
+ field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "CapacityInSheetInMonth" + [String]i );
+ result := result + field.GetReal( this );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/Method_GetSaleAmountInYear.qbl b/_Main/BL/Type_MappingSaleBudge/Method_GetSaleAmountInYear.qbl
new file mode 100644
index 0000000..93bf2ba
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/Method_GetSaleAmountInYear.qbl
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method GetSaleAmountInYear () as Real
+{
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := 0.0;
+ for( i := 1; i <= 12; i := i + 1 ) {
+ field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "SaleAmountInMonth" + [String]i );
+ result := result + field.GetReal( this );
+ }
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSaleByMonth.qbl b/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSaleByMonth.qbl
new file mode 100644
index 0000000..d972699
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSaleByMonth.qbl
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetSaleByMonth (
+ Strings productNo,
+ MPSync parent,
+ Number yearNo,
+ Number monthNo
+) as Real
+{
+ Description: '閿�鍞锛圵锛�'
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "SaleAmountInMonth" + [String]monthNo );
+ value := sum( parent,
+ MappingCapacityAndSaleBudge,
+ item,
+ item.YearNo() = yearNo and productNo.Find( item.ProductCode() ) > -1,
+ field.GetReal( item ) );
+ return value;
+ *]
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSaleByYear.qbl b/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSaleByYear.qbl
new file mode 100644
index 0000000..0d32878
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSaleByYear.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetSaleByYear (
+ Strings productNo,
+ MPSync parent,
+ Number yearNo
+) as Real
+{
+ Description: '閿�鍞锛圵锛�'
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := sum( parent,
+ MappingCapacityAndSaleBudge,
+ item,
+ item.YearNo() = yearNo and productNo.Find( item.ProductCode() ) > -1,
+ item.GetSaleAmountInYear() );
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetByHalfYear.qbl b/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetByHalfYear.qbl
new file mode 100644
index 0000000..b3c236b
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetByHalfYear.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetSheetByHalfYear (
+ Strings productNo,
+ MPSync parent,
+ Number yearNo,
+ Number halfNo
+) as Real
+{
+ Description: '浜ц兘 - 瀹炴暟澶у紶'
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := sum( parent,
+ MappingCapacityAndSaleBudge,
+ item,
+ item.YearNo() = yearNo and productNo.Find( item.ProductCode() ) > -1,
+ item.GetCapacityInSheetInHalfYear( halfNo ) );
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetByMonth.qbl b/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetByMonth.qbl
new file mode 100644
index 0000000..8e0721d
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetByMonth.qbl
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetSheetByMonth (
+ Strings productNo,
+ MPSync parent,
+ Number yearNo,
+ Number monthNo
+) as Real
+{
+ Description: '浜ц兘-瀹炴暟澶у紶'
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ field := Reflection::FindAttribute( "MappingCapacityAndSaleBudge", "CapacityInSheetInMonth" + [String]monthNo );
+ value := sum( parent,
+ MappingCapacityAndSaleBudge,
+ item,
+ item.YearNo() = yearNo and productNo.Find( item.ProductCode() ) > -1,
+ field.GetReal( item ) );
+ return value;
+ *]
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetBySeason.qbl b/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetBySeason.qbl
new file mode 100644
index 0000000..db1803a
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetBySeason.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetSheetBySeason (
+ Strings productNo,
+ MPSync parent,
+ Number yearNo,
+ Number seasonNo
+) as Real
+{
+ Description: '浜ц兘 - 瀹炴暟澶у紶'
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := sum( parent,
+ MappingCapacityAndSaleBudge,
+ item,
+ item.YearNo() = yearNo and productNo.Find( item.ProductCode() ) > -1,
+ item.GetCapacityInSheetInSeason( seasonNo ) );
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetByYear.qbl b/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetByYear.qbl
new file mode 100644
index 0000000..21a4a50
--- /dev/null
+++ b/_Main/BL/Type_MappingSaleBudge/StaticMethod_GetSheetByYear.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetSheetByYear (
+ Strings productNo,
+ MPSync parent,
+ Number yearNo
+) as Real
+{
+ Description: '浜ц兘 - 瀹炴暟澶у紶'
+ TextBody:
+ [*
+ // yypsybs Sep-18-2023 (created)
+ result := sum( parent,
+ MappingCapacityAndSaleBudge,
+ item,
+ item.YearNo() = yearNo and productNo.Find( item.ProductCode() ) > -1,
+ item.GetCapacityInSheetInYear() );
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_CreateTime.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_CreateTime.qbl
new file mode 100644
index 0000000..412204a
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_CreateTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CreateTime
+{
+ #keys: '3[412960.0.150120147][412960.0.150120146][412960.0.150120148]'
+ Description: '鍒涘缓鏃堕棿'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_DataFrom.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_DataFrom.qbl
new file mode 100644
index 0000000..d35de79
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_DataFrom.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DataFrom
+{
+ #keys: '3[412960.0.150120067][412960.0.150120066][412960.0.150120068]'
+ Description: '鏁版嵁鍙戝嚭鐨勯儴闂ㄥ悕绉�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_DataTo.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_DataTo.qbl
new file mode 100644
index 0000000..c08ce30
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_DataTo.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DataTo
+{
+ #keys: '3[412960.0.150120077][412960.0.150120076][412960.0.150120078]'
+ Description: '鎺ユ敹鏁版嵁鐨勯儴闂ㄥ悕绉�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_EndTime.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_EndTime.qbl
new file mode 100644
index 0000000..bd00968
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_EndTime.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EndTime
+{
+ #keys: '3[412960.0.150120127][412960.0.150120126][412960.0.150120128]'
+ Description: '缁撴潫鏃堕棿'
+ IsReadOnly: true
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_ProductID.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_ProductID.qbl
new file mode 100644
index 0000000..8806689
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_ProductID.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[412960.0.150120087][412960.0.150120086][412960.0.150120088]'
+ Description: '鐗╂枡缂栫爜'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_Qty.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_Qty.qbl
new file mode 100644
index 0000000..572c5c9
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_Qty.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Qty
+{
+ #keys: '3[412960.0.150120097][412960.0.150120096][412960.0.150120098]'
+ Description: '鏁伴噺'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_ReleaseTime.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_ReleaseTime.qbl
new file mode 100644
index 0000000..9bab647
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_ReleaseTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ReleaseTime
+{
+ #keys: '3[412960.0.150120157][412960.0.150120156][412960.0.150120158]'
+ Description: '鍙戝竷鏃堕棿'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_StartTime.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_StartTime.qbl
new file mode 100644
index 0000000..270b408
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_StartTime.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartTime
+{
+ #keys: '3[412960.0.150120117][412960.0.150120116][412960.0.150120118]'
+ Description: '寮�濮嬫椂闂�'
+ IsReadOnly: true
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_StockingPointID.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..b8f18c4
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_StockingPointID.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[412960.0.150120107][412960.0.150120106][412960.0.150120108]'
+ Description: '搴撳瓨鐐圭紪鐮�'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_User.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_User.qbl
new file mode 100644
index 0000000..484ce50
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_User.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute User
+{
+ #keys: '3[412960.0.150120137][412960.0.150120136][412960.0.150120138]'
+ Description: '鐢ㄦ埛鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_VersionID.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_VersionID.qbl
new file mode 100644
index 0000000..c64363f
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_VersionID.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionID
+{
+ #keys: '3[412960.0.150120057][412960.0.150120056][412960.0.150120058]'
+ Description: '鏁版嵁搴撴娊鍙栫殑鍏ㄩ噺鐗堟湰鍙�'
+ IsReadOnly: true
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/Attribute_VersionName.qbl b/_Main/BL/Type_MappingVersionControl/Attribute_VersionName.qbl
new file mode 100644
index 0000000..e6417f2
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/Attribute_VersionName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionName
+{
+ #keys: '3[412960.0.150124918][412960.0.150124917][412960.0.150124919]'
+ Description: '鐗堟湰鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_MappingVersionControl/TypeIndex_TypeIndexVersionControl.qbl b/_Main/BL/Type_MappingVersionControl/TypeIndex_TypeIndexVersionControl.qbl
new file mode 100644
index 0000000..b1b5794
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/TypeIndex_TypeIndexVersionControl.qbl
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+TypeIndex TypeIndexVersionControl
+{
+ Attributes:
+ [
+ TypeIndexAttribute
+ {
+ ModelElement: VersionID
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: EndTime
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: StockingPointID
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: StartTime
+ }
+ TypeIndexAttribute
+ {
+ ModelElement: ProductID
+ }
+ ]
+}
diff --git a/_Main/BL/Type_MappingVersionControl/_ROOT_Type_MappingVersionControl.qbl b/_Main/BL/Type_MappingVersionControl/_ROOT_Type_MappingVersionControl.qbl
new file mode 100644
index 0000000..ff148d7
--- /dev/null
+++ b/_Main/BL/Type_MappingVersionControl/_ROOT_Type_MappingVersionControl.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type MappingVersionControl
+{
+ #keys: '5[412960.0.150120040][412960.0.150120038][0.0.0][412960.0.150120039][412960.0.150120041]'
+ BaseType: Object
+ Description: '鐗堟湰鎺у埗涓棿琛�'
+ StructuredName: 'MappingVersionControls'
+}
diff --git "a/_Main/BL/Type_OrderLockLog/Attribute_CustomerName\04323.qbl" "b/_Main/BL/Type_OrderLockLog/Attribute_CustomerName\04323.qbl"
new file mode 100644
index 0000000..77e60f5
--- /dev/null
+++ "b/_Main/BL/Type_OrderLockLog/Attribute_CustomerName\04323.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CustomerName
+{
+ #keys: '3[412960.0.217504426][412960.0.217504425][412960.0.217504427]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_OrderLockLog/Attribute_End.qbl b/_Main/BL/Type_OrderLockLog/Attribute_End.qbl
new file mode 100644
index 0000000..bc7fd91
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/Attribute_End.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute End
+{
+ #keys: '3[412960.0.217504488][412960.0.217504487][412960.0.217504489]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_OrderLockLog/Attribute_EndDate.qbl b/_Main/BL/Type_OrderLockLog/Attribute_EndDate.qbl
new file mode 100644
index 0000000..3f4c39b
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/Attribute_EndDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EndDate
+{
+ #keys: '3[412960.0.217504467][412960.0.217504466][412960.0.217504468]'
+ ValueType: Date
+}
diff --git "a/_Main/BL/Type_OrderLockLog/Attribute_IsLocked\0432.qbl" "b/_Main/BL/Type_OrderLockLog/Attribute_IsLocked\0432.qbl"
new file mode 100644
index 0000000..05d9136
--- /dev/null
+++ "b/_Main/BL/Type_OrderLockLog/Attribute_IsLocked\0432.qbl"
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsLocked
+{
+ #keys: '3[412960.0.217504477][412960.0.217504476][412960.0.217504478]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_OrderLockLog/Attribute_LastModify.qbl b/_Main/BL/Type_OrderLockLog/Attribute_LastModify.qbl
new file mode 100644
index 0000000..9e81f78
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/Attribute_LastModify.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LastModify
+{
+ #keys: '3[412960.0.217504501][412960.0.217504500][412960.0.217504502]'
+ Description: '鏈�鍚庝慨鏀逛汉'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_OrderLockLog/Attribute_LastModifyTime.qbl b/_Main/BL/Type_OrderLockLog/Attribute_LastModifyTime.qbl
new file mode 100644
index 0000000..8698211
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/Attribute_LastModifyTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LastModifyTime
+{
+ #keys: '3[412960.0.217504498][412960.0.217504497][412960.0.217504499]'
+ Description: '鏈�鍚庢搷浣滄椂闂�'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_OrderLockLog/Attribute_Notes.qbl b/_Main/BL/Type_OrderLockLog/Attribute_Notes.qbl
new file mode 100644
index 0000000..2951098
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/Attribute_Notes.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Notes
+{
+ #keys: '3[412960.0.250388891][412960.0.250388890][412960.0.250388892]'
+ Description: '澶囨敞'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_OrderLockLog/Attribute_OrderID.qbl b/_Main/BL/Type_OrderLockLog/Attribute_OrderID.qbl
new file mode 100644
index 0000000..fe37524
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/Attribute_OrderID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrderID
+{
+ #keys: '3[412960.0.217504386][412960.0.217504385][412960.0.217504387]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_OrderLockLog/Attribute_Price.qbl b/_Main/BL/Type_OrderLockLog/Attribute_Price.qbl
new file mode 100644
index 0000000..b0c9e62
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/Attribute_Price.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Price
+{
+ #keys: '3[412960.0.217504457][412960.0.217504456][412960.0.217504458]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_OrderLockLog/Attribute_ProductID.qbl b/_Main/BL/Type_OrderLockLog/Attribute_ProductID.qbl
new file mode 100644
index 0000000..46b6f3b
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[412960.0.217504396][412960.0.217504395][412960.0.217504397]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_OrderLockLog/Attribute_Quantity.qbl b/_Main/BL/Type_OrderLockLog/Attribute_Quantity.qbl
new file mode 100644
index 0000000..5216b60
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+ #keys: '3[412960.0.217504437][412960.0.217504436][412960.0.217504438]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_OrderLockLog/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_OrderLockLog/Attribute_SalesSegmentName.qbl
new file mode 100644
index 0000000..8e484e2
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/Attribute_SalesSegmentName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SalesSegmentName
+{
+ #keys: '3[412960.0.217504406][412960.0.217504405][412960.0.217504407]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_OrderLockLog/Attribute_StockingPointID.qbl b/_Main/BL/Type_OrderLockLog/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..a344af9
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[412960.0.217504416][412960.0.217504415][412960.0.217504417]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_OrderLockLog/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_OrderLockLog/Attribute_UnitOfMeasureName.qbl
new file mode 100644
index 0000000..fccc2cb
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/Attribute_UnitOfMeasureName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasureName
+{
+ #keys: '3[412960.0.217504447][412960.0.217504446][412960.0.217504448]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_OrderLockLog/DefaultValue_LastModify.qbl b/_Main/BL/Type_OrderLockLog/DefaultValue_LastModify.qbl
new file mode 100644
index 0000000..6ef422d
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/DefaultValue_LastModify.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: LastModify
+}
diff --git a/_Main/BL/Type_OrderLockLog/_ROOT_Type_OrderLockLog.qbl b/_Main/BL/Type_OrderLockLog/_ROOT_Type_OrderLockLog.qbl
new file mode 100644
index 0000000..ac23238
--- /dev/null
+++ b/_Main/BL/Type_OrderLockLog/_ROOT_Type_OrderLockLog.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type OrderLockLog
+{
+ #keys: '5[412960.0.217504330][412960.0.217504328][0.0.0][412960.0.217504329][412960.0.217504331]'
+ BaseType: Object
+ Description: '璁㈠崟閿佸畾鎿嶄綔鏃ュ織'
+ StructuredName: 'OrderLockLogs'
+}
diff --git a/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl b/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl
index 5a26632..cf729ec 100644
--- a/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl
+++ b/_Main/BL/Type_PRData/StaticMethod_ExportTheFileStream.qbl
@@ -43,26 +43,26 @@
tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 );
traverse ( toExportList, Elements, toExport ) {
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductID(), "鐗╂枡缂栫爜" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductName(), "鐗╂枡鍚嶇О" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.IsPanelMaterial(), "闈㈡澘鐗╂枡鏍囪瘑" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.ProduceRequiredDate() = Date::MinDate(), "", dateToString.Convert( toExport.ProduceRequiredDate() ) ), "浜よ揣鏃ユ湡" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.PRSuggestionDate() = Date::MinDate(), "", dateToString.Convert( toExport.PRSuggestionDate() ) ), "PR寤鸿鏃ユ湡" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]toExport.Quantity(), "浜よ揣鏁伴噺" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.MRPCalverNo(), "MRP璁$畻鐗堟湰鍙�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.BusinessType(), "涓氬姟绫诲瀷" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.OrganCode(), "缁勭粐缂栫爜" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.IsLongLeadItem(), "鏄惁闀垮懆鏈�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.IsGenericMaterial(), "鏄惁涓撶敤鏂�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.MaterialMRPType(), "鐗╂枡璁″垝绛栫暐" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]toExport.LeadTime(), "鎻愬墠鏈�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderCode(), "渚涘簲鍟嗕唬鐮�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderName(), "渚涘簲鍟嗗悕绉�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.StockingPointID(), "鏀惰揣搴撳瓨鐐�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.UnitOfMeasure(), "璁¢噺鍗曚綅" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendStatus(), "PR鏁版嵁鍙戦�佺姸鎬�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendTimeString(), "鍙戦�佹椂闂�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendBy(), "鍙戦�佷汉" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductID(), "鐗╂枡缂栫爜" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductName(), "鐗╂枡鍚嶇О" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.IsPanelMaterial(), "闈㈡澘鐗╂枡鏍囪瘑" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.ProduceRequiredDate() = Date::MinDate(), "", dateToString.Convert( toExport.ProduceRequiredDate() ) ), "浜よ揣鏃ユ湡" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.PRSuggestionDate() = Date::MinDate(), "", dateToString.Convert( toExport.PRSuggestionDate() ) ), "PR寤鸿鏃ユ湡" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]toExport.Quantity(), "浜よ揣鏁伴噺" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.MRPCalverNo(), "MRP璁$畻鐗堟湰鍙�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.BusinessType(), "涓氬姟绫诲瀷" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.OrganCode(), "缁勭粐缂栫爜" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.IsLongLeadItem(), "鏄惁闀垮懆鏈�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.IsGenericMaterial(), "鏄惁涓撶敤鏂�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.MaterialMRPType(), "鐗╂枡璁″垝绛栫暐" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]toExport.LeadTime(), "鎻愬墠鏈�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderCode(), "渚涘簲鍟嗕唬鐮�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderName(), "渚涘簲鍟嗗悕绉�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.StockingPointID(), "鏀惰揣搴撳瓨鐐�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.UnitOfMeasure(), "璁¢噺鍗曚綅" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendStatus(), "PR鏁版嵁鍙戦�佺姸鎬�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendTimeString(), "鍙戦�佹椂闂�" );
+ PRData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendBy(), "鍙戦�佷汉" );
}
xmlDOMSerializer := xmlDOMImplementation.CreateSerializer();
diff --git a/_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl b/_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl
new file mode 100644
index 0000000..f40c634
--- /dev/null
+++ b/_Main/BL/Type_PRData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GeneratesTheSpecifiedXMLColumn (
+ XMLDOMDocument xmlDOMDocument,
+ XMLDOMElement tableElement,
+ String value,
+ String columnName
+)
+{
+ TextBody:
+ [*
+ columnElements := tableElement.GetElementsByTagName( "column" );
+
+ traverse ( columnElements, Elements, ce ) {
+ nameElement := ce.GetElementByTagName( "name", 0 );
+ if ( nameElement.TextContent() = columnName ) {
+ cell := xmlDOMDocument.CreateElement( "cell" );
+ cell.SetAttribute( "value", value );
+ ce.AppendChild( cell );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream.qbl b/_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream.qbl
index c0a44ae..dea5e41 100644
--- a/_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream.qbl
+++ b/_Main/BL/Type_PRHistoryData/StaticMethod_ExportTheFileStream.qbl
@@ -40,23 +40,23 @@
tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 );
traverse ( toExportList, Elements, toExport ) {
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductID(), "闆朵欢鍙�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductName(), "闆朵欢鍚嶇О" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.ProduceRequiredDate() = Date::MinDate(), "", dateToString.Convert( toExport.ProduceRequiredDate() ) ), "浜よ揣鏃ユ湡" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]toExport.Quantity(), "闇�姹傛暟閲�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.MRPCalverNo(), "MRP璁$畻鐗堟湰鍙�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.BusinessType(), "浜嬩笟閮�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.OrganCode(), "缁勭粐缂栫爜" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderCode(), "渚涘簲鍟嗕唬鐮�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderName(), "渚涘簲鍟嗗悕绉�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.StockingPointID(), "鏀惰揣搴撳瓨鐐�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.UnitOfMeasure(), "璁¢噺鍗曚綅" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendStatus(), "PR鏁版嵁鍙戦�佺姸鎬�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendTimeString(), "鍙戦�佹椂闂�" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ReleaseBy(), "鍙戦�佷汉" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ReceiveTimeString(), "ERP鎺ユ敹鏃堕棿" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ReceiveStatus(), "ERP鎺ユ敹鐘舵��" );
- MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ReceiveError(), "閿欒淇℃伅鎻忚堪" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductID(), "闆朵欢鍙�" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProductName(), "闆朵欢鍚嶇О" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, ifexpr( toExport.ProduceRequiredDate() = Date::MinDate(), "", dateToString.Convert( toExport.ProduceRequiredDate() ) ), "浜よ揣鏃ユ湡" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]toExport.Quantity(), "闇�姹傛暟閲�" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.MRPCalverNo(), "MRP璁$畻鐗堟湰鍙�" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.BusinessType(), "浜嬩笟閮�" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.OrganCode(), "缁勭粐缂栫爜" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderCode(), "渚涘簲鍟嗕唬鐮�" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ProviderName(), "渚涘簲鍟嗗悕绉�" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.StockingPointID(), "鏀惰揣搴撳瓨鐐�" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.UnitOfMeasure(), "璁¢噺鍗曚綅" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendStatus(), "PR鏁版嵁鍙戦�佺姸鎬�" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.SendTimeString(), "鍙戦�佹椂闂�" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ReleaseBy(), "鍙戦�佷汉" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ReceiveTimeString(), "ERP鎺ユ敹鏃堕棿" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ReceiveStatus(), "ERP鎺ユ敹鐘舵��" );
+ PRHistoryData::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, toExport.ReceiveError(), "閿欒淇℃伅鎻忚堪" );
}
xmlDOMSerializer := xmlDOMImplementation.CreateSerializer();
diff --git a/_Main/BL/Type_PRHistoryData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl b/_Main/BL/Type_PRHistoryData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl
new file mode 100644
index 0000000..f40c634
--- /dev/null
+++ b/_Main/BL/Type_PRHistoryData/StaticMethod_GeneratesTheSpecifiedXMLColumn.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GeneratesTheSpecifiedXMLColumn (
+ XMLDOMDocument xmlDOMDocument,
+ XMLDOMElement tableElement,
+ String value,
+ String columnName
+)
+{
+ TextBody:
+ [*
+ columnElements := tableElement.GetElementsByTagName( "column" );
+
+ traverse ( columnElements, Elements, ce ) {
+ nameElement := ce.GetElementByTagName( "name", 0 );
+ if ( nameElement.TextContent() = columnName ) {
+ cell := xmlDOMDocument.CreateElement( "cell" );
+ cell.SetAttribute( "value", value );
+ ce.AppendChild( cell );
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_PriorityFactor/Attribute_coefficient.qbl b/_Main/BL/Type_PriorityFactor/Attribute_coefficient.qbl
index 732396f..187fc98 100644
--- a/_Main/BL/Type_PriorityFactor/Attribute_coefficient.qbl
+++ b/_Main/BL/Type_PriorityFactor/Attribute_coefficient.qbl
@@ -1,6 +1,6 @@
Quintiq file version 2.0
#parent: #root
-Attribute coefficient
+Attribute Coefficient
{
#keys: '3[414382.0.456067070][414382.0.456067069][414382.0.456067071]'
Description: '浼樺厛鍥犲瓙绯绘暟'
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl
new file mode 100644
index 0000000..9434404
--- /dev/null
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetCoeffcientByName (
+ MacroPlan owner,
+ String businessType,
+ String name
+) as Real
+{
+ TextBody:
+ [*
+ // NBoTk Sep-21-2023 (created)
+
+ data := selectobject( owner,PriorityFactor,p,
+ p.BusinessType() = businessType and p.Name() = name
+ )
+
+ return data.Coefficient();
+ *]
+}
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl
index 128d2cc..6f6f24f 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetDataByBusinessType (
- GlobalOTDTable owner,
+ MacroPlan owner,
String businessType
) as owning PriorityFactors
{
@@ -12,7 +12,6 @@
list := selectset( owner,PriorityFactor,p,
p.BusinessType() = businessType
);
- info("list size :" + [String]list.Size());
return &list;
*]
}
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl
new file mode 100644
index 0000000..98115c4
--- /dev/null
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetNameList (
+ MacroPlan owner,
+ String businessType
+) as String
+{
+ TextBody:
+ [*
+ // NBoTk Sep-21-2023 (created)
+ value := "";
+
+ strList := selectuniquevalues( owner,PriorityFactor,p,
+ p.BusinessType() = businessType,
+ p.Name()
+ );
+
+ if( not isnull( strList ) )
+ {
+ value := strList.Concatenate( ";" );
+ }
+
+ return value;
+ *]
+}
diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
index 45688a6..1d5ff08 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod InitData (
- GlobalOTDTable owner
+ MacroPlan owner
)
{
TextBody:
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl
new file mode 100644
index 0000000..55b4b64
--- /dev/null
+++ b/_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute GradeDesc
+{
+ #keys: '3[414382.0.475830209][414382.0.475830208][414382.0.475830210]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_GroupName.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_GroupName.qbl
deleted file mode 100644
index 7dc0270..0000000
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_GroupName.qbl
+++ /dev/null
@@ -1,7 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute GroupName
-{
- #keys: '3[414382.0.444830133][414382.0.444830132][414382.0.444830134]'
- ValueType: String
-}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Attribute_coefficient.qbl b/_Main/BL/Type_PriorityFactorDetails/Attribute_coefficient.qbl
deleted file mode 100644
index e23d822..0000000
--- a/_Main/BL/Type_PriorityFactorDetails/Attribute_coefficient.qbl
+++ /dev/null
@@ -1,8 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Attribute coefficient
-{
- #keys: '3[414382.0.444850041][414382.0.444850040][414382.0.444850042]'
- Description: '浼樺厛鍥犲瓙绯绘暟'
- ValueType: Real
-}
diff --git a/_Main/BL/Type_PriorityFactorDetails/Function_CalcIsBusinessType.qbl b/_Main/BL/Type_PriorityFactorDetails/Function_CalcIsBusinessType.qbl
deleted file mode 100644
index 96a9f70..0000000
--- a/_Main/BL/Type_PriorityFactorDetails/Function_CalcIsBusinessType.qbl
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Function CalcIsBusinessType
-{
- TextBody:
- [*
- // NBoTk Sep-17-2023 (created)
-
- value := true;
-
- if( this.GroupName() <> "" )
- {
- value := false;
- }
-
- this.IsBusinessType( value );
- *]
-}
diff --git a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl
index 7df229b..536d7e8 100644
--- a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl
@@ -1,17 +1,13 @@
Quintiq file version 2.0
#parent: #root
StaticMethod ClearTestData (
- GlobalOTDTable owner
+ MacroPlan owner
)
{
TextBody:
[*
// NBoTk Sep-18-2023 (created)
- info(1111 );
- owner.PriorityFactorDetails(relflush );
- info(2222);
owner.PriorityFactor(relflush );
- info(3333 );
*]
}
diff --git a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_CreateTestData.qbl b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_CreateTestData.qbl
index 1c95944..4954d67 100644
--- a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_CreateTestData.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_CreateTestData.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateTestData (
- GlobalOTDTable owner
+ MacroPlan owner
)
{
TextBody:
diff --git a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByBusinessType.qbl b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByBusinessType.qbl
deleted file mode 100644
index 3b64a2a..0000000
--- a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByBusinessType.qbl
+++ /dev/null
@@ -1,18 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-StaticMethod GetDataByBusinessType (
- GlobalOTDTable owner,
- String businessType
-) as owning PriorityFactorDetailss
-{
- TextBody:
- [*
- // NBoTk Sep-18-2023 (created)
-
- list := selectset( owner,PriorityFactorDetails,p,
- p.BusinessType() = businessType
- );
- info("list size :" + [String]list.Size());
- return &list;
- *]
-}
diff --git a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl
new file mode 100644
index 0000000..1f31939
--- /dev/null
+++ b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetDataByPriorityFactor (
+ PriorityFactor priorityFactor,
+ MacroPlan owner
+) as owning PriorityFactorDetailss
+{
+ TextBody:
+ [*
+ // NBoTk Sep-18-2023 (created)
+
+ list := selectset( owner,PriorityFactor.PriorityFactorDetails,p,
+ p.BusinessType() = priorityFactor.BusinessType() and priorityFactor.Name() = p.PriorityFactorName()
+ );
+
+ return &list;
+ *]
+}
diff --git a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl
index 4ecde5e..9327dbe 100644
--- a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl
+++ b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod InitData (
- GlobalOTDTable owner
+ MacroPlan owner
)
{
TextBody:
@@ -12,23 +12,23 @@
- traverse( owner, PriorityFactor , p)
+ traverse( owner, PriorityFactor , p)
{
isBusinessType := false;
if( p.BusinessType() <> "闆嗗洟闈㈡澘" )
{
- isBusinessType := true;
+ isBusinessType := true;
}
- owner.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
+ p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
IsRange := false,GradingName := "澶х泩",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
- owner.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
+ p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
IsRange := false,GradingName := "灏忕泩",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
- owner.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0,
+ p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0,
IsRange := false,GradingName := "鎸佸钩",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
- owner.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3,
+ p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3,
IsRange := false,GradingName := "灏忎簭",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
- owner.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5,
+ p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5,
IsRange := false,GradingName := "澶т簭",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
}
*]
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..4cc5680
--- /dev/null
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+ #keys: '3[414382.0.488041999][414382.0.488041998][414382.0.488042000]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl
new file mode 100644
index 0000000..ce4c95c
--- /dev/null
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CalculateValue
+{
+ #keys: '3[414382.0.488041974][414382.0.488041973][414382.0.488041975]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl
new file mode 100644
index 0000000..a142044
--- /dev/null
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Desc
+{
+ #keys: '3[414382.0.488042011][414382.0.488042010][414382.0.488042012]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl
new file mode 100644
index 0000000..1c416d1
--- /dev/null
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Formula
+{
+ #keys: '3[414382.0.488041964][414382.0.488041963][414382.0.488041965]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl b/_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl
new file mode 100644
index 0000000..709f9c9
--- /dev/null
+++ b/_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+ #keys: '3[414382.0.488041954][414382.0.488041953][414382.0.488041955]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl
new file mode 100644
index 0000000..2698209
--- /dev/null
+++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetDataByBusinessType (
+ MacroPlan owner,
+ String businessType
+) as owning PriorityPolicys
+{
+ TextBody:
+ [*
+ // NBoTk Sep-20-2023 (created)
+
+ list := selectset( owner,PriorityPolicy,p,
+ p.BusinessType() = businessType
+ );
+
+ return &list;
+ *]
+}
diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl
new file mode 100644
index 0000000..55e5bd0
--- /dev/null
+++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl
@@ -0,0 +1,43 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod RollBackStr (
+ MacroPlan owner,
+ String businessType,
+ String stringData
+) as String
+{
+ TextBody:
+ [*
+ // NBoTk Sep-21-2023 (created)
+ value := stringData;
+
+ symbolList := construct( structured[String]);
+ symbolList.Add( "+")
+ symbolList.Add( "-")
+ symbolList.Add( "x")
+ symbolList.Add( "/")
+ symbolList.Add( "(")
+ symbolList.Add( ")")
+
+ traverse( symbolList,Elements,e)
+ {
+ if( stringData.EndsWith( e ))
+ {
+ end := stringData.Length() - e.Length();
+ value := stringData.SubString( 0,end);
+ }
+ }
+
+ nameList := PriorityFactor::GetDataByBusinessType( owner,businessType);
+ traverse( nameList,Elements,e)
+ {
+ if( stringData.EndsWith( e.Name()))
+ {
+ end := stringData.Length() - e.Name().Length();
+ value := stringData.SubString( 0,end);
+ }
+ }
+
+ return value;
+ *]
+}
diff --git a/_Main/BL/Type_PriorityPolicy/_ROOT_Type_PriorityPolicy.qbl b/_Main/BL/Type_PriorityPolicy/_ROOT_Type_PriorityPolicy.qbl
new file mode 100644
index 0000000..c8614fb
--- /dev/null
+++ b/_Main/BL/Type_PriorityPolicy/_ROOT_Type_PriorityPolicy.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PriorityPolicy
+{
+ #keys: '5[414382.0.488041937][414382.0.488041935][0.0.0][414382.0.488041936][414382.0.488041938]'
+ BaseType: Object
+ Description: '浼樺厛绾х瓥鐣�'
+ StructuredName: 'PriorityPolicys'
+}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl b/_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..16f7189
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+ #keys: '3[414382.0.504275379][414382.0.504275378][414382.0.504275380]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_Customer.qbl b/_Main/BL/Type_PriorityResult/Attribute_Customer.qbl
new file mode 100644
index 0000000..21774fc
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/Attribute_Customer.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Customer
+{
+ #keys: '3[414382.0.504275376][414382.0.504275375][414382.0.504275377]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl b/_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl
new file mode 100644
index 0000000..afabecd
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CustomerID
+{
+ #keys: '3[414382.0.504275385][414382.0.504275384][414382.0.504275386]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl b/_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl
new file mode 100644
index 0000000..5088806
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DemandDate
+{
+ #keys: '3[414382.0.504275370][414382.0.504275369][414382.0.504275371]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl b/_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl
new file mode 100644
index 0000000..6f38dd5
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PriorityResultScore
+{
+ #keys: '3[414382.0.504275396][414382.0.504275395][414382.0.504275397]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl b/_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl
new file mode 100644
index 0000000..b9b828f
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+ #keys: '3[414382.0.504275367][414382.0.504275366][414382.0.504275368]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl b/_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl
new file mode 100644
index 0000000..b18ef2c
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+ #keys: '3[414382.0.504275361][414382.0.504275360][414382.0.504275362]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl
new file mode 100644
index 0000000..1ade98f
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SalesSegmentName
+{
+ #keys: '3[414382.0.504275382][414382.0.504275381][414382.0.504275383]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl b/_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..db04a7f
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[414382.0.504275364][414382.0.504275363][414382.0.504275365]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl
new file mode 100644
index 0000000..8877500
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasureName
+{
+ #keys: '3[414382.0.504275373][414382.0.504275372][414382.0.504275374]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartRow/DefaultValue_BusinessType.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_BusinessType.qbl
similarity index 100%
copy from _Main/BL/Type_CapacityAndSaleBudgeChartRow/DefaultValue_BusinessType.qbl
copy to _Main/BL/Type_PriorityResult/DefaultValue_BusinessType.qbl
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_Customer.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_Customer.qbl
new file mode 100644
index 0000000..e02a336
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/DefaultValue_Customer.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: Customer
+}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_CustomerID.qbl
new file mode 100644
index 0000000..66ae438
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/DefaultValue_CustomerID.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: CustomerID
+}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_ProductID.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_ProductID.qbl
new file mode 100644
index 0000000..98649b2
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/DefaultValue_ProductID.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: ProductID
+}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_SalesSegmentName.qbl
new file mode 100644
index 0000000..521966d
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/DefaultValue_SalesSegmentName.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: SalesSegmentName
+}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_StockingPointID.qbl
new file mode 100644
index 0000000..fbb83fc
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/DefaultValue_StockingPointID.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: StockingPointID
+}
diff --git a/_Main/BL/Type_PriorityResult/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PriorityResult/DefaultValue_UnitOfMeasureName.qbl
new file mode 100644
index 0000000..b2012de
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/DefaultValue_UnitOfMeasureName.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: UnitOfMeasureName
+}
diff --git a/_Main/BL/Type_PriorityResult/Function_CalcPriorityResultScore.qbl b/_Main/BL/Type_PriorityResult/Function_CalcPriorityResultScore.qbl
new file mode 100644
index 0000000..cd7846f
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/Function_CalcPriorityResultScore.qbl
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcPriorityResultScore
+{
+ TextBody:
+ [*
+ // NBoTk Sep-21-2023 (created)
+
+ businessTypeScore := max( this,PriorityResultBusinessTypeDetail,p,
+ p.PriorityTotalScore()
+ );
+
+ groupScore := max( this,PriorityResultGroupDetail,p,
+ p.PriorityTotalScore()
+ );
+
+ value := maxvalue( businessTypeScore,groupScore);
+
+ this.PriorityResultScore( value );
+ *]
+}
diff --git a/_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl b/_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl
new file mode 100644
index 0000000..3d6983a
--- /dev/null
+++ b/_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PriorityResult
+{
+ #keys: '5[414382.0.504275125][414382.0.504275123][0.0.0][414382.0.504275124][414382.0.504275126]'
+ BaseType: Object
+ StructuredName: 'PriorityResults'
+}
diff --git a/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl b/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl
new file mode 100644
index 0000000..5e14913
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CheckCanTopping (
+ PriorityResultBusinessTypeDetail businessTypeDetails
+) as Boolean
+{
+ TextBody:
+ [*
+ // NBoTk Sep-21-2023 (created)
+ groupDetails := selectset( businessTypeDetails.PriorityResult(),PriorityResultGroupDetail,p,true);
+
+ return isnull( groupDetails);
+ *]
+}
diff --git a/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl b/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl
new file mode 100644
index 0000000..8030509
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod EmergencyTopping (
+ MacroPlan owner,
+ PriorityResultBusinessTypeDetail businessTypeDetails
+)
+{
+ TextBody:
+ [*
+ // NBoTk Sep-21-2023 (created)
+
+
+ maxPriorityResult := max( owner,PriorityResult,p,
+ p.PriorityResultScore()
+ );
+
+ topScore := maxPriorityResult + 1;
+ businessTypeDetails.PriorityTotalScore(topScore);
+ *]
+}
diff --git a/_Main/BL/Type_PriorityResultBusinessTypeDetail/_ROOT_Type_PriorityResultBusinessTypeDetail.qbl b/_Main/BL/Type_PriorityResultBusinessTypeDetail/_ROOT_Type_PriorityResultBusinessTypeDetail.qbl
new file mode 100644
index 0000000..77e783e
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultBusinessTypeDetail/_ROOT_Type_PriorityResultBusinessTypeDetail.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+TypeSpecialization PriorityResultBusinessTypeDetail
+{
+ #keys: '2[414382.0.504275146][414382.0.504275145]'
+ Description: '浜嬩笟閮ㄤ紭鍏堢骇缁撴灉鏄庣粏'
+ Parent: PriorityResultDetail
+ StructuredName: 'PriorityResultBusinessTypeDetails'
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..0d853fd
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+ #keys: '3[414382.0.504275420][414382.0.504275419][414382.0.504275421]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl
new file mode 100644
index 0000000..e5c3e9e
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Customer
+{
+ #keys: '3[414382.0.504275411][414382.0.504275410][414382.0.504275412]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl
new file mode 100644
index 0000000..3afa6f2
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CustomerID
+{
+ #keys: '3[414382.0.504275429][414382.0.504275428][414382.0.504275430]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl
new file mode 100644
index 0000000..8218754
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DemandDate
+{
+ #keys: '3[414382.0.504275423][414382.0.504275422][414382.0.504275424]'
+ ValueType: Date
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl
new file mode 100644
index 0000000..30c7925
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PriorityFactorGradingName
+{
+ #keys: '3[414382.0.504275468][414382.0.504275467][414382.0.504275469]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl
new file mode 100644
index 0000000..2941275
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PriorityFactorName
+{
+ #keys: '3[414382.0.504275458][414382.0.504275457][414382.0.504275459]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl
new file mode 100644
index 0000000..58f721a
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PriorityPolicyName
+{
+ #keys: '3[414382.0.504275439][414382.0.504275438][414382.0.504275440]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl
new file mode 100644
index 0000000..7ef6592
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PriorityResultScore
+{
+ #keys: '3[414382.0.504275426][414382.0.504275425][414382.0.504275427]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityTotalScore.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityTotalScore.qbl
new file mode 100644
index 0000000..6be72f0
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_PriorityTotalScore.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PriorityTotalScore
+{
+ #keys: '3[414382.0.504275485][414382.0.504275484][414382.0.504275486]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl
new file mode 100644
index 0000000..6da2ce3
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+ #keys: '3[414382.0.504275414][414382.0.504275413][414382.0.504275415]'
+ ValueType: Real
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl
new file mode 100644
index 0000000..96cedff
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SalesSegmentName
+{
+ #keys: '3[414382.0.504275435][414382.0.504275434][414382.0.504275436]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl
new file mode 100644
index 0000000..6f0a2fc
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StockingPointID
+{
+ #keys: '3[414382.0.504275417][414382.0.504275416][414382.0.504275418]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl b/_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl
new file mode 100644
index 0000000..7abadad
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasureName
+{
+ #keys: '3[414382.0.504275432][414382.0.504275431][414382.0.504275433]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartRow/DefaultValue_BusinessType.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_BusinessType.qbl
similarity index 100%
copy from _Main/BL/Type_CapacityAndSaleBudgeChartRow/DefaultValue_BusinessType.qbl
copy to _Main/BL/Type_PriorityResultDetail/DefaultValue_BusinessType.qbl
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_Customer.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_Customer.qbl
new file mode 100644
index 0000000..e02a336
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/DefaultValue_Customer.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: Customer
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_CustomerID.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_CustomerID.qbl
new file mode 100644
index 0000000..66ae438
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/DefaultValue_CustomerID.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: CustomerID
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_SalesSegmentName.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_SalesSegmentName.qbl
new file mode 100644
index 0000000..521966d
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/DefaultValue_SalesSegmentName.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: SalesSegmentName
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_StockingPointID.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_StockingPointID.qbl
new file mode 100644
index 0000000..fbb83fc
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/DefaultValue_StockingPointID.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: StockingPointID
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/DefaultValue_UnitOfMeasureName.qbl b/_Main/BL/Type_PriorityResultDetail/DefaultValue_UnitOfMeasureName.qbl
new file mode 100644
index 0000000..b2012de
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/DefaultValue_UnitOfMeasureName.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: UnitOfMeasureName
+}
diff --git a/_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl b/_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl
new file mode 100644
index 0000000..26b2f55
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PriorityResultDetail
+{
+ #keys: '5[414382.0.504275135][414382.0.504275133][0.0.0][414382.0.504275134][414382.0.504275136]'
+ BaseType: Object
+ StructuredName: 'PriorityResultDetails'
+}
diff --git a/_Main/BL/Type_PriorityResultGroupDetail/_ROOT_Type_PriorityResultGroupDetail.qbl b/_Main/BL/Type_PriorityResultGroupDetail/_ROOT_Type_PriorityResultGroupDetail.qbl
new file mode 100644
index 0000000..427aa63
--- /dev/null
+++ b/_Main/BL/Type_PriorityResultGroupDetail/_ROOT_Type_PriorityResultGroupDetail.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+TypeSpecialization PriorityResultGroupDetail
+{
+ #keys: '2[414382.0.504275155][414382.0.504275154]'
+ Description: '闆嗗洟浼樺厛绾х粨鏋滄槑缁�'
+ Parent: PriorityResultDetail
+ StructuredName: 'PriorityResultGroupDetails'
+}
diff --git a/_Main/BL/Type_Scenario/Attribute_IsCreateNewVersion.qbl b/_Main/BL/Type_Scenario/Attribute_IsCreateNewVersion.qbl
new file mode 100644
index 0000000..9f65a98
--- /dev/null
+++ b/_Main/BL/Type_Scenario/Attribute_IsCreateNewVersion.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsCreateNewVersion
+{
+ #keys: '3[412960.0.155630021][412960.0.155630020][412960.0.155630022]'
+ Description: '鏄惁鍒涘缓浠庨泦鍥OP寮�濮嬬殑鍏ㄦ柊鐗堟湰'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_Scenario/Attribute_IsOrderLocked.qbl b/_Main/BL/Type_Scenario/Attribute_IsOrderLocked.qbl
new file mode 100644
index 0000000..75d68aa
--- /dev/null
+++ b/_Main/BL/Type_Scenario/Attribute_IsOrderLocked.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsOrderLocked
+{
+ #keys: '3[412960.0.212420059][412960.0.212420058][412960.0.212420060]'
+ Description: '璁㈠崟閿佸畾鐨勬槸鍚﹂攣瀹氱瓫閫夋潯浠�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Scenario/Attribute_VersionID.qbl b/_Main/BL/Type_Scenario/Attribute_VersionID.qbl
new file mode 100644
index 0000000..9acdd4a
--- /dev/null
+++ b/_Main/BL/Type_Scenario/Attribute_VersionID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionID
+{
+ #keys: '3[412960.0.150120035][412960.0.150120034][412960.0.150120036]'
+ Description: '褰撳墠鍦烘櫙瀵瑰簲鐨勭増鏈彿锛屼簬鍒涘缓鐗堟湰鏃剁‘瀹�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_Scenario/DefaultValue_VersionID.qbl b/_Main/BL/Type_Scenario/DefaultValue_VersionID.qbl
new file mode 100644
index 0000000..b1c7729
--- /dev/null
+++ b/_Main/BL/Type_Scenario/DefaultValue_VersionID.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: VersionID
+}
diff --git a/_Main/BL/Type_Scenario/Method_SetReleased.qbl b/_Main/BL/Type_Scenario/Method_SetReleased.qbl
new file mode 100644
index 0000000..9406560
--- /dev/null
+++ b/_Main/BL/Type_Scenario/Method_SetReleased.qbl
@@ -0,0 +1,5 @@
+Quintiq file version 2.0
+#parent: #root
+Method SetReleased #extension
+{
+}
diff --git "a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart\04395.qbl" "b/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart\04395.qbl"
new file mode 100644
index 0000000..2c07b9d
--- /dev/null
+++ "b/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart\04395.qbl"
@@ -0,0 +1,301 @@
+Quintiq file version 2.0
+#parent: #root
+Method CapacityAndSaleBudgeChart (
+ MacroPlans macroPlans,
+ Boolean isCapacity,
+ String groupBy,
+ String byBusinessTypeOrByOrgCode,
+ CapacityAndSaleBudgeFilterBusinessTypes businessTypes,
+ CapacityAndSaleBudgeFilterPlaceOfProductionOfArrays placeOfProductionOfArrays,
+ CapacityAndSaleBudgeFilterYears years,
+ CapacityAndSaleBudgeFilterMonths months,
+ MPSync mpSync,
+ GlobalOTDTable otdTable,
+ MacroPlan mappingParent
+)
+{
+ Description: '鎸夊叆鍙傚鐞嗘暟鎹紝浜х敓闇�瑕佺殑CapacityAndSaleBudgeChartElement'
+ TextBody:
+ [*
+ // yypsybs Sep-19-2023 (created)
+ // true, false
+ info( isCapacity );
+ // 鏈�;瀛e害;鍗婂勾;骞�
+ info( groupBy );
+ // 闈㈡澘鍩哄湴;浜嬩笟閮�
+ info( byBusinessTypeOrByOrgCode );
+ traverse( businessTypes, Elements, businessType ) {
+ info( "businessType : " + businessType.BusinessType() );
+ }
+ traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) {
+ info( "placeOfProductionOfArray : " + placeOfProductionOfArray.PlaceOfProductionOfArray() );
+ }
+ traverse( macroPlans, Elements, macroPlan ) {
+ info( "macroPlan : " + macroPlan.ScenarioName() );
+ }
+ // 骞翠唤涓嶉�夋椂鍏ㄩ��
+ if( years.Size() = 0 ) {
+ years := selectsortedset( this, CapacityAndSaleBudgeFilterYear, item, true, item.YearNo() );
+ }
+ traverse( years, Elements, year ) {
+ info( "yearNo : " + [String]year.YearNo() );
+ }
+ // 鏈堜唤涓嶉�夋椂鍏ㄩ��
+ if( months.Size() = 0 ) {
+ months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, true, item.MonthNo() );
+ }
+ traverse( months, Elements, month ) {
+ info( "monthNo : " + [String]month.MonthNo() );
+ }
+
+ // ====娓呯悊鏃ф暟鎹�====
+ this.CapacityAndSaleBudgeChartRow( relflush );
+ this.CapacityAndSaleBudgeChartElement( relflush );
+
+ // ====鎸夐潰鏉垮熀鍦板拰浜嬩笟閮ㄥ浜у搧杩涜绛涢�夊垎缁�====
+ historyData := selectset( mpSync, MappingCapacityAndSaleBudge, item, true );
+ if( businessTypes.Size() > 0 ) {
+ businessTypeStrings := selectuniquevalues( businessTypes, Elements, item, true, item.BusinessType() );
+ historyData := selectset( historyData, Elements, item, businessTypeStrings.Find( item.BusinessType() ) > -1 );
+ }
+ if( placeOfProductionOfArrays.Size() > 0 ) {
+ placeOfProductionOfArrayStrings := selectuniquevalues( placeOfProductionOfArrays, Elements, item, true, item.PlaceOfProductionOfArray() );
+ historyData := selectset( historyData, Elements, item, placeOfProductionOfArrayStrings.Find( item.PlaceOfProductionOfArray() ) > -1 );
+ }
+ //info( "historyData : " + [String]historyData.Size() );
+ traverse( historyData, Elements, item ) {
+ row := CapacityAndSaleBudgeChartRow::CreateIfNotExist( this, item.BusinessType(), item.PlaceOfProductionOfArray() );
+ // 璁板綍姣忚鍖呭惈鍝簺product
+ CapacityAndSaleBudgeChartRowProduct::CreateIfNotExist( row, item.ProductCode() );
+ }
+ rows := selectset( this, CapacityAndSaleBudgeChartRow, item, true );
+ //info( "rows : " + [String]rows.Size() );
+ placeOfProductionOfArrayList := selectuniquevalues( historyData, Elements, item, item.PlaceOfProductionOfArray() );
+ businessTypeList := selectuniquevalues( historyData, Elements, item, item.BusinessType() );
+ // 鐢熸垚鍥捐〃鍏冪礌
+ traverse( years, Elements, year ) {
+ info( "process year start : " + [String]year.YearNo() );
+ if( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "骞�" ) {
+ // 鐩爣
+ traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
+ productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-鐩爣",
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
+ Quantity := ifexpr( isCapacity,
+ MappingCapacityAndSaleBudge::GetSheetByYear( productCodeList, mpSync, year.YearNo() ),
+ MappingAnnualBudget::GetSheetByYear( productCodeList, mpSync, year.YearNo() ) )
+ );
+ // S&OP
+ traverse( macroPlans, Elements, macroPlan ) {
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName(),
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
+ Quantity := ifexpr( isCapacity,
+ Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ),
+ MappingCustomerOrder::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() )
+ )
+ );
+ }
+ }
+ }
+ if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "鍗婂勾" ) {
+ for( halfNo := 1; halfNo <= 2; halfNo := halfNo + 1 ) {
+ traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
+ productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣",
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
+ Quantity := ifexpr( isCapacity,
+ MappingCapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ),
+ MappingAnnualBudget::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ) )
+ );
+ // S&OP
+ traverse( macroPlans, Elements, macroPlan ) {
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(),
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
+ Quantity := ifexpr( isCapacity,
+ Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ),
+ MappingCustomerOrder::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo )
+ )
+ );
+ }
+ }
+ }
+ }
+ if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "瀛e害" ) {
+ for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) {
+ traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
+ productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
+ // info( "productCodeList : " + [String]productCodeList.Size() );
+ // info( "MappingCapacityAndSaleBudge::GetSheetBySeason : " + [String]MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ) );
+ // info( "seasonNo : " + [String]seasonNo );
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-鐩爣",
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
+ Quantity := ifexpr( isCapacity,
+ MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ),
+ MappingAnnualBudget::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ) )
+ );
+ // info( "productCodeList : " + [String]productCodeList.Size() );
+ // S&OP
+ traverse( macroPlans, Elements, macroPlan ) {
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(),
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
+ Quantity := ifexpr( isCapacity,
+ Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ),
+ MappingCustomerOrder::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo )
+ )
+ );
+ }
+ }
+ }
+ }
+ if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "鏈�" ) {
+ traverse( months, Elements, month ) {
+ info( "process month start : " + [String]month.MonthNo() );
+ monthNoString := ifexpr( month.MonthNo() <= 9, "0" + [String]month.MonthNo(), [String]month.MonthNo() );
+ traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
+ productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-鐩爣",
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
+ Quantity := ifexpr( isCapacity,
+ MappingCapacityAndSaleBudge::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ),
+ MappingAnnualBudget::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ) )
+ );
+ // S&OP
+ traverse( macroPlans, Elements, macroPlan ) {
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(),
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
+ Quantity := ifexpr( isCapacity,
+ Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ),
+ MappingCustomerOrder::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() )
+ )
+ );
+ }
+ }
+ info( "process month end : " + [String]month.MonthNo() );
+ }
+ }
+ if( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "骞�" ) {
+ // 鐩爣
+ traverse( businessTypeList, Elements, businessType ) {
+ productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-鐩爣",
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
+ Quantity := ifexpr( isCapacity,
+ MappingCapacityAndSaleBudge::GetSheetByYear( productCodeList, mpSync, year.YearNo() ),
+ MappingAnnualBudget::GetSheetByYear( productCodeList, mpSync, year.YearNo() ) )
+ );
+ // S&OP
+ traverse( macroPlans, Elements, macroPlan ) {
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + macroPlan.ScenarioName(),
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
+ Quantity := ifexpr( isCapacity,
+ Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() ),
+ MappingCustomerOrder::GetNewSupplyByYear( productCodeList, macroPlan, year.YearNo() )
+ )
+ );
+ }
+ }
+ }
+ if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "鍗婂勾" ) {
+ for( halfNo := 1; halfNo <= 2; halfNo := halfNo + 1 ) {
+ traverse( businessTypeList, Elements, businessType ) {
+ productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣",
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
+ Quantity := ifexpr( isCapacity,
+ MappingCapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ),
+ MappingAnnualBudget::GetSheetByHalfYear( productCodeList, mpSync, year.YearNo(), halfNo ) )
+ );
+ // S&OP
+ traverse( macroPlans, Elements, macroPlan ) {
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(),
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
+ Quantity := ifexpr( isCapacity,
+ Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo ),
+ MappingCustomerOrder::GetNewSupplyByHalfYear( productCodeList, macroPlan, year.YearNo(), halfNo )
+ )
+ );
+ }
+ }
+ }
+ }
+ if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "瀛e害" ) {
+ for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) {
+ info( "process season start : " + [String]seasonNo );
+ traverse( businessTypeList, Elements, businessType ) {
+ productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-鐩爣",
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
+ Quantity := ifexpr( isCapacity,
+ MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ),
+ MappingAnnualBudget::GetSheetBySeason( productCodeList, mpSync, year.YearNo(), seasonNo ) )
+ );
+ // S&OP
+ traverse( macroPlans, Elements, macroPlan ) {
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(),
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
+ Quantity := ifexpr( isCapacity,
+ Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo ),
+ MappingCustomerOrder::GetNewSupplyBySeason( productCodeList, macroPlan, year.YearNo(), seasonNo )
+ )
+ );
+ }
+ }
+ info( "process season end : " + [String]seasonNo );
+ }
+ }
+ if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "鏈�" ) {
+ traverse( months, Elements, month ) {
+ info( "process month start : " + [String]month.MonthNo() );
+ monthNoString := ifexpr( month.MonthNo() <= 9, "0" + [String]month.MonthNo(), [String]month.MonthNo() );
+ traverse( businessTypeList, Elements, businessType ) {
+ productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-鐩爣",
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
+ Quantity := ifexpr( isCapacity,
+ MappingAnnualBudget::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ),
+ MappingCapacityAndSaleBudge::GetSheetByMonth( productCodeList, mpSync, year.YearNo(), month.MonthNo() ) )
+ );
+ // S&OP
+ traverse( macroPlans, Elements, macroPlan ) {
+ this.CapacityAndSaleBudgeChartElement( relnew,
+ TimeStringAndScenarioName := [String]year.YearNo() + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(),
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
+ Quantity := ifexpr( isCapacity,
+ Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() ),
+ MappingCustomerOrder::GetNewSupplyByMonth( productCodeList, macroPlan, year.YearNo(), month.MonthNo() )
+ )
+ );
+ }
+ }
+ info( "process month end : " + [String]month.MonthNo() );
+ }
+ }
+ info( "process year end : " + [String]year.YearNo() )
+ }
+ //info( "CapacityAndSaleBudgeChartElement : " + [String]selectset( this, CapacityAndSaleBudgeChartElement, item, true ).Size() );
+ //traverse( this, CapacityAndSaleBudgeChartRow, row ) {
+ // info( "==鈫�==" );
+ // info( row.BusinessType() );
+ // info( row.PlaceOfProductionOfArray() );
+ // elements := selectset( row, CapacityAndSaleBudgeChartRowProduct, cell, true );
+ // info( elements.Size() );
+ // info( row.GetProductCodes().Concatenate( " | " ) );
+ // info( "==鈫�==" );
+ //}
+ *]
+}
diff --git a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart.qbl b/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart.qbl
index 43f414f..2f62201 100644
--- a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart.qbl
+++ b/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart.qbl
@@ -13,7 +13,11 @@
MacroPlan mappingParent
)
{
- Description: '鎸夊叆鍙傚鐞嗘暟鎹紝浜х敓闇�瑕佺殑CapacityAndSaleBudgeChartElement'
+ Description:
+ [*
+ 鎸夊叆鍙傚鐞嗘暟鎹紝浜х敓闇�瑕佺殑CapacityAndSaleBudgeChartElement
+ 锛侊紒锛侊紒搴熷純锛侊紒锛侊紒
+ *]
TextBody:
[*
// yypsybs Sep-19-2023 (created)
@@ -32,19 +36,21 @@
this.CapacityAndSaleBudgeChartElement( relflush );
// ====鎸夐潰鏉垮熀鍦板拰浜嬩笟閮ㄥ浜у搧杩涜绛涢�夊垎缁�====
- historyData := selectset( otdTable, CapacityAndSaleBudge, item, true );
+ historyData := selectset( mpSync, MappingCapacityAndSaleBudge, item, true );
if( placeOfProductionOfArrayChosen <> "" ) {
historyData := selectset( historyData, Elements, item, item.PlaceOfProductionOfArray() = placeOfProductionOfArrayChosen );
}
if( businessTypeChosen <> "" ) {
historyData := selectset( historyData, Elements, item, item.BusinessType() = businessTypeChosen );
}
+ //info( "historyData : " + [String]historyData.Size() );
traverse( historyData, Elements, item ) {
row := CapacityAndSaleBudgeChartRow::CreateIfNotExist( this, item.BusinessType(), item.PlaceOfProductionOfArray() );
// 璁板綍姣忚鍖呭惈鍝簺product
CapacityAndSaleBudgeChartRowProduct::CreateIfNotExist( row, item.ProductCode() );
}
rows := selectset( this, CapacityAndSaleBudgeChartRow, item, true );
+ //info( "rows : " + [String]rows.Size() );
placeOfProductionOfArrayList := selectuniquevalues( historyData, Elements, item, item.PlaceOfProductionOfArray() );
businessTypeList := selectuniquevalues( historyData, Elements, item, item.BusinessType() );
// 鐢熸垚鍥捐〃鍏冪礌
@@ -54,18 +60,20 @@
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-鐩爣",
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetByYear( productCodeList, otdTable, [Number]year ),
- MappingForecast::GetQuantityByYear( productCodeList, mappingParent, [Number]year ) )
+ MappingCapacityAndSaleBudge::GetSheetByYear( productCodeList, mpSync, [Number]year ),
+ // todo QID 23
+ MappingAnnualBudget::GetSheetByYear( productCodeList, mpSync, [Number]year ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, [Number]year ),
+ // todo
0.0 )
);
}
@@ -77,16 +85,16 @@
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣",
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, otdTable, [Number]year, halfNo ),
- MappingForecast::GetQuantityByHalfYear( productCodeList, mappingParent, [Number]year, halfNo ) )
+ MappingCapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, mpSync, [Number]year, halfNo ),
+ MappingAnnualBudget::GetSheetByHalfYear( productCodeList, mpSync, [Number]year, halfNo ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, [Number]year, halfNo ),
0.0 )
@@ -99,18 +107,22 @@
for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) {
traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
+ // info( "productCodeList : " + [String]productCodeList.Size() );
+ // info( "MappingCapacityAndSaleBudge::GetSheetBySeason : " + [String]MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ) );
+ // info( "seasonNo : " + [String]seasonNo );
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]seasonNo + "瀛e害-鐩爣",
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetBySeason( productCodeList, otdTable, [Number]year, seasonNo ),
- MappingForecast::GetQuantityBySeason( productCodeList, mappingParent, [Number]year, seasonNo ) )
+ MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ),
+ MappingAnnualBudget::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ) )
);
- // S&OP
+ // info( "productCodeList : " + [String]productCodeList.Size() );
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, [Number]year, seasonNo ),
0.0 )
@@ -121,20 +133,21 @@
}
if ( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "鏈�" ) {
for( monthNo := 1; monthNo <= 12; monthNo := monthNo + 1 ) {
+ monthNoString := ifexpr( monthNo <= 9, "0" + [String]monthNo, [String]monthNo );
traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) {
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByPlaceOfProductionOfArray( rows, placeOfProductionOfArray );
this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]monthNo + "鏈�-鐩爣",
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ TimeStringAndScenarioName := [String]year + "骞�-绗�" + monthNoString + "鏈�-鐩爣",
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetByMonth( productCodeList, otdTable, [Number]year, monthNo ),
- MappingForecast::GetQuantityByMonth( productCodeList, mappingParent, [Number]year, monthNo ) )
+ MappingCapacityAndSaleBudge::GetSheetByMonth( productCodeList, mpSync, [Number]year, monthNo ),
+ MappingAnnualBudget::GetSheetByMonth( productCodeList, mpSync, [Number]year, monthNo ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]monthNo + "鏈�-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := placeOfProductionOfArray,
+ TimeStringAndScenarioName := [String]year + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(),
+ BusinessTypeOrPlaceOfProductionOfArray := placeOfProductionOfArray,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, [Number]year, monthNo ),
0.0 )
@@ -149,16 +162,16 @@
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-鐩爣",
- BusinessTypeOrOrgCode := businessType,
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetByYear( productCodeList, otdTable, [Number]year ),
- MappingForecast::GetQuantityByYear( productCodeList, mappingParent, [Number]year ) )
+ MappingCapacityAndSaleBudge::GetSheetByYear( productCodeList, mpSync, [Number]year ),
+ MappingAnnualBudget::GetSheetByYear( productCodeList, mpSync, [Number]year ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := businessType,
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyByYear( productCodeList, macroPlan, [Number]year ),
0.0 )
@@ -172,16 +185,16 @@
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-鐩爣",
- BusinessTypeOrOrgCode := businessType,
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, otdTable, [Number]year, halfNo ),
- MappingForecast::GetQuantityByHalfYear( productCodeList, mappingParent, [Number]year, halfNo ) )
+ MappingCapacityAndSaleBudge::GetSheetByHalfYear( productCodeList, mpSync, [Number]year, halfNo ),
+ MappingAnnualBudget::GetSheetByHalfYear( productCodeList, mpSync, [Number]year, halfNo ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-" + ifexpr( halfNo = 1, "涓�", "涓�" ) + "鍗婂勾-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := businessType,
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyByHalfYear( productCodeList, macroPlan, [Number]year, halfNo ),
0.0 )
@@ -196,16 +209,16 @@
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]seasonNo + "瀛e害-鐩爣",
- BusinessTypeOrOrgCode := businessType,
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetBySeason( productCodeList, otdTable, [Number]year, seasonNo ),
- MappingForecast::GetQuantityBySeason( productCodeList, mappingParent, [Number]year, seasonNo ) )
+ MappingCapacityAndSaleBudge::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ),
+ MappingAnnualBudget::GetSheetBySeason( productCodeList, mpSync, [Number]year, seasonNo ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]seasonNo + "瀛e害-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := businessType,
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyBySeason( productCodeList, macroPlan, [Number]year, seasonNo ),
0.0 )
@@ -216,20 +229,21 @@
}
if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "鏈�" ) {
for( monthNo := 1; monthNo <= 12; monthNo := monthNo + 1 ) {
+ monthNoString := ifexpr( monthNo <= 9, "0" + [String]monthNo, [String]monthNo );
traverse( businessTypeList, Elements, businessType ) {
productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType );
this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]monthNo + "鏈�-鐩爣",
- BusinessTypeOrOrgCode := businessType,
+ TimeStringAndScenarioName := [String]year + "骞�-绗�" + monthNoString + "鏈�-鐩爣",
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
- CapacityAndSaleBudge::GetSheetByMonth( productCodeList, otdTable, [Number]year, monthNo ),
- MappingForecast::GetQuantityByMonth( productCodeList, mappingParent, [Number]year, monthNo ) )
+ MappingCapacityAndSaleBudge::GetSheetByMonth( productCodeList, mpSync, [Number]year, monthNo ),
+ MappingAnnualBudget::GetSheetByMonth( productCodeList, mpSync, [Number]year, monthNo ) )
);
- // S&OP
+ // S&OP
traverse( macroPlans, Elements, macroPlan ) {
this.CapacityAndSaleBudgeChartElement( relnew,
- TimeStringAndScenarioName := [String]year + "骞�-绗�" + [String]monthNo + "鏈�-" + macroPlan.ScenarioName(),
- BusinessTypeOrOrgCode := businessType,
+ TimeStringAndScenarioName := [String]year + "骞�-绗�" + monthNoString + "鏈�-" + macroPlan.ScenarioName(),
+ BusinessTypeOrPlaceOfProductionOfArray := businessType,
Quantity := ifexpr( isCapacity,
Product_MP::GetNewSupplyByMonth( productCodeList, macroPlan, [Number]year, monthNo ),
0.0 )
@@ -238,5 +252,15 @@
}
}
}
+ //info( "CapacityAndSaleBudgeChartElement : " + [String]selectset( this, CapacityAndSaleBudgeChartElement, item, true ).Size() );
+ //traverse( this, CapacityAndSaleBudgeChartRow, row ) {
+ // info( "==鈫�==" );
+ // info( row.BusinessType() );
+ // info( row.PlaceOfProductionOfArray() );
+ // elements := selectset( row, CapacityAndSaleBudgeChartRowProduct, cell, true );
+ // info( elements.Size() );
+ // info( row.GetProductCodes().Concatenate( " | " ) );
+ // info( "==鈫�==" );
+ //}
*]
}
diff --git a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeCompare.qbl b/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeCompare.qbl
index a2a5dc7..a441cd3 100644
--- a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeCompare.qbl
+++ b/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeCompare.qbl
@@ -37,71 +37,63 @@
this.CapacityAndSaleBudgeCompareItemRow( relflush );
this.CapacityAndSaleBudgeCompareItemColumn( relflush );
// ====姹囨�绘墍鏈夊嚭鐜扮殑浜у搧====
- productCodeList := construct( Strings );
historyData := selectset( mpSync, MappingCapacityAndSaleBudge, item, true );
+ info( "historyData : " + [String]historyData.Size() )
traverse( historyData, Elements, one ) {
- productCodeList.Add( one.ProductCode() );
- }
- traverse( macroPlans, Elements, macroPlan ) {
- traverse( macroPlan, Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip ) {
- productCodeList.Add( pispip.ProductInStockingPoint_MP().Product_MP().ID() );
- }
- }
- productCodeList := selectuniquevalues( productCodeList, Elements, item, item );
- info( "product count : " + [String]productCodeList.Size() )
- // ====鏍规嵁浜у搧鏌ヤ簨涓氶儴鍜岀粍缁囩紪鐮侊紝鐒跺悗鎸変簨涓氶儴鍜岀粍缁囩紪鐮佹眹鎬�====
- traverse( productCodeList, Elements, productCode ) {
- bom := MappingBOM::CreateTestData( mappingParent, [String](productCode.Length() mod 3), [String](productCode.Length() mod 4) );
- // bom := select( mappingParent, MappingBOM, bom, bom.ProductCode() = productCode );
- if( not isnull( bom ) ) {
+ productCode := one.ProductCode();
+ MappingBOM::CreateTestData( mappingParent, "浜嬩笟閮�" + [String](productCode.Length() mod 3), [String](productCode.Length() mod 4), productCode );
+ boms := selectset( mappingParent, MappingBOM, bom, bom.ProductCode() = productCode );
+ if( boms.Size() > 0 ) {
+ bom := boms.First();
businessType := bom.BusinessType();
- orgCode := bom.OrganCode();
- row := CapacityAndSaleBudgeCompareItemRow::CreateIfNotExist( this, businessType, orgCode );
+ placeOfProductionOfArray := one.PlaceOfProductionOfArray();
+ // 鐩稿悓闈㈡澘鍩哄湴鍜屼簨涓氶儴鐨勬斁涓�琛�
+ row := CapacityAndSaleBudgeCompareItemRow::CreateIfNotExist( this, businessType, placeOfProductionOfArray );
// 璁板綍姣忚鍖呭惈鍝簺product
CapacityAndSaleBudgeCompareItemRowProduct::CreateIfNotExist( row, productCode );
+ } else {
+ info( "no boms for product : " + productCode );
}
}
+ info( "CapacityAndSaleBudgeCompareItemRow : " + [String]selectset( this, CapacityAndSaleBudgeCompareItemRow, item, true ).Size() );
// ====浠庡乏鍚戝彸鐢熸垚鍒楀ご涓庡唴瀹�====
// 浜嬩笟閮紝缁勭粐
- info( "dealing businessType and orgCode" )
+ info( "dealing businessType and placeOfProductionOfArray" )
columnBusinessType := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜嬩笟閮�" );
- columnOrgCode := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "缁勭粐缂栫爜" );
+ columnPlaceOfProductionOfArray := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍩哄湴" );
traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
cell := columnBusinessType.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.BusinessType() );
cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- cell := columnOrgCode.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.OrgCode() );
+ cell := columnPlaceOfProductionOfArray.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := row.PlaceOfProductionOfArray() );
cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
}
// 闈㈡澘鍒嗛厤閲� - 骞村害棰勭畻 (sheets)
// 鏍煎紡锛� 闈㈡澘鍒嗛厤閲� - 骞� - 鏈堬紙1-12 & total锛� - 骞村害棰勭畻/scenarioName
info( "dealing 闈㈡澘鍒嗛厤閲�" )
if( CapacityAndSaleBudgeFilterItem::Contains( items, "闈㈡澘鍒嗛厤閲�" ) ) {
- // 鍘嗗彶鏁版嵁
- traverse( months, Elements, month ) {
- columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + "-" + [String]month.MonthNo() + "鏈�-骞村害棰勭畻" );
+ traverse( years, Elements, year ) {
+ // 鍘嗗彶鏁版嵁
+ traverse( months, Elements, month ) {
+ columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-骞村害棰勭畻" );
+ traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+ cellReal := MappingCapacityAndSaleBudge::GetSheetByMonth( row.GetProductCodes(), mpSync, DateTime::Now().Year(), month.MonthNo() );
+ cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
+ }
+ }
+ columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-骞村害棰勭畻" );
traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := CapacityAndSaleBudge::GetSheetByMonth( row.GetProductCodes(), otdTable, DateTime::Now().Year(), month.MonthNo() );
- cellReal := Real::Random( 1.0, 999.0 );
- cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
+ cellReal := MappingCapacityAndSaleBudge::GetSheetByYear( row.GetProductCodes(), mpSync, year.YearNo() );
+ cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
}
- }
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-total-骞村害棰勭畻" );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := CapacityAndSaleBudge::GetSheetByYear( row.GetProductCodes(), otdTable, DateTime::Now().Year() );
- cellReal := Real::Random( 1.0, 999.0 );
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- // S&OP鏁版嵁
- traverse( years, Elements, year ) {
+ // S&OP鏁版嵁
traverse( macroPlans, Elements, macroPlan ) {
traverse( months, Elements, month ) {
columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this,
"闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-" + macroPlan.ScenarioName() );
traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
cellReal := Product_MP::GetNewSupplyByMonth( row.GetProductCodes(), macroPlan, year.YearNo(), month.MonthNo() );
- cellReal := Real::Random( 1.0, 999.0 );
cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
}
@@ -110,7 +102,6 @@
"闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-total-" + macroPlan.ScenarioName() );
traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
cellReal := Product_MP::GetNewSupplyByYear( row.GetProductCodes(), macroPlan, year.YearNo() );
- cellReal := Real::Random( 1.0, 999.0 );
cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
}
@@ -120,37 +111,36 @@
// 骞村害閿�鍞
info( "dealing 閿�鍞" )
if( CapacityAndSaleBudgeFilterItem::Contains( items, "閿�鍞" ) ) {
- // 鍘嗗彶鏁版嵁
- traverse( months, Elements, month ) {
- columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + "-" + [String]month.MonthNo() + "鏈�-骞村害棰勭畻" );
+ traverse( years, Elements, year ) {
+ // 鍘嗗彶鏁版嵁
+ traverse( months, Elements, month ) {
+ columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-骞村害棰勭畻" );
+ traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+ cellReal := MappingCapacityAndSaleBudge::GetSaleByMonth( row.GetProductCodes(), mpSync, year.YearNo(), month.MonthNo() );
+ cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
+ cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
+ }
+ }
+ columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" );
traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := CapacityAndSaleBudge::GetSaleByMonth( row.GetProductCodes(), otdTable, DateTime::Now().Year(), month.MonthNo() );
- cellReal := Real::Random( 1.0, 999.0 );
- cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
+ cellReal := MappingCapacityAndSaleBudge::GetSaleByYear( row.GetProductCodes(), mpSync, year.YearNo() );
+ cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
}
- }
- columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-total-骞村害棰勭畻" );
- traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := CapacityAndSaleBudge::GetSaleByYear( row.GetProductCodes(), otdTable, DateTime::Now().Year() );
- cellReal := Real::Random( 1.0, 999.0 );
- cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
- cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
- }
- // S&OP鏁版嵁
- traverse( years, Elements, year ) {
+ // S&OP鏁版嵁
traverse( macroPlans, Elements, macroPlan ) {
traverse( months, Elements, month ) {
columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-" + macroPlan.ScenarioName() );
traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := MappingForecast::GetBalanceByMonth( row.GetProductCodes(), mappingParent, year.YearNo(), month.MonthNo() );
+ cellReal := MappingAnnualBudget::GetSaleByMonth( row.GetProductCodes(), mpSync, year.YearNo(), month.MonthNo() );
cell := columnMonth.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
}
}
columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-total-" + macroPlan.ScenarioName() );
traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
- cellReal := MappingForecast::GetBalanceByYear( row.GetProductCodes(), mappingParent, year.YearNo() );
+ // QID 23
+ cellReal := MappingAnnualBudget::GetSaleByYear( row.GetProductCodes(), mpSync, year.YearNo() );
cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal );
cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
}
@@ -163,6 +153,8 @@
// 鍘嗗彶鏁版嵁
columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "澶у紶鐩堝埄棰�-骞村害棰勭畻" );
traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+ // todo
+ // QID 23
cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
}
@@ -181,6 +173,8 @@
// 鍘嗗彶鏁版嵁
columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-骞村害棰勭畻" );
traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+ // todo
+ // QID 23
cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
}
@@ -188,6 +182,7 @@
traverse( macroPlans, Elements, macroPlan ) {
columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-" + [String]year.YearNo() + "骞�" );
traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) {
+ // todo
cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]Number::Random( 0, 0 ) );
cell.CapacityAndSaleBudgeCompareItemRow( relset, row );
}
@@ -197,7 +192,7 @@
// 璁剧疆rowNo鍜宑olumnNo
info( "set rowNo and columnNo" );
rowNo := 1;
- rowSorted := selectsortedset( this, CapacityAndSaleBudgeCompareItemRow, item, item.BusinessType() + "_" + item.OrgCode() );
+ rowSorted := selectsortedset( this, CapacityAndSaleBudgeCompareItemRow, item, item.PlaceOfProductionOfArray() + "_" + item.BusinessType() );
traverse( rowSorted, Elements, item ) {
item.RowNo( rowNo );
rowNo := rowNo + 1;
diff --git a/_Main/BL/Type_VersionControl/Attribute_BusinessType.qbl b/_Main/BL/Type_VersionControl/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..74d04b8
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/Attribute_BusinessType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+ #keys: '3[412960.0.134860020][412960.0.134860019][412960.0.134860021]'
+ Description: '鍙戝嚭璇ョ増鏈殑浜嬩笟閮紝鐢ㄤ簬璇嗗埆鍜屾牎楠屾槸鍚︽墍鏈変簨涓氶儴鍧囨湁鍥炰紶鏁版嵁锛岀洰鍓嶅彇鍊艰寖鍥翠负[ 闆嗗洟(TM)锛屾墜鏈轰簨涓氶儴(SJ)锛孖T浜嬩笟閮�(IT)锛岃溅杞戒簨涓氶儴(CZ)锛屾苯杞︾數瀛愪簨涓氶儴(QD)锛屼笓鏄句簨涓氶儴(ZX)锛岀┛鎴翠簨涓氶儴(CD)] 銆�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionControl/Attribute_CalType.qbl b/_Main/BL/Type_VersionControl/Attribute_CalType.qbl
new file mode 100644
index 0000000..6b16db1
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/Attribute_CalType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CalType
+{
+ #keys: '3[412960.0.136134246][412960.0.136134245][412960.0.136134247]'
+ Description: '璁$畻绫诲瀷锛岀敤浜庢爣娉ㄤ负鍝竴姝ヨ绠楃敓鎴愮殑璇ョ増鏈紝濡係OP_R1'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionControl/Attribute_CreateTime.qbl b/_Main/BL/Type_VersionControl/Attribute_CreateTime.qbl
new file mode 100644
index 0000000..b5f3fe6
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/Attribute_CreateTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CreateTime
+{
+ #keys: '3[412960.0.136134256][412960.0.136134255][412960.0.136134257]'
+ Description: '鍒涘缓璇ョ増鏈殑鏃堕棿'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_VersionControl/Attribute_IsReleased.qbl b/_Main/BL/Type_VersionControl/Attribute_IsReleased.qbl
new file mode 100644
index 0000000..af56d17
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/Attribute_IsReleased.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsReleased
+{
+ #keys: '3[412960.0.134830023][412960.0.134830022][412960.0.134830024]'
+ ValueType: Boolean
+}
diff --git a/_Main/BL/Type_VersionControl/Attribute_LongVersionName.qbl b/_Main/BL/Type_VersionControl/Attribute_LongVersionName.qbl
new file mode 100644
index 0000000..95ba375
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/Attribute_LongVersionName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LongVersionName
+{
+ #keys: '3[412960.0.136134236][412960.0.136134235][412960.0.136134237]'
+ Description: '璇ョ増鏈彿瀵瑰簲鐨勭増鏈悕绉帮紝鍚嶇О涓虹敤浜庡墠绔睍绀虹殑鏍煎紡锛屽SCENE(2023-09-06 15:06:57)'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionControl/Attribute_Notes.qbl b/_Main/BL/Type_VersionControl/Attribute_Notes.qbl
new file mode 100644
index 0000000..68c4a77
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/Attribute_Notes.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Notes
+{
+ #keys: '3[412960.0.136138830][412960.0.136138829][412960.0.136138831]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionControl/Attribute_ReleaseTime.qbl b/_Main/BL/Type_VersionControl/Attribute_ReleaseTime.qbl
new file mode 100644
index 0000000..20eac64
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/Attribute_ReleaseTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ReleaseTime
+{
+ #keys: '3[412960.0.136134266][412960.0.136134265][412960.0.136134267]'
+ Description: '鍙戝竷璇ョ増鏈殑鏃堕棿'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_VersionControl/Attribute_SingleVersionName.qbl b/_Main/BL/Type_VersionControl/Attribute_SingleVersionName.qbl
new file mode 100644
index 0000000..27d31f3
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/Attribute_SingleVersionName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SingleVersionName
+{
+ #keys: '3[412960.0.136138782][412960.0.136138781][412960.0.136138783]'
+ Description: '鍗曚釜鐗堟湰鐨勫悕瀛楋紝鍗冲皬鐗堟湰鍚�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionControl/Attribute_User.qbl b/_Main/BL/Type_VersionControl/Attribute_User.qbl
new file mode 100644
index 0000000..d67d534
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/Attribute_User.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute User
+{
+ #keys: '3[412960.0.134830093][412960.0.134830092][412960.0.134830094]'
+ Description: '鍒涘缓璇ョ増鏈殑鐢ㄦ埛'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionControl/Attribute_VersionID.qbl b/_Main/BL/Type_VersionControl/Attribute_VersionID.qbl
new file mode 100644
index 0000000..e211102
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/Attribute_VersionID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionID
+{
+ #keys: '3[412960.0.134860030][412960.0.134860029][412960.0.134860031]'
+ Description: '11浣嶆暟鐨勬椂闂存埑鎷兼帴鑰屾垚鐨勬枃鏈紝浠呭寘鍚暟瀛楅儴鍒�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl
new file mode 100644
index 0000000..bf6fb53
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_CopyVersion.qbl
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CopyVersion (
+ GlobalOTDTable owner,
+ String businessname
+) as VersionControl
+{
+ Description: '澶嶅埗褰撳墠鐗堟湰骞舵洿鏂扮増鏈彿'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ createtime := DateTime::ActualTime();
+ user := QuintiqUser::CurrentUser().Username();
+ starttime := DateTime::Construct(1970,1,1,0,0,0);
+ // Get the local scenario businesstype
+ businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
+
+ // Get the older version info
+ oldversionid := "";
+ oldversionname := "";
+
+ latestversion := VersionControl::FindLatestUpdateVersion( owner, businesstype );
+ copyversionid := latestversion.VersionID();
+ info( copyversionid );
+
+ if( copyversionid.FindString( "-", 0 ) > 0 ){
+ latestversionlist := copyversionid.Tokenize( "-" );
+ latestversionnamelist := latestversion.LongVersionName().Tokenize( "-" );
+ for( i := 0; i < latestversionlist.Size() - 1; i := i + 1 ){
+ if( oldversionid = "" ){
+ oldversionid := latestversionlist.Element( i );
+ oldversionname := latestversionnamelist.Element( i );
+ }else{
+ oldversionid := oldversionid + "-" + latestversionlist.Element( i );
+ oldversionname := oldversionname + "-" + latestversionnamelist.Element( i );
+ }
+ info( oldversionid );
+ }
+ if( oldversionid <> "" ){
+ oldversionid := oldversionid + "-";
+ oldversionname := oldversionname + "-";
+ }
+ info( oldversionid );
+ }
+
+ // Calculate new version info
+ additionversionid := ( createtime.MinutesAsReal( starttime ) * 60 * 10 + createtime.SecondOfMinute() ).Round( 0 );
+ newversionid := oldversionid + [String]additionversionid;
+ newcaltype := latestversion.CalType();
+ newsingleversionname := newcaltype + "(" + createtime.Format( "Y/M2/D2 H:m:s" ) + ")";
+ newversionname := oldversionname + newsingleversionname;
+ info( newversionid );
+
+ // Create new version
+ newversion := VersionControl::Create( owner, businesstype, newcaltype, createtime, newversionid, newversionname, newsingleversionname, user );
+
+ return newversion;
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_Create.qbl b/_Main/BL/Type_VersionControl/StaticMethod_Create.qbl
new file mode 100644
index 0000000..22a6355
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_Create.qbl
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Create (
+ GlobalOTDTable owner,
+ String businesstype,
+ String caltype,
+ DateTime createtime,
+ String versionid,
+ String versionname,
+ String singleversionname,
+ String user
+) as VersionControl
+{
+ Description: '鍒涘缓鐗堟湰'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ newversion := owner.VersionControl( relnew,
+ BusinessType := businesstype,
+ CalType := caltype,
+ CreateTime := createtime,
+ VersionID := versionid,
+ LongVersionName := versionname,
+ SingleVersionName := singleversionname,
+ User := user );
+
+ return newversion;
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl
new file mode 100644
index 0000000..450646d
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewSceneVersion.qbl
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateNewSceneVersion (
+ GlobalOTDTable owner,
+ String businessname
+) as VersionControl
+{
+ Description: '闅忓垱寤哄満鏅繘琛岀増鏈垱寤�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ createtime := DateTime::ActualTime();
+ user := QuintiqUser::CurrentUser().Username();
+ starttime := DateTime::Construct(1970,1,1,0,0,0);
+ // Get the local scenario businesstype
+ businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
+
+ // Get the older version info
+ oldversion_id := "";
+ oldversion_name := "";
+ oldcaltype := "";
+
+ // Calculate new version info
+ additionversionid := ( createtime.MinutesAsReal( starttime ) * 60 * 10 + createtime.SecondOfMinute() ).Round( 0 );
+ newversionid := oldversion_id + [String]additionversionid;
+ newcaltype := GlobalOTDTable::GetNextCalType( oldcaltype, businesstype );
+ newsingleversionname := newcaltype + "(" + createtime.Format( "Y/M2/D2 H:m:s" ) + ")";
+ newversionname := oldversion_name + newsingleversionname;
+
+ // Create new version
+ newversion := VersionControl::Create( owner, businesstype, newcaltype, createtime, newversionid, newversionname, newsingleversionname, user );
+ newversion.IsReleased( true );
+ newversion.ReleaseTime( createtime );
+
+ return newversion;
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl
new file mode 100644
index 0000000..8f05fb1
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_CreateNewVersion.qbl
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateNewVersion (
+ GlobalOTDTable owner,
+ String businessname
+) as VersionControl
+{
+ Description: '鍦ㄤ笂涓�鐗堟湰鍚庢坊鍔犳柊鐗堟湰鍙峰苟鐢熸垚鏂扮増鏈�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ createtime := DateTime::ActualTime();
+ user := QuintiqUser::CurrentUser().Username();
+ starttime := DateTime::Construct(1970,1,1,0,0,0);
+ // Get the local scenario businesstype
+ businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
+
+ // Get the older version info
+ oldversion_id := "";
+ oldversion_name := "";
+ oldcaltype := "";
+
+ latestversion := VersionControl::FindLatestUpdateVersion( owner, businesstype );
+
+ if( isnull( latestversion ) and not businesstype = "TM" ){
+ error( "Can't find last version in " + businesstype.AsQUILL() );
+ }
+ else if( not isnull( latestversion ) ){
+ oldversion_id := latestversion.VersionID() + "-";
+ oldversion_name := latestversion.LongVersionName() + "-";
+ oldcaltype := latestversion.CalType();
+ }
+
+
+ // Calculate new version info
+ additionversionid := ( createtime.MinutesAsReal( starttime ) * 60 * 10 + createtime.SecondOfMinute() ).Round( 0 );
+ newversionid := oldversion_id + [String]additionversionid;
+ newcaltype := GlobalOTDTable::GetNextCalType( oldcaltype, businesstype );
+ newsingleversionname := newcaltype + "(" + createtime.Format( "Y/M2/D2 H:m:s" ) + ")";
+ newversionname := oldversion_name + newsingleversionname;
+
+ // Create new version
+ newversion := VersionControl::Create( owner, businesstype, newcaltype, createtime, newversionid, newversionname, newsingleversionname, user );
+
+ return newversion;
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl b/_Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl
new file mode 100644
index 0000000..a281109
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_FindByFullVersionID.qbl
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindByFullVersionID (
+ GlobalOTDTable owner,
+ String versionid
+) as VersionControl
+{
+ Description: '閫氳繃鍏ㄩ噺鐗堟湰鍙疯繘琛屾煡鎵�'
+ TextBody:
+ [*
+ // Administrator Sep-14-2023 (created)
+ // Get the version data
+ resultversion := select( owner, VersionControl, version, version.VersionID() + "-" + version.CalType() = versionid );
+
+ return resultversion;
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl
new file mode 100644
index 0000000..4450bf4
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestUpdateVersion.qbl
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindLatestUpdateVersion (
+ GlobalOTDTable globalotdtable,
+ String businesstype
+) as VersionControl
+{
+ Description: '鑾峰彇鏌愪簨涓氶儴鐩墠鏈�鏂扮殑鐗堟湰鍙�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+
+ // Get the latest version data
+ latestversion := maxselect( globalotdtable,
+ VersionControl,
+ version,
+ version.BusinessType()=businesstype and version.IsReleased()=true,
+ version.CreateTime() );
+
+ return latestversion;
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl
new file mode 100644
index 0000000..df4f8f4
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_FindLatestVersion.qbl
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindLatestVersion (
+ GlobalOTDTable globalotdtable,
+ String businesstype
+) as VersionControl
+{
+ Description: '鑾峰彇鏌愪簨涓氶儴鐩墠鏈�鏂扮殑鐗堟湰鍙�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+
+ // Get the latest version data
+ latestversion := maxselect( globalotdtable,
+ VersionControl,
+ version,
+ version.BusinessType()=businesstype,
+ version.CreateTime() );
+
+ return latestversion;
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl b/_Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl
new file mode 100644
index 0000000..7e7ec19
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_FindReleasedVersions.qbl
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindReleasedVersions (
+ GlobalOTDTable globalotdtable,
+ String businesstype,
+ String versionid
+) as owning VersionControls
+{
+ Description: '鑾峰彇鏌愪簨涓氶儴鐩墠鏈�鏂扮殑鐗堟湰鍙�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+
+ // Get the latest version data
+ latestversion := selectset( globalotdtable, VersionControl, version, version.BusinessType()=businesstype and version.IsReleased()=true and version.VersionID().FindString( versionid, 0 ) = 0 );
+
+ return &latestversion;
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl b/_Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl
new file mode 100644
index 0000000..03b2084
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_GetVersionInfo.qbl
@@ -0,0 +1,30 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetVersionInfo (
+ GlobalOTDTable owner,
+ String businessname
+) as owning Strings
+{
+ Description: '鑾峰彇澶х増鏈増鏈彿鍙婄増鏈悕绉�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ businesstyoe := GlobalOTDTable::GetBusinessTypeName( businessname );
+ result := construct( Strings );
+ rootversion := VersionControl::FindLatestVersion( owner, businesstyoe );
+
+ if( not isnull( rootversion ) ){
+ result.Add( rootversion.VersionID() );
+ result.Add( rootversion.LongVersionName() );
+ result.Add( rootversion.VersionID() + "-" + rootversion.CalType() );
+ result.Add( rootversion.SingleVersionName() );
+ }else{
+ result.Add( "" );
+ result.Add( "" );
+ result.Add( "" );
+ result.Add( "" );
+ }
+
+ return &result;
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_ReleaseLatestVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_ReleaseLatestVersion.qbl
new file mode 100644
index 0000000..43541f1
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_ReleaseLatestVersion.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ReleaseLatestVersion
+{
+ Description: '鍙戝竷褰撳墠鐗堟湰锛屽緟缂栧啓'
+ TextBody:
+ [*
+ // Administrator Sep-14-2023 (created)
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl b/_Main/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl
new file mode 100644
index 0000000..f90a939
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/StaticMethod_ReleaseNewVersion.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ReleaseNewVersion (
+ GlobalOTDTable owner,
+ String businesstype
+)
+{
+ Description: '鍙戝竷鏂扮増鏈�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ releasetime := DateTime::ActualTime();
+
+ // Create new version
+ newversion := VersionControl::CreateNewVersion( owner, businesstype );
+
+ newversion.IsReleased( true );
+ newversion.ReleaseTime( releasetime );
+ *]
+}
diff --git a/_Main/BL/Type_VersionControl/_ROOT_Type_VersionControl.qbl b/_Main/BL/Type_VersionControl/_ROOT_Type_VersionControl.qbl
new file mode 100644
index 0000000..8064a9d
--- /dev/null
+++ b/_Main/BL/Type_VersionControl/_ROOT_Type_VersionControl.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type VersionControl
+{
+ #keys: '5[412960.0.134860003][412960.0.134860001][0.0.0][412960.0.134860002][412960.0.134860004]'
+ BaseType: Object
+ Description: '鍌ㄥ瓨鍏ㄩ噺鐗堟湰鐘舵�佺殑object'
+ StructuredName: 'VersionControls'
+}
diff --git a/_Main/BL/Type_VersionStatus/Attribute_BusinessName.qbl b/_Main/BL/Type_VersionStatus/Attribute_BusinessName.qbl
new file mode 100644
index 0000000..877b0b7
--- /dev/null
+++ b/_Main/BL/Type_VersionStatus/Attribute_BusinessName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessName
+{
+ #keys: '3[412960.0.134830239][412960.0.134830238][412960.0.134830240]'
+ Description: '灞曠ず鐢ㄤ簨涓氶儴鍚嶇О'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionStatus/Attribute_BusinessType.qbl b/_Main/BL/Type_VersionStatus/Attribute_BusinessType.qbl
new file mode 100644
index 0000000..bba8e24
--- /dev/null
+++ b/_Main/BL/Type_VersionStatus/Attribute_BusinessType.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute BusinessType
+{
+ #keys: '3[412960.0.134830072][412960.0.134830071][412960.0.134830073]'
+ Description: '浜嬩笟閮ㄥ悕绉�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionStatus/Attribute_LastReleaseTime.qbl b/_Main/BL/Type_VersionStatus/Attribute_LastReleaseTime.qbl
new file mode 100644
index 0000000..9c76657
--- /dev/null
+++ b/_Main/BL/Type_VersionStatus/Attribute_LastReleaseTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LastReleaseTime
+{
+ #keys: '3[412960.0.136138799][412960.0.136138798][412960.0.136138800]'
+ Description: '鏈�鍚庡悓姝ョ殑鏃堕棿'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_VersionStatus/Attribute_LastUser.qbl b/_Main/BL/Type_VersionStatus/Attribute_LastUser.qbl
new file mode 100644
index 0000000..e0f1ac0
--- /dev/null
+++ b/_Main/BL/Type_VersionStatus/Attribute_LastUser.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LastUser
+{
+ #keys: '3[412960.0.136138809][412960.0.136138808][412960.0.136138810]'
+ Description: '鏈�鍚庢搷浣滀汉'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionStatus/Attribute_LastVersionName.qbl b/_Main/BL/Type_VersionStatus/Attribute_LastVersionName.qbl
new file mode 100644
index 0000000..83a20e1
--- /dev/null
+++ b/_Main/BL/Type_VersionStatus/Attribute_LastVersionName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute LastVersionName
+{
+ #keys: '3[412960.0.136138768][412960.0.136138767][412960.0.136138769]'
+ Description: '鏈�缁堟嫾鎺ヨ�屾垚鐨勭増鏈悕绉�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionStatus/Attribute_Notes.qbl b/_Main/BL/Type_VersionStatus/Attribute_Notes.qbl
new file mode 100644
index 0000000..ac77f08
--- /dev/null
+++ b/_Main/BL/Type_VersionStatus/Attribute_Notes.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Notes
+{
+ #keys: '3[412960.0.136138819][412960.0.136138818][412960.0.136138820]'
+ Description: '澶囨敞'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionStatus/Attribute_SortNumber.qbl b/_Main/BL/Type_VersionStatus/Attribute_SortNumber.qbl
new file mode 100644
index 0000000..29f8260
--- /dev/null
+++ b/_Main/BL/Type_VersionStatus/Attribute_SortNumber.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SortNumber
+{
+ #keys: '3[412960.0.136138758][412960.0.136138757][412960.0.136138759]'
+ Description: '搴忓彿'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl
new file mode 100644
index 0000000..a33f467
--- /dev/null
+++ b/_Main/BL/Type_VersionStatus/StaticMethod_CreateOrUpdate.qbl
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateOrUpdate (
+ GlobalOTDTable owner,
+ String businesstype,
+ String businessname,
+ DateTime lastreleasetime,
+ String lastuser,
+ String lastversionname,
+ String notes,
+ Number sortnumber
+)
+{
+ Description: '鍒涘缓鏂扮殑鐗堟湰鍙戝竷鐘舵��'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ // Find exist status
+ existstatus := VersionStatus::FindLatestStatus( owner, businesstype );
+ if( isnull( existstatus ) ){
+ owner.VersionStatus( relnew,
+ BusinessType := businesstype,
+ BusinessName := businessname,
+ LastReleaseTime := lastreleasetime,
+ LastUser := lastuser,
+ LastVersionName := lastversionname,
+ Notes := notes,
+ SortNumber := sortnumber );
+ }else{
+ existstatus.LastReleaseTime( lastreleasetime );
+ existstatus.LastUser( lastuser );
+ existstatus.LastVersionName( lastversionname );
+ existstatus.Notes( notes );
+ existstatus.SortNumber( sortnumber );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl b/_Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl
new file mode 100644
index 0000000..5a58dc6
--- /dev/null
+++ b/_Main/BL/Type_VersionStatus/StaticMethod_FindLatestStatus.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindLatestStatus (
+ GlobalOTDTable globalotdtable,
+ String businesstype
+) as VersionStatus
+{
+ Description: '鑾峰彇鏌愪簨涓氶儴鐩墠鏈�鏂扮殑鍙戝竷鐘舵��'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+
+ // Get the latest version data
+ lateststatus := select( globalotdtable, VersionStatus, version, version.BusinessType()=businesstype );
+
+ return lateststatus;
+ *]
+}
diff --git a/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl b/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl
new file mode 100644
index 0000000..dec4ba1
--- /dev/null
+++ b/_Main/BL/Type_VersionStatus/StaticMethod_GetBusinessTypeStatus.qbl
@@ -0,0 +1,64 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetBusinessTypeStatus (
+ GlobalOTDTable owner,
+ String rootversionid
+)
+{
+ Description: '鍒锋柊鎵�鏈変簨涓氶儴鐨勫彂甯冩儏鍐�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ // Get business type list
+ businesstypes := "闆嗗洟,闈㈡澘,鎵嬫満浜嬩笟閮�,IT浜嬩笟閮�,杞﹁浇浜嬩笟閮�,姹借溅鐢靛瓙浜嬩笟閮�,涓撴樉浜嬩笟閮�,绌挎埓浜嬩笟閮�";
+ businesstypelist := businesstypes.Tokenize( "," );
+
+ sortnumber := 0;
+ sortdetailnumber := 0;
+ traverse( businesstypelist, Elements, businessname, true ){
+ // info( businessname );
+ // Get the local scenario businesstype
+ businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
+ sortnumber := sortnumber + 1;
+ lastversion := VersionControl::FindLatestUpdateVersion( owner, businesstype );
+ if( not isnull( lastversion ) ){
+ VersionStatus::CreateOrUpdate( owner,
+ businesstype,
+ businessname,
+ lastversion.ReleaseTime(),
+ lastversion.User(),
+ lastversion.SingleVersionName(),
+ lastversion.Notes(),
+ sortnumber );
+ }else{
+ existstatus := VersionStatus::FindLatestStatus( owner, businesstype );
+ if( isnull( existstatus ) ){
+ owner.VersionStatus( relnew,
+ BusinessType := businesstype,
+ BusinessName := businessname,
+ SortNumber := sortnumber
+ );
+ }
+ }
+
+ rootstatus := VersionStatus::FindLatestStatus( owner, businesstype );
+ // Get the versions list
+ versionlist := VersionControl::FindReleasedVersions( owner, businesstype, rootversionid );
+ // info( rootversionid );
+ if( not isnull( versionlist ) ){
+ traverse( versionlist, Elements, version, true ){
+ info( version.VersionID() );
+ sortdetailnumber := sortdetailnumber + 1;
+ VersionStatusDetail::CreateOrUpdate( rootstatus,
+ version.VersionID() + "-" + version.CalType(),
+ version.CreateTime(),
+ version.ReleaseTime(),
+ version.SingleVersionName(),
+ version.User(),
+ version.Notes(),
+ sortdetailnumber );
+ }
+ }
+ }
+ *]
+}
diff --git a/_Main/BL/Type_VersionStatus/_ROOT_Type_VersionStatus.qbl b/_Main/BL/Type_VersionStatus/_ROOT_Type_VersionStatus.qbl
new file mode 100644
index 0000000..eb167dc
--- /dev/null
+++ b/_Main/BL/Type_VersionStatus/_ROOT_Type_VersionStatus.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type VersionStatus
+{
+ #keys: '5[412960.0.134830053][412960.0.134830051][0.0.0][412960.0.134830052][412960.0.134830054]'
+ BaseType: Object
+ Description: '鍚勪簨涓氶儴鐨勭増鏈彂甯冪姸鎬佹暟鎹�'
+ StructuredName: 'VersionStatuss'
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_CreateTime.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_CreateTime.qbl
new file mode 100644
index 0000000..6fbf202
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/Attribute_CreateTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CreateTime
+{
+ #keys: '3[412960.0.143214324][412960.0.143214323][412960.0.143214325]'
+ Description: '鍒涘缓璇ョ増鏈殑鏃堕棿'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_Notes.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_Notes.qbl
new file mode 100644
index 0000000..9c73a1a
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/Attribute_Notes.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Notes
+{
+ #keys: '3[412960.0.143214333][412960.0.143214332][412960.0.143214334]'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_ReleaseTime.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_ReleaseTime.qbl
new file mode 100644
index 0000000..0558ae9
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/Attribute_ReleaseTime.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ReleaseTime
+{
+ #keys: '3[412960.0.143214336][412960.0.143214335][412960.0.143214337]'
+ Description: '鍙戝竷璇ョ増鏈殑鏃堕棿'
+ ValueType: DateTime
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_SingleVersionName.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_SingleVersionName.qbl
new file mode 100644
index 0000000..f4bcfc5
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/Attribute_SingleVersionName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SingleVersionName
+{
+ #keys: '3[412960.0.143214339][412960.0.143214338][412960.0.143214340]'
+ Description: '鍗曚釜鐗堟湰鐨勫悕瀛楋紝鍗冲皬鐗堟湰鍚�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_SortNumber.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_SortNumber.qbl
new file mode 100644
index 0000000..796a03e
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/Attribute_SortNumber.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute SortNumber
+{
+ #keys: '3[412960.0.143220022][412960.0.143220021][412960.0.143220023]'
+ ValueType: Number
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_User.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_User.qbl
new file mode 100644
index 0000000..14f56cd
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/Attribute_User.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute User
+{
+ #keys: '3[412960.0.143214342][412960.0.143214341][412960.0.143214343]'
+ Description: '鍒涘缓璇ョ増鏈殑鐢ㄦ埛'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/Attribute_VersionID.qbl b/_Main/BL/Type_VersionStatusDetail/Attribute_VersionID.qbl
new file mode 100644
index 0000000..7b4634c
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/Attribute_VersionID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute VersionID
+{
+ #keys: '3[412960.0.143214345][412960.0.143214344][412960.0.143214346]'
+ Description: '鍏ㄩ噺鐗堟湰鍙�'
+ ValueType: String
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/DefaultValue_Notes.qbl b/_Main/BL/Type_VersionStatusDetail/DefaultValue_Notes.qbl
new file mode 100644
index 0000000..cc97344
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/DefaultValue_Notes.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: Notes
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/DefaultValue_SingleVersionName.qbl b/_Main/BL/Type_VersionStatusDetail/DefaultValue_SingleVersionName.qbl
new file mode 100644
index 0000000..b8282a9
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/DefaultValue_SingleVersionName.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: SingleVersionName
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/DefaultValue_User.qbl b/_Main/BL/Type_VersionStatusDetail/DefaultValue_User.qbl
new file mode 100644
index 0000000..10b59e9
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/DefaultValue_User.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+ TargetAttribute: User
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_VersionStatusDetail/StaticMethod_CreateOrUpdate.qbl
new file mode 100644
index 0000000..2f27674
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/StaticMethod_CreateOrUpdate.qbl
@@ -0,0 +1,38 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateOrUpdate (
+ VersionStatus owner,
+ String versionid,
+ DateTime createtime,
+ DateTime releasetime,
+ String versionname,
+ String user,
+ String notes,
+ Number sortnumber
+)
+{
+ Description: '鍒涘缓鏂扮殑鐗堟湰鍙戝竷鐘舵�佽鎯�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ // Find exist status
+ existstatusdetail := VersionStatusDetail::FindStatus( owner, versionid );
+ if( isnull( existstatusdetail ) ){
+ owner.VersionStatusDetail( relnew,
+ CreateTime := createtime,
+ ReleaseTime := releasetime,
+ SingleVersionName := versionname,
+ User := user,
+ VersionID := versionid,
+ Notes := notes,
+ SortNumber := sortnumber );
+ }else{
+ existstatusdetail.CreateTime( createtime );
+ existstatusdetail.ReleaseTime( releasetime );
+ existstatusdetail.SingleVersionName( versionname );
+ existstatusdetail.User( user );
+ existstatusdetail.Notes( notes );
+ existstatusdetail.SortNumber( sortnumber );
+ }
+ *]
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/StaticMethod_FindStatus.qbl b/_Main/BL/Type_VersionStatusDetail/StaticMethod_FindStatus.qbl
new file mode 100644
index 0000000..732af48
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/StaticMethod_FindStatus.qbl
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod FindStatus (
+ VersionStatus owner,
+ String versionid
+) as VersionStatusDetail
+{
+ Description: '閫氳繃鐗堟湰鍙锋煡鎵炬槸鍚︽湁瀛樺湪鐨勭姸鎬佽鎯�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+
+ // Get the latest version data
+ lateststatusdetail := select( owner, VersionStatusDetail, version, version.VersionID()=versionid );
+
+ return lateststatusdetail;
+ *]
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/StaticMethod_GetFullVersionID.qbl b/_Main/BL/Type_VersionStatusDetail/StaticMethod_GetFullVersionID.qbl
new file mode 100644
index 0000000..acb76c0
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/StaticMethod_GetFullVersionID.qbl
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod GetFullVersionID (
+ VersionStatus owner
+) as String
+{
+ Description: '鑾峰彇鍏ㄩ噺鐗堟湰鍙�'
+ TextBody:
+ [*
+ // Administrator Sep-13-2023 (created)
+ result := "";
+ latestversion := maxselect( owner, VersionStatusDetail, version, true, version.CreateTime() );
+
+ if( not isnull( latestversion ) ){
+ result := latestversion.VersionID();
+ }
+
+ return result;
+ *]
+}
diff --git a/_Main/BL/Type_VersionStatusDetail/_ROOT_Type_VersionStatusDetail.qbl b/_Main/BL/Type_VersionStatusDetail/_ROOT_Type_VersionStatusDetail.qbl
new file mode 100644
index 0000000..4b4532a
--- /dev/null
+++ b/_Main/BL/Type_VersionStatusDetail/_ROOT_Type_VersionStatusDetail.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type VersionStatusDetail
+{
+ #keys: '5[412960.0.143214315][412960.0.143214313][0.0.0][412960.0.143214314][412960.0.143214316]'
+ BaseType: Object
+ Description: '鍌ㄥ瓨瀵瑰簲鍙戝竷鐘舵�佷笅鐗堟湰鐘舵�佺殑鏁版嵁'
+ StructuredName: 'VersionStatusDetails'
+}
diff --git a/_Main/Sys/Integration/Brokers/PanelMaterialResponseResult1.xml b/_Main/Sys/Integration/Brokers/PanelMaterialResponseResult1.xml
new file mode 100644
index 0000000..e849218
--- /dev/null
+++ b/_Main/Sys/Integration/Brokers/PanelMaterialResponseResult1.xml
Binary files differ
diff --git a/_Main/Sys/Integration/Mapping/PanelMaterialResponseResult1.xml b/_Main/Sys/Integration/Mapping/PanelMaterialResponseResult1.xml
new file mode 100644
index 0000000..3017e20
--- /dev/null
+++ b/_Main/Sys/Integration/Mapping/PanelMaterialResponseResult1.xml
Binary files differ
diff --git a/_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_from.xml b/_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_from.xml
new file mode 100644
index 0000000..1e95e2a
--- /dev/null
+++ b/_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_from.xml
Binary files differ
diff --git a/_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_to.xml b/_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_to.xml
new file mode 100644
index 0000000..c9bba0e
--- /dev/null
+++ b/_Main/Sys/Integration/Structure/PanelMaterialResponseResult1_to.xml
Binary files differ
diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
index 20ed0bd..7aa83c9 100644
--- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
+++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
@@ -136,6 +136,8 @@
[
Component menuSeparator457 { #keys: '[414702.0.265704251]' BaseType: 'Menu' Properties: [ Separator: true ] }
Component ComponentMenu666 { #keys: '[414702.0.265704260]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormBrokerExecuteLog' Text: '' ] }
+ Component menuSeparator822 { #keys: '[414702.0.340555024]' BaseType: 'Menu' Properties: [ Separator: true ] }
+ Component ComponentMenu783 { #keys: '[414702.0.340555035]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormTestButtonCollection' Text: '' ] }
]
Properties:
[
@@ -154,6 +156,8 @@
c: menuExit
c: menuSeparator457
c: ComponentMenu666
+ c: menuSeparator822
+ c: ComponentMenu783
}
]
}
diff --git a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
new file mode 100644
index 0000000..7b1da32
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: Button398
+Response OnClick () id:Response_FormTestButtonCollection_Button398_OnClick
+{
+ #keys: '[414702.0.340554926]'
+ Body:
+ [*
+ CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan );
+ *]
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def
new file mode 100644
index 0000000..53a8703
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormTestButtonCollection/_ROOT_Component_FormTestButtonCollection.def
@@ -0,0 +1,50 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlanner
+OrphanComponent FormTestButtonCollection
+{
+ #keys: '[414702.0.340554698]'
+ BaseType: 'Form'
+ GBLayout
+ {
+ Type: 'internal[GBLayoutDefinition]'
+ Columns:
+ [
+ GBFlow.Column { grow: 0 id: 454 parent: 0 }
+ ]
+ Elements:
+ [
+ GBElement
+ {
+ Component => Button398
+ Position { startcolumn: 454 startrow: 649 endcolumn: 454 endrow: 649 }
+ }
+ ]
+ Gaps: [ left: 5 right: 5 top: 5 bottom: 5 inner: 5 ]
+ Rows:
+ [
+ GBFlow.Row { grow: 0 id: 649 parent: 0 }
+ ]
+ }
+ Children:
+ [
+ Component Button398
+ {
+ #keys: '[414702.0.340554799]'
+ BaseType: 'Button'
+ Properties:
+ [
+ Image: 'HARDHAT'
+ Text: '鐢熸垚浜ц兘鍒嗛厤缁撴灉鏁版嵁'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Height: 209
+ Image: 'PIPETTE_TEST'
+ IncludeInView: true
+ Title: '鍔熻兘娴嬭瘯鎸夐挳'
+ Width: 535
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
index 72e5ee3..2ee31ab 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
@@ -43,5 +43,25 @@
Taborder: 42
]
}
+ Component DataHolderCapacityAndSaleBudgeFilterBusinessType
+ {
+ #keys: '[414384.0.874472860]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[CapacityAndSaleBudgeFilterBusinessType]*'
+ Properties:
+ [
+ Taborder: 43
+ ]
+ }
+ Component DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+ {
+ #keys: '[414384.0.874472866]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[CapacityAndSaleBudgeFilterPlaceOfProductionOfArray]*'
+ Properties:
+ [
+ Taborder: 44
+ ]
+ }
]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def"
index 13a5531..f8a1684 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral\043549.def"
@@ -51,5 +51,16 @@
Taborder: 4
]
}
+ Component CheckboxIsCreateNewVersion
+ {
+ #keys: '[412960.0.157150313]'
+ BaseType: 'WebCheckbox'
+ Properties:
+ [
+ DataBinding: 'DataHolderDialogData.Data.IsCreateNewVersion'
+ Label: 'Create a new version'
+ Taborder: 7
+ ]
+ }
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_pnlActions.def
new file mode 100644
index 0000000..61bc669
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_pnlActions.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component pnlActions #extension
+{
+ Children:
+ [
+ Component btnOK #extension
+ {
+ }
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario\043549.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario\043549.def"
index cc2b308..2f95d09 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario\043549.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario\043549.def"
@@ -20,6 +20,7 @@
DataHolderActionCopy.Data( false );
DataHolderDialogData.Data( &scenario );
DataHolderDialogData.Data().EnableSync( enableSync );
+ DataHolderDialogData.Data().IsCreateNewVersion( true );
ApplicationMacroPlanner.ShowFormModal( this );
*]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def
index d48922f..ad05250 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_NewScenario.def
@@ -19,6 +19,7 @@
DataHolderActionCopy.Data( false );
DataHolderDialogData.Data( &scenario );
+ DataHolderDialogData.Data().IsCreateNewVersion( true );
ApplicationMacroPlanner.ShowFormModal( this );
*]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
index e97d405..5d283ea 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
@@ -17,6 +17,21 @@
newscenario := null( Scenario );
strategy := null( Strategy );
+ // New version
+ globalotdtable := GlobalOTDTable;
+ testbusinesstype := "闆嗗洟";
+ if( data.IsCreateNewVersion() ){
+ VersionControl::CreateNewSceneVersion( globalotdtable, testbusinesstype );
+ }else{
+ VersionControl::CopyVersion( globalotdtable, testbusinesstype );
+ }
+ versionname := VersionControl::GetVersionInfo( globalotdtable, testbusinesstype ).Element( 3 );
+
+ // Get Version Name
+ if( data.Name() = "" ){
+ data.Name( versionname );
+ }
+
// Copy scenario
if( isnull( data.WrappedInstance() ) )
{
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..e56830c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOK
+Response OnClick () id:Response_pnlActions_btnOK_OnClick #extension
+{
+ Precondition:
+ [*
+ data := DataHolderDialogData.Data();
+ return not isnull( data )
+ and Scenario::ValidateInput( feedback,
+ ScenarioManager,
+ // edtName.Text(),
+ "for version",
+ data.WrappedInstance(),
+ '',
+ GlobalParameters_MP::GetKB_New(),
+ 'Test',
+ RadioButtonGroupStorageState.BoundValue(),
+ Domain.MDSStorageDefinitionManager().Enabled(),
+ Domain.MDSStorageDefinitionManager().DatasetStoreEnabled(),
+ Domain.MDSStorageDefinitionManager().DatabaseEnabled() );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/_ROOT_Component_DialogCreateEditScenario.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/_ROOT_Component_DialogCreateEditScenario.def
index c446fac..c7bba6d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/_ROOT_Component_DialogCreateEditScenario.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/_ROOT_Component_DialogCreateEditScenario.def
@@ -6,5 +6,6 @@
Children:
[
#child: pnlContent
+ #child: pnlActions
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlActions.def
new file mode 100644
index 0000000..c68f389
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+ #keys: '[414382.0.465983522]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btnOk
+ {
+ #keys: '[414382.0.465983526]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'OK'
+ Taborder: 0
+ ]
+ }
+ Component btnCancel
+ {
+ #keys: '[414382.0.465983528]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Cancel'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Border: true
+ ExcludeFromActiveComponent: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Padding: 'true'
+ Style: 'footer'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlContent.def
new file mode 100644
index 0000000..d907ade
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlContent.def
@@ -0,0 +1,48 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+ #keys: '[414382.0.465983520]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component PriorityFactorName
+ {
+ #keys: '[414382.0.464432096]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderEditPriorityFactor.Data.Name'
+ Label: '浼樺厛绾у洜瀛�'
+ ReadOnly: true
+ Taborder: 0
+ ]
+ }
+ Component Coefficient
+ {
+ #keys: '[414382.0.466405102]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderEditPriorityFactor.Data.Coefficient'
+ Label: '绯绘暟'
+ Taborder: 1
+ ]
+ }
+ Component Desc
+ {
+ #keys: '[414382.0.466436612]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderEditPriorityFactor.Data.Desc'
+ Label: '鎻忚堪'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Padding: 'true'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_ClickBtnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_ClickBtnOK.def
new file mode 100644
index 0000000..cb1792b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_ClickBtnOK.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Method ClickBtnOK () id:Method_DialogEditPriorityFactor_ClickBtnOK
+{
+ #keys: '[414382.0.464433014]'
+ Body:
+ [*
+
+ btnOk.Enabled(false,'');
+
+ // OnOk
+ this.ApplyChanges();
+ DataHolderEditPriorityFactor.Data().Commit();
+ this.Close();
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_Edit.def
new file mode 100644
index 0000000..94a80fb
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_Edit.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method Edit (
+ PriorityFactor selection
+) id:Method_DialogEditPriorityFactor_Edit
+{
+ #keys: '[414382.0.464432484]'
+ Body:
+ [*
+ data := shadow( selection );
+
+ DataHolderEditPriorityFactor.Data( &data);
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..fe3f319
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+ #keys: '[414382.0.465983532]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.Close();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..ba900bc
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+ #keys: '[414382.0.465983531]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ feedback := Translations::FilllingCapacity_ValidateInput();
+
+ checkValue := not Coefficient.Text() = ''
+
+ return checkValue;
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ Form.ClickBtnOK();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/_ROOT_Component_DialogEditPriorityFactor.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/_ROOT_Component_DialogEditPriorityFactor.def
new file mode 100644
index 0000000..c38af58
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/_ROOT_Component_DialogEditPriorityFactor.def
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogEditPriorityFactor
+{
+ #keys: '[414382.0.465983518]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pnlContent
+ #child: pnlActions
+ Component DataHolderEditPriorityFactor
+ {
+ #keys: '[414382.0.464433280]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'shadow[PriorityFactor]*'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ EnterButton: 'btnOk'
+ EscapeButton: 'btnCancel'
+ ExcludeFromActiveComponent: true
+ Padding: 'false'
+ Title: '缂栬緫浼樺厛绾у洜瀛�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlActions.def
new file mode 100644
index 0000000..3fb1dc5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+ #keys: '[414382.0.482374521]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btnOk
+ {
+ #keys: '[414382.0.482374525]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'OK'
+ Taborder: 0
+ ]
+ }
+ Component btnCancel
+ {
+ #keys: '[414382.0.482374527]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Cancel'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Border: true
+ ExcludeFromActiveComponent: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Padding: 'true'
+ Style: 'footer'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def
new file mode 100644
index 0000000..1a52538
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def
@@ -0,0 +1,93 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+ #keys: '[414382.0.482374519]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component GradeTarget
+ {
+ #keys: '[414382.0.482496232]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderEditPriorityFactorDetails.Data.GradeTarget'
+ Label: '鍒嗙骇鐩爣鍊�'
+ Taborder: 2
+ ]
+ }
+ Component isRange
+ {
+ #keys: '[414382.0.482496334]'
+ BaseType: 'WebCheckbox'
+ Properties:
+ [
+ DataBinding: 'DataHolderEditPriorityFactorDetails.Data.IsRange'
+ Label: '鍒嗙骇鑼冨洿:'
+ Taborder: 3
+ ]
+ }
+ Component RangeMax
+ {
+ #keys: '[414382.0.482496364]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderEditPriorityFactorDetails.Data.RangeMax'
+ Label: '鏈�澶у��'
+ Taborder: 4
+ ]
+ }
+ Component RangeMin
+ {
+ #keys: '[414382.0.482496434]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderEditPriorityFactorDetails.Data.RangeMin'
+ Label: '鏈�灏忓��'
+ Taborder: 5
+ ]
+ }
+ Component GradeDesc
+ {
+ #keys: '[414382.0.478492133]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderEditPriorityFactorDetails.Data.GradeDesc'
+ FixedSize: false
+ Label: '鎻忚堪'
+ SizeRatio: 3
+ Taborder: 6
+ ]
+ }
+ Component PriorityFactorName
+ {
+ #keys: '[414382.0.485983642]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ DataBinding: 'DataHolderEditPriorityFactorDetails.Data.PriorityFactorName'
+ Label: '浼樺厛绾у洜瀛�'
+ Taborder: 0
+ ]
+ }
+ Component PriorityFactorDetailsName
+ {
+ #keys: '[414382.0.486013052]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ DataBinding: 'DataHolderEditPriorityFactorDetails.Data.GradingName'
+ Label: '缁嗗垎鍚嶇О'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Padding: 'true'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_ClickBtnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_ClickBtnOK.def
new file mode 100644
index 0000000..2fa33f1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_ClickBtnOK.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: #root
+Method ClickBtnOK () id:Method_DialogEditPriorityFactorDetails_ClickBtnOK
+{
+ #keys: '[414382.0.482495783]'
+ Body:
+ [*
+ btnOk.Enabled(false,'');
+
+ // OnOk
+ this.ApplyChanges();
+ DataHolderEditPriorityFactorDetails.Data().Commit();
+ this.Close();
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_Edit.def
new file mode 100644
index 0000000..512f652
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_Edit.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: #root
+Method Edit (
+ PriorityFactorDetails selection
+) id:Method_DialogEditPriorityFactorDetails_Edit
+{
+ #keys: '[414382.0.482495781]'
+ Body:
+ [*
+ data := shadow( selection );
+
+ if( data.IsRange() )
+ {
+ isRange.Checked(true);
+ }
+
+ DataHolderEditPriorityFactorDetails.Data( &data);
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..793b528
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+ #keys: '[414382.0.482374531]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.Close();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..14d65cd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+ #keys: '[414382.0.482374530]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ feedback := Translations::FilllingCapacity_ValidateInput();
+
+ checkValue := not GradeTarget.Text() = ''
+
+ if( isRange.Checked() )
+ {
+ checkValue := not RangeMax.Text() = '' and not RangeMin.Text() = '';
+ }
+
+ return checkValue;
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ Form.ClickBtnOK();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def
new file mode 100644
index 0000000..91202b9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: pnlContent/isRange
+Response OnChanged () id:Response_pnlContent_isRange_OnChanged
+{
+ #keys: '[414382.0.487732097]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebCheckbox_OnChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ if( this.Checked())
+ {
+ RangeMax.ReadOnly(false);
+ RangeMin.ReadOnly(false)
+ }
+ else{
+ RangeMax.ReadOnly(true);
+ RangeMin.ReadOnly(true)
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetails.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetails.def
new file mode 100644
index 0000000..3668b68
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetails.def
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogEditPriorityFactorDetails
+{
+ #keys: '[414382.0.482374517]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pnlContent
+ #child: pnlActions
+ Component DataHolderEditPriorityFactorDetails
+ {
+ #keys: '[414382.0.482495927]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'shadow[PriorityFactorDetails]*'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ EnterButton: 'btnOk'
+ EscapeButton: 'btnCancel'
+ ExcludeFromActiveComponent: true
+ Padding: 'false'
+ Title: '缂栬緫浼樺厛绾у洜瀛愮粏鍒�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Method_New.def
index cd0fc2c..4170b61 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Method_New.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Method_New.def
@@ -9,6 +9,7 @@
[*
data := owner.FillingCapacityOrder(relshadow);
+ data.OrderType("鎻愭媺")
DataHolderFillingCapacityOrder.Data(&data);
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def
index 87cbc8c..89f4bc2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def
@@ -4,12 +4,23 @@
{
#keys: '[414382.0.400131334]'
DefinitionID: 'Responsedef_WebButton_OnClick'
- GroupServerCalls: true
+ Precondition:
+ [*
+ feedback := Translations::FilllingCapacity_ValidateInput();
+
+ checkValue := not dropDownStringListProductID.Text() = '' and not dropDownStringListSalesSegmentName.Text() = ''
+ and not dropDownStringListStockPointID.Text() = '' and not dropDownStringListCustomer.Text() = ''
+ and not edtQuantity.Text() = '' and not dropDownStringListUnitOfMeasureName.Text() = ''
+ and not edtSalesAmount.Text() = ''
+
+ return checkValue;
+ *]
QuillAction
{
Body:
[*
Form.ClickBtnOk()
*]
+ GroupServerCalls: false
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlContent_dsDemandDate_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlContent_dsDemandDate_OnCreated.def
new file mode 100644
index 0000000..97834ff
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlContent_dsDemandDate_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlContent/dsDemandDate
+Response OnCreated () id:Response_pnlContent_dsDemandDate_OnCreated
+{
+ #keys: '[414382.0.469810579]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ this.Date(Date::Today());
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlContent_dsForecastDemandDate_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlContent_dsForecastDemandDate_OnCreated.def
new file mode 100644
index 0000000..291ccff
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlContent_dsForecastDemandDate_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlContent/dsForecastDemandDate
+Response OnCreated () id:Response_pnlContent_dsForecastDemandDate_OnCreated
+{
+ #keys: '[414382.0.471003983]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ this.Date(Date::Today());
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def
index 99073e6..488be7e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def
@@ -60,7 +60,6 @@
Properties:
[
DataBinding: 'DataHolderFilling.Data.DemandDate'
- Enabled: false
Label: 'Demand Date'
ReadOnly: true
Taborder: 4
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def
index ca39440..4a485e4 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def
@@ -4,12 +4,19 @@
{
#keys: '[414382.0.415331003]'
DefinitionID: 'Responsedef_WebButton_OnClick'
- GroupServerCalls: true
+ Precondition:
+ [*
+ verNo := efVerNo.Text();
+ salesAmount := edtSalesAmount.Text();
+ feedback := Translations::FilllingCapacity_ValidateInput();
+ return not salesAmount = '' and not verNo = '';
+ *]
QuillAction
{
Body:
[*
Form.ClickBtnOk();
*]
+ GroupServerCalls: false
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlContent_dsForecastDemandDate_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlContent_dsForecastDemandDate_OnCreated.def
new file mode 100644
index 0000000..ee58c75
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlContent_dsForecastDemandDate_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlContent/dsForecastDemandDate_515
+Response OnCreated () id:Response_pnlContent_dsForecastDemandDate_OnCreated
+{
+ #keys: '[414382.0.470910420]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ this.Date(Date::Today());
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnCancel_OnClick.def
index dbe627b..127f917 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnCancel_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnCancel_OnClick.def
@@ -4,12 +4,12 @@
{
#keys: '[414382.0.423200508]'
DefinitionID: 'Responsedef_WebButton_OnClick'
- GroupServerCalls: true
QuillAction
{
Body:
[*
Form.Close();
*]
+ GroupServerCalls: false
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnOk_OnClick.def
index 855c43b..48f21ea 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnOk_OnClick.def
@@ -4,7 +4,12 @@
{
#keys: '[414382.0.423200507]'
DefinitionID: 'Responsedef_WebButton_OnClick'
- GroupServerCalls: true
+ Precondition:
+ [*
+ schemeName := DialogFillingOrderScheme.efSchemeName().Text();
+ feedback := Translations::FilllingCapacity_ValidateInput();
+ return not schemeName = '';
+ *]
QuillAction
{
Body:
@@ -17,5 +22,6 @@
Form.Close();
*]
+ GroupServerCalls: false
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Method_New.def
index db4476b..5a00c78 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Method_New.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Method_New.def
@@ -8,6 +8,7 @@
Body:
[*
data := owner.FillingCapacityOrder(relshadow);
+ data.OrderType("NEW");
DataHolderHistoricalSalesOrder.Data( &data);
ApplicationMacroPlanner.ShowFormModal( this );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlActions_btnOk_OnClick.def
index 009143e..e9d82ba 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlActions_btnOk_OnClick.def
@@ -4,12 +4,23 @@
{
#keys: '[414382.0.391970684]'
DefinitionID: 'Responsedef_WebButton_OnClick'
- GroupServerCalls: true
+ Precondition:
+ [*
+ feedback := Translations::FilllingCapacity_ValidateInput();
+
+ checkValue := not dropDownStringListProductID.Text() = '' and not dropDownStringListSalesSegmentName.Text() = ''
+ and not dropDownStringListStockPointID.Text() = '' and not dropDownStringListCustomer.Text() = ''
+ and not edtQuantity.Text() = '' and not dropDownStringListUnitOfMeasureName.Text() = ''
+ and not edtSalesAmount.Text() = ''
+
+ return checkValue;
+ *]
QuillAction
{
Body:
[*
Form.ClickBtnOk()
*]
+ GroupServerCalls: false
}
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlContent_dsOrderDate_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlContent_dsOrderDate_OnCreated.def
new file mode 100644
index 0000000..32c37f5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlContent_dsOrderDate_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlContent/dsOrderDate
+Response OnCreated () id:Response_pnlContent_dsOrderDate_OnCreated
+{
+ #keys: '[414382.0.471041775]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ this.Date(Date::Today());
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Component_pnlActions.def
new file mode 100644
index 0000000..a40d8d8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+ #keys: '[414382.0.489474418]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btnOk
+ {
+ #keys: '[414382.0.489474422]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: '淇濆瓨'
+ Taborder: 0
+ ]
+ }
+ Component btnCancel
+ {
+ #keys: '[414382.0.489474424]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: '鍙栨秷'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Border: true
+ ExcludeFromActiveComponent: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Padding: 'true'
+ Style: 'footer'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Component_pnlContent.def
new file mode 100644
index 0000000..cb3b22c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Component_pnlContent.def
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+ #keys: '[414382.0.489474416]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component PriorityPolicyName
+ {
+ #keys: '[414382.0.489512715]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderNewPriorityPolicy.Data.Name'
+ Label: '浼樺厛绾х瓥鐣ュ悕绉�'
+ Taborder: 0
+ ]
+ }
+ Component PriorityPolicyDesc
+ {
+ #keys: '[414382.0.489474868]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ DataBinding: 'DataHolderNewPriorityPolicy.Data.Desc'
+ Label: '鎻忚堪'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Padding: 'true'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_ClickBtnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_ClickBtnOk.def
new file mode 100644
index 0000000..6b89082
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_ClickBtnOk.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+Method ClickBtnOk () id:Method_DialogNewPriorityPolicy_ClickBtnOk
+{
+ #keys: '[414382.0.489694008]'
+ Body:
+ [*
+ // Disabled button to prevent the possibility of multiple firing
+
+ btnOk.Enabled(true,'11111');
+
+ // OnOk
+ this.ApplyChanges();
+
+ DataHolderNewPriorityPolicy.Data().Commit();
+
+ this.Close();
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_New.def
new file mode 100644
index 0000000..945cb96
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_New.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: #root
+Method New (
+ MacroPlan owner,
+ String businessType
+) id:Method_DialogNewPriorityPolicy_New
+{
+ #keys: '[414382.0.489725864]'
+ Body:
+ [*
+ data := owner.PriorityPolicy(relshadow);
+ data.BusinessType(businessType);
+
+ DataHolderNewPriorityPolicy.Data(&data);
+
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..c263e61
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+ #keys: '[414382.0.489474428]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.Close();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..9336d6d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+ #keys: '[414382.0.489474427]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ Form.ClickBtnOk()
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/_ROOT_Component_DialogNewPriorityPolicy.def b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/_ROOT_Component_DialogNewPriorityPolicy.def
new file mode 100644
index 0000000..cb8f0bd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/_ROOT_Component_DialogNewPriorityPolicy.def
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogNewPriorityPolicy
+{
+ #keys: '[414382.0.489474414]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pnlContent
+ #child: pnlActions
+ Component DataHolderNewPriorityPolicy
+ {
+ #keys: '[414382.0.489512730]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'shadow[PriorityPolicy]*'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ EnterButton: 'btnOk'
+ EscapeButton: 'btnCancel'
+ ExcludeFromActiveComponent: true
+ Padding: 'false'
+ Title: '娣诲姞浼樺厛绾х瓥鐣�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlActions.def
new file mode 100644
index 0000000..b965c94
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlActions.def
@@ -0,0 +1,52 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+ #keys: '[412960.0.149440162]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btnApply
+ {
+ #keys: '[412960.0.149440164]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Apply'
+ Taborder: 0
+ Visible: false
+ ]
+ }
+ Component btnOk
+ {
+ #keys: '[412960.0.149440166]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'OK'
+ Taborder: 1
+ ]
+ }
+ Component btnCancel
+ {
+ #keys: '[412960.0.149440168]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'Cancel'
+ Taborder: 2
+ Visible: false
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Border: true
+ ExcludeFromActiveComponent: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Padding: 'true'
+ Style: 'footer'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlContent.def
new file mode 100644
index 0000000..4b48663
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Component_pnlContent.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+ #keys: '[412960.0.149440160]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component lblContent
+ {
+ #keys: '[412960.0.149330142]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ FixedSize: false
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Padding: 'true'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Method_JustShow.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Method_JustShow.def
new file mode 100644
index 0000000..c96d6db
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Method_JustShow.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#parent: #root
+Method JustShow () id:Method_DialogVersionIDCopy_JustShow
+{
+ #keys: '[412960.0.149561615]'
+ Body:
+ [*
+ ApplicationMacroPlanner.ShowFormModal( this );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnApply_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnApply_OnClick.def
new file mode 100644
index 0000000..0d2dfc5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnApply_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnApply
+Response OnClick () id:Response_pnlActions_btnApply_OnClick
+{
+ #keys: '[412960.0.149440170]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ Precondition:
+ [*
+ return Form.HasChanges();
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ Form.ApplyChanges();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..a410594
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+ #keys: '[412960.0.149440172]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.Close();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..e7234ce
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+ #keys: '[412960.0.149440171]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ Form.ApplyChanges();
+ Form.Close();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/_ROOT_Component_DialogVersionIDCopy.def b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/_ROOT_Component_DialogVersionIDCopy.def
new file mode 100644
index 0000000..3a9db4f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogVersionIDCopy/_ROOT_Component_DialogVersionIDCopy.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogVersionIDCopy
+{
+ #keys: '[412960.0.149440158]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: pnlContent
+ #child: pnlActions
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Description: '灞曠ず鍏ㄩ噺鐗堟湰鍙蜂互澶嶅埗'
+ EnterButton: 'btnOk'
+ EscapeButton: 'btnCancel'
+ ExcludeFromActiveComponent: true
+ Image: 'DATA_COPY'
+ Padding: 'false'
+ Title: '鍏ㄩ噺鐗堟湰鍙�'
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form234/_ROOT_Component_FrmOrderResultEx\043234.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form234/_ROOT_Component_FrmOrderResultEx\043234.def"
index 53c000e..c515238 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_Form234/_ROOT_Component_FrmOrderResultEx\043234.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_Form234/_ROOT_Component_FrmOrderResultEx\043234.def"
@@ -40,6 +40,7 @@
Properties:
[
Description: '璁㈠崟鍐插噺鍚庡垪琛ㄥ睍绀�'
+ Image: 'NAV_REDO_LIGHT_BLUE'
Title: '璁㈠崟鍐插噺鍚庡垪琛ㄥ睍绀�'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def b/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def
index a803cba..e0f9eb6 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form633/Component_PanelPRDataButton.def
@@ -34,7 +34,7 @@
Properties:
[
Image: 'THICK_ARROW_DOWN_BLUE'
- Label: 'Clean & Load'
+ Label: '閲嶆柊鍔犺浇'
Taborder: 0
]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_MenuPrintRequest_OnClick\043623.def" "b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_MenuPrintRequest_OnClick\043623.def"
index ca3a5f2..6e0a043 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_MenuPrintRequest_OnClick\043623.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_ListPRData_844_MenuPrintRequest_OnClick\043623.def"
@@ -8,10 +8,6 @@
CanBindMultiple: false
DefinitionID => /ListPRData_844/Responsedef_ListPRData_844_WebMenu_OnClick
Initiator: 'MenuPrintRequest'
- Precondition:
- [*
-
- *]
QuillAction
{
Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonLoad_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonLoad_OnClick.def
index 5a0a69d..0c4edde 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonLoad_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_Form633/Response_PanelPRDataButton_ButtonLoad_OnClick.def
@@ -5,10 +5,6 @@
#keys: '[414384.0.859141084]'
CanBindMultiple: false
DefinitionID: 'Responsedef_WebButton_OnClick'
- Precondition:
- [*
-
- *]
QuillAction
{
Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def
new file mode 100644
index 0000000..c07b922
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_ListCapacityAllocationResults.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListCapacityAllocationResults
+{
+ #keys: '[414702.0.338762075]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorCapacityAllocationResults
+ {
+ #keys: '[414702.0.338762076]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDTable'
+ Source: 'GlobalOTDTable'
+ Taborder: 0
+ Transformation: 'CapacityAllocationResults'
+ ]
+ }
+ #child: listActionBarPageCapacityAllocationResults
+ Component DataSetLevelCapacityAllocationResults
+ {
+ #keys: '[414702.0.338762081]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuCapacityAllocationResults
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VersionNumber","title":"VersionNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VersionNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMeasurementUnit","title":"PanelMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMaterialCode","title":"PanelMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfPanels","title":"NumberOfPanels","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfPanels"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMeasurementUnit","title":"PanelMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMaterialCode","title":"ModuleMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfModules","title":"NumberOfModules","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfModules"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMeasurementUnit","title":"ModuleMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMeasurementUnit","title":"ModuleMeasurementUnit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMeasurementUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Division","title":"Division","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Division"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"RequirementDate","title":"RequirementDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"RequirementDate"}}]'
+ ContextMenu: 'listContextMenuCapacityAllocationResults'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def
new file mode 100644
index 0000000..5384f4a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listActionBarPageCapacityAllocationResults.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageCapacityAllocationResults
+{
+ #keys: '[414702.0.338762078]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def
new file mode 100644
index 0000000..62d4067
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Component_listContextMenuCapacityAllocationResults.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuCapacityAllocationResults
+{
+ #keys: '[414702.0.338762083]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def
new file mode 100644
index 0000000..2d97d02
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/Response_ButtonGenerateCapacityAllocationResults_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ButtonGenerateCapacityAllocationResults
+Response OnClick () id:Response_FormCapacityAllocationResults_ButtonGenerateCapacityAllocationResults_OnClick
+{
+ #keys: '[414702.0.340111671]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def
new file mode 100644
index 0000000..432fdfa
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResults/_ROOT_Component_FormCapacityAllocationResults.def
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormCapacityAllocationResults
+{
+ #keys: '[414702.0.338731526]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: ListCapacityAllocationResults
+ Component ButtonGenerateCapacityAllocationResults
+ {
+ #keys: '[414702.0.340677556]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'PROCESS'
+ Label: '鐢熸垚鏁版嵁'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Image: 'PUMPKIN_HALLOWEEN'
+ Title: '浜ц兘鍒嗛厤缁撴灉'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def
index d67039a..1e5e82c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def
@@ -11,10 +11,11 @@
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'GlobalOTDTable'
- Source: 'GlobalOTDTable'
+ DataType: 'MPSync'
+ FixedFilter: 'object.YearNo() = Date::ActualDate().Year()'
+ Source: 'MPSync'
Taborder: 0
- Transformation: 'CapacityAndSaleBudge'
+ Transformation: 'MappingCapacityAndSaleBudge'
]
}
#child: listActionBarPageCapacityAndSaleBudge
@@ -28,7 +29,7 @@
]
Properties:
[
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Deleted","title":"Deleted","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Deleted"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrgCode","title":"OrgCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrgCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayTechnology","title":"DisplayTechnology","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DisplayTechnology"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LineAndSpec","title":"LineAndSpec","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LineAndSpec"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductCode","title":"ProductCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlaceOfProductionOfArray","title":"PlaceOfProductionOfArray","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlaceOfProductionOfArray"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlaceOfProductionOfEvaporation","title":"PlaceOfProductionOfEvaporation","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlaceOfProductionOfEvaporation"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Resolution","title":"Resolution","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Resolution"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShippingForm","title":"ShippingForm","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ShippingForm"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfCut","title":"NumberOfCut","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfCut"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityEquivalent","title":"CapacityEquivalent","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityEquivalent"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfMask","title":"NumberOfMask","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfMask"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth1","title":"CapacityInPCSInMonth1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth2","title":"CapacityInPCSInMonth2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth3","title":"CapacityInPCSInMonth3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth4","title":"CapacityInPCSInMonth4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth5","title":"CapacityInPCSInMonth5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth6","title":"CapacityInPCSInMonth6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth7","title":"CapacityInPCSInMonth7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth8","title":"CapacityInPCSInMonth8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth9","title":"CapacityInPCSInMonth9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth10","title":"CapacityInPCSInMonth10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth11","title":"CapacityInPCSInMonth11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth12","title":"CapacityInPCSInMonth12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSTotal","title":"CapacityInPCSTotal","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSTotal"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth1","title":"CapacityInSheetInMonth1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth2","title":"CapacityInSheetInMonth2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth3","title":"CapacityInSheetInMonth3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth4","title":"CapacityInSheetInMonth4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth5","title":"CapacityInSheetInMonth5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth6","title":"CapacityInSheetInMonth6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth7","title":"CapacityInSheetInMonth7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth8","title":"CapacityInSheetInMonth8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth9","title":"CapacityInSheetInMonth9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth10","title":"CapacityInSheetInMonth10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth11","title":"CapacityInSheetInMonth11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth12","title":"CapacityInSheetInMonth12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetTotal","title":"CapacityInSheetTotal","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetTotal"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth1","title":"SaleAmountInMonth1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth2","title":"SaleAmountInMonth2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth3","title":"SaleAmountInMonth3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth5","title":"SaleAmountInMonth5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth4","title":"SaleAmountInMonth4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth6","title":"SaleAmountInMonth6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth7","title":"SaleAmountInMonth7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth8","title":"SaleAmountInMonth8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth9","title":"SaleAmountInMonth9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth10","title":"SaleAmountInMonth10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth11","title":"SaleAmountInMonth11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth12","title":"SaleAmountInMonth12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountTotal","title":"SaleAmountTotal","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountTotal"}}]'
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Deleted","title":"Deleted","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Deleted"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"YearNo","title":"YearNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"YearNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrgCode","title":"OrgCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrgCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayTechnology","title":"DisplayTechnology","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DisplayTechnology"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LineAndSpecification","title":"LineAndSpecification","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LineAndSpecification"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductCode","title":"ProductCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlaceOfProductionOfArray","title":"PlaceOfProductionOfArray","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlaceOfProductionOfArray"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlaceOfProductionOfEvaporation","title":"PlaceOfProductionOfEvaporation","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlaceOfProductionOfEvaporation"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Resolution","title":"Resolution","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Resolution"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShippingForm","title":"ShippingForm","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ShippingForm"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfCut","title":"NumberOfCut","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfCut"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityEquivalent","title":"CapacityEquivalent","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityEquivalent"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfMask","title":"NumberOfMask","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NumberOfMask"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth1","title":"CapacityInPCSInMonth1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth2","title":"CapacityInPCSInMonth2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth3","title":"CapacityInPCSInMonth3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth4","title":"CapacityInPCSInMonth4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth5","title":"CapacityInPCSInMonth5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth6","title":"CapacityInPCSInMonth6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth7","title":"CapacityInPCSInMonth7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth8","title":"CapacityInPCSInMonth8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth9","title":"CapacityInPCSInMonth9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth10","title":"CapacityInPCSInMonth10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth11","title":"CapacityInPCSInMonth11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSInMonth12","title":"CapacityInPCSInMonth12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSInMonth12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInPCSTotal","title":"CapacityInPCSTotal","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInPCSTotal"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth1","title":"CapacityInSheetInMonth1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth2","title":"CapacityInSheetInMonth2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth3","title":"CapacityInSheetInMonth3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth4","title":"CapacityInSheetInMonth4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth5","title":"CapacityInSheetInMonth5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth6","title":"CapacityInSheetInMonth6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth7","title":"CapacityInSheetInMonth7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth8","title":"CapacityInSheetInMonth8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth9","title":"CapacityInSheetInMonth9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth10","title":"CapacityInSheetInMonth10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth11","title":"CapacityInSheetInMonth11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetInMonth12","title":"CapacityInSheetInMonth12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetInMonth12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CapacityInSheetTotal","title":"CapacityInSheetTotal","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CapacityInSheetTotal"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth1","title":"SaleAmountInMonth1","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth1"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth2","title":"SaleAmountInMonth2","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth2"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth3","title":"SaleAmountInMonth3","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth3"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth5","title":"SaleAmountInMonth5","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth5"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth4","title":"SaleAmountInMonth4","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth4"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth6","title":"SaleAmountInMonth6","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth6"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth7","title":"SaleAmountInMonth7","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth7"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth8","title":"SaleAmountInMonth8","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth8"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth9","title":"SaleAmountInMonth9","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth9"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth10","title":"SaleAmountInMonth10","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth10"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth11","title":"SaleAmountInMonth11","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth11"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountInMonth12","title":"SaleAmountInMonth12","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountInMonth12"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SaleAmountTotal","title":"SaleAmountTotal","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SaleAmountTotal"}}]'
ContextMenu: 'listContextMenuCapacityAndSaleBudge'
SortCriteria: 'BusinessType;OrgCode;ProductCode'
Taborder: 2
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def
index 99ec0c4..2b3f638 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def
@@ -10,6 +10,7 @@
{
Body:
[*
+ MPSync::TestData( MPSync, MacroPlan );
GlobalOTDTable.InitTestData();
*]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def
index b3e0a3c..168d51b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def
@@ -11,6 +11,7 @@
]
Properties:
[
- Title: '浜ч攢棰勭畻'
+ Description: '骞村害浜ч攢棰勭畻'
+ Title: '骞村害浜ч攢棰勭畻'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def
index 9cb5a75..d6e755a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def
@@ -47,7 +47,7 @@
}
WebChartConfigGroup
{
- Label: 'BusinessTypeOrOrgCode'
+ Label: 'BusinessTypeOrPlaceOfProductionOfArray'
SequenceNr: 1
}
}
@@ -62,7 +62,7 @@
}
WebChartConfigGroup
{
- Label: 'BusinessTypeOrOrgCode'
+ Label: 'BusinessTypeOrPlaceOfProductionOfArray'
SequenceNr: 1
}
Default: 'Stacked bar'
@@ -70,7 +70,7 @@
MergeStackedBars: true
}
*]
- Groups: 'TimeStringAndScenarioName,BusinessTypeOrOrgCode'
+ Groups: 'TimeStringAndScenarioName,BusinessTypeOrPlaceOfProductionOfArray'
Taborder: 0
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def
index 8011270..ccb0ea2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def
@@ -16,9 +16,10 @@
CheckboxIsCapacity.Checked(),
DropDownTimeGroup.Text(),
DropDownByBusinessTypeOrByOrgCode.Text(),
- DropDownBusinessTypes.Text(),
- DropDownPlaceOfProductionOfArrays.Text(),
- DropDownYears.Text(),
+ DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(),
+ DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(),
+ DataHolderCapacityAndSaleBudgeFilterYear.Data(),
+ DataHolderCapacityAndSaleBudgeFilterMonth.Data(),
MPSync,
GlobalOTDTable,
MacroPlan );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_OnCreated.def
index ea33703..4cba0cb 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_OnCreated.def
@@ -9,11 +9,7 @@
{
Body:
[*
- CapacityAndSaleBudgeChartElement::TestData( ScenarioManager );
-
- DropDownBusinessTypes.Strings( GlobalOTDTable.CapacityAndSaleBudgeBusinessTypeString() );
- DropDownPlaceOfProductionOfArrays.Strings( GlobalOTDTable.CapacityAndSaleBudgePlaceOfProductionOfArrayString() );
- DropDownYears.Strings( GlobalOTDTable::CapacityAndSaleBudgeYearsString() );
+ //CapacityAndSaleBudgeChartElement::TestData( ScenarioManager );
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/_ROOT_Component_FormCapacityAndSaleBudgeChart.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/_ROOT_Component_FormCapacityAndSaleBudgeChart.def
index 456fb75..3684ed8 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/_ROOT_Component_FormCapacityAndSaleBudgeChart.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/_ROOT_Component_FormCapacityAndSaleBudgeChart.def
@@ -26,6 +26,7 @@
[
Label: '骞翠唤'
Taborder: 2
+ Visible: false
]
}
Component DropDownBusinessTypes
@@ -37,6 +38,7 @@
AllowEmpty: true
Label: '浜嬩笟閮�'
Taborder: 3
+ Visible: false
]
}
Component DropDownPlaceOfProductionOfArrays
@@ -48,6 +50,7 @@
AllowEmpty: true
Label: '闈㈡澘鍩哄湴'
Taborder: 4
+ Visible: false
]
}
Component CheckboxIsCapacity
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/_ROOT_Component_FormCapacityAndSaleBudgeCompare.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/_ROOT_Component_FormCapacityAndSaleBudgeCompare.def
index f4be476..9602b8e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/_ROOT_Component_FormCapacityAndSaleBudgeCompare.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/_ROOT_Component_FormCapacityAndSaleBudgeCompare.def
@@ -21,6 +21,7 @@
]
Properties:
[
- Title: '浜ч攢棰勭畻瀵规瘮'
+ Description: '骞村害浜ч攢棰勭畻瀵规瘮'
+ Title: '骞村害浜ч攢棰勭畻瀵规瘮'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def
new file mode 100644
index 0000000..712bf75
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def
@@ -0,0 +1,43 @@
+Quintiq file version 2.0
+Component ListCapacityAndSaleBudgeFilterBusinessType
+{
+ #keys: '[414384.0.875704540]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorCapacityAndSaleBudgeFilterBusinessType
+ {
+ #keys: '[414384.0.875704541]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MPSync'
+ Source: 'MPSync'
+ Taborder: 0
+ Transformation: 'CapacityAndSaleBudgeFilterBusinessType'
+ ]
+ }
+ #child: listActionBarPageCapacityAndSaleBudgeFilterBusinessType
+ Component DataSetLevelCapacityAndSaleBudgeFilterBusinessType
+ {
+ #keys: '[414384.0.875704543]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuCapacityAndSaleBudgeFilterYear_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}}]'
+ ContextMenu: 'listContextMenuCapacityAndSaleBudgeFilterYear'
+ SortCriteria: 'BusinessType'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ SelectionCheckboxes: true
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_listActionBarPageCapacityAndSaleBudgeFilterBusinessType.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_listActionBarPageCapacityAndSaleBudgeFilterBusinessType.def
new file mode 100644
index 0000000..2cd170b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_listActionBarPageCapacityAndSaleBudgeFilterBusinessType.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageCapacityAndSaleBudgeFilterBusinessType
+{
+ #keys: '[414384.0.875704542]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_listContextMenuCapacityAndSaleBudgeFilterYear\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_listContextMenuCapacityAndSaleBudgeFilterYear\0431.def"
new file mode 100644
index 0000000..0e679a0
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_listContextMenuCapacityAndSaleBudgeFilterYear\0431.def"
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuCapacityAndSaleBudgeFilterYear id:listContextMenuCapacityAndSaleBudgeFilterYear_1
+{
+ #keys: '[414384.0.875704544]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuRefresh
+ {
+ #keys: '[414384.0.875575024]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Description: 'Refresh'
+ Image: 'ARROW_CIRCLE2'
+ Taborder: 3
+ Title: 'Refresh'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_ListCapacityAndSaleBudgeFilterBusinessType_OnUserCheckedChanged\043670.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_ListCapacityAndSaleBudgeFilterBusinessType_OnUserCheckedChanged\043670.def"
new file mode 100644
index 0000000..94b6bc0
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_ListCapacityAndSaleBudgeFilterBusinessType_OnUserCheckedChanged\043670.def"
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ListCapacityAndSaleBudgeFilterBusinessType
+Response OnUserCheckedChanged () id:Response_ListCapacityAndSaleBudgeFilterBusinessType_OnUserCheckedChanged_670
+{
+ #keys: '[414384.0.875704537]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ DataHolderCapacityAndSaleBudgeFilterBusinessType.Data().Flush();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_ListCapacityAndSaleBudgeFilterBusinessType_OnUserCheckedChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_ListCapacityAndSaleBudgeFilterBusinessType_OnUserCheckedChanged.def
new file mode 100644
index 0000000..14d1648
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_ListCapacityAndSaleBudgeFilterBusinessType_OnUserCheckedChanged.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: ListCapacityAndSaleBudgeFilterBusinessType
+Response OnUserCheckedChanged (
+ structured[CapacityAndSaleBudgeFilterBusinessType] checkeditems
+) id:Response_ListCapacityAndSaleBudgeFilterBusinessType_OnUserCheckedChanged
+{
+ #keys: '[414384.0.875704536]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ DataHolderCapacityAndSaleBudgeFilterBusinessType.Data( checkeditems.Copy() );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick.def
new file mode 100644
index 0000000..682a492
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: listContextMenuCapacityAndSaleBudgeFilterYear_1/MenuRefresh
+Response OnClick () id:Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick
+{
+ #keys: '[414384.0.875575116]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ MPSync.RefreshCapacityAndSaleBudgeFilter();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/_ROOT_Component_FormCapacityAndSaleBudgeFilterBusinessType.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/_ROOT_Component_FormCapacityAndSaleBudgeFilterBusinessType.def
new file mode 100644
index 0000000..c943bf4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/_ROOT_Component_FormCapacityAndSaleBudgeFilterBusinessType.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormCapacityAndSaleBudgeFilterBusinessType
+{
+ #keys: '[414384.0.875704417]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: ListCapacityAndSaleBudgeFilterBusinessType
+ ]
+ Properties:
+ [
+ Description: '骞村害浜ч攢棰勭畻浜嬩笟閮ㄧ瓫閫�'
+ Title: '骞村害浜ч攢棰勭畻浜嬩笟閮ㄧ瓫閫�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/_ROOT_Component_FormCapacityAndSaleBudgeFilterItem.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/_ROOT_Component_FormCapacityAndSaleBudgeFilterItem.def
index 407564c..b951bed 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/_ROOT_Component_FormCapacityAndSaleBudgeFilterItem.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/_ROOT_Component_FormCapacityAndSaleBudgeFilterItem.def
@@ -11,6 +11,7 @@
]
Properties:
[
- Title: '浜ч攢棰勭畻瀵规瘮椤圭瓫閫�'
+ Description: '骞村害浜ч攢棰勭畻瀵规瘮椤�'
+ Title: '骞村害浜ч攢棰勭畻瀵规瘮椤�'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/_ROOT_Component_FormCapacityAndSaleBudgeFilterMonth.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/_ROOT_Component_FormCapacityAndSaleBudgeFilterMonth.def
index 8328a22..f53cae7 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/_ROOT_Component_FormCapacityAndSaleBudgeFilterMonth.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/_ROOT_Component_FormCapacityAndSaleBudgeFilterMonth.def
@@ -11,6 +11,7 @@
]
Properties:
[
- Title: '浜ч攢棰勭畻瀵规瘮鏈堜唤绛涢��'
+ Description: '骞村害浜ч攢棰勭畻鏈堜唤绛涢��'
+ Title: '骞村害浜ч攢棰勭畻鏈堜唤绛涢��'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def
new file mode 100644
index 0000000..0d881d5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def
@@ -0,0 +1,43 @@
+Quintiq file version 2.0
+Component ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+{
+ #keys: '[414384.0.875704517]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+ {
+ #keys: '[414384.0.875704518]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MPSync'
+ Source: 'MPSync'
+ Taborder: 0
+ Transformation: 'CapacityAndSaleBudgeFilterPlaceOfProductionOfArray'
+ ]
+ }
+ #child: listActionBarPageCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+ Component DataSetLevelCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+ {
+ #keys: '[414384.0.875704520]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuCapacityAndSaleBudgeFilterYear_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlaceOfProductionOfArray","title":"PlaceOfProductionOfArray","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlaceOfProductionOfArray"}}]'
+ ContextMenu: 'listContextMenuCapacityAndSaleBudgeFilterYear'
+ SortCriteria: 'PlaceOfProductionOfArray'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ SelectionCheckboxes: true
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_listActionBarPageCapacityAndSaleBudgeFilterPlaceOfProductionOfArra.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_listActionBarPageCapacityAndSaleBudgeFilterPlaceOfProductionOfArra.def
new file mode 100644
index 0000000..37d038c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_listActionBarPageCapacityAndSaleBudgeFilterPlaceOfProductionOfArra.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+{
+ #keys: '[414384.0.875704519]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_listContextMenuCapacityAndSaleBudgeFilterYear\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_listContextMenuCapacityAndSaleBudgeFilterYear\0431.def"
new file mode 100644
index 0000000..6485a80
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_listContextMenuCapacityAndSaleBudgeFilterYear\0431.def"
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component listContextMenuCapacityAndSaleBudgeFilterYear id:listContextMenuCapacityAndSaleBudgeFilterYear_1
+{
+ #keys: '[414384.0.875704521]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuRefresh id:MenuRefresh_332
+ {
+ #keys: '[414384.0.875925487]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Description: 'Refresh'
+ Image: 'ARROW_CIRCLE2'
+ Taborder: 3
+ Title: 'Refresh'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserCh\043171.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserCh\043171.def"
new file mode 100644
index 0000000..f254f69
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserCh\043171.def"
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+Response OnUserCheckedChanged () id:Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserCheckedChanged_171
+{
+ #keys: '[414384.0.875704514]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ DataHolderCapacityAndSaleBudgeFilterYear.Data().Flush();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserChecke.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserChecke.def
new file mode 100644
index 0000000..5d9bdf7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserChecke.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+Response OnUserCheckedChanged (
+ structured[CapacityAndSaleBudgeFilterYear] checkeditems
+) id:Response_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray_OnUserCheckedChanged
+{
+ #keys: '[414384.0.875704513]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ DataHolderCapacityAndSaleBudgeFilterYear.Data( checkeditems.Copy() );
+ *]
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnC\043663.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnC\043663.def"
new file mode 100644
index 0000000..bda9b55
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnC\043663.def"
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: listContextMenuCapacityAndSaleBudgeFilterYear_1/MenuRefresh_332
+Response OnClick () id:Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick_663
+{
+ #keys: '[414384.0.875925486]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMenu_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ MPSync.RefreshCapacityAndSaleBudgeFilter();
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/_ROOT_Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/_ROOT_Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def
new file mode 100644
index 0000000..108d3c2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/_ROOT_Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+{
+ #keys: '[414384.0.875704457]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray
+ ]
+ Properties:
+ [
+ Description: '骞村害浜ч攢棰勭畻闈㈡澘鍩哄湴绛涢��'
+ Title: '骞村害浜ч攢棰勭畻闈㈡澘鍩哄湴绛涢��'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/_ROOT_Component_FormCapacityAndSaleBudgeFilterYear.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/_ROOT_Component_FormCapacityAndSaleBudgeFilterYear.def
index 54553b8..60c9c18 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/_ROOT_Component_FormCapacityAndSaleBudgeFilterYear.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/_ROOT_Component_FormCapacityAndSaleBudgeFilterYear.def
@@ -11,6 +11,7 @@
]
Properties:
[
- Title: '浜ч攢棰勭畻瀵规瘮骞翠唤绛涢��'
+ Description: '骞村害浜ч攢棰勭畻骞翠唤绛涢��'
+ Title: '骞村害浜ч攢棰勭畻骞翠唤绛涢��'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_ListFillingSchemeDetail.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_ListFillingSchemeDetail.def
index 7023bea..50fe851 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_ListFillingSchemeDetail.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_ListFillingSchemeDetail.def
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component ListFillingSchemeDetail
{
- #keys: '[414382.0.434111695]'
+ #keys: '[414382.0.474013892]'
BaseType: 'WebList'
Children:
[
Component DataExtractorFillingSchemeDetail
{
- #keys: '[414382.0.434111696]'
+ #keys: '[414382.0.474013893]'
BaseType: 'WebDataExtractor'
Properties:
[
@@ -20,7 +20,7 @@
#child: listActionBarPageFillingSchemeDetail
Component DataSetLevelFillingSchemeDetail
{
- #keys: '[414382.0.434111701]'
+ #keys: '[414382.0.474013898]'
BaseType: 'WebDataSetLevel'
Children:
[
@@ -28,7 +28,7 @@
]
Properties:
[
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VerNo","title":"鐗堟湰鍙�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VerNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"浜嬩笟閮�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"閿�鍞儴闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"瀹㈡埛鍚嶇О","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"鏁伴噺鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelBigSheetQuantity","title":"闈㈡澘澶у紶鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelBigSheetQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesAmount","title":"閿�鍞","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesAmount"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecastDemandDate","title":"棰勬祴闇�姹傛椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ForecastDemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandDate","title":"闇�姹傛椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderType","title":"璁㈠崟绫诲瀷","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderType"}}]'
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VerNo","title":"鐗堟湰鍙�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VerNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"鍟嗗搧缂栫爜","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"浜嬩笟閮�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"閿�鍞儴闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"搴撳瓨鐐�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"瀹㈡埛鍚嶇О","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"鏁伴噺鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelBigSheetQuantity","title":"闈㈡澘澶у紶鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelBigSheetQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecastDemandDate","title":"棰勬祴闇�姹傛椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ForecastDemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandDate","title":"闇�姹傛椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderType","title":"璁㈠崟绫诲瀷","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderType"}}]'
ContextMenu: 'listContextMenuFillingSchemeDetail'
Taborder: 2
]
@@ -36,6 +36,6 @@
]
Properties:
[
- Taborder: 0
+ Taborder: 1
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listActionBarPageFillingSchemeDetail.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listActionBarPageFillingSchemeDetail.def
index 25791d7..85c99de 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listActionBarPageFillingSchemeDetail.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listActionBarPageFillingSchemeDetail.def
@@ -1,7 +1,7 @@
Quintiq file version 2.0
Component listActionBarPageFillingSchemeDetail
{
- #keys: '[414382.0.434111698]'
+ #keys: '[414382.0.474013895]'
BaseType: 'listActionBarPage'
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listContextMenuFillingSchemeDetail.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listContextMenuFillingSchemeDetail.def
index 21ba05d..17d4f01 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listContextMenuFillingSchemeDetail.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listContextMenuFillingSchemeDetail.def
@@ -1,7 +1,7 @@
Quintiq file version 2.0
Component listContextMenuFillingSchemeDetail
{
- #keys: '[414382.0.434111703]'
+ #keys: '[414382.0.474013900]'
BaseType: 'listContextMenu'
Properties:
[
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/_ROOT_Component_FormFillingSchemeDetail\043802.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/_ROOT_Component_FormFillingSchemeDetail\043802.def"
index 556ddb8..abd3e72 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/_ROOT_Component_FormFillingSchemeDetail\043802.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/_ROOT_Component_FormFillingSchemeDetail\043802.def"
@@ -7,7 +7,6 @@
BaseType: 'WebForm'
Children:
[
- #child: ListFillingSchemeDetail
Component DataHolderFillingSchemeDetails id:DataHolderFillingSchemeDetails_71
{
#keys: '[414382.0.438570912]'
@@ -30,9 +29,10 @@
]
Properties:
[
- Taborder: 1
+ Taborder: 0
]
}
+ #child: ListFillingSchemeDetail
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Component_Menurelease.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Component_Menurelease.def
index db68912..e012d0d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Component_Menurelease.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Component_Menurelease.def
@@ -11,10 +11,22 @@
BaseType: 'WebMenu'
Properties:
[
+ Image: 'GEAR_OK'
Taborder: 3
Title: 'Release'
]
}
+ Component MenuDelete
+ {
+ #keys: '[414382.0.475912052]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR_DELETE'
+ Taborder: 4
+ Title: '鍒犻櫎'
+ ]
+ }
]
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuDelete_OnClick.def
new file mode 100644
index 0000000..92f2bb9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuDelete_OnClick.def
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: ListFillingScheme
+Response OnClick (
+ FilllingCapacityOrderScheme selection
+) id:Response_ListFillingScheme_MenuDelete_OnClick
+{
+ #keys: '[414382.0.475970386]'
+ CanBindMultiple: false
+ DefinitionID => /ListFillingScheme/Responsedef_ListFillingScheme_WebMenu_OnClick
+ Initiator: 'MenuDelete'
+ Precondition:
+ [*
+ //feedback := Translations::FilllingCapacity_NotRelease();
+ //checkValue := not FilllingCapacityOrderScheme::HasAlreadyRelease( MacroPlan);
+ //return checkValue;
+ feedback := Translations::FilllingCapacity_NotRelease();
+ checkValue := selectobject( MacroPlan,FilllingCapacityOrderScheme,scheme,scheme.IsRelease())
+ return isnull( checkValue );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ selection.Delete()
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuRelease_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuRelease_OnClick.def
index 5d50bdf..bf1e37b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuRelease_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuRelease_OnClick.def
@@ -10,7 +10,9 @@
Initiator: 'MenuRelease'
Precondition:
[*
- not selection.IsRelease();
+ feedback := Translations::FilllingCapacity_NotRelease();
+ checkValue := selectobject( MacroPlan,FilllingCapacityOrderScheme,scheme,scheme.IsRelease())
+ return isnull( checkValue );
*]
QuillAction
{
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_PanelSalesDemands.def b/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_PanelSalesDemands.def
index 743b727..4bfe5b1 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_PanelSalesDemands.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormForecasts/Component_PanelSalesDemands.def
@@ -1,7 +1,6 @@
Quintiq file version 2.0
Component PanelSalesDemands #extension
{
- #error 102458: "Class Component with id 'PanelSalesDemands' cannot find its child with id 'PanelAllSalesDemands'. The file / folder structure might be corrupted due to integration."
Children:
[
Component DataHolderSalesDemands #extension
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormHedgingOfLog/_ROOT_Component_FormHedgingOfLog.def b/_Main/UI/MacroPlannerWebApp/Component_FormHedgingOfLog/_ROOT_Component_FormHedgingOfLog.def
index 2b5e9aa..1e88a95 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormHedgingOfLog/_ROOT_Component_FormHedgingOfLog.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormHedgingOfLog/_ROOT_Component_FormHedgingOfLog.def
@@ -22,7 +22,7 @@
Properties:
[
Description: '鍐插噺缁撴灉-鏃ュ織'
- Image: 'DOCUMENT_REFRESH'
- Title: '鍙嶇鎺堟潈鍒楄〃鏄庣粏椤�'
+ Image: 'NAV_REDO_LIGHT_BLUE'
+ Title: '鏃ュ織椤甸潰'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalFillingCapacityOrder/_ROOT_Component_FormHistoricalFillingCapacityOrder.def b/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalFillingCapacityOrder/_ROOT_Component_FormHistoricalFillingCapacityOrder.def
index 4562d53..f39ddf8 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalFillingCapacityOrder/_ROOT_Component_FormHistoricalFillingCapacityOrder.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormHistoricalFillingCapacityOrder/_ROOT_Component_FormHistoricalFillingCapacityOrder.def
@@ -11,6 +11,6 @@
]
Properties:
[
- Title: '濉骇璁㈠崟鍒楄〃'
+ Title: '濉骇璁㈠崟鍘嗗彶鍒楄〃'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialPurchase/_ROOT_Component_FormMaterialPurchase.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialPurchase/_ROOT_Component_FormMaterialPurchase.def
index 9c8ca6c..88640ec 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialPurchase/_ROOT_Component_FormMaterialPurchase.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialPurchase/_ROOT_Component_FormMaterialPurchase.def
@@ -49,7 +49,7 @@
Properties:
[
Description: '鎺堟潈/鍙嶇鐗╂枡閲囪喘鏄庣粏閲婃斁'
- Image: 'DOG'
+ Image: 'NAV_REDO_LIGHT_BLUE'
Title: '鎺堟潈/鍙嶇鐗╂枡閲囪喘鏄庣粏閲婃斁'
]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_ListOrderLock\043844.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_ListOrderLock\043844.def"
new file mode 100644
index 0000000..899294d
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_ListOrderLock\043844.def"
@@ -0,0 +1,43 @@
+Quintiq file version 2.0
+Component ListOrderLock id:ListOrderLock_844
+{
+ #keys: '[412960.0.217980651]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorOrderLock743
+ {
+ #keys: '[412960.0.217980652]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[CustomerOrder]'
+ Description: '鑾峰彇璁㈠崟'
+ Source: 'DataHolderOrderLock'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ #child: listActionBarPageOrderLock_1
+ Component DataSetLevelOrderLock
+ {
+ #keys: '[412960.0.217980654]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuOrderLock_1
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"OrderID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerName","title":"CustomerName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"EndDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsLocked","title":"IsLocked","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsLocked"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"First.AsPlanningBaseSalesDemandInPeriod.End","title":"End","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"First.AsPlanningBaseSalesDemandInPeriod.End"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LastModify","title":"LastModify","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LastModify"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LastModifyTime","title":"LastModifyTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LastModifyTime"}}]'
+ ContextMenu: 'listContextMenuOrderLock'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ SelectionCheckboxes: true
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_MatrixEditorProductPlanning\043679.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_MatrixEditorProductPlanning\043679.def"
new file mode 100644
index 0000000..d44104e
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_MatrixEditorProductPlanning\043679.def"
@@ -0,0 +1,209 @@
+Quintiq file version 2.0
+Component MatrixEditorProductPlanning id:MatrixEditorProductPlanning_679
+{
+ #keys: '[412960.0.220270414]'
+ BaseType: 'WebMatrixEditor'
+ Children:
+ [
+ Component MatrixEditorCellPISPIP
+ {
+ #keys: '[412960.0.220270415]'
+ BaseType: 'WebMatrixEditorCell'
+ Children:
+ [
+ Component DataExtractorPISPIP
+ {
+ #keys: '[412960.0.220270416]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[ProductInStockingPoint_MP]'
+ FixedFilter: 'not object.ProductInStockingPoint_MP().IsSystem() and object.ProductInStockingPoint_MP().IsLeaf()'
+ Source: 'ApplicationMacroPlanner.DataHolderPISP'
+ Taborder: 0
+ Transformation: 'Elements.ProductInStockingPointInPeriod'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Attributes: 'DisplaySupplyQuantity;DependentDemandAndSalesDemandQuantity;TargetInventoryLevel;InventoryLevelEnd;StockLevelInDays'
+ Column: 'Period_MP'
+ Row: 'ProductInStockingPoint_MP'
+ Taborder: 2
+ ]
+ }
+ Component MatrixEditorRowsPISP
+ {
+ #keys: '[412960.0.220270417]'
+ BaseType: 'WebMatrixEditorHeaderLevel'
+ Children:
+ [
+ Component DataExtractorPISP
+ {
+ #keys: '[412960.0.220270418]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[CustomerOrder]'
+ FixedFilter: 'not object.IsSystem() and object.IsLeaf()'
+ Source: 'DataHolderOrderLockCheckedOrder'
+ Taborder: 0
+ Transformation: 'Elements.ProductInStockingPoint_MP'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Legend: 'Name'
+ SortCriteria: 'Product_MP.DisplayIndex;Name'
+ Taborder: 0
+ ]
+ }
+ Component MatrixEditorColumnsPeriod
+ {
+ #keys: '[412960.0.220270419]'
+ BaseType: 'WebMatrixEditorHeaderLevel'
+ Children:
+ [
+ Component DataExtractorPeriod
+ {
+ #keys: '[412960.0.220270420]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[Period_MP]'
+ Source: 'ApplicationMacroPlanner.DataHolderPeriods'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Legend: 'Start'
+ SortCriteria: 'Start'
+ Taborder: 1
+ ]
+ }
+ Component UserConfigurableInformationMatrixEditorProductPlanning
+ {
+ #keys: '[412960.0.220270421]'
+ BaseType: 'WebUserConfigurableInformation'
+ Properties:
+ [
+ Identifier: 'Cell: PISPIP'
+ ObjectType: 'ProductInStockingPointInPeriod'
+ Taborder: 3
+ Text: 'Test text'
+ Tooltip: '<table><tr><td><b>SYNONYM(object.InventoryLevelEnd())</b></td><td>VALUE( MacroPlan::GetDisplayValue( object.InventoryLevelEnd() ) )</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td><td><b>Inventory holding cost </b></td><td>VALUE(object.TotalBaseInventoryHoldingCost())VALUE( \' \'+ object.ProductInStockingPoint_MP().StockingPoint_MP().Currency_MP().Symbol() )</td><td>VALUE( \'[\' + object.TotalBaseInventoryHoldingCostPerQuantity().Format(\'N(Dec(2))\') )</td><td>VALUE( object.ProductInStockingPoint_MP().StockingPoint_MP().Currency_MP().Symbol() + \'/\' + object.ProductInStockingPoint_MP().UnitOfMeasure_MP().Name() + \']\' ) </td></tr><tr><td><b>SYNONYM(object.StockLevelInDays())</b></td><td>VALUE(object.StockLevelInDays)</td><td>day</td></tr><tr><td><b>Total supply </b></td><td>VALUE(object.SupplyQuantity())</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td><td/><td><b>Total demand </b></td><td>VALUE(object.GetDemandQuantity())</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td></tr><br><tr><td><b>Inventory start </b></td><td>VALUE( guard( MacroPlan::GetDisplayValue( object.InventoryLevelStartPISPIP().InventoryLevelEnd() ), 0.0 ) )</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td><td/><td><b>Sales demand </b></td><td>VALUE(object.SalesDemandQuantity())</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td></tr><tr><td><b>New supply </b></td><td>VALUE(object.NewSupplyQuantity())</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td><td/><td><b>Dependent demand </b></td><td>VALUE(object.DependentDemandQuantity())</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td></tr><tr><td><b>Inventory supply </b></td><td>VALUE(object.InventorySupplyQuantity())</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td><td/><td><b>Fulfilled demand </b></td><td>VALUE(object.FulfilledDemandQuantity() )</td><td>VALUE(object.ProductInStockingPoint_MP().UnitOfMeasureName())</td></tr></table><hr>VALUE( object.ImgHasFeedback() ) VALUE( ifexpr( object.HasFeedback() , " Feedback message exist. Refer to Supply Planning matrix for details." , "" ) )'
+ ]
+ }
+ #child: matrixEditorActionBarPageProductPlanning_1
+ #child: matrixeditorContextMenuProductPlanning_1
+ ]
+ Properties:
+ [
+ AllowAttributeConfiguration: true
+ AllowMultipleAttributes: true
+ Columns: 'MatrixEditorColumnsPeriod'
+ ContextMenu: 'matrixeditorContextMenuProductPlanning'
+ Rows: 'MatrixEditorRowsPISP'
+ ShowEditability: true
+ ShowSingleAttribute: true
+ Taborder: 0
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_MatrixEditorProductPlanning_679_WebMenu_OnClick
+ {
+ #keys: '[412960.0.220270401]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[6763.0.7990336]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ DelegatedResponseDefinition OnClick id:Responsedef_MatrixEditorProductPlanning_679_WebButton_OnClick
+ {
+ #keys: '[412960.0.220270400]'
+ Initiator: 'WebButton'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[6763.0.7990409]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ DelegatedResponseDefinition OnClick id:Responsedef_MatrixEditorProductPlanning_679_WebMenu_OnClick_119
+ {
+ #keys: '[412960.0.220270399]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selectedrows
+ {
+ #keys: '[6763.0.7990482]'
+ Binding: 'this.SelectedRows()'
+ }
+ ]
+ }
+ DelegatedResponseDefinition OnClick id:Responsedef_MatrixEditorProductPlanning_679_WebButton_OnClick_720
+ {
+ #keys: '[412960.0.220270398]'
+ Initiator: 'WebButton'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selectedrows
+ {
+ #keys: '[6763.0.7990555]'
+ Binding: 'this.SelectedRows()'
+ }
+ ]
+ }
+ DelegatedResponseDefinition OnClick id:Responsedef_MatrixEditorProductPlanning_679_WebMenu_OnClick_640
+ {
+ #keys: '[412960.0.220270397]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selectedcolumns
+ {
+ #keys: '[6763.0.7990628]'
+ Binding: 'this.SelectedColumns()'
+ }
+ ]
+ }
+ DelegatedResponseDefinition OnClick id:Responsedef_MatrixEditorProductPlanning_679_WebButton_OnClick_582
+ {
+ #keys: '[412960.0.220270396]'
+ Initiator: 'WebButton'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selectedcolumns
+ {
+ #keys: '[6763.0.7990701]'
+ Binding: 'this.SelectedColumns()'
+ }
+ ]
+ }
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelMatrix\043780.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelMatrix\043780.def"
new file mode 100644
index 0000000..3aee833
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelMatrix\043780.def"
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+Component PanelMatrix id:PanelMatrix_780
+{
+ #keys: '[412960.0.220270412]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component DataHolderSelectedPISPIPsInProductPlanningMatrix
+ {
+ #keys: '[412960.0.220270413]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[ProductInStockingPointInPeriod]*'
+ Properties:
+ [
+ Taborder: 1
+ ]
+ }
+ #child: MatrixEditorProductPlanning_679
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLock.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLock.def
new file mode 100644
index 0000000..8565401
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLock.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+Component PanelOrderLock
+{
+ #keys: '[412960.0.212571359]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: PanelOrderLockHeader_545
+ #child: PanelOrderLockOrder
+ #child: PanelOrderLockPlanning
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockHeader\043545.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockHeader\043545.def"
new file mode 100644
index 0000000..4ff0600
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockHeader\043545.def"
@@ -0,0 +1,125 @@
+Quintiq file version 2.0
+Component PanelOrderLockHeader id:PanelOrderLockHeader_545
+{
+ #keys: '[412960.0.212571440]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component LabelOrderLockHeaderVersion
+ {
+ #keys: '[412960.0.212571441]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Description: 'MPS鐗堟湰鍚嶇О'
+ Label: 'MPS鐗堟湰锛�'
+ Taborder: 0
+ ]
+ }
+ Component EditFieldOrderLockHeader
+ {
+ #keys: '[412960.0.212571468]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ Description: '妯$硦鎼滅储绛涢�夋'
+ PlaceHolder: '妯$硦鎼滅储'
+ Taborder: 1
+ ]
+ }
+ Component DateSelectorOrderLockHeaderCustomerOrder
+ {
+ #keys: '[412960.0.212571527]'
+ BaseType: 'WebDateSelector'
+ Properties:
+ [
+ Date: 2023-01-01
+ Description: '瀹㈡埛闇�姹傛椂闂�'
+ Label: '瀹㈡埛闇�姹傛椂闂�'
+ Taborder: 3
+ ]
+ }
+ Component DateSelectorOrderLockHeaderPlanDeliver
+ {
+ #keys: '[412960.0.212571611]'
+ BaseType: 'WebDateSelector'
+ Properties:
+ [
+ Date: 2023-01-01
+ Description: '璁″垝浜や粯鏃堕棿'
+ Label: '璁″垝浜や粯鏃堕棿'
+ Taborder: 4
+ ]
+ }
+ Component ButtonOrderLockHeader
+ {
+ #keys: '[412960.0.212571669]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ ButtonSize: 'compact'
+ Description: '妯$硦鎼滅储鎸夐挳'
+ Label: '鎼滅储'
+ Taborder: 2
+ ]
+ }
+ Component RadioButtonGroupOrderLockHeader
+ {
+ #keys: '[412960.0.212571696]'
+ BaseType: 'WebRadioButtonGroup'
+ Properties:
+ [
+ BoundValue: 'all'
+ ButtonLabels: '宸查攣瀹�;鏈攣瀹�;鍏ㄩ儴'
+ ButtonValues: 'locked;unlocked;all'
+ DataBinding: 'DataHolderOrderLockGlobal.Data.IsOrderLocked'
+ Description: '鏄惁閿佸畾鐨勭偣閫夋'
+ Orientation: 'horizontal'
+ Taborder: 5
+ ]
+ }
+ Component ButtonOrderLockHeaderLock
+ {
+ #keys: '[412960.0.221760476]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ ButtonSize: 'compact'
+ Description: '璁㈠崟閿佸畾'
+ Label: '閿佸畾'
+ Taborder: 7
+ ]
+ }
+ Component ButtonOrderLockHeaderUnlock
+ {
+ #keys: '[412960.0.221760488]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ ButtonSize: 'compact'
+ Description: '璁㈠崟瑙i攣'
+ Label: '瑙i攣'
+ Taborder: 8
+ ]
+ }
+ Component ButtonOrderLockHeaderClear
+ {
+ #keys: '[412960.0.223264324]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ ButtonSize: 'compact'
+ Description: '娓呴櫎绛涢�夐」'
+ Label: '娓呴櫎绛涢��'
+ Taborder: 6
+ ]
+ }
+ ]
+ Properties:
+ [
+ Description: '鏀剧疆lable锛屾寜閽瓑'
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockOrder.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockOrder.def
new file mode 100644
index 0000000..3a8891a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockOrder.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelOrderLockOrder
+{
+ #keys: '[412960.0.217980613]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListOrderLock_844
+ ]
+ Properties:
+ [
+ Description: '璁㈠崟淇℃伅灞曠ず'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockPlanning.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockPlanning.def
new file mode 100644
index 0000000..e908a3c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_PanelOrderLockPlanning.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+Component PanelOrderLockPlanning
+{
+ #keys: '[412960.0.220270252]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: PanelMatrix_780
+ ]
+ Properties:
+ [
+ Border: true
+ Description: '璁㈠崟瀵瑰簲鐨勮鍒掓暟鎹�'
+ Taborder: 2
+ Title: '璁″垝璇︽儏'
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listActionBarPageOrderLock\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listActionBarPageOrderLock\0431.def"
new file mode 100644
index 0000000..a529251
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listActionBarPageOrderLock\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageOrderLock id:listActionBarPageOrderLock_1
+{
+ #keys: '[412960.0.217980653]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listContextMenuOrderLock\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listContextMenuOrderLock\0431.def"
new file mode 100644
index 0000000..bc2e00d
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_listContextMenuOrderLock\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuOrderLock id:listContextMenuOrderLock_1
+{
+ #keys: '[412960.0.217980655]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixEditorActionBarPageProductPlanning\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixEditorActionBarPageProductPlanning\0431.def"
new file mode 100644
index 0000000..4e41b90
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixEditorActionBarPageProductPlanning\0431.def"
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixEditorActionBarPageProductPlanning id:matrixEditorActionBarPageProductPlanning_1
+{
+ #keys: '[412960.0.220270422]'
+ BaseType: 'matrixEditorActionBarPage'
+ Properties:
+ [
+ Taborder: 5
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixeditorContextMenuProductPlanning\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixeditorContextMenuProductPlanning\0431.def"
new file mode 100644
index 0000000..79d4472
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Component_matrixeditorContextMenuProductPlanning\0431.def"
@@ -0,0 +1,57 @@
+Quintiq file version 2.0
+Component matrixeditorContextMenuProductPlanning id:matrixeditorContextMenuProductPlanning_1
+{
+ #keys: '[412960.0.220270423]'
+ BaseType: 'matrixeditorContextMenu'
+ Children:
+ [
+ Component MenuCopy
+ {
+ #keys: '[138034.3.1296123318]'
+ BaseType: 'MenuCopy'
+ IsDerived: true
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ Component MenuSeparator3
+ {
+ #keys: '[412960.0.220270424]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Separator: true
+ Taborder: 1
+ ]
+ }
+ Component MenuLock
+ {
+ #keys: '[412960.0.220270427]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ DelegationID: 'ActionBarPlan_Lock'
+ Image: 'LOCK'
+ Taborder: 3
+ Title: 'Lock'
+ ]
+ }
+ Component MenuUnlock
+ {
+ #keys: '[412960.0.220270428]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ DelegationID: 'ActionBarPlan_Unlock'
+ Image: 'LOCK_OPEN'
+ Taborder: 4
+ Title: 'Unlock'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 4
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_ListOrderLock_844_OnUserCheckedChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_ListOrderLock_844_OnUserCheckedChanged.def
new file mode 100644
index 0000000..fd1aa78
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_ListOrderLock_844_OnUserCheckedChanged.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: ListOrderLock_844
+Response OnUserCheckedChanged (
+ structured[CustomerOrder] checkeditems
+) id:Response_ListOrderLock_844_OnUserCheckedChanged
+{
+ #keys: '[412960.0.246680266]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ DataHolderOrderLockCheckedOrder.Data( checkeditems.Copy() );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuLock_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuLock_OnClick.def
new file mode 100644
index 0000000..38cee0b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuLock_OnClick.def
@@ -0,0 +1,34 @@
+Quintiq file version 2.0
+#parent: MatrixEditorProductPlanning_679
+Response OnClick (
+ structured[ProductInStockingPointInPeriod] selection
+) id:Response_MatrixEditorProductPlanning_679_MenuLock_OnClick
+{
+ #keys: '[412960.0.220270410]'
+ CanBindMultiple: false
+ DefinitionID => /MatrixEditorProductPlanning_679/Responsedef_MatrixEditorProductPlanning_679_WebMenu_OnClick
+ Initiator: 'MenuLock'
+ Precondition:
+ [*
+ return ProductInStockingPointInPeriod::CanLockUnlock( selection, feedback );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ // Lock total supply quantity for PISPIPs
+ // This is a workaround, we supposedly set the bindingtype of selection as the subtype, but
+ // the response would have trouble handling multiple cell selection, so for now, we bind the base type
+ // then select the subtype
+
+
+ pispipLeafs := selectset( selection,
+ Elements.astype( ProductInStockingPointInPeriodPlanningLeaf ),
+ pispip,
+ true );
+
+ ProductInStockingPointInPeriod::LockUnlockPlanning( pispipLeafs, true, true );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuUnlock_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuUnlock_OnClick.def
new file mode 100644
index 0000000..7615c08
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_MenuUnlock_OnClick.def
@@ -0,0 +1,30 @@
+Quintiq file version 2.0
+#parent: MatrixEditorProductPlanning_679
+Response OnClick (
+ structured[ProductInStockingPointInPeriod] selection
+) id:Response_MatrixEditorProductPlanning_679_MenuUnlock_OnClick
+{
+ #keys: '[412960.0.220270407]'
+ CanBindMultiple: false
+ DefinitionID => /MatrixEditorProductPlanning_679/Responsedef_MatrixEditorProductPlanning_679_WebMenu_OnClick
+ Initiator: 'MenuUnlock'
+ Precondition:
+ [*
+ return ProductInStockingPointInPeriod::CanLockUnlock( selection, feedback );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ // Unlock the total supply quantity of pispips
+ // This is a workaround, we supposedly set the bindingtype of selection as the subtype, but
+ // the response would have trouble handling multiple cell selection, so for now, we bind the base type
+ // then select the subtype
+
+ pispipLeafs := selectset( selection, Elements.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispip,
+ true );
+ ProductInStockingPointInPeriod::LockUnlockPlanning( pispipLeafs, false, true );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnCheckEditability.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnCheckEditability.def
new file mode 100644
index 0000000..2dea2ca
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnCheckEditability.def
@@ -0,0 +1,43 @@
+Quintiq file version 2.0
+#parent: MatrixEditorProductPlanning_679
+Response OnCheckEditability (
+ structured[ProductInStockingPointInPeriodPlanning] cell,
+ Real value
+) id:Response_MatrixEditorProductPlanning_679_OnCheckEditability
+{
+ #keys: '[412960.0.220270404]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMatrixEditor_OnCheckEditability'
+ QuillAction
+ {
+ Body:
+ [*
+ //Precondition
+ attributes := construct( Strings );
+ attributes.Add(focusedattribute);
+ isSupply_o := false;
+ feedback :="";
+
+ cond := MacroPlan.CanPlan( feedback )
+ and ProductInStockingPointInPeriod::CanEnterSupplyQuantity( feedback,
+ cell,
+ attributes,
+ isSupply_o );
+ if( cond )
+ {
+ if( isSupply_o )
+ {
+ periods := selectset( cell, Elements.Period_MP, period, true );
+ cond := ScenarioManager::CanStartSmartPlan( ScenarioManager,
+ DataHolderActiveScenario.Data(),
+ true,
+ periods,
+ feedback );
+ }
+ }
+ editinfo.CanEdit( cond );
+ editinfo.UserHint( feedback );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnUserSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnUserSelectionChanged.def
new file mode 100644
index 0000000..d90381f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_MatrixEditorProductPlanning_679_OnUserSelectionChanged.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: MatrixEditorProductPlanning_679
+Response OnUserSelectionChanged (
+ structured[ProductInStockingPointInPeriod] selection
+) id:Response_MatrixEditorProductPlanning_679_OnUserSelectionChanged
+{
+ #keys: '[412960.0.220270402]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebMatrixEditor_OnUserSelectionChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ //Assign selection to data holder
+ DataHolderSelectedPISPIPsInProductPlanningMatrix.Data( selection.Copy() );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderClear_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderClear_OnClick.def
new file mode 100644
index 0000000..2adc0a4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderClear_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: PanelOrderLockHeader_545/ButtonOrderLockHeaderClear
+Response OnClick () id:Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderClear_OnClick
+{
+ #keys: '[412960.0.223264347]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ EditFieldOrderLockHeader.Text( "" );
+ DateSelectorOrderLockHeaderCustomerOrder.Date( Date::Construct(2023,1,1) );
+ DateSelectorOrderLockHeaderPlanDeliver.Date( Date::Construct(2023,1,1) );
+ RadioButtonGroupOrderLockHeader.BoundValue( "all" );
+ DataExtractorOrderLock.FixedFilter( "true" );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderLock_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderLock_OnClick.def
new file mode 100644
index 0000000..97a5fce
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderLock_OnClick.def
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+#parent: PanelOrderLockHeader_545/ButtonOrderLockHeaderLock
+Response OnClick () id:Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderLock_OnClick
+{
+ #keys: '[412960.0.245380616]'
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ Precondition:
+ [*
+ checkorders := DataHolderOrderLockCheckedOrder.Data();
+ pispips := construct( ProductInStockingPointInPeriods );
+ traverse( checkorders, Elements, order ){
+ pispips.Add( selectset( order, ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip, true ) );
+ }
+ return ProductInStockingPointInPeriod::CanLockUnlock( pispips, feedback );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ checkorders := DataHolderOrderLockCheckedOrder.Data();
+ pispips := construct( ProductInStockingPointInPeriods );
+ macroplan := MacroPlan;
+ traverse( checkorders, Elements, order ){
+ pispips.Add( selectset( order, ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip, true ) );
+ }
+
+ pispipLeafs := selectset( pispips,
+ Elements.astype( ProductInStockingPointInPeriodPlanningLeaf ),
+ pispip,
+ true );
+
+ CustomerOrder::LockUnlock( macroplan, checkorders, true );
+ ProductInStockingPointInPeriod::LockUnlockPlanning( pispipLeafs, true, true );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderUnlock_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderUnlock_OnClick.def
new file mode 100644
index 0000000..6283853
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderUnlock_OnClick.def
@@ -0,0 +1,38 @@
+Quintiq file version 2.0
+#parent: PanelOrderLockHeader_545/ButtonOrderLockHeaderUnlock
+Response OnClick () id:Response_PanelOrderLockHeader_545_ButtonOrderLockHeaderUnlock_OnClick
+{
+ #keys: '[412960.0.250520489]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ Precondition:
+ [*
+ checkorders := DataHolderOrderLockCheckedOrder.Data();
+ pispips := construct( ProductInStockingPointInPeriods );
+ traverse( checkorders, Elements, order ){
+ pispips.Add( selectset( order, ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip, true ) );
+ }
+ return ProductInStockingPointInPeriod::CanLockUnlock( pispips, feedback );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ checkorders := DataHolderOrderLockCheckedOrder.Data();
+ pispips := construct( ProductInStockingPointInPeriods );
+ macroplan := MacroPlan;
+ traverse( checkorders, Elements, order ){
+ pispips.Add( selectset( order, ProductInStockingPoint_MP.ProductInStockingPointInPeriod, pispip, true ) );
+ }
+
+ pispipLeafs := selectset( pispips,
+ Elements.astype( ProductInStockingPointInPeriodPlanningLeaf ),
+ pispip,
+ true );
+
+ CustomerOrder::LockUnlock( macroplan, checkorders, false );
+ ProductInStockingPointInPeriod::LockUnlockPlanning( pispipLeafs, false, true );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeader_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeader_OnClick.def
new file mode 100644
index 0000000..ddeca1c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_ButtonOrderLockHeader_OnClick.def
@@ -0,0 +1,58 @@
+Quintiq file version 2.0
+#parent: PanelOrderLockHeader_545/ButtonOrderLockHeader
+Response OnClick () id:Response_PanelOrderLockHeader_545_ButtonOrderLockHeader_OnClick
+{
+ #keys: '[412960.0.221841965]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ thisfilter := "( object.OrderID().LikeUserLocale( " + EditFieldOrderLockHeader.Text().AsQUILL() + " )"
+ + " or " + "object.ProductID().LikeUserLocale( " + EditFieldOrderLockHeader.Text().AsQUILL() + " )"
+ + " or " + "object.UnitOfMeasureName().LikeUserLocale( " + EditFieldOrderLockHeader.Text().AsQUILL() + " )"
+ + " or " + "object.StockingPointID().LikeUserLocale( " + EditFieldOrderLockHeader.Text().AsQUILL() + " )"
+ + " or " + "object.CustomerName().LikeUserLocale( " + EditFieldOrderLockHeader.Text().AsQUILL() + " )"
+ + " or " + "object.SalesSegmentName().LikeUserLocale( " + EditFieldOrderLockHeader.Text().AsQUILL() + " ) )" ;
+
+ existfilter := DataExtractorOrderLock.FixedFilter();
+ if( existfilter = "true" ){
+ existfilter := "";
+ }
+ existfilterlist := existfilter.Tokenize( " and " );
+
+ newfilter := "";
+ findcount := 0;
+ traverse( existfilterlist, Elements, filter ){
+ if( filter.FindString( "OrderID()", 0 ) >= 0 ){
+ if( newfilter = "" ){
+ newfilter := thisfilter;
+ }else{
+ newfilter := newfilter + " and " + thisfilter;
+ }
+ findcount := 1;
+ }else{
+ if( newfilter = "" ){
+ newfilter := filter;
+ }else{
+ newfilter := newfilter + " and " + filter;
+ }
+ }
+ }
+
+ if( findcount = 0 ){
+ if( newfilter = "" ){
+ newfilter := thisfilter;
+ }else{
+ newfilter := newfilter + " and " + thisfilter;
+ }
+ }
+
+ info( newfilter );
+
+ DataExtractorOrderLock.FixedFilter( newfilter );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderCustomerOrder_O.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderCustomerOrder_O.def
new file mode 100644
index 0000000..5fa0f71
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderCustomerOrder_O.def
@@ -0,0 +1,51 @@
+Quintiq file version 2.0
+#parent: PanelOrderLockHeader_545/DateSelectorOrderLockHeaderCustomerOrder
+Response OnChanged () id:Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderCustomerOrder_OnChanged
+{
+ #keys: '[412960.0.221842202]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ existfilter := DataExtractorOrderLock.FixedFilter();
+ if( existfilter = "true" ){
+ existfilter := "";
+ }
+ existfilterlist := existfilter.Tokenize( " and " );
+
+ newfilter := "";
+ findcount := 0;
+ traverse( existfilterlist, Elements, filter ){
+ if( filter.FindString( "EndDate()", 0 ) >= 0 ){
+ if( newfilter = "" ){
+ newfilter := "( object.EndDate() = " + this.Date().AsQUILL() + " )";
+ }else{
+ newfilter := newfilter + " and " + "( object.EndDate() = " + this.Date().AsQUILL() + " )";
+ }
+ findcount := 1;
+ }else{
+ if( newfilter = "" ){
+ newfilter := filter;
+ }else{
+ newfilter := newfilter + " and " + filter;
+ }
+ }
+ }
+
+ if( findcount = 0 ){
+ if( newfilter = "" ){
+ newfilter := "( object.EndDate() = " + this.Date().AsQUILL() + " )";
+ }else{
+ newfilter := newfilter + " and " + "( object.EndDate() = " + this.Date().AsQUILL() + " )";
+ }
+ }
+
+ info( newfilter );
+
+ DataExtractorOrderLock.FixedFilter( newfilter );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderPlanDeliver_OnC.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderPlanDeliver_OnC.def
new file mode 100644
index 0000000..a5fda9c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderPlanDeliver_OnC.def
@@ -0,0 +1,51 @@
+Quintiq file version 2.0
+#parent: PanelOrderLockHeader_545/DateSelectorOrderLockHeaderPlanDeliver
+Response OnChanged () id:Response_PanelOrderLockHeader_545_DateSelectorOrderLockHeaderPlanDeliver_OnChanged
+{
+ #keys: '[412960.0.221842649]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ existfilter := DataExtractorOrderLock.FixedFilter();
+ if( existfilter = "true" ){
+ existfilter := "";
+ }
+ existfilterlist := existfilter.Tokenize( " and " );
+
+ newfilter := "";
+ findcount := 0;
+ traverse( existfilterlist, Elements, filter ){
+ if( filter.FindString( "End()", 0 ) >= 0 and filter.FindString( "EndDate()", 0 ) < 0 ){
+ if( newfilter = "" ){
+ newfilter := "( object.First().AsPlanningBaseSalesDemandInPeriod().End().Date() = " + this.Date().AsQUILL() + " )";
+ }else{
+ newfilter := newfilter + " and " + "( object.First().AsPlanningBaseSalesDemandInPeriod().End().Date() = " + this.Date().AsQUILL() + " )";
+ }
+ findcount := 1;
+ }else{
+ if( newfilter = "" ){
+ newfilter := filter;
+ }else{
+ newfilter := newfilter + " and " + filter;
+ }
+ }
+ }
+
+ if( findcount = 0 ){
+ if( newfilter = "" ){
+ newfilter := "( object.First().AsPlanningBaseSalesDemandInPeriod().End().Date() = " + this.Date().AsQUILL() + " )";
+ }else{
+ newfilter := newfilter + " and " + "( object.First().AsPlanningBaseSalesDemandInPeriod().End().Date() = " + this.Date().AsQUILL() + " )";
+ }
+ }
+
+ info( newfilter );
+
+ DataExtractorOrderLock.FixedFilter( newfilter );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_RadioButtonGroupOrderLockHeader_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_RadioButtonGroupOrderLockHeader_OnChanged.def
new file mode 100644
index 0000000..c393843
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/Response_PanelOrderLockHeader_545_RadioButtonGroupOrderLockHeader_OnChanged.def
@@ -0,0 +1,69 @@
+Quintiq file version 2.0
+#parent: PanelOrderLockHeader_545/RadioButtonGroupOrderLockHeader
+Response OnChanged () id:Response_PanelOrderLockHeader_545_RadioButtonGroupOrderLockHeader_OnChanged
+{
+ #keys: '[412960.0.221843171]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebRadioButtonGroup_OnChanged'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ existfilter := DataExtractorOrderLock.FixedFilter();
+ if( existfilter = "true" ){
+ existfilter := "";
+ }
+ existfilterlist := existfilter.Tokenize( " and " );
+
+ newfilter := "";
+ findcount := 0;
+ traverse( existfilterlist, Elements, filter ){
+ if( filter.FindString( "IsLocked()", 0 ) >= 0 ){
+ if( this.BoundValue() = "locked" ){
+ if( newfilter = "" ){
+ newfilter := "( object.IsLocked() = true )";
+ }else{
+ newfilter := newfilter + " and " + "( object.IsLocked() = true )";
+ }
+ }else if( this.BoundValue() = "unlocked" ){
+ if( newfilter = "" ){
+ newfilter := "( object.IsLocked() = false )";
+ }else{
+ newfilter := newfilter + " and " + "( object.IsLocked() = false )";
+ }
+ }else if( this.BoundValue() = "all" ){
+ newfilter := newfilter + "";
+ }
+ findcount := 1;
+ }else{
+ if( newfilter = "" ){
+ newfilter := filter;
+ }else{
+ newfilter := newfilter + " and " + filter;
+ }
+ }
+ }
+
+ if( findcount = 0 ){
+ if( this.BoundValue() = "locked" ){
+ if( newfilter = "" ){
+ newfilter := "( object.IsLocked() = true )";
+ }else{
+ newfilter := newfilter + " and " + "( object.IsLocked() = true )";
+ }
+ }else if( this.BoundValue() = "unlocked" ){
+ if( newfilter = "" ){
+ newfilter := "( object.IsLocked() = false )";
+ }else{
+ newfilter := newfilter + " and " + "( object.IsLocked() = false )";
+ }
+ }else if( this.BoundValue() = "all" ){
+ newfilter := newfilter + "";
+ }
+ }
+
+ DataExtractorOrderLock.FixedFilter( newfilter );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/_ROOT_Component_FormOrderLock.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/_ROOT_Component_FormOrderLock.def
new file mode 100644
index 0000000..05d0114
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLock/_ROOT_Component_FormOrderLock.def
@@ -0,0 +1,66 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormOrderLock
+{
+ #keys: '[412960.0.212511678]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelOrderLock
+ Component DataHolderOrderLock
+ {
+ #keys: '[412960.0.212571799]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[CustomerOrder]*'
+ Children:
+ [
+ Component DataExtractorOrderLock
+ {
+ #keys: '[412960.0.212571816]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Description: '鎶藉彇璁㈠崟鏁版嵁'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'SalesDemand.astype(CustomerOrder)'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+ }
+ Component DataHolderOrderLockGlobal
+ {
+ #keys: '[412960.0.212571897]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'shadow[Scenario]*'
+ Properties:
+ [
+ Description: '瀛樺偍鏄惁閿佸畾鐨勭瓫閫夋潯浠�'
+ Taborder: 2
+ ]
+ }
+ Component DataHolderOrderLockCheckedOrder
+ {
+ #keys: '[412960.0.245361440]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[CustomerOrder]*'
+ Properties:
+ [
+ Description: '鍌ㄥ瓨閫変腑鐨勮鍗曟暟鎹�'
+ Taborder: 3
+ ]
+ }
+ ]
+ Properties:
+ [
+ Description: '璁㈠崟閿佸畾瑙i攣鐣岄潰'
+ Image: 'DATA_LOCK'
+ Title: '璁㈠崟閿佸畾瑙i攣鐣岄潰'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_ListOrderLockLog.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_ListOrderLockLog.def
new file mode 100644
index 0000000..bcf75de
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_ListOrderLockLog.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListOrderLockLog
+{
+ #keys: '[412960.0.251923186]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorOrderLockLog473
+ {
+ #keys: '[412960.0.251923187]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[OrderLockLog]'
+ Source: 'DataHolderOrderLockLog'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ #child: listActionBarPageOrderLockLog
+ Component DataSetLevelOrderLockLog
+ {
+ #keys: '[412960.0.251923192]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuOrderLockLog
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"OrderID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerName","title":"CustomerName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"EndDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsLocked","title":"IsLocked","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsLocked"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"End","title":"End","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"End"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LastModify","title":"LastModify","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LastModify"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LastModifyTime","title":"LastModifyTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LastModifyTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Notes","title":"Notes","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Notes"}}]'
+ ContextMenu: 'listContextMenuOrderLockLog'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_PanelOrderLockLog.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_PanelOrderLockLog.def
new file mode 100644
index 0000000..05a7b19
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_PanelOrderLockLog.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component PanelOrderLockLog
+{
+ #keys: '[412960.0.250590911]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListOrderLockLog
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_listActionBarPageOrderLockLog.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_listActionBarPageOrderLockLog.def
new file mode 100644
index 0000000..ab944bf
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_listActionBarPageOrderLockLog.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageOrderLockLog
+{
+ #keys: '[412960.0.251923189]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_listContextMenuOrderLockLog.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_listContextMenuOrderLockLog.def
new file mode 100644
index 0000000..3f440f5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/Component_listContextMenuOrderLockLog.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuOrderLockLog
+{
+ #keys: '[412960.0.251923194]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/_ROOT_Component_FormOrderLockLog.def b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/_ROOT_Component_FormOrderLockLog.def
new file mode 100644
index 0000000..9c391a6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOrderLockLog/_ROOT_Component_FormOrderLockLog.def
@@ -0,0 +1,43 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormOrderLockLog
+{
+ #keys: '[412960.0.248150315]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelOrderLockLog
+ Component DataHolderOrderLockLog
+ {
+ #keys: '[412960.0.250590928]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[OrderLockLog]*'
+ Children:
+ [
+ Component DataExtractorOrderLockLog
+ {
+ #keys: '[412960.0.250590940]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'OrderLockLog'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Description: '璁㈠崟閿佸畾/瑙i攣鏃ュ織'
+ Image: 'TEXT_LOCK'
+ Title: '璁㈠崟閿佸畾/瑙i攣鏃ュ織'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def
index 5880d9b..73da706 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def
@@ -1,17 +1,17 @@
Quintiq file version 2.0
Component ListPriorityFactor
{
- #keys: '[414382.0.453382063]'
+ #keys: '[414382.0.479644224]'
BaseType: 'WebList'
Children:
[
Component DataExtractorPriorityFactor
{
- #keys: '[414382.0.453382064]'
+ #keys: '[414382.0.479644225]'
BaseType: 'WebDataExtractor'
Properties:
[
- DataType: 'structured[PriorityFactorDetails]'
+ DataType: 'structured[PriorityFactor]'
Source: 'DataHolderPriorityFactorSelect'
Taborder: 0
Transformation: 'Elements'
@@ -20,7 +20,7 @@
#child: listActionBarPagePriorityFactor
Component DataSetLevelPriorityFactor
{
- #keys: '[414382.0.453382069]'
+ #keys: '[414382.0.479644230]'
BaseType: 'WebDataSetLevel'
Children:
[
@@ -28,7 +28,7 @@
]
Properties:
[
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityFactorName","title":"PriorityFactorName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityFactorName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"coefficient","title":"coefficient","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"coefficient"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityFactorDesc","title":"PriorityFactorDesc","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityFactorDesc"}}]'
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Coefficient","title":"绯绘暟","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Coefficient"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Desc","title":"鎻忚堪","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Desc"}}]'
ContextMenu: 'listContextMenuPriorityFactor'
Taborder: 2
]
@@ -36,13 +36,13 @@
]
Properties:
[
- Taborder: 1
+ Taborder: 2
]
ResponseDefinitions:
[
DelegatedResponseDefinition OnClick id:Responsedef_ListPriorityFactor_WebMenu_OnClick
{
- #keys: '[414382.0.452290439]'
+ #keys: '[414382.0.484095232]'
Initiator: 'WebMenu'
IsInherited: false
ResponseType: 'OnClick'
@@ -50,7 +50,7 @@
[
ResponseDefinitionArgument selection
{
- #keys: '[1187.0.7063875]'
+ #keys: '[1239.0.11670068]'
Binding: 'this.Selection()'
}
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_PanelPriorityFactorSelect.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_PanelPriorityFactorSelect.def
deleted file mode 100644
index 905d4a7..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_PanelPriorityFactorSelect.def
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-Component PanelPriorityFactorSelect
-{
- #keys: '[414382.0.447270206]'
- BaseType: 'WebPanel'
- Children:
- [
- Component BusinessTypeSelectStringList
- {
- #keys: '[414382.0.447270221]'
- BaseType: 'WebDropDownStringList'
- Properties:
- [
- Label: '浜嬩笟閮�: '
- Taborder: 0
- ]
- }
- ]
- Properties:
- [
- Taborder: 0
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listActionBarPagePriorityFactor.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listActionBarPagePriorityFactor.def
index 2c9ba6f..e6fe1f9 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listActionBarPagePriorityFactor.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listActionBarPagePriorityFactor.def
@@ -1,7 +1,7 @@
Quintiq file version 2.0
Component listActionBarPagePriorityFactor
{
- #keys: '[414382.0.453382066]'
+ #keys: '[414382.0.479644227]'
BaseType: 'listActionBarPage'
Properties:
[
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def
index 484aad4..c6dd966 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def
@@ -1,29 +1,30 @@
Quintiq file version 2.0
Component listContextMenuPriorityFactor
{
- #keys: '[414382.0.453382071]'
+ #keys: '[414382.0.479644232]'
BaseType: 'listContextMenu'
Children:
[
- Component MenuTestData
+ Component MenuInitData
{
- #keys: '[414382.0.452290464]'
+ #keys: '[414382.0.482890505]'
BaseType: 'WebMenu'
Properties:
[
Image: 'GEAR'
Taborder: 3
- Title: 'Test'
+ Title: 'Init Data'
]
}
- Component MenuClearTestData
+ Component MenuEdit
{
- #keys: '[414382.0.453953843]'
+ #keys: '[414382.0.485622263]'
BaseType: 'WebMenu'
Properties:
[
+ Image: 'GEAR_EDIT'
Taborder: 4
- Title: 'ClearTestData'
+ Title: '缂栬緫'
]
}
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_BusinessTypeSelectStringList_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_BusinessTypeSelectStringList_OnCreated.def
deleted file mode 100644
index 64ef34c..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_BusinessTypeSelectStringList_OnCreated.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: BusinessTypeSelectStringList
-Response OnCreated () id:Response_FormPriorityFactor_BusinessTypeSelectStringList_OnCreated
-{
- #keys: '[414382.0.454113391]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebComponent_OnCreated'
- QuillAction
- {
- Body:
- [*
- strings := BusinessType::GetBusinessNameStr( GlobalOTDTable );
- this.Strings(strings);
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_BusinessTypeSelectStringList_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_BusinessTypeSelectStringList_OnSelectionChanged.def
deleted file mode 100644
index d45eac2..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_BusinessTypeSelectStringList_OnSelectionChanged.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: BusinessTypeSelectStringList
-Response OnSelectionChanged () id:Response_FormPriorityFactor_BusinessTypeSelectStringList_OnSelectionChanged
-{
- #keys: '[414382.0.454113392]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
- QuillAction
- {
- Body:
- [*
- list := PriorityFactor::GetDataByBusinessType( GlobalOTDTable, BusinessTypeSelectStringList.Text());
- DataHolderPriorityFactorSelect.Data(&list);
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def
new file mode 100644
index 0000000..338425b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: DropDownStringListBusinessType
+Response OnCreated () id:Response_FormPriorityFactor_DropDownStringListBusinessType_OnCreated
+{
+ #keys: '[414382.0.461201807]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ strings := BusinessType::GetBusinessNameStr( GlobalOTDTable );
+ this.Strings(strings);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def
new file mode 100644
index 0000000..1018d65
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: DropDownStringListBusinessType
+Response OnSelectionChanged () id:Response_FormPriorityFactor_DropDownStringListBusinessType_OnSelectionChanged
+{
+ #keys: '[414382.0.461060940]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text());
+ DataHolderPriorityFactorSelect.Data(&list);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuClearTestData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuClearTestData_OnClick.def
deleted file mode 100644
index 45d4098..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuClearTestData_OnClick.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: ListPriorityFactor
-Response OnClick () id:Response_ListPriorityFactor_MenuClearTestData_OnClick
-{
- #keys: '[414382.0.453592300]'
- CanBindMultiple: false
- DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
- Initiator: 'MenuClearTestData'
- QuillAction
- {
- Body:
- [*
- PriorityFactorDetails::ClearTestData( GlobalOTDTable);
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEdit_OnClick.def
new file mode 100644
index 0000000..c054fc1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEdit_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: ListPriorityFactor
+Response OnClick (
+ PriorityFactor selection
+) id:Response_ListPriorityFactor_MenuEdit_OnClick
+{
+ #keys: '[414382.0.485894605]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
+ Initiator: 'MenuEdit'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogEditPriorityFactor );
+ dlg.Edit( selection);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuInitData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuInitData_OnClick.def
new file mode 100644
index 0000000..f165c1b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuInitData_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListPriorityFactor
+Response OnClick () id:Response_ListPriorityFactor_MenuInitData_OnClick
+{
+ #keys: '[414382.0.482802120]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
+ Initiator: 'MenuInitData'
+ QuillAction
+ {
+ Body:
+ [*
+ PriorityFactorDetails::CreateTestData( MacroPlan);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuTestData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuTestData_OnClick.def
deleted file mode 100644
index c7d9f86..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuTestData_OnClick.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: ListPriorityFactor
-Response OnClick () id:Response_ListPriorityFactor_MenuTestData_OnClick
-{
- #keys: '[414382.0.453471285]'
- CanBindMultiple: false
- DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
- Initiator: 'MenuTestData'
- QuillAction
- {
- Body:
- [*
- PriorityFactorDetails::CreateTestData( GlobalOTDTable);
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick.def
new file mode 100644
index 0000000..071de46
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: ListPriorityFactor
+Response OnClick (
+ PriorityFactor selection
+) id:Response_ListPriorityFactor_OnClick
+{
+ #keys: '[414382.0.482282953]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ detaisls := PriorityFactorDetails::GetDataByPriorityFactor( selection, MacroPlan);
+ DataHolderPriorityFactorDetailsSelect.Data(&detaisls);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_PanelPriorityFactorSelect_BusinessTypeSelectStringList_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_PanelPriorityFactorSelect_BusinessTypeSelectStringList_OnCreated.def
deleted file mode 100644
index 85e7767..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_PanelPriorityFactorSelect_BusinessTypeSelectStringList_OnCreated.def
+++ /dev/null
@@ -1,17 +0,0 @@
-Quintiq file version 2.0
-#parent: PanelPriorityFactorSelect/BusinessTypeSelectStringList
-Response OnCreated () id:Response_PanelPriorityFactorSelect_BusinessTypeSelectStringList_OnCreated
-{
- #keys: '[414382.0.446101961]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebComponent_OnCreated'
- QuillAction
- {
- Body:
- [*
- strings := BusinessType::GetBusinessNameStr( GlobalOTDTable );
- this.Strings(strings);
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def
index 26acdc7..f6e060e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def
@@ -7,7 +7,6 @@
BaseType: 'WebForm'
Children:
[
- #child: ListPriorityFactor
Component DataHolderPriorityFactorSelect
{
#keys: '[414382.0.453562359]'
@@ -15,18 +14,29 @@
Databinding: 'structured[PriorityFactor]*'
Properties:
[
- Taborder: 2
+ Taborder: 1
]
}
- Component BusinessTypeSelectStringList
+ Component DropDownStringListBusinessType
{
- #keys: '[414382.0.454113393]'
+ #keys: '[414382.0.461144262]'
BaseType: 'WebDropDownStringList'
Properties:
[
- Label: '浜嬩笟閮�: '
+ Label: '浜嬩笟閮�:'
Taborder: 0
]
}
+ #child: ListPriorityFactor
+ Component DataHolderPriorityFactorDetailsSelect
+ {
+ #keys: '[414382.0.482103344]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[PriorityFactorDetails]*'
+ Properties:
+ [
+ Taborder: 3
+ ]
+ }
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_ListPriorityFactorGrading.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_ListPriorityFactorGrading.def
new file mode 100644
index 0000000..a28ed5d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_ListPriorityFactorGrading.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component ListPriorityFactorGrading
+{
+ #keys: '[414382.0.479530865]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPriorityFactorGrading961
+ {
+ #keys: '[414382.0.479530866]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[PriorityFactorDetails]'
+ Source: 'DataHolderPriorityFactorGrading'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ #child: listActionBarPagePriorityFactorGrading
+ Component DataSetLevelPriorityFactorGrading
+ {
+ #keys: '[414382.0.479530871]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPriorityFactorGrading
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"GradingName","title":"缁嗗垎鍚嶇О","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"GradingName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"GradeValueStr","title":"鍒嗙骇","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"GradeValueStr"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"GradeDesc","title":"鎻忚堪","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"GradeDesc"}}]'
+ ContextMenu: 'listContextMenuPriorityFactorGrading'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPriorityFactorGrading_WebMenu_OnClick
+ {
+ #keys: '[414382.0.482374475]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selction
+ {
+ #keys: '[1231.0.33373473]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listActionBarPagePriorityFactorGrading.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listActionBarPagePriorityFactorGrading.def
new file mode 100644
index 0000000..8253b39
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listActionBarPagePriorityFactorGrading.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePriorityFactorGrading
+{
+ #keys: '[414382.0.479530868]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def
new file mode 100644
index 0000000..39fe40c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+Component listContextMenuPriorityFactorGrading
+{
+ #keys: '[414382.0.479530873]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuEdit
+ {
+ #keys: '[414382.0.478491125]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR_EDIT'
+ Taborder: 3
+ Title: '缂栬緫'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEdit_OnClick.def
new file mode 100644
index 0000000..b9822f6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEdit_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: ListPriorityFactorGrading
+Response OnClick (
+ PriorityFactorDetails selction
+) id:Response_ListPriorityFactorGrading_MenuEdit_OnClick
+{
+ #keys: '[414382.0.479531766]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityFactorGrading/Responsedef_ListPriorityFactorGrading_WebMenu_OnClick
+ Initiator: 'MenuEdit'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogEditPriorityFactorDetails);
+ dlg.Edit( selction);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def
index 6f24830..bef2ddb 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def
@@ -5,4 +5,32 @@
{
#keys: '[414382.0.447270082]'
BaseType: 'WebForm'
+ Children:
+ [
+ Component DataHolderPriorityFactorGrading
+ {
+ #keys: '[414382.0.478480902]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[PriorityFactorDetails]*'
+ Children:
+ [
+ Component DataExtractorPriorityFactorGrading
+ {
+ #keys: '[414382.0.478480916]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[PriorityFactorDetails]'
+ Source: 'FormPriorityFactor.DataHolderPriorityFactorDetailsSelect'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+ }
+ #child: ListPriorityFactorGrading
+ ]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def
new file mode 100644
index 0000000..b5d4a7b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component ListPriorityPolicy
+{
+ #keys: '[414382.0.489382436]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPriorityPolicy
+ {
+ #keys: '[414382.0.489382437]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[PriorityPolicy]'
+ Source: 'DataHolderPriorityPolicy'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ #child: listActionBarPagePriorityPolicy
+ Component DataSetLevelPriorityPolicy
+ {
+ #keys: '[414382.0.489382442]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPriorityPolicy
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Formula","title":"Formula","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Formula"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CalculateValue","title":"CalculateValue","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CalculateValue"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Desc","title":"Desc","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Desc"}}]'
+ ContextMenu: 'listContextMenuPriorityPolicy'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 2
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPriorityPolicy_WebMenu_OnClick
+ {
+ #keys: '[414382.0.489382571]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[1245.0.22804476]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyCoefficient\043902.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyCoefficient\043902.def"
new file mode 100644
index 0000000..e2c6e2f
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyCoefficient\043902.def"
@@ -0,0 +1,34 @@
+Quintiq file version 2.0
+Component PanelPriorityPolicyCoefficient id:PanelPriorityPolicyCoefficient_902
+{
+ #keys: '[414382.0.494931779]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component LabelPriorityPolicyCoefficient
+ {
+ #keys: '[414382.0.494931780]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: '鍥犲瓙鐨勭郴鏁�'
+ Taborder: 0
+ ]
+ }
+ Component ButtonCommit
+ {
+ #keys: '[414382.0.494931877]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: '瀹屾垚'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Orientation: 'horizontal'
+ Taborder: 4
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperation.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperation.def
new file mode 100644
index 0000000..1923a0f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperation.def
@@ -0,0 +1,46 @@
+Quintiq file version 2.0
+Component PanelPriorityPolicyOperation
+{
+ #keys: '[414382.0.495572021]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component PanelPriorityPolicyOperationName
+ {
+ #keys: '[414382.0.494931391]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: '浼樺厛绾х瓥鐣ュ悕绉�:'
+ Taborder: 0
+ ]
+ }
+ Component LabelFormula id:LabelFormula_223
+ {
+ #keys: '[414382.0.494931658]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: '鍏紡:'
+ Taborder: 1
+ ]
+ }
+ Component LabelCalculateValue id:LabelCalculateValue_943
+ {
+ #keys: '[414382.0.494931674]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: '璁$畻鍊�:'
+ Taborder: 2
+ ]
+ }
+ #child: PanelPriorityPolicyOperationButton
+ #child: PanelPriorityPolicyCoefficient_902
+ ]
+ Properties:
+ [
+ Taborder: 3
+ Title: '浼樺厛绾х瓥鐣ラ厤缃�'
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton\043713.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton\043713.def"
new file mode 100644
index 0000000..9c91139
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton\043713.def"
@@ -0,0 +1,107 @@
+Quintiq file version 2.0
+Component PanelPriorityPolicyOperationButton
+{
+ #keys: '[414382.0.494931742]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ButtonAddPriorityPolicy
+ {
+ #keys: '[414382.0.494931743]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: '娣诲姞鍥犲瓙'
+ Taborder: 1
+ ]
+ }
+ Component Buttonplus
+ {
+ #keys: '[414382.0.494931744]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: '+'
+ Taborder: 2
+ ]
+ }
+ Component ButtonSubtract
+ {
+ #keys: '[414382.0.494931745]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: '*'
+ Taborder: 3
+ ]
+ }
+ Component ButtonMultiply
+ {
+ #keys: '[414382.0.494931747]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: 'x'
+ Taborder: 4
+ ]
+ }
+ Component ButtonDivide
+ {
+ #keys: '[414382.0.494931748]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: '/'
+ Taborder: 5
+ ]
+ }
+ Component ButtonLeftParenthesis
+ {
+ #keys: '[414382.0.494931749]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: '('
+ Taborder: 6
+ ]
+ }
+ Component ButtonRightParenthesis
+ {
+ #keys: '[414382.0.494931750]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: ')'
+ Taborder: 7
+ ]
+ }
+ Component ButtonRollBack
+ {
+ #keys: '[414382.0.494931751]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Label: '<-'
+ Taborder: 8
+ ]
+ }
+ Component DropDownStringList
+ {
+ #keys: '[414382.0.501480353]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ Label: '浼樺厛绾у洜瀛�'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ MinimumColumns: 10
+ MinimumRows: 1
+ Orientation: 'horizontal'
+ Taborder: 3
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listActionBarPagePriorityPolicy.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listActionBarPagePriorityPolicy.def
new file mode 100644
index 0000000..63de41c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listActionBarPagePriorityPolicy.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePriorityPolicy
+{
+ #keys: '[414382.0.489382439]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listContextMenuPriorityPolicy.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listContextMenuPriorityPolicy.def
new file mode 100644
index 0000000..594c493
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listContextMenuPriorityPolicy.def
@@ -0,0 +1,46 @@
+Quintiq file version 2.0
+Component listContextMenuPriorityPolicy
+{
+ #keys: '[414382.0.489382444]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuNew
+ {
+ #keys: '[414382.0.487792532]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR_ADD'
+ Taborder: 3
+ Title: '鏂板'
+ ]
+ }
+ Component MenuEdit
+ {
+ #keys: '[414382.0.487792555]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR_EDIT'
+ Taborder: 4
+ Title: '缂栬緫'
+ ]
+ }
+ Component MenuDelete
+ {
+ #keys: '[414382.0.487792557]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR_DELETE'
+ Taborder: 5
+ Title: '鍒犻櫎'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicySelectBusinessType_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicySelectBusinessType_OnCreated.def
new file mode 100644
index 0000000..d3d9c4a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicySelectBusinessType_OnCreated.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: DataHolderPriorityPolicySelectBusinessType
+Response OnCreated () id:Response_FormPriorityPolicy_DataHolderPriorityPolicySelectBusinessType_OnCreated
+{
+ #keys: '[414382.0.493813692]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ this.Data(PriorityPolicyBusinessType.Text());
+ *]
+ GroupServerCalls: false
+ }
+}
+
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def
new file mode 100644
index 0000000..89b9c11
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: DataHolderPriorityPolicy
+Response OnDataChanged () id:Response_FormPriorityPolicy_DataHolderPriorityPolicy_OnDataChanged
+{
+ #keys: '[414382.0.502145694]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text());
+ this.Data(&list);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuDelete_OnClick.def
new file mode 100644
index 0000000..5517113
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuDelete_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: ListPriorityPolicy
+Response OnClick (
+ PriorityPolicy selection
+) id:Response_ListPriorityPolicy_MenuDelete_OnClick
+{
+ #keys: '[414382.0.489382736]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityPolicy/Responsedef_ListPriorityPolicy_WebMenu_OnClick
+ Initiator: 'MenuDelete'
+ QuillAction
+ {
+ Body:
+ [*
+ selection.Delete();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuEdit_OnClick.def
new file mode 100644
index 0000000..b956173
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuEdit_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: ListPriorityPolicy
+Response OnClick (
+ PriorityPolicy selection
+) id:Response_ListPriorityPolicy_MenuEdit_OnClick
+{
+ #keys: '[414382.0.489382588]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityPolicy/Responsedef_ListPriorityPolicy_WebMenu_OnClick
+ Initiator: 'MenuEdit'
+ QuillAction
+ {
+ Body:
+ [*
+ PanelPriorityPolicyOperation.Visible(true);
+ PanelPriorityPolicyOperationName.Text(selection.Name());
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuNew_OnClick.def
new file mode 100644
index 0000000..c71feb9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuNew_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: ListPriorityPolicy
+Response OnClick () id:Response_ListPriorityPolicy_MenuNew_OnClick
+{
+ #keys: '[414382.0.489382662]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityPolicy/Responsedef_ListPriorityPolicy_WebMenu_OnClick
+ Initiator: 'MenuNew'
+ QuillAction
+ {
+ Body:
+ [*
+ dlg := construct( DialogNewPriorityPolicy );
+ businessType := PriorityPolicyBusinessType.Text();
+ dlg.New( MacroPlan, businessType);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_OnUserSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_OnUserSelectionChanged.def
new file mode 100644
index 0000000..e16df3d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_OnUserSelectionChanged.def
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: ListPriorityPolicy
+Response OnUserSelectionChanged (
+ PriorityPolicy selection
+) id:Response_ListPriorityPolicy_OnUserSelectionChanged
+{
+ #keys: '[414382.0.503822635]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnUserSelectionChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ PanelPriorityPolicyOperationName.Text(selection.Name());
+
+ businessType := PriorityPolicyBusinessType.Text();
+ str := PriorityFactor::GetNameList( MacroPlan, businessType);
+ DropDownStringList.Strings(str);
+
+ data := shadow( selection );
+ DataHolderEditPriorityPolicy.Data( &data );
+
+ //coefficient := PriorityFactor::GetCoeffcientByName( MacroPlan,businessType,DropDownStringList.Text());
+ //LabelPriorityPolicyCoefficient.Text([String]coefficient);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def
new file mode 100644
index 0000000..d645e29
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: PanelPriorityPolicyCoefficient_902/ButtonCommit
+Response OnClick () id:Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick
+{
+ #keys: '[414382.0.506250033]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ DataHolderEditPriorityPolicy.Data().Formula(LabelFormula.Text());
+ DataHolderEditPriorityPolicy.Data().CalculateValue(LabelCalculateValue.Text());
+ DataHolderEditPriorityPolicy.Data().Commit();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def
new file mode 100644
index 0000000..3b56ae5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: PanelPriorityPolicyOperationButton/ButtonAddPriorityPolicy
+Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick
+{
+ #keys: '[414382.0.502145449]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ coefficient := LabelPriorityPolicyCoefficient.Text();
+ text := DropDownStringList.Text();
+
+ formulaText := LabelFormula.Text() + text;
+ LabelFormula.Text(formulaText);
+
+ textCalculate := DropDownStringList.Text() + "[" + coefficient + "*L]";
+ calculateText := LabelCalculateValue.Text() + textCalculate;
+ LabelCalculateValue.Text(calculateText);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick.def
new file mode 100644
index 0000000..11b1352
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: PanelPriorityPolicyOperationButton/ButtonDivide
+Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick
+{
+ #keys: '[414382.0.500261587]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ text := this.Label();
+
+ formulaText := LabelFormula.Text() + text;
+ LabelFormula.Text(formulaText);
+
+ calculateTest := LabelCalculateValue.Text() + text;
+ LabelCalculateValue.Text(calculateTest);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick.def
new file mode 100644
index 0000000..f4eb5c3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: PanelPriorityPolicyOperationButton/ButtonLeftParenthesis
+Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick
+{
+ #keys: '[414382.0.500261667]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ text := this.Label();
+ formulaText := LabelFormula.Text() + text;
+ LabelFormula.Text(formulaText);
+
+ calculateTest := LabelCalculateValue.Text() + text;
+ LabelCalculateValue.Text(calculateTest);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick.def
new file mode 100644
index 0000000..2f09779
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: PanelPriorityPolicyOperationButton/ButtonMultiply
+Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick
+{
+ #keys: '[414382.0.500261507]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ text := this.Label();
+
+ formulaText := LabelFormula.Text() + text;
+ LabelFormula.Text(formulaText);
+
+ calculateTest := LabelCalculateValue.Text() + text;
+ LabelCalculateValue.Text(calculateTest);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick.def
new file mode 100644
index 0000000..292ba04
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: PanelPriorityPolicyOperationButton/ButtonRightParenthesis
+Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick
+{
+ #keys: '[414382.0.500261748]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ text := this.Label();
+ formulaText := LabelFormula.Text() + text;
+ LabelFormula.Text(formulaText);
+
+ calculateTest := LabelCalculateValue.Text() + text;
+ LabelCalculateValue.Text(calculateTest);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def
new file mode 100644
index 0000000..f8952da
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: PanelPriorityPolicyOperationButton/ButtonRollBack
+Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick
+{
+ #keys: '[414382.0.506055261]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ businessType := PriorityPolicyBusinessType.Text();
+ formulaText := PriorityPolicy::RollBackStr( MacroPlan,businessType,LabelFormula.Text());
+ LabelFormula.Text(formulaText);
+
+ calculateTest := PriorityPolicy::RollBackStr( MacroPlan,businessType,LabelCalculateValue.Text());
+ LabelCalculateValue.Text(calculateTest);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick.def
new file mode 100644
index 0000000..77d6f0a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: PanelPriorityPolicyOperationButton/ButtonSubtract
+Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick
+{
+ #keys: '[414382.0.500261427]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ text := this.Label();
+
+ formulaText := LabelFormula.Text() + text;
+ LabelFormula.Text(formulaText);
+
+ calculateTest := LabelCalculateValue.Text() + text;
+ LabelCalculateValue.Text(calculateTest);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick.def
new file mode 100644
index 0000000..926a7be
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: PanelPriorityPolicyOperationButton/Buttonplus
+Response OnClick () id:Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick
+{
+ #keys: '[414382.0.500261347]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ text := this.Label();
+
+ formulaText := LabelFormula.Text() + text;
+ LabelFormula.Text(formulaText);
+
+ calculateTest := LabelCalculateValue.Text() + text;
+ LabelCalculateValue.Text(calculateTest);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnSelectionCh.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnSelectionCh.def
new file mode 100644
index 0000000..9debaba
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnSelectionCh.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: PanelPriorityPolicyOperationButton/DropDownStringList
+Response OnSelectionChanged () id:Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnSelectionChanged
+{
+ #keys: '[414382.0.507827790]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ info( "select changeed" );
+ businessType := PriorityPolicyBusinessType.Text();
+ coefficient := PriorityFactor::GetCoeffcientByName( MacroPlan,businessType,DropDownStringList.Text());
+ LabelPriorityPolicyCoefficient.Text([String]coefficient);
+ info("coefficient := " + [String]coefficient );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def
new file mode 100644
index 0000000..4fd7821
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: PriorityPolicyBusinessType
+Response OnCreated () id:Response_FormPriorityPolicy_PriorityPolicyBusinessType_OnCreated
+{
+ #keys: '[414382.0.486330568]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ strings := BusinessType::GetBusinessNameStr( GlobalOTDTable );
+ this.Strings(strings);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def
new file mode 100644
index 0000000..6ed7e84
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: PriorityPolicyBusinessType
+Response OnSelectionChanged () id:Response_FormPriorityPolicy_PriorityPolicyBusinessType_OnSelectionChanged
+{
+ #keys: '[414382.0.486330569]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text());
+ DataHolderPriorityPolicy.Data(&list);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def
new file mode 100644
index 0000000..cd5d437
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def
@@ -0,0 +1,47 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPriorityPolicy
+{
+ #keys: '[414382.0.487620644]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ Component PriorityPolicyBusinessType
+ {
+ #keys: '[414382.0.486330570]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ Label: '浜嬩笟閮�:'
+ Taborder: 0
+ ]
+ }
+ Component DataHolderPriorityPolicy
+ {
+ #keys: '[414382.0.487792124]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[PriorityPolicy]*'
+ Properties:
+ [
+ Taborder: 1
+ ]
+ }
+ #child: ListPriorityPolicy
+ #child: PanelPriorityPolicyOperation
+ Component DataHolderEditPriorityPolicy
+ {
+ #keys: '[414382.0.505995334]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'shadow[PriorityPolicy]*'
+ Properties:
+ [
+ Taborder: 4
+ ]
+ }
+ ]
+ Properties:
+ [
+ Title: '浼樺厛绾х瓥鐣ュ垪琛�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResult.def
new file mode 100644
index 0000000..cb600ee
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResult.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListPriorityResult
+{
+ #keys: '[414382.0.506312194]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPriorityResult
+ {
+ #keys: '[414382.0.506312195]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'PriorityResult'
+ ]
+ }
+ #child: listActionBarPagePriorityResult
+ Component DataSetLevelPriorityResult
+ {
+ #keys: '[414382.0.506312200]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPriorityResult
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"Customer","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandDate","title":"DemandDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityResultScore","title":"PriorityResultScore","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityResultScore"}}]'
+ ContextMenu: 'listContextMenuPriorityResult'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResultBusinessTypeDetails.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResultBusinessTypeDetails.def
new file mode 100644
index 0000000..cb72c11
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResultBusinessTypeDetails.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component ListPriorityResultBusinessTypeDetails
+{
+ #keys: '[414382.0.506313048]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPriorityResultDetails
+ {
+ #keys: '[414382.0.506313049]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[PriorityResultBusinessTypeDetail]'
+ Source: 'DataHolderPriorityResultBusinessTypeDetails'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ #child: listActionBarPagePriorityResultDetails
+ Component DataSetLevelPriorityResultDetails
+ {
+ #keys: '[414382.0.506313054]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPriorityResultDetails
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"Customer","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandDate","title":"DemandDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityResultScore","title":"PriorityResultScore","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityResultScore"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityPolicyName","title":"PriorityPolicyName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityPolicyName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityFactorName","title":"PriorityFactorName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityFactorName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityFactorGradingName","title":"PriorityFactorGradingName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityFactorGradingName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityTotalScore","title":"PriorityTotalScore","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityTotalScore"}}]'
+ ContextMenu: 'listContextMenuPriorityResultDetails'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 2
+ ]
+ ResponseDefinitions:
+ [
+ DelegatedResponseDefinition OnClick id:Responsedef_ListPriorityResultBusinessTypeDetails_WebMenu_OnClick
+ {
+ #keys: '[414382.0.506320636]'
+ Initiator: 'WebMenu'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[1275.0.8208190]'
+ Binding: 'this.Selection()'
+ }
+ ]
+ }
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResultGroupDetails\043743.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResultGroupDetails\043743.def"
new file mode 100644
index 0000000..d589b28
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResultGroupDetails\043743.def"
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListPriorityResultGroupDetails
+{
+ #keys: '[414382.0.506313387]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorPriorityResultDetails859
+ {
+ #keys: '[414382.0.506313388]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[PriorityResultGroupDetail]'
+ Source: 'DataHolderPriorityResultGroupDetails'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ #child: listActionBarPagePriorityResultDetails642
+ Component DataSetLevelPriorityResultDetails872
+ {
+ #keys: '[414382.0.506313393]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuPriorityResultDetails590
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"Customer","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandDate","title":"DemandDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityResultScore","title":"PriorityResultScore","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityResultScore"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityPolicyName","title":"PriorityPolicyName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityPolicyName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityFactorName","title":"PriorityFactorName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityFactorName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityFactorGradingName","title":"PriorityFactorGradingName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityFactorGradingName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityTotalScore","title":"PriorityTotalScore","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityTotalScore"}}]'
+ ContextMenu: 'listContextMenuPriorityResultDetails590'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 4
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResult.def
new file mode 100644
index 0000000..842f6ec
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResult.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelPriorityResult
+{
+ #keys: '[414382.0.506311784]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListPriorityResult
+ ]
+ Properties:
+ [
+ Taborder: 0
+ Title: '浼樺厛绾х粨鏋滃垪琛�'
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResultDetails\043633.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResultDetails\043633.def"
new file mode 100644
index 0000000..d8d93f4
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResultDetails\043633.def"
@@ -0,0 +1,46 @@
+Quintiq file version 2.0
+Component PanelPriorityResultDetails
+{
+ #keys: '[414382.0.506311801]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component LabelPriorityResultProductID
+ {
+ #keys: '[414382.0.506311846]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: '浜у搧缂栫爜:'
+ Taborder: 0
+ ]
+ }
+ Component LabelPriorityResultBusinessTypeDetails
+ {
+ #keys: '[414382.0.506311875]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: '浜嬩笟閮ㄤ紭鍏堢骇寰楀垎璇︽儏'
+ Taborder: 1
+ ]
+ }
+ Component LabelPriorityResultGroupDetails
+ {
+ #keys: '[414382.0.506311903]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: '闆嗗洟浼樺厛绾у緱鍒嗚鎯�'
+ Taborder: 3
+ ]
+ }
+ #child: ListPriorityResultBusinessTypeDetails
+ #child: ListPriorityResultGroupDetails
+ ]
+ Properties:
+ [
+ Taborder: 1
+ Title: '浼樺厛绾х粨鏋滄槑缁�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResult.def
new file mode 100644
index 0000000..4da1e32
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResult.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePriorityResult
+{
+ #keys: '[414382.0.506312197]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResultDetails.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResultDetails.def
new file mode 100644
index 0000000..4951c85
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResultDetails.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePriorityResultDetails
+{
+ #keys: '[414382.0.506313051]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResultDetails642.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResultDetails642.def
new file mode 100644
index 0000000..2f67232
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResultDetails642.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPagePriorityResultDetails642
+{
+ #keys: '[414382.0.506313390]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResult.def
new file mode 100644
index 0000000..33df24f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResult.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuPriorityResult
+{
+ #keys: '[414382.0.506312202]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResultDetails.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResultDetails.def
new file mode 100644
index 0000000..8a23813
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResultDetails.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+Component listContextMenuPriorityResultDetails
+{
+ #keys: '[414382.0.506313056]'
+ BaseType: 'listContextMenu'
+ Children:
+ [
+ Component MenuEmergencyTopping
+ {
+ #keys: '[414382.0.506320730]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ Image: 'GEAR_TIME'
+ Taborder: 3
+ Title: 'Emergency Topping'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResultDetails590.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResultDetails590.def
new file mode 100644
index 0000000..248d2aa
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResultDetails590.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuPriorityResultDetails590
+{
+ #keys: '[414382.0.506313395]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResultBusinessTypeDetails_MenuEmergencyTopping_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResultBusinessTypeDetails_MenuEmergencyTopping_OnClick.def
new file mode 100644
index 0000000..430d449
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResultBusinessTypeDetails_MenuEmergencyTopping_OnClick.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: ListPriorityResultBusinessTypeDetails
+Response OnClick (
+ PriorityResultBusinessTypeDetail selection
+) id:Response_ListPriorityResultBusinessTypeDetails_MenuEmergencyTopping_OnClick
+{
+ #keys: '[414382.0.507572437]'
+ CanBindMultiple: false
+ DefinitionID => /ListPriorityResultBusinessTypeDetails/Responsedef_ListPriorityResultBusinessTypeDetails_WebMenu_OnClick
+ Initiator: 'MenuEmergencyTopping'
+ Precondition:
+ [*
+ return PriorityResultBusinessTypeDetail::CheckCanTopping(selection);
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ // 绱ф�ョ疆椤�
+ PriorityResultBusinessTypeDetail::EmergencyTopping( MacroPlan,selection);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResult_OnUserSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResult_OnUserSelectionChanged.def
new file mode 100644
index 0000000..493baf0
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResult_OnUserSelectionChanged.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: ListPriorityResult
+Response OnUserSelectionChanged (
+ PriorityResult selection
+) id:Response_ListPriorityResult_OnUserSelectionChanged
+{
+ #keys: '[414382.0.506312631]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebList_OnUserSelectionChanged'
+ QuillAction
+ {
+ Body:
+ [*
+ businessTypeDetails := selectset( selection,PriorityResultBusinessTypeDetail,p,true);
+ DataHolderPriorityResultBusinessTypeDetails.Data(&businessTypeDetails);
+
+ groupDetails := selectset( selection,PriorityResultGroupDetail,p,true);
+ DataHolderPriorityResultGroupDetails.Data( &groupDetails);
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/_ROOT_Component_FormPriorityResult.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/_ROOT_Component_FormPriorityResult.def
new file mode 100644
index 0000000..99f642d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/_ROOT_Component_FormPriorityResult.def
@@ -0,0 +1,33 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormPriorityResult
+{
+ #keys: '[414382.0.506311765]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelPriorityResultDetails
+ #child: PanelPriorityResult
+ Component DataHolderPriorityResultBusinessTypeDetails
+ {
+ #keys: '[414382.0.506312058]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[PriorityResultBusinessTypeDetail]*'
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ Component DataHolderPriorityResultGroupDetails
+ {
+ #keys: '[414382.0.506312077]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[PriorityResultGroupDetail]*'
+ Properties:
+ [
+ Taborder: 3
+ ]
+ }
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormReleaseRecord/_ROOT_Component_FormReleaseRecord.def b/_Main/UI/MacroPlannerWebApp/Component_FormReleaseRecord/_ROOT_Component_FormReleaseRecord.def
index 28f9120..9a61137 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormReleaseRecord/_ROOT_Component_FormReleaseRecord.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormReleaseRecord/_ROOT_Component_FormReleaseRecord.def
@@ -25,7 +25,7 @@
Properties:
[
Description: '鍙嶇/鎺堟潈鐗╂枡鍙戝竷鐗堟湰鏄庣粏'
- Image: 'BULL'
+ Image: 'NAV_REDO_LIGHT_BLUE'
Title: '鍙嶇/鎺堟潈鐗╂枡鍙戝竷鐗堟湰鏄庣粏'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def
index 71d6ba4..015e693 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Component_ListScenario.def
@@ -1,4 +1,118 @@
Quintiq file version 2.0
Component ListScenario #extension
{
+ Children:
+ [
+ Component DataSetLevelScenario #extension
+ {
+ Children:
+ [
+ Component listContextMenuScenarioFolder #extension
+ {
+ Children:
+ [
+ Component MenuRelaeaseNewVersion
+ {
+ #keys: '[412960.0.168283194]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ DelegationID: 'ActionBarScenario_Release'
+ Description: '鍙戝竷鏂扮増鏈�'
+ Image: 'EDITOR_ALGORITHM'
+ Taborder: 10
+ Title: 'Release New Version...'
+ ]
+ }
+ Component MenuCopyScenario #extension
+ {
+ }
+ Component MenuSaveNewVersion
+ {
+ #keys: '[412960.0.172960163]'
+ BaseType: 'WebMenu'
+ Properties:
+ [
+ DelegationID: 'ActionBarScenario_Save'
+ Description: '鍙戝竷鏂扮増鏈�'
+ Image: 'DATA_DISK'
+ Taborder: 11
+ Title: 'Save New Version...'
+ ]
+ }
+ Component MenuSeparator2 #extension
+ {
+ Properties:
+ [
+ Taborder: 12
+ ]
+ }
+ Component MenuSeparator3 #extension
+ {
+ Properties:
+ [
+ Taborder: 14
+ ]
+ }
+ Component MenuSelectScenario #extension
+ {
+ Properties:
+ [
+ Taborder: 13
+ ]
+ }
+ Component MenuEditAuthorization #extension
+ {
+ Properties:
+ [
+ Taborder: 15
+ ]
+ }
+ Component MenuSeparator4 #extension
+ {
+ Properties:
+ [
+ Taborder: 16
+ ]
+ }
+ Component MenuLoadScenario #extension
+ {
+ Properties:
+ [
+ Taborder: 17
+ ]
+ }
+ Component MenuUnloadScenario #extension
+ {
+ Properties:
+ [
+ Taborder: 18
+ ]
+ }
+ Component MenuSeparator5 #extension
+ {
+ Properties:
+ [
+ Taborder: 19
+ ]
+ }
+ Component MenuAdministration #extension
+ {
+ Properties:
+ [
+ Taborder: 20
+ ]
+ }
+ Component MenuRestoreItem #extension
+ {
+ Properties:
+ [
+ Taborder: 21
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCopyScenario_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCopyScenario_OnClick.def
new file mode 100644
index 0000000..93390c2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCopyScenario_OnClick.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#parent: ListScenario
+Response OnClick (
+ ScenarioMP selection
+) id:Response_ListScenario_MenuCopyScenario_OnClick #extension
+{
+ Precondition:
+ [*
+ feedback := ApplicationMacroPlanner.HasValidDataset( selection );
+ return feedback = '' and selection.CanCopy( feedback );
+ *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def
new file mode 100644
index 0000000..745d231
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuRelaeaseNewVersion_OnClick.def
@@ -0,0 +1,52 @@
+Quintiq file version 2.0
+#parent: ListScenario
+Response OnClick (
+ ScenarioMP selection
+) id:Response_ListScenario_MenuRelaeaseNewVersion_OnClick
+{
+ #keys: '[412960.0.170112594]'
+ CanBindMultiple: false
+ DefinitionID => /ListScenario/Responsedef_ListScenario_WebMenu_OnClick
+ Initiator: 'MenuRelaeaseNewVersion'
+ Precondition:
+ [*
+ feedback := ApplicationMacroPlanner.HasValidDataset( selection );
+ return feedback = '' and selection.CanCopy( feedback );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ // Copy scenario
+ owner := GlobalOTDTable;
+ macroplan := MacroPlan;
+ testbusinesstype := "闆嗗洟";
+
+ VersionControl::ReleaseNewVersion( owner, testbusinesstype );
+ GlobalOTDTable::GetOutputVersionData( owner, macroplan, testbusinesstype );
+ selection.SetReleased();
+
+ versionname := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 3 );
+ // Get the active scenario
+ //data := selection;
+ newscenario := null( Scenario );
+ strategy := null( Strategy );
+
+ data := ScenarioManager.ScenarioNode( relshadow,
+ ScenarioMP,
+ Parent := selection,
+ Name := versionname,
+ SelectedStrategy := selection.SelectedStrategy(),
+ State := selection.State() );
+
+ scenario := data.Parent().astype( ScenarioMP );
+ strategy := data.SelectedStrategy();
+
+ newscenario:= scenario.Copy( data.Parent(), versionname, "",
+ data.Comment(), data.State() );
+
+ newscenario.SelectedStrategy( relset, strategy );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def
new file mode 100644
index 0000000..1f8b93b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_TIANMA_JITUAN_ListScenario_MenuSaveNewVersion_OnClick.def
@@ -0,0 +1,49 @@
+Quintiq file version 2.0
+#parent: ListScenario
+Response OnClick (
+ ScenarioMP selection
+) id:Response_ListScenario_MenuSaveNewVersion_OnClick
+{
+ #keys: '[412960.0.171680443]'
+ CanBindMultiple: false
+ DefinitionID => /ListScenario/Responsedef_ListScenario_WebMenu_OnClick
+ Initiator: 'MenuSaveNewVersion'
+ Precondition:
+ [*
+ feedback := ApplicationMacroPlanner.HasValidDataset( selection );
+ return feedback = '' and selection.CanCopy( feedback );
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ // Copy scenario
+ owner := GlobalOTDTable;
+ macroplan := MacroPlan;
+ testbusinesstype := "闆嗗洟";
+
+ VersionControl::CopyVersion( owner, testbusinesstype );
+
+ versionname := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 3 );
+ // Copy scenario
+ newscenario := null( Scenario );
+ strategy := null( Strategy );
+
+ data := ScenarioManager.ScenarioNode( relshadow,
+ ScenarioMP,
+ Parent := selection,
+ Name := versionname,
+ SelectedStrategy := selection.SelectedStrategy(),
+ State := selection.State() );
+
+ scenario := data.Parent().astype( ScenarioMP );
+ strategy := data.SelectedStrategy();
+
+ newscenario:= scenario.Copy( data.Parent(), versionname, "",
+ data.Comment(), data.State() );
+
+ newscenario.SelectedStrategy( relset, strategy );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOP.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOP.def
new file mode 100644
index 0000000..79d85e4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOP.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListVersionOfSOP
+{
+ #keys: '[412960.0.134950322]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorVersionOfSOP642
+ {
+ #keys: '[412960.0.134950323]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[VersionStatus]'
+ Source: 'DataHolderVersionOfSOP'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ #child: listActionBarPageVersionOfSOP
+ Component DataSetLevelVersionOfSOP
+ {
+ #keys: '[412960.0.134950328]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuVersionOfSOP
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SortNumber","title":"SortNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SortNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessName","title":"BusinessName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LastVersionName","title":"LastVersionName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LastVersionName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LastReleaseTime","title":"LastReleaseTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LastReleaseTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"LastUser","title":"LastUser","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"LastUser"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Notes","title":"Notes","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Notes"}}]'
+ ContextMenu: 'listContextMenuVersionOfSOP'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOPDetails.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOPDetails.def
new file mode 100644
index 0000000..be02538
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_ListVersionOfSOPDetails.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component ListVersionOfSOPDetails
+{
+ #keys: '[412960.0.142180298]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractorVersionOfSOPDetails
+ {
+ #keys: '[412960.0.142180299]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[VersionStatusDetail]'
+ Source: 'DataHolderVersionOfSOPDetails'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ #child: listActionBarPageVersionOfSOPDetails
+ Component DataSetLevelVersionOfSOPDetails
+ {
+ #keys: '[412960.0.142180304]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenuVersionOfSOPDetails
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SortNumber","title":"SortNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SortNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SingleVersionName","title":"SingleVersionName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SingleVersionName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CreateTime","title":"CreateTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CreateTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReleaseTime","title":"ReleaseTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReleaseTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"User","title":"User","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"User"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Notes","title":"Notes","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Notes"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VersionID","title":"VersionID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VersionID"}}]'
+ ContextMenu: 'listContextMenuVersionOfSOPDetails'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOP.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOP.def
new file mode 100644
index 0000000..d36cfe7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOP.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component PanelVersionOfSOP
+{
+ #keys: '[412960.0.134980204]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListVersionOfSOP
+ ]
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPDetails.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPDetails.def
new file mode 100644
index 0000000..ea7f4ea
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPDetails.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelVersionOfSOPDetails
+{
+ #keys: '[412960.0.140720490]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ #child: ListVersionOfSOPDetails
+ ]
+ Properties:
+ [
+ Description: '浜嬩笟閮ㄥ彂甯冪姸鎬佽鎯卲anel'
+ Taborder: 2
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPHeader.def
new file mode 100644
index 0000000..b99ab6c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_PanelVersionOfSOPHeader.def
@@ -0,0 +1,65 @@
+Quintiq file version 2.0
+Component PanelVersionOfSOPHeader
+{
+ #keys: '[412960.0.137940569]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ButtonVersionOfSOPHeaderFresh
+ {
+ #keys: '[412960.0.138000879]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ ButtonSize: 'compact'
+ Description: '鐢ㄤ簬鍒锋柊鍚勪簨涓氶儴褰撳墠鐗堟湰鍙戝竷鐘舵�佺殑鎸夐挳'
+ Label: '鍒锋柊'
+ Taborder: 1
+ ]
+ }
+ Component ButtonVersionOfSOPHeaderCopy
+ {
+ #keys: '[412960.0.138000890]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ ButtonSize: 'compact'
+ Description: '鐢ㄤ簬澶嶅埗閫変腑鐨勭増鏈叏閲忕増鏈彿鐨勬寜閽�'
+ Label: '鍏ㄩ噺鐗堟湰鍙峰鍒�'
+ Taborder: 2
+ ]
+ }
+ Component ButtonVersionOfSOPHeaderRelease
+ {
+ #keys: '[412960.0.142110396]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ ButtonSize: 'compact'
+ Description: '鍙戝竷涓�涓柊鐗堟湰'
+ Label: '娴嬭瘯鐢ㄧ増鏈彂甯�'
+ Taborder: 3
+ Visible: false
+ ]
+ }
+ Component LabelVersionOfSOPHeader
+ {
+ #keys: '[412960.0.138000861]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Description: '鐗堟湰鍙峰睍绀哄'
+ FixedSize: false
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ Description: '鐢ㄤ簬鏀剧疆琛ㄥご淇℃伅鍙婃寜閽殑panel'
+ FixedSize: true
+ Orientation: 'horizontal'
+ Style: 'header'
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOP.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOP.def
new file mode 100644
index 0000000..b858147
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOP.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageVersionOfSOP
+{
+ #keys: '[412960.0.134950325]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOPDetails.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOPDetails.def
new file mode 100644
index 0000000..1ace6df
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listActionBarPageVersionOfSOPDetails.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageVersionOfSOPDetails
+{
+ #keys: '[412960.0.142180301]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOP.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOP.def
new file mode 100644
index 0000000..bdded9e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOP.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuVersionOfSOP
+{
+ #keys: '[412960.0.134950330]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOPDetails.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOPDetails.def
new file mode 100644
index 0000000..74b47c7
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Component_listContextMenuVersionOfSOPDetails.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenuVersionOfSOPDetails
+{
+ #keys: '[412960.0.142180306]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def
new file mode 100644
index 0000000..ff0fa8b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: PanelVersionOfSOPHeader/ButtonVersionOfSOPHeaderCopy
+Response OnClick () id:Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderCopy_OnClick
+{
+ #keys: '[412960.0.149330244]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ owner := GlobalOTDTable;
+ testbusinesstype := "闆嗗洟";
+ rootversionid := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 2 );
+ dlg := construct( DialogVersionIDCopy );
+ dlg.lblContent().Text( rootversionid );
+ dlg.JustShow();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def
new file mode 100644
index 0000000..d0a18a1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: PanelVersionOfSOPHeader/ButtonVersionOfSOPHeaderFresh
+Response OnClick () id:Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderFresh_OnClick
+{
+ #keys: '[412960.0.133611384]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ owner := GlobalOTDTable;
+ testbusinesstype := "闆嗗洟";
+ //GlobalOTDTable::GetVersionData( owner, testbusinesstype );
+ rootversionid := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 0 );
+ DataExtractorVersionOfSOPDetails.FixedFilter( "object.VersionID().FindString( " + rootversionid.AsQUILL() + ", 0 ) = 0" );
+ rootversionname := VersionControl::GetVersionInfo( owner, testbusinesstype ).Element( 1 );
+ LabelVersionOfSOPHeader.Text( rootversionname );
+ VersionStatus::GetBusinessTypeStatus( owner, rootversionid );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def
new file mode 100644
index 0000000..a3136f5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: PanelVersionOfSOPHeader/ButtonVersionOfSOPHeaderRelease
+Response OnClick () id:Response_PanelVersionOfSOPHeader_ButtonVersionOfSOPHeaderRelease_OnClick
+{
+ #keys: '[412960.0.142110414]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ GroupServerCalls: true
+ QuillAction
+ {
+ Body:
+ [*
+ owner := GlobalOTDTable;
+ macroplan := MacroPlan;
+ testbusinesstype := "闆嗗洟";
+
+ VersionControl::ReleaseNewVersion( owner, testbusinesstype );
+ //GlobalOTDTable::GetOutputVersionData( owner, macroplan, testbusinesstype );
+ *]
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def
new file mode 100644
index 0000000..9a4348d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormVersionOfSOP/_ROOT_Component_FormVersionOfSOP.def
@@ -0,0 +1,82 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormVersionOfSOP
+{
+ #keys: '[412960.0.135200328]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: PanelVersionOfSOP
+ Component DataHolderVersionOfSOP
+ {
+ #keys: '[412960.0.134980222]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[VersionStatus]*'
+ Children:
+ [
+ Component DataExtractorVersionOfSOP
+ {
+ #keys: '[412960.0.134980234]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'GlobalOTDTable'
+ Source: 'GlobalOTDTable'
+ Taborder: 0
+ Transformation: 'VersionStatus'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 3
+ ]
+ }
+ #child: PanelVersionOfSOPHeader
+ #child: PanelVersionOfSOPDetails
+ Component DataHolderVersionOfSOPDetails
+ {
+ #keys: '[412960.0.140750496]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[VersionStatusDetail]*'
+ Children:
+ [
+ Component DataExtractorVersionOfSOPDetails453
+ {
+ #keys: '[412960.0.142212532]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'VersionStatus'
+ ExtractionMode: 'Selected'
+ Source: 'ListVersionOfSOP'
+ Taborder: 0
+ Transformation: 'VersionStatusDetail'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Description: '浜嬩笟閮ㄥ搴旇鎯呮暟鎹�'
+ Taborder: 4
+ ]
+ }
+ Component DataHolderVersionOfSOPCopy
+ {
+ #keys: '[412960.0.166861218]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'shadow[ScenarioMP]*'
+ Properties:
+ [
+ Taborder: 5
+ ]
+ }
+ ]
+ Properties:
+ [
+ Description: 'SOP鐗堟湰鏁版嵁灞曠ず鐣岄潰'
+ Image: 'WINDOW_TIME'
+ Title: 'SOP鍚勪簨涓氶儴鏁版嵁鍚屾鐘舵��'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_Panel261.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_Panel261.def
deleted file mode 100644
index a826c6e..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_Panel261.def
+++ /dev/null
@@ -1,39 +0,0 @@
-Quintiq file version 2.0
-Component Panel261
-{
- #keys: '[414724.0.44249978]'
- BaseType: 'WebPanel'
- Children:
- [
- Component btn_OK_FAAC
- {
- #keys: '[414724.0.44279077]'
- BaseType: 'WebButton'
- Properties:
- [
- Image: 'OK'
- Label: 'OK'
- Taborder: 0
- ]
- }
- Component btn_Cancel_FAAC
- {
- #keys: '[414724.0.44279090]'
- BaseType: 'WebButton'
- Properties:
- [
- Image: 'DELETE'
- Label: 'Cancel'
- Taborder: 1
- ]
- }
- ]
- Properties:
- [
- Alignment: 'trailing'
- Border: true
- FixedSize: true
- Orientation: 'horizontal'
- Taborder: 2
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelOptimizerGeneral718.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelOptimizerGeneral718.def
deleted file mode 100644
index f043a99..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelOptimizerGeneral718.def
+++ /dev/null
@@ -1,39 +0,0 @@
-Quintiq file version 2.0
-Component PanelOptimizerGeneral718
-{
- #keys: '[414724.0.43041017]'
- BaseType => //PanelOptimizerGeneral
- Children:
- [
- Component CheckboxRunPeggingAfterOptRun
- {
- #keys: '[144528.1.1789128457]'
- BaseType => //PanelOptimizerGeneral/CheckboxRunPeggingAfterOptRun
- IsDerived: true
- Properties:
- [
- Visible: false
- ]
- }
- Component EditFieldMinSalesDemandQtyThreshold
- {
- #keys: '[144528.1.1789128515]'
- BaseType => //PanelOptimizerGeneral/EditFieldMinSalesDemandQtyThreshold
- IsDerived: true
- Properties:
- [
- Visible: false
- ]
- }
- Component EditFieldUsagePercentTripCleanup
- {
- #keys: '[144528.1.1789128517]'
- BaseType => //PanelOptimizerGeneral/EditFieldUsagePercentTripCleanup
- IsDerived: true
- Properties:
- [
- Visible: false
- ]
- }
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop.def
deleted file mode 100644
index 49964fc..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop.def
+++ /dev/null
@@ -1,27 +0,0 @@
-Quintiq file version 2.0
-Component PanelTop
-{
- #keys: '[414724.0.43072496]'
- BaseType: 'WebPanel'
- Children:
- [
- Component lb_SKUCode_FAAC
- {
- #keys: '[414724.0.43602743]'
- BaseType: 'WebLabel'
- Properties:
- [
- Label: 'SKU缂栫爜'
- NumberOfColumns: 30
- Taborder: 0
- Text: 'TM070RDH10-2322'
- ]
- }
- ]
- Properties:
- [
- FixedSize: true
- Orientation: 'horizontal'
- Taborder: 1
- ]
-}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop0001\043655.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop0001\043655.def"
deleted file mode 100644
index 9d296a3..0000000
--- "a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop0001\043655.def"
+++ /dev/null
@@ -1,24 +0,0 @@
-Quintiq file version 2.0
-Component PanelTop0001
-{
- #keys: '[414724.0.43233506]'
- BaseType: 'WebPanel'
- Children:
- [
- #child: PanelTop
- #child: PanelTop612
- #child: PanelTop264
- #child: PanelTop597
- #child: PanelTop846
- #child: PanelTop104
- #child: PanelTop360
- #child: PanelTop744
- #child: PanelTop820
- ]
- Properties:
- [
- Border: true
- Style: 'content'
- Taborder: 1
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop104.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop104.def
deleted file mode 100644
index 2d52f9c..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop104.def
+++ /dev/null
@@ -1,28 +0,0 @@
-Quintiq file version 2.0
-Component PanelTop104
-{
- #keys: '[414724.0.43764561]'
- BaseType: 'WebPanel'
- Children:
- [
- Component txt_CustomName_FAAC
- {
- #keys: '[414724.0.43764592]'
- BaseType: 'WebEditField'
- Properties:
- [
- Description: '瀹㈡埛鍚嶇О'
- Label: '瀹㈡埛鍚嶇О'
- NumberOfColumns: 30
- PlaceHolder: '璇疯緭鍏�'
- Taborder: 0
- ]
- }
- ]
- Properties:
- [
- FixedSize: true
- Orientation: 'horizontal'
- Taborder: 7
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop264.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop264.def
deleted file mode 100644
index 9d587c8..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop264.def
+++ /dev/null
@@ -1,28 +0,0 @@
-Quintiq file version 2.0
-Component PanelTop264
-{
- #keys: '[414724.0.43764392]'
- BaseType: 'WebPanel'
- Children:
- [
- Component lb_Util_FAAC
- {
- #keys: '[414724.0.43764416]'
- BaseType: 'WebLabel'
- Properties:
- [
- Description: '鍗曚綅'
- Label: '鍗曚綅'
- NumberOfColumns: 30
- Taborder: 0
- Text: 'PCS'
- ]
- }
- ]
- Properties:
- [
- FixedSize: true
- Orientation: 'horizontal'
- Taborder: 4
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop360.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop360.def
deleted file mode 100644
index 6e7e7dc..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop360.def
+++ /dev/null
@@ -1,29 +0,0 @@
-Quintiq file version 2.0
-Component PanelTop360
-{
- #keys: '[414724.0.43764343]'
- BaseType: 'WebPanel'
- Children:
- [
- Component np_Qty_FAAC
- {
- #keys: '[414724.0.43764374]'
- BaseType: 'WebNumberPicker'
- Properties:
- [
- Label: '鏁伴噺'
- MaximumColumns: 50
- Min: '0'
- NumberOfColumns: 23
- Step: 100
- Taborder: 0
- ]
- }
- ]
- Properties:
- [
- FixedSize: true
- Orientation: 'horizontal'
- Taborder: 3
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop597.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop597.def
deleted file mode 100644
index 861f761..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop597.def
+++ /dev/null
@@ -1,28 +0,0 @@
-Quintiq file version 2.0
-Component PanelTop597
-{
- #keys: '[414724.0.43764439]'
- BaseType: 'WebPanel'
- Children:
- [
- Component ddsl_OperateType_FAAC
- {
- #keys: '[414724.0.44398642]'
- BaseType: 'WebDropDownStringList'
- Properties:
- [
- InitialValue: '鍙嶇'
- Label: '鍔ㄤ綔绫诲瀷'
- NumberOfColumns: 26
- Strings: '鍙嶇;鎺堟潈'
- Taborder: 0
- ]
- }
- ]
- Properties:
- [
- FixedSize: true
- Orientation: 'horizontal'
- Taborder: 5
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop612.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop612.def
deleted file mode 100644
index 855b473..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop612.def
+++ /dev/null
@@ -1,28 +0,0 @@
-Quintiq file version 2.0
-Component PanelTop612
-{
- #keys: '[414724.0.43764662]'
- BaseType: 'WebPanel'
- Children:
- [
- Component lb_Operator_FAAC
- {
- #keys: '[414724.0.43764687]'
- BaseType: 'WebLabel'
- Properties:
- [
- Description: '鎿嶄綔浜�'
- Label: '鎿嶄綔浜�'
- NumberOfColumns: 30
- Taborder: 0
- Text: '鏉庡彲'
- ]
- }
- ]
- Properties:
- [
- FixedSize: true
- Orientation: 'horizontal'
- Taborder: 8
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop744.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop744.def
deleted file mode 100644
index 6408506..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop744.def
+++ /dev/null
@@ -1,27 +0,0 @@
-Quintiq file version 2.0
-Component PanelTop744
-{
- #keys: '[414724.0.43764285]'
- BaseType: 'WebPanel'
- Children:
- [
- Component lb_SKUName_FAAC
- {
- #keys: '[414724.0.43764315]'
- BaseType: 'WebLabel'
- Properties:
- [
- Label: 'SKU鍚嶇О'
- NumberOfColumns: 30
- Taborder: 0
- Text: 'T1鍨嬫ā缁�'
- ]
- }
- ]
- Properties:
- [
- FixedSize: true
- Orientation: 'horizontal'
- Taborder: 2
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop820.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop820.def
deleted file mode 100644
index 8d132dd..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop820.def
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-Component PanelTop820
-{
- #keys: '[414724.0.79122768]'
- BaseType: 'WebPanel'
- Children:
- [
- Component ds_NeedDate
- {
- #keys: '[414724.0.79122804]'
- BaseType: 'WebDateSelector'
- Properties:
- [
- Label: '闇�姹傛棩鏈�'
- Taborder: 0
- ]
- }
- ]
- Properties:
- [
- Taborder: 0
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop846.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop846.def
deleted file mode 100644
index 07e3ec6..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Component_PanelTop846.def
+++ /dev/null
@@ -1,28 +0,0 @@
-Quintiq file version 2.0
-Component PanelTop846
-{
- #keys: '[414724.0.43764508]'
- BaseType: 'WebPanel'
- Children:
- [
- Component txt_CustomID_FAAC
- {
- #keys: '[414724.0.43764542]'
- BaseType: 'WebEditField'
- Properties:
- [
- Label: '瀹㈡埛ID'
- NumberOfColumns: 30
- PlaceHolder: '璇疯緭鍏�'
- Taborder: 0
- ]
- }
- ]
- Properties:
- [
- FixedSize: true
- Orientation: 'horizontal'
- Taborder: 6
- Visible: false
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Response_OnCreated.def
deleted file mode 100644
index e01820f..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Response_OnCreated.def
+++ /dev/null
@@ -1,46 +0,0 @@
-Quintiq file version 2.0
-#parent: #root
-Response OnCreated () id:Response_FrmAuthorizeAndCountersign_OnCreated
-{
- #keys: '[414724.0.80341563]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebComponent_OnCreated'
- QuillAction
- {
- Body:
- [*
- /**********************鑾峰彇涓嬩竴涓懆5鐨勬棩鏈�*******************/
- //瀹氫箟涓嬩竴涓槦鏈�
- nTargetWeenNum := 5;
- nTodayWeekNum := Date::ActualDate().DayOfWeek();
- nAddDays := 0;
- if( nTodayWeekNum <= nTargetWeenNum)
- {
- nAddDays := nTargetWeenNum-nTodayWeekNum;
- }
- else
- {
- nAddDays := 7 - nTodayWeekNum+nTargetWeenNum;
- }
- // 涓嬩竴涓槦鏈熺殑鏃ユ湡
- dtNeedDate := Date::ActualDate() + nAddDays;
- /******************************鑾峰彇涓嬩竴涓懆5鐨勬棩鏈� 缁撴潫***********************/
- ds_NeedDate.Date(dtNeedDate);
-
- // 鑾峰彇閫夋嫨鍚庣殑SKU
- SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect");
- if(not isnull( SelectItem) and SelectItem.Value().Length()>0)
- {
- StrValue := SelectItem.Value().Tokenize( ";");
- lb_SKUCode_FAAC.Text(StrValue.Element( 0));
- lb_SKUName_FAAC.Text("浜у搧");
- lb_Operator_FAAC.Text("");
- lb_Util_FAAC.Text(StrValue.Element( 1));
- txt_CustomID_FAAC.Text(StrValue.Element( 2));
- txt_CustomName_FAAC.Text(StrValue.Element( 3));
- lb_Operator_FAAC.Text(ApplicationMacroPlanner.GetUserName());
- }
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Response_Panel261_btn_Cancel_FAAC_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Response_Panel261_btn_Cancel_FAAC_OnClick.def
deleted file mode 100644
index 353774e..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Response_Panel261_btn_Cancel_FAAC_OnClick.def
+++ /dev/null
@@ -1,16 +0,0 @@
-Quintiq file version 2.0
-#parent: Panel261/btn_Cancel_FAAC
-Response OnClick () id:Response_Panel261_btn_Cancel_FAAC_OnClick
-{
- #keys: '[414724.0.90212874]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- GroupServerCalls: true
- QuillAction
- {
- Body:
- [*
- FrmAuthorizeAndCountersign.Close();
- *]
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Response_Panel261_btn_OK_FAAC_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Response_Panel261_btn_OK_FAAC_OnClick.def
deleted file mode 100644
index c34f055..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/Response_Panel261_btn_OK_FAAC_OnClick.def
+++ /dev/null
@@ -1,44 +0,0 @@
-Quintiq file version 2.0
-#parent: Panel261/btn_OK_FAAC
-Response OnClick () id:Response_Panel261_btn_OK_FAAC_OnClick
-{
- #keys: '[414724.0.56302031]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- Precondition:
- [*
- return not isnull( MacroPlan);
- *]
- QuillAction
- {
- Body:
- [*
- strQty := np_Qty_FAAC.Number().AsQUILL();
- Qty := 0;
- if( strQty.FindString( ".",0)>0)
- {
- Qty := [Number]strQty.SubString( 0,strQty.FindString( ".",0));
- }
- else
- {
- Qty := [Number]strQty;
- }
- OperateMsg :="";
- OperateResult := H_FunctionClass::SM_OrderReverseOrAuthorize( MacroPlan,lb_Util_FAAC.Text() ,"-",ds_NeedDate.Date() ,txt_CustomID_FAAC.Text(),lb_SKUCode_FAAC.Text(),Qty,
- lb_Operator_FAAC.Text(),txt_CustomName_FAAC.Text(),OperateMsg,ddsl_OperateType_FAAC.Text());
-
- if( OperateMsg.Length()>0)
- {
- if( OperateResult)
- {
- WebMessageBox::Success( OperateMsg);
- }
- else
- {
- WebMessageBox::Warning( OperateMsg);
- }
- }
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/_ROOT_Component_FrmAuthorizeAndCountersign.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/_ROOT_Component_FrmAuthorizeAndCountersign.def
deleted file mode 100644
index 69e5e49..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign/_ROOT_Component_FrmAuthorizeAndCountersign.def
+++ /dev/null
@@ -1,30 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: MacroPlannerWebApp
-OrphanComponent FrmAuthorizeAndCountersign
-{
- #keys: '[414724.0.41821648]'
- BaseType: 'WebForm'
- Children:
- [
- Component lb_Title_FRMAAC
- {
- #keys: '[414724.0.41841127]'
- BaseType: 'WebLabel'
- Properties:
- [
- Description: '璁㈠崟鍙嶆綔鎺堟潈鏂板椤�'
- Taborder: 0
- Text: '璁㈠崟鍙嶇鎺堟潈鏂板椤�'
- ]
- }
- #child: PanelTop0001
- #child: Panel261
- ]
- Properties:
- [
- Description: '璁㈠崟鎺堟潈鍜屽弽绛�'
- Image: 'DOCUMENTS_NEW'
- Title: '璁㈠崟鍙嶇鎺堟潈鏂板椤�'
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Material/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Material/Response_OnCreated.def
index c03f661..a76472b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Material/Response_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Material/Response_OnCreated.def
@@ -15,13 +15,16 @@
[*
// 鑾峰彇閫夋嫨鍚庣殑SKU
SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmMaterial" and Obj.ItemKey()="ListSelect");
- if(not isnull( SelectItem) and SelectItem.Value().Length()>0)
+ if(not isnull( SelectItem))
{
- StrValue := SelectItem.Value().Tokenize( ";");
- lb_SUK_FAACM.Text(StrValue.Element( 0));
- lb_MaterialCode_FAACM.Text(StrValue.Element( 1));
- lb_Unit_FAACM.Text(StrValue.Element( 2));
- lb_Operator_FAACM.Text(ApplicationMacroPlanner.GetUserName());
+ if(SelectItem.Value().Length()>0)
+ {
+ StrValue := SelectItem.Value().Tokenize( ";");
+ lb_SUK_FAACM.Text(StrValue.Element( 0));
+ lb_MaterialCode_FAACM.Text(StrValue.Element( 1));
+ lb_Unit_FAACM.Text(StrValue.Element( 2));
+ lb_Operator_FAACM.Text(ApplicationMacroPlanner.GetUserName());
+ }
}
// 鑾峰彇閫夋嫨鍚庣殑SKU
SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect");
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Material/_ROOT_Component_FrmAuthorizeAndCountersign_Material.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Material/_ROOT_Component_FrmAuthorizeAndCountersign_Material.def
index 748bae7..97ec858 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Material/_ROOT_Component_FrmAuthorizeAndCountersign_Material.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Material/_ROOT_Component_FrmAuthorizeAndCountersign_Material.def
@@ -24,6 +24,7 @@
Properties:
[
Description: '鍘熸潗鏂欏崐鎴愬搧鍙嶇鎺堟潈鏂板椤�'
+ Image: 'NAV_REDO_LIGHT_BLUE'
Title: '鍘熸潗鏂欏崐鎴愬搧鍙嶇鎺堟潈鏂板椤�'
]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_Panel261\043223.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_Panel261\043223.def"
new file mode 100644
index 0000000..265489a
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_Panel261\043223.def"
@@ -0,0 +1,39 @@
+Quintiq file version 2.0
+Component Panel261 id:Panel261_223
+{
+ #keys: '[414724.0.117732107]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btn_OK_FAAC
+ {
+ #keys: '[414724.0.117732108]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'OK'
+ Label: 'OK'
+ Taborder: 0
+ ]
+ }
+ Component btn_Cancel_FAAC
+ {
+ #keys: '[414724.0.117732109]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'DELETE'
+ Label: 'Cancel'
+ Taborder: 1
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ Border: true
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 10
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_Panel796.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_Panel796.def
new file mode 100644
index 0000000..c14c1c2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_Panel796.def
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+Component Panel796
+{
+ #keys: '[414724.0.116871632]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component Label417
+ {
+ #keys: '[414724.0.115502113]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Description: '璁㈠崟鍙嶆綔鎺堟潈鏂板椤�'
+ Taborder: 0
+ Text: '璁㈠崟鍙嶆綔鎺堟潈鏂板椤�'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Border: true
+ FixedSize: true
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_Panel989.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_Panel989.def
new file mode 100644
index 0000000..843fb81
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_Panel989.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+Component Panel989
+{
+ #keys: '[414724.0.115531444]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ds_NeedDate id:ds_NeedDate_456
+ {
+ #keys: '[414724.0.117731536]'
+ BaseType: 'WebDateSelector'
+ Properties:
+ [
+ Label: '闇�姹傛棩鏈�'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Taborder: 1
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop\043217.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop\043217.def"
new file mode 100644
index 0000000..430b7a1
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop\043217.def"
@@ -0,0 +1,27 @@
+Quintiq file version 2.0
+Component PanelTop id:PanelTop_217
+{
+ #keys: '[414724.0.117731595]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component lb_SKUCode_FAAC
+ {
+ #keys: '[414724.0.117731596]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: 'SKU缂栫爜'
+ NumberOfColumns: 30
+ Taborder: 0
+ Text: 'TM070RDH10-2322'
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 2
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop104\043150.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop104\043150.def"
new file mode 100644
index 0000000..d4b262c
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop104\043150.def"
@@ -0,0 +1,30 @@
+Quintiq file version 2.0
+Component PanelTop104 id:PanelTop104_150
+{
+ #keys: '[414724.0.117731993]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component txt_CustomName_FAAC
+ {
+ #keys: '[414724.0.117731994]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ Description: '瀹㈡埛鍚嶇О'
+ Enabled: false
+ Label: '瀹㈡埛鍚嶇О'
+ NumberOfColumns: 30
+ PlaceHolder: '璇疯緭鍏�'
+ ReadOnly: true
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 8
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop264\04319.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop264\04319.def"
new file mode 100644
index 0000000..5867a16
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop264\04319.def"
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+Component PanelTop264 id:PanelTop264_19
+{
+ #keys: '[414724.0.117731831]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component lb_Util_FAAC
+ {
+ #keys: '[414724.0.117731832]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Description: '鍗曚綅'
+ Label: '鍗曚綅'
+ NumberOfColumns: 30
+ Taborder: 0
+ Text: 'PCS'
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 5
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop360\043136.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop360\043136.def"
new file mode 100644
index 0000000..c090ecc
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop360\043136.def"
@@ -0,0 +1,29 @@
+Quintiq file version 2.0
+Component PanelTop360 id:PanelTop360_136
+{
+ #keys: '[414724.0.117731775]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component np_Qty_FAAC
+ {
+ #keys: '[414724.0.117731776]'
+ BaseType: 'WebNumberPicker'
+ Properties:
+ [
+ Label: '鏁伴噺'
+ MaximumColumns: 50
+ Min: '0'
+ NumberOfColumns: 23
+ Step: 100
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 4
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop597\043324.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop597\043324.def"
new file mode 100644
index 0000000..9a7965f
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop597\043324.def"
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+Component PanelTop597 id:PanelTop597_324
+{
+ #keys: '[414724.0.117731885]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ddsl_OperateType_FAAC
+ {
+ #keys: '[414724.0.117731886]'
+ BaseType: 'WebDropDownStringList'
+ Properties:
+ [
+ InitialValue: '鍙嶇'
+ Label: '鍔ㄤ綔绫诲瀷'
+ NumberOfColumns: 26
+ Strings: '鍙嶇;鎺堟潈'
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 6
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop612\043612.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop612\043612.def"
new file mode 100644
index 0000000..8b3d242
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop612\043612.def"
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+Component PanelTop612 id:PanelTop612_612
+{
+ #keys: '[414724.0.117732047]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component lb_Operator_FAAC
+ {
+ #keys: '[414724.0.117732048]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Description: '鎿嶄綔浜�'
+ Label: '鎿嶄綔浜�'
+ NumberOfColumns: 30
+ Taborder: 0
+ Text: '鏉庡彲'
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 9
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop744\043568.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop744\043568.def"
new file mode 100644
index 0000000..586a39f
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop744\043568.def"
@@ -0,0 +1,27 @@
+Quintiq file version 2.0
+Component PanelTop744 id:PanelTop744_568
+{
+ #keys: '[414724.0.117731719]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component lb_SKUName_FAAC
+ {
+ #keys: '[414724.0.117731720]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Label: 'SKU鍚嶇О'
+ NumberOfColumns: 30
+ Taborder: 0
+ Text: 'T1鍨嬫ā缁�'
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 3
+ ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop846\043618.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop846\043618.def"
new file mode 100644
index 0000000..ae982c7
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Component_PanelTop846\043618.def"
@@ -0,0 +1,30 @@
+Quintiq file version 2.0
+Component PanelTop846 id:PanelTop846_618
+{
+ #keys: '[414724.0.117731939]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component txt_CustomID_FAAC
+ {
+ #keys: '[414724.0.117731940]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ Enabled: false
+ Label: '瀹㈡埛ID'
+ NumberOfColumns: 30
+ PlaceHolder: '璇疯緭鍏�'
+ ReadOnly: true
+ Taborder: 0
+ ]
+ }
+ ]
+ Properties:
+ [
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 7
+ Visible: false
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_OnCreated.def
new file mode 100644
index 0000000..7c4d5f5
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_OnCreated.def
@@ -0,0 +1,43 @@
+Quintiq file version 2.0
+#parent: #root
+Response OnCreated () id:Response_FrmAuthorizeAndCountersign_Order_OnCreated
+{
+ #keys: '[414724.0.117762728]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ // 闇�姹傛棩鏈燂紝榛樿涓嬩竴涓槦鏈熶簲
+ ds_NeedDate.Date(H_FunctionClass::SM_GetNextFriday());
+
+ // 鑾峰彇閫夋嫨鍚庣殑SKU
+ SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect");
+ if(not isnull( SelectItem))
+ {
+ if(SelectItem.ValueJsonString().Length()>0)
+ {
+ // 寰楀埌閫変腑鐨勯娴嬭鍗�
+ SelForecast := JSON::Parse( SelectItem.ValueJsonString());
+ lb_SKUCode_FAAC.Text(SelForecast.Get( "SKU").GetString());
+ lb_SKUName_FAAC.Text("浜у搧");
+ lb_Util_FAAC.Text(SelForecast.Get( "Util").GetString());
+ txt_CustomID_FAAC.Text(SelForecast.Get( "CustomCode").GetString());
+ txt_CustomName_FAAC.Text(SelForecast.Get( "CustomName").GetString());
+ lb_Operator_FAAC.Text(ApplicationMacroPlanner.GetUserName());
+
+ // StrValue := SelectItem.Value().Tokenize( ";");
+ // lb_SKUCode_FAAC.Text(StrValue.Element( 0));
+ // lb_SKUName_FAAC.Text("浜у搧");
+ // lb_Operator_FAAC.Text("");
+ // lb_Util_FAAC.Text(StrValue.Element( 1));
+ // txt_CustomID_FAAC.Text(StrValue.Element( 2));
+ // txt_CustomName_FAAC.Text(StrValue.Element( 3));
+ // lb_Operator_FAAC.Text(ApplicationMacroPlanner.GetUserName());
+ }
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_Panel261_223_btn_Cancel_FAAC_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_Panel261_223_btn_Cancel_FAAC_OnClick.def
new file mode 100644
index 0000000..f6e1d12
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_Panel261_223_btn_Cancel_FAAC_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: Panel261_223/btn_Cancel_FAAC
+Response OnClick () id:Response_Panel261_223_btn_Cancel_FAAC_OnClick
+{
+ #keys: '[414724.0.117732105]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ FrmAuthorizeAndCountersign_Order.Close();
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_Panel261_223_btn_OK_FAAC_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_Panel261_223_btn_OK_FAAC_OnClick.def
new file mode 100644
index 0000000..fbcc28f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_Panel261_223_btn_OK_FAAC_OnClick.def
@@ -0,0 +1,37 @@
+Quintiq file version 2.0
+#parent: Panel261_223/btn_OK_FAAC
+Response OnClick () id:Response_Panel261_223_btn_OK_FAAC_OnClick
+{
+ #keys: '[414724.0.117732106]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ Precondition:
+ [*
+ return not isnull( MacroPlan);
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ // 鏁伴噺
+ Qty := [Number]np_Qty_FAAC.Number().Round( 0);
+ OperateMsg :="";
+ OperateResult := H_FunctionClass::SM_OrderReverseOrAuthorize( MacroPlan,lb_Util_FAAC.Text() ,"-",ds_NeedDate.Date() ,txt_CustomID_FAAC.Text(),lb_SKUCode_FAAC.Text(),Qty,
+ lb_Operator_FAAC.Text(),txt_CustomName_FAAC.Text(),OperateMsg,ddsl_OperateType_FAAC.Text());
+
+ if( OperateResult)
+ {
+ FrmAuthorizeAndCountersign_Order.Close();
+ if( OperateMsg.Length()>0)
+ {
+ WebMessageBox::Success( OperateMsg);
+ }
+ }
+ else
+ {
+ WebMessageBox::Warning( OperateMsg);
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/_ROOT_Component_FrmAuthorizeAndCountersign_Order.def b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/_ROOT_Component_FrmAuthorizeAndCountersign_Order.def
new file mode 100644
index 0000000..83cde43
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/_ROOT_Component_FrmAuthorizeAndCountersign_Order.def
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FrmAuthorizeAndCountersign_Order
+{
+ #keys: '[414724.0.115523082]'
+ BaseType: 'WebForm'
+ Children:
+ [
+ #child: Panel796
+ #child: Panel989
+ #child: PanelTop_217
+ #child: PanelTop744_568
+ #child: PanelTop360_136
+ #child: PanelTop264_19
+ #child: PanelTop597_324
+ #child: PanelTop846_618
+ #child: PanelTop104_150
+ #child: PanelTop612_612
+ #child: Panel261_223
+ ]
+ Properties:
+ [
+ Description: '鍘熸潗鏂欏崐鎴愬搧鍙嶇鎺堟潈鏂板椤�'
+ Image: 'NAV_REDO_LIGHT_BLUE'
+ Title: '璁㈠崟鍙嶇鎺堟潈鏂板椤�'
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Component_Panel418.def b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Component_Panel418.def
index 987148b..efb0178 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Component_Panel418.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Component_Panel418.def
@@ -48,6 +48,23 @@
Label: '鏂板鍙嶇/鎺堟潈'
Taborder: 3
]
+ ResponseDefinitions:
+ [
+ ResponseDefinition OnClick id:Responsedef_Panel418_btn_Add_FM_OnClick
+ {
+ #keys: '[414724.0.145266825]'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[271.0.74853915]'
+ Binding: 'List832.Selection()'
+ }
+ ]
+ }
+ ]
}
]
Properties:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_OnCreated.def
index 1704689..04a54ea 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_OnCreated.def
@@ -2,20 +2,25 @@
#parent: #root
Response OnCreated () id:Response_FrmMaterial_OnCreated
{
- #keys: '[414724.0.93205703]'
+ #keys: '[414724.0.118802220]'
CanBindMultiple: false
DefinitionID: 'Responsedef_WebComponent_OnCreated'
QuillAction
{
Body:
[*
+ txtSaveForecastData_FM.Text("");
// 鑾峰彇閫夋嫨鍚庣殑SKU
SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect");
- if(not isnull( SelectItem) and SelectItem.Value().Length()>0)
+ if(not isnull( SelectItem))
{
- StrValue := SelectItem.Value().Tokenize( ";");
- lb_SUK_FM.Text(StrValue.Element( 0));
- de_dh_FM_ProductMP.FixedFilter( "object.ParentID()="+lb_SUK_FM.Text());
+ if( SelectItem.ValueJsonString().Length()>0)
+ {
+ txtSaveForecastData_FM.Text( SelectItem.ValueJsonString());
+ JSelect := JSON::Parse( SelectItem.ValueJsonString());
+ lb_SUK_FM.Text(JSelect.Get( "SKU").GetString());
+ de_dh_FM_ProductMP.FixedFilter( "object.ID() = " + JSelect.Get( "SKU").GetString().AsQUILL());
+ }
}
*]
GroupServerCalls: false
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_Panel418_btn_Add_FM_OnClick\043975.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_Panel418_btn_Add_FM_OnClick\043975.def"
new file mode 100644
index 0000000..0912867
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_Panel418_btn_Add_FM_OnClick\043975.def"
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: Panel418/btn_Add_FM
+Response OnClick () id:Response_Panel418_btn_Add_FM_OnClick_975
+{
+ #keys: '[414724.0.145238844]'
+ CanBindMultiple: false
+ DefinitionID => /Panel418/Responsedef_Panel418_btn_Add_FM_OnClick
+ Precondition:
+ [*
+ return not isnull( MacroPlan);
+ *]
+ QuillAction
+ {
+ Body:
+ [*
+ SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmMaterial" and Obj.ItemKey()="ListSelect");
+ if( isnull( SelectItem))
+ {
+ MacroPlan.H_MessagePassing(relnew,FKey :="FrmMaterial",ItemKey := "ListSelect",Value := "");
+ }
+ else
+ {
+ //SelectItem.ValueJsonString()
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_Panel418_btn_Add_FM_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_Panel418_btn_Add_FM_OnClick.def
index 6d50114..75a8322 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_Panel418_btn_Add_FM_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/Response_Panel418_btn_Add_FM_OnClick.def
@@ -13,7 +13,7 @@
{
Body:
[*
- Application.OpenForm( "FrmAuthorizeAndCountersign_Material","popout");
+ Application.OpenForm( "FrmAuthorizeAndCountersign_Material","modal");
*]
GroupServerCalls: false
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/_ROOT_Component_FrmMaterial.def b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/_ROOT_Component_FrmMaterial.def
index 899892b..a356ac2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/_ROOT_Component_FrmMaterial.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmMaterial/_ROOT_Component_FrmMaterial.def
@@ -35,10 +35,25 @@
Taborder: 2
]
}
+ Component txtSaveForecastData_FM
+ {
+ #keys: '[414724.0.143737386]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ Description: '瀛樺偍鎵�閫夌墿鏂欎俊鎭�'
+ Enabled: false
+ ReadOnly: true
+ Taborder: 4
+ Visible: false
+ ]
+ }
]
Properties:
[
Description: '鍘熸枡鍒楄〃椤�'
+ Image: 'NAV_REDO_LIGHT_BLUE'
+ MinimumRows: 50
Title: '鍘熸枡鍒楄〃椤�'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel351.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel351.def
new file mode 100644
index 0000000..8801397
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel351.def
@@ -0,0 +1,84 @@
+Quintiq file version 2.0
+Component Panel351
+{
+ #keys: '[414724.0.115504403]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component btn_Add_Order_FOF449
+ {
+ #keys: '[414724.0.115504404]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Description: '璁㈠崟鏂板鍙嶇/鎺堟潈'
+ Label: '璁㈠崟鏂板鍙嶇/鎺堟潈'
+ Taborder: 1
+ ]
+ ResponseDefinitions:
+ [
+ ResponseDefinition OnClick id:Responsedef_Panel351_btn_Add_Order_FOF449_OnClick
+ {
+ #keys: '[414724.0.141224456]'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[271.0.41037309]'
+ Binding: 'liH_Forecast.Selection()'
+ }
+ ]
+ }
+ ]
+ }
+ Component btn_Add_Material_FOF503
+ {
+ #keys: '[414724.0.115504405]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Description: '鍘熸枡鏂板鍙嶇/鎺堟潈'
+ Label: '鍘熸枡鏂板鍙嶇/鎺堟潈'
+ Taborder: 2
+ ]
+ ResponseDefinitions:
+ [
+ ResponseDefinition OnClick id:Responsedef_Panel351_btn_Add_Material_FOF503_OnClick
+ {
+ #keys: '[414724.0.145304022]'
+ IsInherited: false
+ ResponseType: 'OnClick'
+ Arguments:
+ [
+ ResponseDefinitionArgument selection
+ {
+ #keys: '[271.0.68431130]'
+ Binding: 'liH_Forecast.Selection()'
+ }
+ ]
+ }
+ ]
+ }
+ Component btn_InitialData778
+ {
+ #keys: '[414724.0.115504406]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Description: '鍔犺浇鏁版嵁锛堝亣鐨勶紝鍚庣画闇�瑕佸鎺ユ暟鎹級'
+ Label: '鍔犺浇棰勬祴璁㈠崟鏁版嵁'
+ Taborder: 0
+ Visible: false
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel383.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel383.def
index a5ffa10..ff6b8ad 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel383.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel383.def
@@ -48,5 +48,6 @@
MinimumColumns: 80
Orientation: 'horizontal'
Taborder: 0
+ Visible: false
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel647.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel647.def
index 9fb6eb2..7b147ac 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel647.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel647.def
@@ -36,6 +36,7 @@
Description: '鍔犺浇鏁版嵁锛堝亣鐨勶紝鍚庣画闇�瑕佸鎺ユ暟鎹級'
Label: '鍔犺浇棰勬祴璁㈠崟鏁版嵁'
Taborder: 0
+ Visible: false
]
}
]
@@ -43,7 +44,6 @@
[
Alignment: 'trailing'
FixedSize: true
- MinimumColumns: 20
Orientation: 'horizontal'
Taborder: 1
]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel849.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel849.def
index 46d28e9..35b07f6 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel849.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_Panel849.def
@@ -10,8 +10,10 @@
]
Properties:
[
+ Description: '宸茬粡闅愯棌锛屾殏鏈娇鐢�'
FixedSize: true
Orientation: 'horizontal'
- Taborder: 1
+ Taborder: 2
+ Visible: false
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_liH_Forecast.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_liH_Forecast.def
index bc95d75..e056848 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_liH_Forecast.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_liH_Forecast.def
@@ -28,7 +28,7 @@
]
Properties:
[
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderCode","title":"OrderCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SKU","title":"SKU","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SKU"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecastQty","title":"ForecastQty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ForecastQty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NeedTime","title":"NeedTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NeedTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Util","title":"Util","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Util"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomName","title":"CustomName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Department","title":"Department","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Department"}}]'
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderCode","title":"璁㈠崟缂栧彿","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SKU","title":"SKU缂栫爜","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SKU"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecastQty","title":"棰勬祴鏁伴噺","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ForecastQty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NeedTime","title":"闇�姹傛椂闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"NeedTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Util","title":"鍗曚綅","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Util"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomName","title":"瀹㈡埛鍚嶇О","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Department","title":"閿�鍞儴闂�","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Department"}}]'
ContextMenu: 'listContextMenu367'
Taborder: 2
]
@@ -36,6 +36,6 @@
]
Properties:
[
- Taborder: 6
+ Taborder: 7
]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_list_ForecastView_FOF\043670.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_list_ForecastView_FOF\043670.def"
index 4104d43..0c21175 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_list_ForecastView_FOF\043670.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Component_list_ForecastView_FOF\043670.def"
@@ -37,7 +37,7 @@
]
Properties:
[
- Taborder: 4
+ Taborder: 5
Visible: false
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnClose.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnClose.def
index 9800a96..29988bb 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnClose.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnClose.def
@@ -13,7 +13,8 @@
SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect");
if( not isnull( SelectItem))
{
- SelectItem.Value("");
+ SelectItem.Value("");
+ SelectItem.ValueJsonString("");
}
*]
GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnCreated.def
index 4991801..5cb899a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_OnCreated.def
@@ -11,41 +11,12 @@
[*
// 鍒濆鍖栨煡璇㈠弬鏁版湀浠�
ds_Month_FOF.Date(Date::ActualDate());
- // 棰勬祴鏁版嵁2姝ゅ鐞嗭紙绛涢��+瀹㈡埛鍚嶇О鎻愬彇锛�
- if( MacroPlan.H_Forecast(relget ).Size()>0)
+ // 鍒濆鍖栭娴嬫暟鎹�
+ JResult := H_FunctionClass::SM_InitialForcastData( MacroPlan);
+ if(not JResult.Get( "Status").GetBoolean())
{
- MacroPlan.H_Forecast(relget ).Delete( 0,MacroPlan.H_Forecast(relget ).Size()-1);
+ WebMessageBox::Warning( JResult.Get( "Msg").GetString());
}
- //AllData:= selectset( MacroPlan, Product_MP.SalesDemand.astype( Forecast ),object,object.EndDate().DateTime().Date() >= Date::ActualDate().StartOfMonth()
- // and object.EndDate().DateTime().Date() <= Date::ActualDate().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth().StartOfNextMonth()
- // and object.Quantity()>0 );
- //
- //CustomName:="";
- //DepartMent:="";
- //idx:=0;
- //traverse( AllData,Elements,Obj,not isnull(Obj))
- //{
- // idx:=Obj.SalesSegmentName().FindString( "_",0);
- // if(idx>0)
- // {
- // DepartMent:=Obj.SalesSegmentName().SubString( 0,idx+1);
- // CustomName := Obj.SalesSegmentName().SubString( idx+1, Obj.SalesSegmentName().Length() - (idx+1));
- // }
- // else
- // {
- // CustomName :=Obj.SalesSegmentName();
- // }
- //
- // ArrayData:=Obj.SalesSegmentName().SubString( 0,Obj.SalesSegmentName().FindString( "_",0)+1);
- // MacroPlan.H_Forecast(relnew,OrderCode := H_FunctionClass::SM_GenerateID( "OF"),
- // SKU := Obj.ProductID(),
- // CustomCode := CustomName,
- // CustomName := CustomName,
- // Util:=Obj.UnitOfMeasureName(),
- // NeedTime:=Obj.EndDate(),
- // ForecastQty:=[Number]Obj.Quantity().Round( 0),
- // Department:=DepartMent);
- //}
*]
GroupServerCalls: false
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Material_FOF503_OnClick\043222.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Material_FOF503_OnClick\043222.def"
new file mode 100644
index 0000000..7f7d6a1
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Material_FOF503_OnClick\043222.def"
@@ -0,0 +1,43 @@
+Quintiq file version 2.0
+#parent: Panel351/btn_Add_Material_FOF503
+Response OnClick (
+ H_Forecast selection
+) id:Response_Panel351_btn_Add_Material_FOF503_OnClick_222
+{
+ #keys: '[414724.0.145178766]'
+ CanBindMultiple: false
+ DefinitionID => /Panel351/Responsedef_Panel351_btn_Add_Material_FOF503_OnClick
+ QuillAction
+ {
+ Body:
+ [*
+ if( not isnull( selection))
+ {
+ SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect");
+ if( isnull( SelectItem))
+ {
+ MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect",
+ Value := selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName(),
+ ValueJsonString := JSON::Object().Add( "SKU",selection.SKU())
+ .Add( "Util",selection.Util())
+ .Add( "CustomCode",selection.CustomCode())
+ .Add( "CustomName",selection.CustomName()).Build().AsString());
+ }
+ else
+ {
+ SelectItem.Value(selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName());
+ SelectItem.ValueJsonString(JSON::Object().Add( "SKU",selection.SKU())
+ .Add( "Util",selection.Util())
+ .Add( "CustomCode",selection.CustomCode())
+ .Add( "CustomName",selection.CustomName()).Build().AsString());
+ }
+ Application.OpenForm( "FrmMaterial","popout");
+ }
+ else
+ {
+ WebMessageBox::Information( "璇烽�夋嫨涓�椤归娴嬪悗鍐嶇偣鍑绘寜閽紒");
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Order_FOF449_OnClick\043880.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Order_FOF449_OnClick\043880.def"
new file mode 100644
index 0000000..bf1f99c
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_Add_Order_FOF449_OnClick\043880.def"
@@ -0,0 +1,43 @@
+Quintiq file version 2.0
+#parent: Panel351/btn_Add_Order_FOF449
+Response OnClick (
+ H_Forecast selection
+) id:Response_Panel351_btn_Add_Order_FOF449_OnClick_880
+{
+ #keys: '[414724.0.141244111]'
+ CanBindMultiple: false
+ DefinitionID => /Panel351/Responsedef_Panel351_btn_Add_Order_FOF449_OnClick
+ QuillAction
+ {
+ Body:
+ [*
+ if( not isnull( selection))
+ {
+ SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect");
+ if( isnull( SelectItem))
+ {
+ MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect",
+ Value := selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName(),
+ ValueJsonString := JSON::Object().Add( "SKU",selection.SKU())
+ .Add( "Util",selection.Util())
+ .Add( "CustomCode",selection.CustomCode())
+ .Add( "CustomName",selection.CustomName()).Build().AsString());
+ }
+ else
+ {
+ SelectItem.Value(selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName());
+ SelectItem.ValueJsonString(JSON::Object().Add( "SKU",selection.SKU())
+ .Add( "Util",selection.Util())
+ .Add( "CustomCode",selection.CustomCode())
+ .Add( "CustomName",selection.CustomName()).Build().AsString());
+ }
+ Application.OpenForm( "FrmAuthorizeAndCountersign_Order","modal");
+ }
+ else
+ {
+ WebMessageBox::Information( "璇烽�夋嫨涓�椤归娴嬪悗鍐嶇偣鍑绘寜閽紒");
+ }
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_InitialData778_OnClick\043971.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_InitialData778_OnClick\043971.def"
new file mode 100644
index 0000000..7ec4937
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel351_btn_InitialData778_OnClick\043971.def"
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+#parent: Panel351/btn_InitialData778
+Response OnClick () id:Response_Panel351_btn_InitialData778_OnClick_971
+{
+ #keys: '[414724.0.141222418]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ //// 娌℃湁鐢ㄧ殑鎸夐挳鍜屽嚱鏁帮紝鍙负浜嗘祴璇曠敓鎴愬亣鏁版嵁銆�
+ //StrCustoms:="XM_2023,灏忕背;HW_2023,鍗庝负;OV_2023,VIVO;OP_2023,OPPO;HX_2023,娴蜂俊;YJ_2023,涓�鍔�;HE_2023,娴峰皵;GL_2023,鏍煎姏;";
+ //ArrayCustom := StrCustoms.Tokenize( ";"); //8涓鎴�
+ //idx :=0;
+ //for( i:=0;i<20;i:=i+1)
+ //{
+ // idx :=Number::Random( 0,7);
+ // arrCustomInfo := ArrayCustom.Element( idx).Tokenize( ",");
+ // MacroPlan.H_Forecast(relnew, CustomName := arrCustomInfo.Element( 1),CustomCode := arrCustomInfo.Element( 0),ForecastQty := Number::Random( 100,5000),
+ // Department := "閿�鍞�1閮�",NeedTime := Date::ActualDate(),OrderCode := H_FunctionClass::SM_GenerateID( "OF") ,SKU := "SKU-CP-2023-N"+(Number::Random( 1000,9999)).AsQUILL(),Util := "PCS");
+ //
+ //}
+ //// 鐢熸垚棰勬祴 瀹炴椂鏁版嵁锛屽弽绛炬暟鎹紝鎺堟潈鏁版嵁锛堝弽绛� 鎺堟潈榛樿涓�0锛屽鑷姩鍒涘缓锛岃繖閲屼笉鍐嶆坊鍔狅級
+ // traverse(MacroPlan,H_Forecast ,Obj,not isnull(Obj) )
+ //{
+ // MacroPlan.H_OrderForecastRealQty(relnew,CustomID := Obj.CustomCode(),CustomName := Obj.CustomName(),ForecatsQty := Obj.ForecastQty(),
+ // ForecatsRealQty := Obj.ForecastQty(),ID := H_FunctionClass::SM_GenerateID( "OF"),Month := Date::ActualDate(),
+ // OrderCode := Obj.OrderCode(),SKU := Obj.SKU(),Unit := Obj.Util());
+ //
+ //}
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_Add_Order_FOF_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_Add_Order_FOF_OnClick.def
index dae89b3..82c16f5 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_Add_Order_FOF_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_Panel647_btn_Add_Order_FOF_OnClick.def
@@ -16,7 +16,7 @@
SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect");
if(not isnull( SelectItem) and SelectItem.Value().Length()>0)
{
- Application.OpenForm( "FrmAuthorizeAndCountersign","popout");
+ Application.OpenForm( "FrmAuthorizeAndCountersign_Order","popout");
}
else
{
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnDoubleClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnDoubleClick.def
index 0fbfea6..4333154 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnDoubleClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnDoubleClick.def
@@ -14,9 +14,21 @@
SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect");
if( isnull( SelectItem))
{
- MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect",Value := "");
+ MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect",
+ Value := selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName(),
+ ValueJsonString := JSON::Object().Add( "SKU",selection.SKU())
+ .Add( "Util",selection.Util())
+ .Add( "CustomCode",selection.CustomCode())
+ .Add( "CustomName",selection.CustomName()).Build().AsString());
}
- SelectItem.Value(selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName());
+ else
+ {
+ SelectItem.Value(selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName());
+ SelectItem.ValueJsonString(JSON::Object().Add( "SKU",selection.SKU())
+ .Add( "Util",selection.Util())
+ .Add( "CustomCode",selection.CustomCode())
+ .Add( "CustomName",selection.CustomName()).Build().AsString());
+ }
Application.OpenForm( "FrmMaterial","popout");
*]
GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnSelectionChanged.def
deleted file mode 100644
index 7f12e18..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/Response_liH_Forecast_OnSelectionChanged.def
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-#parent: liH_Forecast
-Response OnSelectionChanged (
- H_Forecast selection
-) id:Response_liH_Forecast_OnSelectionChanged
-{
- #keys: '[414724.0.111760968]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebList_OnSelectionChanged'
- QuillAction
- {
- Body:
- [*
- SelectItem := select( MacroPlan,H_MessagePassing,Obj,Obj.FKey()="FrmOrderForecast" and Obj.ItemKey()="ListSelect");
- if( isnull( SelectItem))
- {
- MacroPlan.H_MessagePassing(relnew,FKey :="FrmOrderForecast",ItemKey := "ListSelect",Value := "");
- }
- SelectItem.Value(selection.SKU()+";"+selection.Util()+";"+selection.CustomCode()+";"+selection.CustomName());
- *]
- GroupServerCalls: false
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/_ROOT_Component_FrmOrderForecast.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/_ROOT_Component_FrmOrderForecast.def
index 17a5ad7..d6e1cad 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/_ROOT_Component_FrmOrderForecast.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderForecast/_ROOT_Component_FrmOrderForecast.def
@@ -43,7 +43,7 @@
]
Properties:
[
- Taborder: 3
+ Taborder: 4
]
}
#child: Panel961
@@ -93,7 +93,7 @@
]
Properties:
[
- Taborder: 2
+ Taborder: 3
]
}
Component dh_FOF_H_Forecast
@@ -118,15 +118,16 @@
]
Properties:
[
- Taborder: 5
+ Taborder: 6
]
}
#child: liH_Forecast
+ #child: Panel351
]
Properties:
[
Description: '璁㈠崟棰勬祴椤甸潰'
- Image: 'GOLDFISH'
+ Image: 'NAV_REDO_LIGHT_BLUE'
Title: '棰勬祴鍒楄〃椤�'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderResult/_ROOT_Component_FrmOrderResult.def b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderResult/_ROOT_Component_FrmOrderResult.def
index 8dfdddb..800dab9 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmOrderResult/_ROOT_Component_FrmOrderResult.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmOrderResult/_ROOT_Component_FrmOrderResult.def
@@ -39,6 +39,7 @@
Properties:
[
Description: '璁㈠崟鍐插噺杩囩▼鍙婅鍗曟爣绛惧睍绀�'
+ Image: 'NAV_REDO_LIGHT_BLUE'
Title: '璁㈠崟鍐插噺杩囩▼鍙婅鍗曟爣绛惧睍绀�'
]
}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_List696.def b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_List696.def
new file mode 100644
index 0000000..8ba9e27
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_List696.def
@@ -0,0 +1,41 @@
+Quintiq file version 2.0
+Component List696
+{
+ #keys: '[414724.0.118276730]'
+ BaseType: 'WebList'
+ Children:
+ [
+ Component DataExtractor838
+ {
+ #keys: '[414724.0.118276731]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'structured[H_MaterialHedgingResult]'
+ Source: 'dh_FRAS'
+ Taborder: 0
+ Transformation: 'Elements'
+ ]
+ }
+ #child: listActionBarPage112
+ Component DataSetLevel187
+ {
+ #keys: '[414724.0.118276736]'
+ BaseType: 'WebDataSetLevel'
+ Children:
+ [
+ #child: listContextMenu660
+ ]
+ Properties:
+ [
+ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SKU","title":"SKU","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SKU"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MType","title":"MType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ReverseQty","title":"ReverseQty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ReverseQty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"AuthorizeQty","title":"AuthorizeQty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"AuthorizeQty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Unit","title":"Unit","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Unit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerName","title":"CustomerName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerName"}}]'
+ ContextMenu: 'listContextMenu660'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 3
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_Panel224.def b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_Panel224.def
new file mode 100644
index 0000000..652ca4c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_Panel224.def
@@ -0,0 +1,48 @@
+Quintiq file version 2.0
+Component Panel224
+{
+ #keys: '[414724.0.132480968]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component ds_Month_FRAS
+ {
+ #keys: '[414724.0.132481008]'
+ BaseType: 'WebDateSelector'
+ Properties:
+ [
+ Enabled: false
+ Taborder: 0
+ Visible: false
+ ]
+ }
+ Component txt_QueryContent_FRAS
+ {
+ #keys: '[414724.0.132481038]'
+ BaseType: 'WebEditField'
+ Properties:
+ [
+ PlaceHolder: '妯$硦鎼滅储'
+ Taborder: 1
+ ]
+ }
+ Component btn_Query_FRAS
+ {
+ #keys: '[414724.0.132481089]'
+ BaseType: 'WebButton'
+ Properties:
+ [
+ Image: 'VIEW'
+ Label: '鏌ヨ'
+ Taborder: 2
+ ]
+ }
+ ]
+ Properties:
+ [
+ Alignment: 'trailing'
+ FixedSize: true
+ Orientation: 'horizontal'
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_Panel950.def b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_Panel950.def
new file mode 100644
index 0000000..462c772
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_Panel950.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+Component Panel950
+{
+ #keys: '[414724.0.133671405]'
+ BaseType: 'WebPanel'
+ Children:
+ [
+ Component Label782
+ {
+ #keys: '[414724.0.133671432]'
+ BaseType: 'WebLabel'
+ Properties:
+ [
+ Taborder: 0
+ Text: '鍙嶇鍜屾巿鏉冨垪琛ㄥ睍绀洪〉'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Border: true
+ FixedSize: true
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_listActionBarPage112.def b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_listActionBarPage112.def
new file mode 100644
index 0000000..87cb9f4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_listActionBarPage112.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPage112
+{
+ #keys: '[414724.0.118276733]'
+ BaseType: 'listActionBarPage'
+ Properties:
+ [
+ Taborder: 1
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_listContextMenu660.def b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_listContextMenu660.def
new file mode 100644
index 0000000..2e47e11
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Component_listContextMenu660.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenu660
+{
+ #keys: '[414724.0.118276738]'
+ BaseType: 'listContextMenu'
+ Properties:
+ [
+ Taborder: 0
+ ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Response_OnCreated.def
new file mode 100644
index 0000000..d06421f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Response_OnCreated.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Response OnCreated () id:Response_FrmRAShow_OnCreated
+{
+ #keys: '[414724.0.134602766]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebComponent_OnCreated'
+ QuillAction
+ {
+ Body:
+ [*
+ ds_Month_FRAS.Date(Date::ActualDate());
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Response_Panel224_btn_Query_FRAS_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Response_Panel224_btn_Query_FRAS_OnClick.def
new file mode 100644
index 0000000..98c1c99
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/Response_Panel224_btn_Query_FRAS_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: Panel224/btn_Query_FRAS
+Response OnClick () id:Response_Panel224_btn_Query_FRAS_OnClick
+{
+ #keys: '[414724.0.135920812]'
+ CanBindMultiple: false
+ DefinitionID: 'Responsedef_WebButton_OnClick'
+ QuillAction
+ {
+ Body:
+ [*
+ de_dh_FRAS.FixedFilter( "object.ID().LikeUserLocale( " + txt_QueryContent_FRAS.Text().AsQUILL() + " )"
+ + " or " + "object.SKU().LikeUserLocale( " + txt_QueryContent_FRAS.Text().AsQUILL() + " )"
+ + " or " + "object.CustomerCode().LikeUserLocale( " + txt_QueryContent_FRAS.Text().AsQUILL() + " )"
+ + " or " + "object.CustomerName().LikeUserLocale( " + txt_QueryContent_FRAS.Text().AsQUILL() + " )"
+ );
+ *]
+ GroupServerCalls: false
+ }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/_ROOT_Component_FrmRAShow.def b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/_ROOT_Component_FrmRAShow.def
index 47bbf7d..5ccc42c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/_ROOT_Component_FrmRAShow.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FrmRAShow/_ROOT_Component_FrmRAShow.def
@@ -5,8 +5,41 @@
{
#keys: '[414724.0.87341476]'
BaseType: 'WebForm'
+ Children:
+ [
+ #child: List696
+ Component dh_FRAS
+ {
+ #keys: '[414724.0.118276696]'
+ BaseType: 'WebDataHolder'
+ Databinding: 'structured[H_MaterialHedgingResult]*'
+ Children:
+ [
+ Component de_dh_FRAS
+ {
+ #keys: '[414724.0.118276712]'
+ BaseType: 'WebDataExtractor'
+ Properties:
+ [
+ DataType: 'MacroPlan'
+ Source: 'MacroPlan'
+ Taborder: 0
+ Transformation: 'H_MaterialHedgingResult'
+ ]
+ }
+ ]
+ Properties:
+ [
+ Taborder: 2
+ ]
+ }
+ #child: Panel950
+ #child: Panel224
+ ]
Properties:
[
Description: '鍘熸枡鍙嶇鍜屾巿鏉冨睍绀�'
+ Image: 'NAV_REDO_LIGHT_BLUE'
+ Title: '鍙嶇鍜屾巿鏉冨垪琛ㄥ睍绀洪〉'
]
}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Component_ListData_FT\043710.def" "b/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Component_ListData_FT\043710.def"
deleted file mode 100644
index a540a2e..0000000
--- "a/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Component_ListData_FT\043710.def"
+++ /dev/null
@@ -1,41 +0,0 @@
-Quintiq file version 2.0
-Component ListData_FT
-{
- #keys: '[414724.0.58710447]'
- BaseType: 'WebList'
- Children:
- [
- Component DataExtractor206
- {
- #keys: '[414724.0.58710448]'
- BaseType: 'WebDataExtractor'
- Properties:
- [
- DataType: 'structured[Product_MP]'
- Source: 'DataHolder623'
- Taborder: 0
- Transformation: 'Elements'
- ]
- }
- #child: listActionBarPage748
- Component DataSetLevel675
- {
- #keys: '[414724.0.58710453]'
- BaseType: 'WebDataSetLevel'
- Children:
- [
- #child: listContextMenu623
- ]
- Properties:
- [
- Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CanBeExported","title":"CanBeExported","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"CanBeExported"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayIndex","title":"DisplayIndex","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"DisplayIndex"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"HasMaturation","title":"HasMaturation","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"HasMaturation"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"HasConversionFactor","title":"HasConversionFactor","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"HasConversionFactor"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ExpiredInPeriodShelfLifeSupplyQuantityInDefaultUOM","title":"ExpiredInPeriodShelfLifeSupplyQuantityInDefaultUOM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ExpiredInPeriodShelfLifeSupplyQuantityInDefaultUOM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"HasParent","title":"HasParent","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"HasParent"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"HasPlanning","title":"HasPlanning","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"HasPlanning"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"HasProductLevel","title":"HasProductLevel","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"HasProductLevel"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"HasRecipe","title":"HasRecipe","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"HasRecipe"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"HasShelfLife","title":"HasShelfLife","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"HasShelfLife"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"HasShelfLifeOrMaturation","title":"HasShelfLifeOrMaturation","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"HasShelfLifeOrMaturation"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"HasValidProductLevel","title":"HasValidProductLevel","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"HasValidProductLevel"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IconName","title":"IconName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IconName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ID","title":"ID","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgHasSalesDemand","title":"ImgHasSalesDemand","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgHasSalesDemand"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsActive","title":"ImgIsActive","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsActive"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IndentationSymbol","title":"IndentationSymbol","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"IndentationSymbol"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsByProduct","title":"IsByProduct","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsByProduct"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsDerivedByProduct","title":"IsDerivedByProduct","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"IsDerivedByProduct"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsDerivedExcludeFromFulfillmentKPI","title":"IsDerivedExcludeFromFulfillmentKPI","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"IsDerivedExcludeFromFulfillmentKPI"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsExcludedFromFulfillmentKPI","title":"IsExcludedFromFulfillmentKPI","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsExcludedFromFulfillmentKPI"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsExcludedFromOptimization","title":"IsExcludedFromOptimization","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsExcludedFromOptimization"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsImbalance","title":"IsImbalance","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"IsImbalance"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsIncludedInBalancing","title":"IsIncludedInBalancing","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"IsIncludedInBalancing"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsLeaf","title":"IsLeaf","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"IsLeaf"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsManuallyConfigured","title":"IsManuallyConfigured","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsManuallyConfigured"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsPlannedAfterOptimization","title":"IsPlannedAfterOptimization","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsPlannedAfterOptimization"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsProductCategory","title":"IsProductCategory","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"IsProductCategory"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsSoftDeleted","title":"IsSoftDeleted","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsSoftDeleted"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsSystem","title":"IsSystem","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsSystem"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsUsed","title":"IsUsed","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"IsUsed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsUsedInProcess","title":"IsUsedInProcess","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"IsUsedInProcess"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsValidData","title":"IsValidData","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"IsValidData"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"KPIBalanceViolationMeta","title":"KPIBalanceViolationMeta","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"KPIBalanceViolationMeta"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"KPIMaximumInventory","title":"KPIMaximumInventory","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"KPIMaximumInventory"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"KPIMinimumInventory","title":"KPIMinimumInventory","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"KPIMinimumInventory"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"KPITargetInventory","title":"KPITargetInventory","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"KPITargetInventory"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Level","title":"Level","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Level"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaturationDays","title":"MaturationDays","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaturationDays"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MinSalesDemandQuantity","title":"MinSalesDemandQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"MinSalesDemandQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaxSalesDemandQuantity","title":"MaxSalesDemandQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"MaxSalesDemandQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Notes","title":"Notes","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Notes"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfProductInStockingPoint","title":"NumberOfProductInStockingPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"NumberOfProductInStockingPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NumberOfShelfLifeViolations","title":"NumberOfShelfLifeViolations","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"NumberOfShelfLifeViolations"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ParentID","title":"ParentID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ParentID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SanityCheckDataMostSevere","title":"SanityCheckDataMostSevere","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SanityCheckDataMostSevere"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SanityCheckDataMostSevereCount","title":"SanityCheckDataMostSevereCount","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SanityCheckDataMostSevereCount"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SanityCheckDataTotalViolationCount","title":"SanityCheckDataTotalViolationCount","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SanityCheckDataTotalViolationCount"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ShelfLife","title":"ShelfLife","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ShelfLife"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"TotalInventoryLevels","title":"TotalInventoryLevels","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"TotalInventoryLevels"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"TotalInventorySupply","title":"TotalInventorySupply","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"TotalInventorySupply"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"TotalSalesDemand","title":"TotalSalesDemand","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"TotalSalesDemand"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Type","title":"Type","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Type"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}}]'
- ContextMenu: 'listContextMenu623'
- Taborder: 2
- ]
- }
- ]
- Properties:
- [
- Taborder: 2
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Component_Panel675.def b/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Component_Panel675.def
deleted file mode 100644
index a7dc33b..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Component_Panel675.def
+++ /dev/null
@@ -1,23 +0,0 @@
-Quintiq file version 2.0
-Component Panel675
-{
- #keys: '[414724.0.58893964]'
- BaseType: 'WebPanel'
- Children:
- [
- Component ButtonClear
- {
- #keys: '[414724.0.58893989]'
- BaseType: 'WebButton'
- Properties:
- [
- Label: 'ClearDtaa'
- Taborder: 0
- ]
- }
- ]
- Properties:
- [
- Taborder: 0
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Component_listActionBarPage748.def b/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Component_listActionBarPage748.def
deleted file mode 100644
index 20c42d7..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Component_listActionBarPage748.def
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-Component listActionBarPage748
-{
- #keys: '[414724.0.58710450]'
- BaseType: 'listActionBarPage'
- Properties:
- [
- Taborder: 1
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Component_listContextMenu623.def b/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Component_listContextMenu623.def
deleted file mode 100644
index 5042401..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Component_listContextMenu623.def
+++ /dev/null
@@ -1,10 +0,0 @@
-Quintiq file version 2.0
-Component listContextMenu623
-{
- #keys: '[414724.0.58710455]'
- BaseType: 'listContextMenu'
- Properties:
- [
- Taborder: 0
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Response_Panel675_ButtonClear_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Response_Panel675_ButtonClear_OnClick.def
deleted file mode 100644
index 8ea5738..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/Response_Panel675_ButtonClear_OnClick.def
+++ /dev/null
@@ -1,36 +0,0 @@
-Quintiq file version 2.0
-#parent: Panel675/ButtonClear
-Response OnClick () id:Response_Panel675_ButtonClear_OnClick
-{
- #keys: '[414724.0.58894009]'
- CanBindMultiple: false
- DefinitionID: 'Responsedef_WebButton_OnClick'
- GroupServerCalls: true
- Precondition:
- [*
- return not isnull( MacroPlan);
- *]
- QuillAction
- {
- Body:
- [*
- try{
- H_FunctionClass::UpdateAuthorizeRealQty( MacroPlan);
- /*
- ExecuteCount :=0;
- while(not isnull(MacroPlan.H_ReverseRealQty(relget ).First()) and ExecuteCount<20)
- {
- MacroPlan.H_ErrorLogs(relnew,EClassName := "1",EDateTime := DateTime::ActualGMTTime(),EFunctionName := ExecuteCount.AsQUILL());
- ExecuteCount:=ExecuteCount+1;
- MacroPlan.H_ReverseRealQty(relget ).First().Delete();
- }
- */
- }
- onerror{
- MacroPlan.H_ErrorLogs(relnew,EClassName := "H_FunctionClass",EDateTime := DateTime::ActualGMTTime(),EFunctionName := "UpdateMaterialItems",
- DeveloperInformation := e.DeveloperInformation(),ErrorNr := e.ErrorNr(),DetailedInformation := e.DetailedInformation(),
- GeneralInformation := e.GeneralInformation());
- }
- *]
- }
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/_ROOT_Component_FrmTEST.def b/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/_ROOT_Component_FrmTEST.def
deleted file mode 100644
index 77d883c..0000000
--- a/_Main/UI/MacroPlannerWebApp/Component_FrmTEST/_ROOT_Component_FrmTEST.def
+++ /dev/null
@@ -1,42 +0,0 @@
-Quintiq file version 2.0
-#root
-#parent: MacroPlannerWebApp
-OrphanComponent FrmTEST
-{
- #keys: '[414724.0.57640752]'
- BaseType: 'WebForm'
- Children:
- [
- #child: ListData_FT
- Component DataHolder623
- {
- #keys: '[414724.0.57601078]'
- BaseType: 'WebDataHolder'
- Databinding: 'structured[Product_MP]*'
- Children:
- [
- Component DataExtractor391
- {
- #keys: '[414724.0.58771962]'
- BaseType: 'WebDataExtractor'
- Properties:
- [
- DataType: 'MacroPlan'
- Source: 'MacroPlan'
- Taborder: 0
- Transformation: 'Product_MP'
- ]
- }
- ]
- Properties:
- [
- Taborder: 1
- ]
- }
- #child: Panel675
- ]
- Properties:
- [
- Description: '娴嬭瘯绐椾綋锛屾煡鐪嬫暟鎹娇鐢�'
- ]
-}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/OrderLock.vw b/_Main/UI/MacroPlannerWebApp/Views/OrderLock.vw
new file mode 100644
index 0000000..0cae0ba
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/OrderLock.vw
@@ -0,0 +1,351 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_legacy_1
+ {
+ title: 'Scenario manager'
+ shown: true
+ componentID: 'FormScenarioManager'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 5
+ }
+ components
+ {
+ FormScenarioManager_ListScenario
+ {
+ }
+ FormScenarioManager_DataSetLevelScenario
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 90
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 277
+ }
+ column_ChangedBy
+ {
+ columnId: 'ChangedBy'
+ dataPath: 'ChangedBy'
+ dataType: 'string'
+ title: 'Changed by'
+ index: 2
+ subtotals: ''
+ width: 106
+ }
+ column_ChangedOn
+ {
+ columnId: 'ChangedOn'
+ dataPath: 'ChangedOn'
+ dataType: 'datetime'
+ title: 'Changed on'
+ index: 3
+ subtotals: ''
+ width: 99
+ }
+ column_StorageMode
+ {
+ columnId: 'StorageMode'
+ dataPath: 'StorageMode'
+ dataType: 'string'
+ title: 'StorageMode'
+ index: 4
+ subtotals: ''
+ width: 40
+ }
+ }
+ }
+ }
+ form_legacy_2
+ {
+ title: 'Assumptions'
+ shown: true
+ componentID: 'FormAssumptions'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 9
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 5
+ }
+ components
+ {
+ FormAssumptions_ListAssumptions
+ {
+ }
+ FormAssumptions_DataSetLevelAssumptions
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ title: '绫诲埆'
+ index: 1
+ subtotals: ''
+ width: 108
+ }
+ column_Importance
+ {
+ columnId: 'Importance'
+ dataPath: 'Importance'
+ dataType: 'string'
+ title: '閲嶈鎬�'
+ index: 2
+ subtotals: ''
+ width: 110
+ }
+ column_Title
+ {
+ columnId: 'Title'
+ dataPath: 'Title'
+ dataType: 'string'
+ title: '鏍囬'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_ChangedBy
+ {
+ columnId: 'ChangedBy'
+ dataPath: 'ChangedBy'
+ dataType: 'string'
+ title: 'Changed by'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_CreatedOn
+ {
+ columnId: 'CreatedOn'
+ dataPath: 'CreatedOn'
+ dataType: 'datetime'
+ title: 'Created on'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormScenariosKPIsComparison
+ {
+ title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
+ shown: true
+ componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 16
+ columnPosition: 6
+ columnSpan: 7
+ }
+ components
+ {
+ FormScenariosKPIsComparison_MatrixEditorFinancialKPIs
+ {
+ gridColor: '#c4c4c4'
+ totalHeaderWidth: 200
+ attributeHeaderWidthRatio: 0.6
+ nameHeaderWidthRatio: 0.4
+ columnWidth: 100
+ horizontalGrid: true
+ verticalGrid: true
+ backendState
+ {
+ componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs'
+ state
+ {
+ cells
+ {
+ attributes
+ {
+ attribute_DisplayValue
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 0
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'DisplayValue'
+ }
+ }
+ }
+ columns
+ {
+ sorting
+ {
+ criteria: ''
+ }
+ }
+ rows
+ {
+ sorting
+ {
+ criteria: "datamember:'KPISetting.DisplayIndex'"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 0
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI
+ {
+ title: 'KPI Dashboard'
+ shown: true
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 1
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ index: 2
+ image: 'DOCUMENT_LOCK'
+ page: 'applicationDevelopmentActionBarPageDef'
+ group: ''
+ description: ''
+ }
+ formatversion: 2
+ id: 'OrderLock'
+ name: 'OrderLock'
+ isglobal: false
+ isroot: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/PriorityPolicy.vw b/_Main/UI/MacroPlannerWebApp/Views/PriorityPolicy.vw
new file mode 100644
index 0000000..456343d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/PriorityPolicy.vw
@@ -0,0 +1,2258 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_legacy_1
+ {
+ title: 'Scenario manager'
+ shown: true
+ componentID: 'FormScenarioManager'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 5
+ }
+ components
+ {
+ FormScenarioManager_ListScenario
+ {
+ }
+ FormScenarioManager_DataSetLevelScenario
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 90
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 197
+ }
+ column_ChangedBy
+ {
+ columnId: 'ChangedBy'
+ dataPath: 'ChangedBy'
+ dataType: 'string'
+ title: 'Changed by'
+ index: 2
+ subtotals: ''
+ width: 91
+ }
+ column_ChangedOn
+ {
+ columnId: 'ChangedOn'
+ dataPath: 'ChangedOn'
+ dataType: 'datetime'
+ title: 'Changed on'
+ index: 3
+ subtotals: ''
+ width: 99
+ }
+ column_StorageMode
+ {
+ columnId: 'StorageMode'
+ dataPath: 'StorageMode'
+ dataType: 'string'
+ title: 'StorageMode'
+ index: 4
+ subtotals: ''
+ width: 40
+ }
+ }
+ }
+ }
+ form_legacy_2
+ {
+ title: 'Assumptions'
+ shown: true
+ componentID: 'FormAssumptions'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 9
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 5
+ }
+ components
+ {
+ FormAssumptions_ListAssumptions
+ {
+ }
+ FormAssumptions_DataSetLevelAssumptions
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ title: '绫诲埆'
+ index: 1
+ subtotals: ''
+ width: 108
+ }
+ column_Importance
+ {
+ columnId: 'Importance'
+ dataPath: 'Importance'
+ dataType: 'string'
+ title: '閲嶈鎬�'
+ index: 2
+ subtotals: ''
+ width: 110
+ }
+ column_Title
+ {
+ columnId: 'Title'
+ dataPath: 'Title'
+ dataType: 'string'
+ title: '鏍囬'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_ChangedBy
+ {
+ columnId: 'ChangedBy'
+ dataPath: 'ChangedBy'
+ dataType: 'string'
+ title: 'Changed by'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_CreatedOn
+ {
+ columnId: 'CreatedOn'
+ dataPath: 'CreatedOn'
+ dataType: 'datetime'
+ title: 'Created on'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormScenariosKPIsComparison
+ {
+ title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
+ shown: true
+ componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 16
+ columnPosition: 6
+ columnSpan: 7
+ }
+ components
+ {
+ FormScenariosKPIsComparison_MatrixEditorFinancialKPIs
+ {
+ gridColor: '#c4c4c4'
+ totalHeaderWidth: 200
+ attributeHeaderWidthRatio: 0.6
+ nameHeaderWidthRatio: 0.4
+ columnWidth: 100
+ horizontalGrid: true
+ verticalGrid: true
+ backendState
+ {
+ componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs'
+ state
+ {
+ cells
+ {
+ attributes
+ {
+ attribute_DisplayValue
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 0
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'DisplayValue'
+ }
+ }
+ }
+ columns
+ {
+ sorting
+ {
+ criteria: ''
+ }
+ }
+ rows
+ {
+ sorting
+ {
+ criteria: "datamember:'KPISetting.DisplayIndex'"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 0
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 1
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_1
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 2
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_1
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 3
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_2
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 4
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_2
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 5
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_3
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 6
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_3
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 7
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_4
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 8
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_4
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 9
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_5
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 10
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_5
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 11
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_6
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 12
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_6
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 13
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_7
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 14
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_7
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 15
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormSanityCheck
+ {
+ title: 'Sanity Check'
+ shown: false
+ componentID: 'FormSanityCheck'
+ layout
+ {
+ mode: 'dockright'
+ index: 16
+ }
+ components
+ {
+ FormSanityCheck_PanelSanityCheckToolbar
+ {
+ sizeRatio: 1
+ }
+ FormSanityCheck_PanelSanityCheckContent
+ {
+ sizeRatio: 1
+ }
+ FormSanityCheck_PanelSanityCheckGroup
+ {
+ sizeRatio: 4
+ }
+ FormSanityCheck_ListSanityCheckGroup
+ {
+ }
+ FormSanityCheck_DataSetLevelSanityCheckGroup
+ {
+ groupDepth: -1
+ sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3'
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Show
+ {
+ columnId: 'Show'
+ dataPath: 'Show'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 32
+ }
+ column_Group
+ {
+ columnId: 'Group'
+ dataPath: 'Group'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 270
+ }
+ column__Expr3
+ {
+ columnId: '_Expr3'
+ dataPath: '_Expr3'
+ dataType: 'number'
+ index: 4
+ subtotals: ''
+ width: 95
+ }
+ }
+ FormSanityCheck_PanelSanityCheckMessage
+ {
+ sizeRatio: 5
+ }
+ FormSanityCheck_ListSanityCheckMessage
+ {
+ }
+ FormSanityCheck_DataSetLevelSanityCheckMessage
+ {
+ groupDepth: -1
+ sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description'
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Show
+ {
+ columnId: 'Show'
+ dataPath: 'Show'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 32
+ }
+ column_Messages
+ {
+ columnId: 'Messages'
+ dataPath: 'Messages'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 32
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 585
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_8
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 17
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_8
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 18
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_9
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 19
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_9
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 20
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_10
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 21
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_10
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 22
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_11
+ {
+ title: 'Optimizer Puzzles'
+ shown: true
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 23
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_11
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 24
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_12
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 25
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_12
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 26
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_13
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 27
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_13
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 28
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_14
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 29
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_14
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 30
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_15
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 31
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_15
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 32
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormSanityCheck_1
+ {
+ title: 'Sanity Check'
+ shown: false
+ componentID: 'FormSanityCheck'
+ layout
+ {
+ mode: 'dockright'
+ index: 33
+ }
+ components
+ {
+ FormSanityCheck_PanelSanityCheckToolbar
+ {
+ sizeRatio: 1
+ }
+ FormSanityCheck_PanelSanityCheckContent
+ {
+ sizeRatio: 1
+ }
+ FormSanityCheck_PanelSanityCheckGroup
+ {
+ sizeRatio: 4
+ }
+ FormSanityCheck_ListSanityCheckGroup
+ {
+ }
+ FormSanityCheck_DataSetLevelSanityCheckGroup
+ {
+ groupDepth: -1
+ sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3'
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Show
+ {
+ columnId: 'Show'
+ dataPath: 'Show'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 32
+ }
+ column_Group
+ {
+ columnId: 'Group'
+ dataPath: 'Group'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 270
+ }
+ column__Expr3
+ {
+ columnId: '_Expr3'
+ dataPath: '_Expr3'
+ dataType: 'number'
+ index: 4
+ subtotals: ''
+ width: 95
+ }
+ }
+ FormSanityCheck_PanelSanityCheckMessage
+ {
+ sizeRatio: 5
+ }
+ FormSanityCheck_ListSanityCheckMessage
+ {
+ }
+ FormSanityCheck_DataSetLevelSanityCheckMessage
+ {
+ groupDepth: -1
+ sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description'
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Show
+ {
+ columnId: 'Show'
+ dataPath: 'Show'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 32
+ }
+ column_Messages
+ {
+ columnId: 'Messages'
+ dataPath: 'Messages'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 32
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 585
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: ''
+ group: ''
+ index: 14
+ image: ''
+ description: ''
+ }
+ formatversion: 2
+ id: 'PriorityPolicy'
+ name: 'PriorityPolicy'
+ isglobal: false
+ isroot: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/PriorityResults.vw b/_Main/UI/MacroPlannerWebApp/Views/PriorityResults.vw
new file mode 100644
index 0000000..3489b0c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/PriorityResults.vw
@@ -0,0 +1,2258 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_legacy_1
+ {
+ title: 'Scenario manager'
+ shown: true
+ componentID: 'FormScenarioManager'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 5
+ }
+ components
+ {
+ FormScenarioManager_ListScenario
+ {
+ }
+ FormScenarioManager_DataSetLevelScenario
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 90
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 197
+ }
+ column_ChangedBy
+ {
+ columnId: 'ChangedBy'
+ dataPath: 'ChangedBy'
+ dataType: 'string'
+ title: 'Changed by'
+ index: 2
+ subtotals: ''
+ width: 91
+ }
+ column_ChangedOn
+ {
+ columnId: 'ChangedOn'
+ dataPath: 'ChangedOn'
+ dataType: 'datetime'
+ title: 'Changed on'
+ index: 3
+ subtotals: ''
+ width: 99
+ }
+ column_StorageMode
+ {
+ columnId: 'StorageMode'
+ dataPath: 'StorageMode'
+ dataType: 'string'
+ title: 'StorageMode'
+ index: 4
+ subtotals: ''
+ width: 40
+ }
+ }
+ }
+ }
+ form_legacy_2
+ {
+ title: 'Assumptions'
+ shown: true
+ componentID: 'FormAssumptions'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 9
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 5
+ }
+ components
+ {
+ FormAssumptions_ListAssumptions
+ {
+ }
+ FormAssumptions_DataSetLevelAssumptions
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ title: '绫诲埆'
+ index: 1
+ subtotals: ''
+ width: 108
+ }
+ column_Importance
+ {
+ columnId: 'Importance'
+ dataPath: 'Importance'
+ dataType: 'string'
+ title: '閲嶈鎬�'
+ index: 2
+ subtotals: ''
+ width: 110
+ }
+ column_Title
+ {
+ columnId: 'Title'
+ dataPath: 'Title'
+ dataType: 'string'
+ title: '鏍囬'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_ChangedBy
+ {
+ columnId: 'ChangedBy'
+ dataPath: 'ChangedBy'
+ dataType: 'string'
+ title: 'Changed by'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_CreatedOn
+ {
+ columnId: 'CreatedOn'
+ dataPath: 'CreatedOn'
+ dataType: 'datetime'
+ title: 'Created on'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormScenariosKPIsComparison
+ {
+ title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
+ shown: true
+ componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 16
+ columnPosition: 6
+ columnSpan: 7
+ }
+ components
+ {
+ FormScenariosKPIsComparison_MatrixEditorFinancialKPIs
+ {
+ gridColor: '#c4c4c4'
+ totalHeaderWidth: 200
+ attributeHeaderWidthRatio: 0.6
+ nameHeaderWidthRatio: 0.4
+ columnWidth: 100
+ horizontalGrid: true
+ verticalGrid: true
+ backendState
+ {
+ componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs'
+ state
+ {
+ cells
+ {
+ attributes
+ {
+ attribute_DisplayValue
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 0
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'DisplayValue'
+ }
+ }
+ }
+ columns
+ {
+ sorting
+ {
+ criteria: ''
+ }
+ }
+ rows
+ {
+ sorting
+ {
+ criteria: "datamember:'KPISetting.DisplayIndex'"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 0
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 1
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_1
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 2
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_1
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 3
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_2
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 4
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_2
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 5
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_3
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 6
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_3
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 7
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_4
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 8
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_4
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 9
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_5
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 10
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_5
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 11
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_6
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 12
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_6
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 13
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_7
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 14
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_7
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 15
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormSanityCheck
+ {
+ title: 'Sanity Check'
+ shown: false
+ componentID: 'FormSanityCheck'
+ layout
+ {
+ mode: 'dockright'
+ index: 16
+ }
+ components
+ {
+ FormSanityCheck_PanelSanityCheckToolbar
+ {
+ sizeRatio: 1
+ }
+ FormSanityCheck_PanelSanityCheckContent
+ {
+ sizeRatio: 1
+ }
+ FormSanityCheck_PanelSanityCheckGroup
+ {
+ sizeRatio: 4
+ }
+ FormSanityCheck_ListSanityCheckGroup
+ {
+ }
+ FormSanityCheck_DataSetLevelSanityCheckGroup
+ {
+ groupDepth: -1
+ sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3'
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Show
+ {
+ columnId: 'Show'
+ dataPath: 'Show'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 32
+ }
+ column_Group
+ {
+ columnId: 'Group'
+ dataPath: 'Group'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 270
+ }
+ column__Expr3
+ {
+ columnId: '_Expr3'
+ dataPath: '_Expr3'
+ dataType: 'number'
+ index: 4
+ subtotals: ''
+ width: 95
+ }
+ }
+ FormSanityCheck_PanelSanityCheckMessage
+ {
+ sizeRatio: 5
+ }
+ FormSanityCheck_ListSanityCheckMessage
+ {
+ }
+ FormSanityCheck_DataSetLevelSanityCheckMessage
+ {
+ groupDepth: -1
+ sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description'
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Show
+ {
+ columnId: 'Show'
+ dataPath: 'Show'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 32
+ }
+ column_Messages
+ {
+ columnId: 'Messages'
+ dataPath: 'Messages'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 32
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 585
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_8
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 17
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_8
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 18
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_9
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 19
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_9
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 20
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_10
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 21
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_10
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 22
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_11
+ {
+ title: 'Optimizer Puzzles'
+ shown: true
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 23
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_11
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 24
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_12
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 25
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_12
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 26
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_13
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 27
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_13
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 28
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_14
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 29
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_14
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 30
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles_15
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 31
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: '鎻忚堪'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI_15
+ {
+ title: 'KPI Dashboard'
+ shown: false
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 32
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: '鍚嶇О'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ form_FormSanityCheck_1
+ {
+ title: 'Sanity Check'
+ shown: false
+ componentID: 'FormSanityCheck'
+ layout
+ {
+ mode: 'dockright'
+ index: 33
+ }
+ components
+ {
+ FormSanityCheck_PanelSanityCheckToolbar
+ {
+ sizeRatio: 1
+ }
+ FormSanityCheck_PanelSanityCheckContent
+ {
+ sizeRatio: 1
+ }
+ FormSanityCheck_PanelSanityCheckGroup
+ {
+ sizeRatio: 4
+ }
+ FormSanityCheck_ListSanityCheckGroup
+ {
+ }
+ FormSanityCheck_DataSetLevelSanityCheckGroup
+ {
+ groupDepth: -1
+ sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3'
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Show
+ {
+ columnId: 'Show'
+ dataPath: 'Show'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 32
+ }
+ column_Group
+ {
+ columnId: 'Group'
+ dataPath: 'Group'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 270
+ }
+ column__Expr3
+ {
+ columnId: '_Expr3'
+ dataPath: '_Expr3'
+ dataType: 'number'
+ index: 4
+ subtotals: ''
+ width: 95
+ }
+ }
+ FormSanityCheck_PanelSanityCheckMessage
+ {
+ sizeRatio: 5
+ }
+ FormSanityCheck_ListSanityCheckMessage
+ {
+ }
+ FormSanityCheck_DataSetLevelSanityCheckMessage
+ {
+ groupDepth: -1
+ sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description'
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Show
+ {
+ columnId: 'Show'
+ dataPath: 'Show'
+ dataType: 'string'
+ index: 1
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ index: 2
+ subtotals: ''
+ width: 32
+ }
+ column_Messages
+ {
+ columnId: 'Messages'
+ dataPath: 'Messages'
+ dataType: 'string'
+ index: 3
+ subtotals: ''
+ width: 32
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ index: 4
+ subtotals: ''
+ width: 585
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ page: ''
+ group: ''
+ index: 15
+ image: ''
+ description: ''
+ }
+ formatversion: 2
+ id: 'PriorityResults'
+ name: 'PriorityResults'
+ isglobal: false
+ isroot: true
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/SOP_Versions.vw b/_Main/UI/MacroPlannerWebApp/Views/SOP_Versions.vw
new file mode 100644
index 0000000..4bba15d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/SOP_Versions.vw
@@ -0,0 +1,351 @@
+Quintiq file version 2.0
+{
+ viewcontents
+ {
+ forms
+ {
+ form_legacy_1
+ {
+ title: 'Scenario manager'
+ shown: true
+ componentID: 'FormScenarioManager'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 5
+ }
+ components
+ {
+ FormScenarioManager_ListScenario
+ {
+ }
+ FormScenarioManager_DataSetLevelScenario
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 90
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 197
+ }
+ column_ChangedBy
+ {
+ columnId: 'ChangedBy'
+ dataPath: 'ChangedBy'
+ dataType: 'string'
+ title: 'Changed by'
+ index: 2
+ subtotals: ''
+ width: 91
+ }
+ column_ChangedOn
+ {
+ columnId: 'ChangedOn'
+ dataPath: 'ChangedOn'
+ dataType: 'datetime'
+ title: 'Changed on'
+ index: 3
+ subtotals: ''
+ width: 99
+ }
+ column_StorageMode
+ {
+ columnId: 'StorageMode'
+ dataPath: 'StorageMode'
+ dataType: 'string'
+ title: 'StorageMode'
+ index: 4
+ subtotals: ''
+ width: 40
+ }
+ }
+ }
+ }
+ form_legacy_2
+ {
+ title: 'Assumptions'
+ shown: true
+ componentID: 'FormAssumptions'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 9
+ rowSpan: 8
+ columnPosition: 1
+ columnSpan: 5
+ }
+ components
+ {
+ FormAssumptions_ListAssumptions
+ {
+ }
+ FormAssumptions_DataSetLevelAssumptions
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Category
+ {
+ columnId: 'Category'
+ dataPath: 'Category'
+ dataType: 'string'
+ title: 'Category'
+ index: 1
+ subtotals: ''
+ width: 108
+ }
+ column_Importance
+ {
+ columnId: 'Importance'
+ dataPath: 'Importance'
+ dataType: 'string'
+ title: 'Importance'
+ index: 2
+ subtotals: ''
+ width: 110
+ }
+ column_Title
+ {
+ columnId: 'Title'
+ dataPath: 'Title'
+ dataType: 'string'
+ title: 'Title'
+ index: 3
+ subtotals: ''
+ width: 150
+ }
+ column_ChangedBy
+ {
+ columnId: 'ChangedBy'
+ dataPath: 'ChangedBy'
+ dataType: 'string'
+ title: 'Changed by'
+ index: 4
+ subtotals: ''
+ width: 150
+ }
+ column_CreatedOn
+ {
+ columnId: 'CreatedOn'
+ dataPath: 'CreatedOn'
+ dataType: 'datetime'
+ title: 'Created on'
+ index: 5
+ subtotals: ''
+ width: 150
+ }
+ }
+ }
+ }
+ form_FormScenariosKPIsComparison
+ {
+ title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
+ shown: true
+ componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
+ layout
+ {
+ mode: 'open'
+ rowPosition: 1
+ rowSpan: 16
+ columnPosition: 6
+ columnSpan: 7
+ }
+ components
+ {
+ FormScenariosKPIsComparison_MatrixEditorFinancialKPIs
+ {
+ gridColor: '#c4c4c4'
+ totalHeaderWidth: 200
+ attributeHeaderWidthRatio: 0.6
+ nameHeaderWidthRatio: 0.4
+ columnWidth: 100
+ horizontalGrid: true
+ verticalGrid: true
+ backendState
+ {
+ componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs'
+ state
+ {
+ cells
+ {
+ attributes
+ {
+ attribute_DisplayValue
+ {
+ type: 'MatrixEditorWebApiCellDataModelInterest'
+ index: 0
+ rowsubtotal: ''
+ columnsubtotal: ''
+ attribute: 'DisplayValue'
+ }
+ }
+ }
+ columns
+ {
+ sorting
+ {
+ criteria: ''
+ }
+ }
+ rows
+ {
+ sorting
+ {
+ criteria: "datamember:'KPISetting.DisplayIndex'"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ form_FormOptimizerPuzzles
+ {
+ title: 'Optimizer Puzzles'
+ shown: false
+ componentID: 'FormOptimizerPuzzles'
+ layout
+ {
+ mode: 'dockright'
+ index: 0
+ }
+ components
+ {
+ FormOptimizerPuzzles_ListOptimizerPuzzles
+ {
+ }
+ FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 109
+ }
+ column_Description
+ {
+ columnId: 'Description'
+ dataPath: 'Description'
+ dataType: 'string'
+ title: 'Description'
+ index: 2
+ subtotals: ''
+ width: 207
+ }
+ }
+ }
+ }
+ form_FormKPI
+ {
+ title: 'KPI Dashboard'
+ shown: true
+ componentID: 'FormKPI'
+ layout
+ {
+ mode: 'dockright'
+ index: 1
+ }
+ components
+ {
+ FormKPI_PanelKPI
+ {
+ sizeRatio: 1
+ activeChild: 'PanelKPISelection'
+ }
+ FormKPI_PanelKPIDashboard
+ {
+ sizeRatio: 1
+ }
+ FormKPI_PanelKPISelection
+ {
+ sizeRatio: 1
+ }
+ FormKPI_ListKPISelection
+ {
+ QuillViewData
+ {
+ Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
+ }
+ }
+ FormKPI_DataSetLevelKPISelection
+ {
+ groupDepth: -1
+ column_All_constraints
+ {
+ columnId: 'All constraints'
+ dataPath: 'All constraints'
+ dataType: 'string'
+ title: 'All constraints'
+ index: 0
+ subtotals: ''
+ width: 32
+ }
+ column_Name
+ {
+ columnId: 'Name'
+ dataPath: 'Name'
+ dataType: 'string'
+ title: 'Name'
+ index: 1
+ subtotals: ''
+ width: 200
+ }
+ }
+ }
+ }
+ }
+ userconfigurableinformation
+ {
+ }
+ index: 1
+ image: 'WINDOW_TIME'
+ page: 'applicationDevelopmentActionBarPageDef'
+ group: ''
+ description: ''
+ }
+ formatversion: 2
+ id: 'SOP_Versions'
+ name: 'SOP Versions'
+ isglobal: false
+ isroot: true
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\345\241\253\344\272\247\346\226\271\346\241\210\345\210\227\350\241\250.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\345\241\253\344\272\247\346\226\271\346\241\210\345\210\227\350\241\250.vw"
index da19691..359d913 100644
--- "a/_Main/UI/MacroPlannerWebApp/Views/\345\241\253\344\272\247\346\226\271\346\241\210\345\210\227\350\241\250.vw"
+++ "b/_Main/UI/MacroPlannerWebApp/Views/\345\241\253\344\272\247\346\226\271\346\241\210\345\210\227\350\241\250.vw"
@@ -180,10 +180,10 @@
userconfigurableinformation
{
}
+ index: 0
image: ''
page: ''
group: ''
- index: 0
description: ''
}
formatversion: 2
diff --git a/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties b/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties
index 0b578d4..58f022e 100644
--- a/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties
+++ b/_var/_Main/ModelSettings/Common/Development/_ROOT_Role_Development.properties
@@ -204,11 +204,11 @@
domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.parameters=
domainmodel.ediremotedatasourcedefinition.remotestorage.inputunitsfrommodel.password=
domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle=template:domainmodel.ediremotedatasourcedefinition
-domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.connection=
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.connection=dbodbc1
domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxcolumnnamelength=0
domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.maxtablenamelength=0
-domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.parameters=
-domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.password=
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.parameters=/datasource=orclpdb /owner=TIANMA /chardatatypeforstring /characterencoding=UTF-8 /appdatatypeforstring=wchar
+domainmodel.ediremotedatasourcedefinition.remotestorage.localoracle.password=1 E9FE769DABE91891284EBBA6CEA8F41B 479d6f99-cffb-41e6-94f1-d35bdf20703c
domainmodel.ediremotedatasourcedefinition.remotestorage.oracle=template:domainmodel.ediremotedatasourcedefinition
domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.connection=dbodbc1
domainmodel.ediremotedatasourcedefinition.remotestorage.oracle.maxcolumnnamelength=0
diff --git "a/_var/_Main/ProjSettings/MacroPlannerWebApp/Views/\345\241\253\344\272\247\346\226\271\346\241\210\345\210\227\350\241\250.vw" "b/_var/_Main/ProjSettings/MacroPlannerWebApp/Views/\345\241\253\344\272\247\346\226\271\346\241\210\345\210\227\350\241\250.vw"
deleted file mode 100644
index b90401b..0000000
--- "a/_var/_Main/ProjSettings/MacroPlannerWebApp/Views/\345\241\253\344\272\247\346\226\271\346\241\210\345\210\227\350\241\250.vw"
+++ /dev/null
@@ -1,11 +0,0 @@
-Quintiq file version 2.0
-{
- viewcontents
- {
- }
- formatversion: 2
- id: '濉骇鏂规鍒楄〃'
- name: 'FillingCapacitySchemeList'
- isglobal: false
- isroot: false
-}
--
Gitblit v1.9.3