From b18e4004f21e9ec18e2984630888f6626befeb55 Mon Sep 17 00:00:00 2001 From: yanweiyuan3 <yanweiyuan3@gmail.com> Date: 星期六, 07 十月 2023 11:02:28 +0800 Subject: [PATCH] Merge branch 'dev' into dev_yy --- _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuDelete_OnClick.def | 18 _Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/_ROOT_Component_DialogEditCustomerOrderPriority.def | 32 _Main/BL/Type_YuxTest/Attribute_TestString.qbl | 7 _Main/BL/EDI/Broker_GlobalOTDTable_CustomerGrade.qbl | 64 _Main/BL/Relations/Relation_Global_ShowRow_Global_ShowCell_Global_ShowCell_Global_ShowRow.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonSynchronizeDataToMacroPlan_OnClick.def | 28 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Component_ListCapacityAndSaleBudgeFilterMonth.def | 4 _Main/BL/Type_Global_ShowCell/Attribute_Value.qbl | 7 _Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_CreateIfNotExist.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def | 20 _Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_CreateIfNotExist.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Component_ListCapacityAndSaleBudgeFilterItem.def | 4 _Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowRow_Global_ShowRow_GlobalOTDTable.qbl | 23 _Main/BL/Type_YuxTest/StaticMethod_Export.qbl | 85 LibSOPImportExport/BL/Type_LibSOPImpExp_ImportExcel/Method_CanImport#382.qbl | 4 _Main/BL/Type_Global_ShowColumn/Attribute_ColumnName.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def | 12 _Main/UI/MacroPlannerWebApp/Views/Test.vw | 794 ++++++ _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnCreated.def | 8 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def | 50 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Component_ListCapacityAndSaleBudgeFilterYear.def | 4 _Main/BL/Type_Global_ShowRow/Attribute_RowNr.qbl | 7 _Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl | 3 _Main/BL/Type_Global_MappingProduct_MP/Attribute_BOMCount.qbl | 8 _Main/BL/Type_CustomerOrder/Attribute_BusinessType.qbl | 8 _Main/BL/Type_Global_MappingCustomerGrade/TypeIndex_Global_MappingCustomerGradeTypeIndex.qbl | 20 _Main/BL/Type_CustomerAndForecastOrder/Attribute_CustomerOrderID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlContent.def | 33 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_DOI_DSI.qbl | 17 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_ListInterfaceTest.def | 59 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def | 15 _Main/BL/Type_Global_MappingCustomOrder/Attribute_ProductGrade.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnCancel_OnClick.def | 15 _Main/BL/Type_CustomerAndForecastOrder/StaticMethod_RefreshData.qbl | 56 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_CustomerGrade.qbl | 20 _Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl | 18 _Main/BL/Type_Global_MappingCustomerGrade/Attribute_CustomerGrade.qbl | 9 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_listContextMenuCustomerAndFillingCapacityOrder.def | 33 _Main/BL/Type_Global_MappingDOI_DSI/Attribute_OrganCode.qbl | 9 _Main/BL/Type_Global_MappingProduct_MP/Method_SetIsLinkedWithFinishedGoodAttributes_Recursive.qbl | 14 _Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_CreateIfNotExist.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyBusinessType_OnDataChanged.def | 18 _Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnDataChanged.def | 18 _Main/BL/Type_Global_MappingCustomOrder/Attribute_SheetProfitability.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSalesDemands.def | 4 _Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemRow_GlobalOTDTable_GlobalOTDTable_Ca.qbl | 23 _Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def | 5 _Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnCreated.def | 18 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listActionBarPageInterfaceTest.def | 10 _Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Method_EditCustomerOrderPriority.def | 17 _Main/BL/Type_BusinessType/StaticMethod_GetBusinessNameStr.qbl | 1 _Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderType#905.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_OpenChoose.def | 10 LibSOPImportExport/metadata.properties | 2 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOptions.def | 62 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews#633.def | 11 _Main/BL/Type_Global_ShowColumn/_ROOT_Type_Global_ShowColumn.qbl | 9 _Main/BL/Type_Global_ShowRow/_ROOT_Type_Global_ShowRow.qbl | 9 _Main/BL/Type_PriorityFactor/Attribute_ReflectionType.qbl | 7 _Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_Initial.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgInterfaceTest.def | 24 _Main/BL/KnowledgeBaseDomain_MacroPlanner/KnowledgeBase_Knowledge_MP/_ROOT_KnowledgeBase_Knowledge_MP.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Component_pnlContent.def | 91 _Main/BL/Type_GlobalDTOTable/Method_SynchronizationAllMappingBrokerAndAPIByOption.qbl | 20 _Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl | 88 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Response_OnCreated.def | 2 _Main/BL/Type_Global_MappingDOI_DSI/_ROOT_Type_Global_MappingDOI_DSI.qbl | 9 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyFactor_OnCreated.def | 18 _Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlActions_btnOk_OnClick.def | 15 _Main/BL/Type_Global_MappingDOI_DSI/Attribute_ProductID.qbl | 9 _Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl | 84 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def | 23 _Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_CalculatePriorityResult.def | 13 _Main/BL/Type_YuxTest/Attribute_TestDateTime.qbl | 7 _Main/BL/Type_CustomerAndForecastOrder/Attribute_ForecastID.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton#713.def | 2 _Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_GlobalOTDTable_GlobalOTDTabl.qbl | 23 _Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl | 22 _Main/UI/MacroPlannerWebApp/Views/PriorityTest.vw | 2745 +++++++++++++++++++++ _Main/BL/Type_GlobalDTOTable/Method_SetIsLinkedWithFinishedGoodAttributes.qbl | 8 _Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter.qbl | 8 _Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/StaticMethod_CreateIfNotExist.qbl | 6 _Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl | 75 _Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart.qbl | 0 LibSOPImportExport/BL/Type_LibSOPImpExp_DataSource/Method_HasAllRequiredFilesForImport.qbl | 4 _Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan.qbl | 16 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def | 27 _Main/BL/Type_Global_MappingCustomerGrade/Attribute_Customer.qbl | 9 _Main/BL/Type_Global_MappingDOI_DSI/Attribute_DOI.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonCapacityAndSaleBudgeCompare_OnClick.def | 14 _Main/BL/Type_YuxTest/_ROOT_Type_YuxTest.qbl | 9 _Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemColumn_GlobalOTDTable_GlobalOTDTable.qbl | 24 _Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompareExport.qbl | 4 _Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl | 124 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Response_OnCreated.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixeditorContextMenuShowInterfaceData.def | 10 _Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_GlobalOTDTable_G.qbl | 23 _Main/BL/Relations/Relation_YuxTest_MPSync_MPSync_YuxTest.qbl | 23 _Main/BL/Type_MPSync/Method_ImportExcels_Tianma.qbl | 22 _Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl | 6 _Main/BL/Relations/Relation_Global_ShowColumn_Global_ShowCell_Global_ShowCell_Global_ShowColumn.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def | 17 _Main/BL/Type_YuxTest/Attribute_TestReal.qbl | 7 _Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl | 29 _Main/BL/Type_ImportExcel/_ROOT_Type_ImportExcel.qbl | 6 _Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_TIANMA_JITUAN_mbMainMenu_MenuGlobalOTDTableTest_OnClick.def | 12 _Main/BL/Type_CustomerOrder/Attribute_OrderType.qbl | 8 _Main/BL/Type_PriorityResult/StaticMethod_CalculateBracketScore.qbl | 19 _Main/BL/Type_Global_MappingDOI_DSI/TypeIndex_Global_MappingDOI_DSITypeIndex.qbl | 16 _Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl | 91 _Main/BL/Type_CustomerOrder/Attribute_CustomerPolicy.qbl | 8 _Main/BL/Type_MacroPlan/Method_ImportExcels_Tianma.qbl | 47 _Main/BL/Type_CustomerOrder/Attribute_IsAvailable.qbl | 8 _Main/BL/Type_YuxTest/Attribute_TestDate.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick.def | 8 _Main/BL/Type_YuxTest/StaticMethod_ExportTest#887.qbl | 26 _Main/BL/Type_ProductInStockingPointInPeriodPlanningLeaf/FunctionOverride_CalcStockLevelInDays.qbl | 79 _Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterMonth_GlobalOTDTable_GlobalOTDTable_Capac.qbl | 23 _Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowColumn_Global_ShowColumn_GlobalOTDTable.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuPriorityResult_OnClick.def | 19 _Main/BL/Type_PriorityFactor/Attribute_ReflectionAttribute.qbl | 7 _Main/BL/Type_YuxTest/Attribute_TestNumber.qbl | 7 _Main/BL/Relations/Relation_CapacityAndSaleBudgeChartElement_GlobalOTDTable_GlobalOTDTable_Capa.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyBusinessType_OnCreated.def | 18 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_PanelButton.def | 26 _Main/BL/Type_LibSOPImpExp_ExportExcel/_ROOT_Type_LibSOPImpExp_ExportExcel.qbl | 6 _Main/BL/EDI/Broker_GlobalOTDTable_DOI_DSI.qbl | 71 _Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlActions_btnApply_OnClick.def | 19 _Main/BL/Type_Global_ShowCell/_ROOT_Type_Global_ShowCell.qbl | 9 _Main/BL/Type_ProductInStockingPointInPeriodPlanningLeaf/_ROOT_Type_ProductInStockingPointInPeriodPlanningLeaf.qbl | 6 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportTest_OnClick.def | 21 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def | 19 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def | 2 _Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl | 124 _Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Component_pnlActions.def | 50 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuSelectAll_OnClick.def | 10 LibMacroPlanner/BL/Type_UnitPeriodTimeBase/Function_CalcTotalAvailableCapacity.qbl | 3 _Main/BL/Type_Global_ShowColumn/Attribute_ColumnIndex.qbl | 7 _Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart#156.qbl | 20 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnCreated.def | 4 _Main/BL/Type_Global_MappingCustomerGrade/_ROOT_Type_Global_MappingCustomerGrade.qbl | 9 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def | 24 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listContextMenuInterfaceTest.def | 24 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonPriority_OnClick.def | 16 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_CustomerGrade.qbl | 17 _Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def | 18 _Main/BL/Type_CustomerOrder/Attribute_SheetProfitability.qbl | 8 _Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowCell_Global_ShowCell_GlobalOTDTable.qbl | 23 _Main/BL/Relations/Relation_Global_MappingDOI_DSI_GlobalOTDTable_GlobalOTDTable_Global_MappingD.qbl | 23 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def | 97 _Main/BL/Type_CustomerOrder/Attribute_SegmentPriority.qbl | 8 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnC#663.def | 2 _Main/BL/Type_Global_MappingCustomOrder/Attribute_SegmentPriority.qbl | 7 _Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderTime.qbl | 7 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_abgInterfaceTest_btnInterfaceTest_OnClick.def | 16 _Main/UI/MacroPlannerWebApp/Views/接口测试.vw | 178 + LibMacroPlanner/BL/Relations/Relation_MPSync_ImportExcel_ImportExcel_MPSync.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Response_OnCreated.def | 2 _Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl | 2 _Main/BL/Type_YuxTest/Attribute_TestBoolean.qbl | 7 _Main/BL/Type_MappingSaleBudge/StaticMethod_Export.qbl | 2 _Main/BL/Type_ImportExcel/Method_Execute.qbl | 43 _Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl | 4 _Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterItem_GlobalOTDTable_GlobalOTDTable_Capaci.qbl | 23 LibSOPImportExport/BL/Type_LibSOPImpExp_DataSource/Method_HasAllRequiredFilesForImport#522.qbl | 5 _Main/BL/Relations/Relation_CapacityAndSaleBudgeChartRow_GlobalOTDTable_GlobalOTDTable_Capacity.qbl | 23 _Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterYear_GlobalOTDTable_GlobalOTDTable_Capaci.qbl | 23 _Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_TestData.qbl | 6 _Main/BL/Type_CustomerOrder/Attribute_OrderTime.qbl | 8 _Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_DOI_DSI.qbl | 20 _Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlActions.def | 40 _Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/_ROOT_Component_DialogChoosePriorityPolicy.def | 22 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def | 4 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def | 4 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonExportCompare_OnClick.def | 2 _Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl | 33 _Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Method_ClickBynOk.def | 17 _Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl | 7 _Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompare.qbl | 38 _Main/BL/Type_Global_MappingDOI_DSI/Attribute_DSI.qbl | 8 _Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_CreateIfNotExist.qbl | 2 _Main/BL/Type_CustomerOrder/Attribute_ProductGrade.qbl | 8 _Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter0.qbl | 16 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/_ROOT_Component_FormCustomerAndForecastOrder.def | 1 _Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuEditCustomerOrderPriority_OnClic.def | 21 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_MatrixEditorCapacityAndSaleBudgeCompare.def | 12 _Main/BL/Relations/Relation_Global_MappingCustomerGrade_GlobalOTDTable_GlobalOTDTable_Global_Ma.qbl | 23 _Main/BL/Type_GlobalDTOTable/Method_Test.qbl | 9 _Main/BL/Type_Global_MappingCustomerGrade/Attribute_BusinessType.qbl | 9 _Main/BL/Type_ScenarioManager/Method_ImportExcels_Tianma.qbl | 29 _Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlActions_btnCancel_OnClick.def | 15 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest.def | 37 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixEditorActionBarPageShowInterfaceData.def | 10 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def | 4 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def | 2 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_applicationDevelopmentActionBarPageDef#1.def | 1 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnCli.def | 23 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def | 4 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_ListCustomerAndFillingCapacityOrder.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def | 9 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyFactor_OnDataChanged.def | 18 /dev/null | 10 _Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def | 4 _Main/BL/Type_LibSOPImpExp_ExportExcel/StaticMethod_IsDataSourceIncluded_Tianma.qbl | 10 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest981.def | 14 208 files changed, 7,312 insertions(+), 169 deletions(-) diff --git a/LibMacroPlanner/BL/Relations/Relation_MPSync_ImportExcel_ImportExcel_MPSync.qbl b/LibMacroPlanner/BL/Relations/Relation_MPSync_ImportExcel_ImportExcel_MPSync.qbl index 9f508eb..c429f65 100644 --- a/LibMacroPlanner/BL/Relations/Relation_MPSync_ImportExcel_ImportExcel_MPSync.qbl +++ b/LibMacroPlanner/BL/Relations/Relation_MPSync_ImportExcel_ImportExcel_MPSync.qbl @@ -12,7 +12,6 @@ Cardinality: '1toN' ObjectDefinition: MPSync OwningSide: 'Owned' - InterfaceProperties { Accessibility: 'Module' } } RelationSide.RightSide MPSync { @@ -20,6 +19,5 @@ Cardinality: '0to1' ObjectDefinition: ImportExcel OwningSide: 'Reference' - InterfaceProperties { Accessibility: 'Module' } } } diff --git a/LibMacroPlanner/BL/Type_UnitPeriodTimeBase/Function_CalcTotalAvailableCapacity.qbl b/LibMacroPlanner/BL/Type_UnitPeriodTimeBase/Function_CalcTotalAvailableCapacity.qbl index 7b7de81..704abc5 100644 --- a/LibMacroPlanner/BL/Type_UnitPeriodTimeBase/Function_CalcTotalAvailableCapacity.qbl +++ b/LibMacroPlanner/BL/Type_UnitPeriodTimeBase/Function_CalcTotalAvailableCapacity.qbl @@ -16,7 +16,8 @@ if( not isnull( planningup ) ) { - value := planningup.BaseAvailableCapacity().HoursAsReal() * planningup.MaximumLoadPercentage() / 100; + value := planningup.BaseAvailableCapacity().HoursAsReal() * planningup.MaximumLoadPercentage() / 100 + * this.PlanningSystemRatio(); // Tianma fix 20230926 } } else diff --git "a/LibSOPImportExport/BL/Type_LibSOPImpExp_DataSource/Method_HasAllRequiredFilesForImport\043522.qbl" "b/LibSOPImportExport/BL/Type_LibSOPImpExp_DataSource/Method_HasAllRequiredFilesForImport\043522.qbl" index 4ea6109..af8fd45 100644 --- "a/LibSOPImportExport/BL/Type_LibSOPImpExp_DataSource/Method_HasAllRequiredFilesForImport\043522.qbl" +++ "b/LibSOPImportExport/BL/Type_LibSOPImpExp_DataSource/Method_HasAllRequiredFilesForImport\043522.qbl" @@ -1,6 +1,9 @@ Quintiq file version 2.0 #parent: #root -Method HasAllRequiredFilesForImport (output Strings missingFiles_o, Boolean needUserUploadAllFiles) as Boolean +Method HasAllRequiredFilesForImport ( + output Strings missingFiles_o, + Boolean needUserUploadAllFiles +) remote as Boolean { TextBody: [* diff --git a/LibSOPImportExport/BL/Type_LibSOPImpExp_DataSource/Method_HasAllRequiredFilesForImport.qbl b/LibSOPImportExport/BL/Type_LibSOPImpExp_DataSource/Method_HasAllRequiredFilesForImport.qbl index b8c6585..a6720f7 100644 --- a/LibSOPImportExport/BL/Type_LibSOPImpExp_DataSource/Method_HasAllRequiredFilesForImport.qbl +++ b/LibSOPImportExport/BL/Type_LibSOPImpExp_DataSource/Method_HasAllRequiredFilesForImport.qbl @@ -1,6 +1,8 @@ Quintiq file version 2.0 #parent: #root -Method HasAllRequiredFilesForImport (output Strings missingFiles_o) as Boolean +Method HasAllRequiredFilesForImport ( + output Strings missingFiles_o +) remote as Boolean { TextBody: [* diff --git "a/LibSOPImportExport/BL/Type_LibSOPImpExp_ImportExcel/Method_CanImport\043382.qbl" "b/LibSOPImportExport/BL/Type_LibSOPImpExp_ImportExcel/Method_CanImport\043382.qbl" index 590b315..d9785ad 100644 --- "a/LibSOPImportExport/BL/Type_LibSOPImpExp_ImportExcel/Method_CanImport\043382.qbl" +++ "b/LibSOPImportExport/BL/Type_LibSOPImpExp_ImportExcel/Method_CanImport\043382.qbl" @@ -1,6 +1,8 @@ Quintiq file version 2.0 #parent: #root -Method CanImport (output Strings missingFiles_o) as Boolean +Method CanImport ( + output Strings missingFiles_o +) remote as Boolean { Description: 'Checks if necessary files are sufficent before starting import.' TextBody: diff --git a/LibSOPImportExport/metadata.properties b/LibSOPImportExport/metadata.properties index c38fbdb..6d65136 100644 --- a/LibSOPImportExport/metadata.properties +++ b/LibSOPImportExport/metadata.properties @@ -5,4 +5,4 @@ system=false version.component=2022.3.0.0 version.fileformat=2 -version.quintiq=6.3.3.0 NightlyBuild 247983, build 247983 +version.quintiq=6.3.3.0 , build 248673 diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl index 62a47a5..c405497 100644 --- a/_Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl +++ b/_Main/BL/EDI/Broker_GlobalOTDTable_CustomOrder.qbl @@ -21,12 +21,16 @@ EDIMLColumn OrderDate { Attribute: OrderDate ValueType: Date } EDIMLColumn OrderID { Attribute: OrderID ValueType: String } EDIMLColumn OrderLineID { Attribute: OrderLineID ValueType: String } + EDIMLColumn OrderTime { Attribute: OrderTime ValueType: Date } EDIMLColumn OrderType { Attribute: OrderType ValueType: String } EDIMLColumn Price { Attribute: Price ValueType: Real } EDIMLColumn PriorityName { Attribute: PriorityName ValueType: String } + EDIMLColumn ProductGrade { Attribute: ProductGrade ValueType: String } EDIMLColumn ProductID { Attribute: ProductID ValueType: String } EDIMLColumn Quantity { Attribute: Quantity ValueType: Real } EDIMLColumn SalesSegmentName { Attribute: SalesSegmentName ValueType: String } + EDIMLColumn SegmentPriority { Attribute: SegmentPriority ValueType: String } + EDIMLColumn SheetProfitability { Attribute: SheetProfitability ValueType: String } EDIMLColumn StockingPointID { Attribute: StockingPointID ValueType: String } EDIMLColumn UnitOfMeasureName { Attribute: UnitOfMeasureName ValueType: String } } @@ -93,7 +97,7 @@ EDIODBCLinkColumn ORDERTIME { OthersMayUpdateColumn: true - ValueType: String + ValueType: DateTime } EDIODBCLinkColumn ORDERTYPE { @@ -184,12 +188,33 @@ } EDIColumnMatch { InputColumn: ORDERID OutputColumn: OrderID } EDIColumnMatch { InputColumn: ORDERLINEID OutputColumn: OrderLineID } - EDIColumnMatch { InputColumn: ORDERTIME OutputColumn: OrderType } + EDIColumnMatch + { + InputColumn: ORDERTIME + OutputColumn: OrderTime + Converter + { + XMLDefinition: + [* + <?xml version="1.0" encoding="UTF-16"?> + <DateTimeToDate xmlns="http://www.quintiq.com/GEB/DateTimeToDate" Key="@1"> + <IsStandard>true</IsStandard> + <IsISO>false</IsISO> + <IsCustom>false</IsCustom> + <ConversionType>0</ConversionType> + </DateTimeToDate> + *] + } + } + EDIColumnMatch { InputColumn: ORDERTYPE OutputColumn: OrderType } EDIColumnMatch { InputColumn: PRICE OutputColumn: Price } EDIColumnMatch { InputColumn: PRIORITYNAME OutputColumn: PriorityName } + EDIColumnMatch { InputColumn: PRODUCTGRADE OutputColumn: ProductGrade } EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID } EDIColumnMatch { InputColumn: QUANTITY OutputColumn: Quantity } EDIColumnMatch { InputColumn: SALESEGMENTNAME OutputColumn: SalesSegmentName } + EDIColumnMatch { InputColumn: SEGMENTPRIORITY OutputColumn: SegmentPriority } + EDIColumnMatch { InputColumn: SHEETPROFITABILITY OutputColumn: SheetProfitability } EDIColumnMatch { InputColumn: STOCKINGPOINTID OutputColumn: StockingPointID } EDIColumnMatch { InputColumn: UNITOFMEASURENAME OutputColumn: UnitOfMeasureName } } diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_CustomerGrade.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_CustomerGrade.qbl new file mode 100644 index 0000000..9ba2dac --- /dev/null +++ b/_Main/BL/EDI/Broker_GlobalOTDTable_CustomerGrade.qbl @@ -0,0 +1,64 @@ +Quintiq file version 2.0 +#parent: #root +EDIBroker GlobalOTDTable_CustomerGrade +{ + MDSDefinition: GlobalOTDTable + TimeZone: 'ACT' + UseOSTimeZone: false + EDIModelLink.Destination Destination16 + { + EDIMLTable Global_MappingCustomerGrade + { + PrimaryKeyColumns: BusinessType + PrimaryKeyColumns: Customer + PrimaryKeyColumns: CustomerGrade + TargetType: Global_MappingCustomerGrade + TypeIndex: Global_MappingCustomerGradeTypeIndex + EDIMLColumn BusinessType { Attribute: BusinessType ValueType: String } + EDIMLColumn Customer { Attribute: Customer ValueType: String } + EDIMLColumn CustomerGrade { Attribute: CustomerGrade ValueType: String } + } + } + EDIODBCLink.Source Source15 + { + DataIntegrityStrategy: 'Disabled' + SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle' + EDIODBCLinkTable MID_CUSTOMERGRADE + { + OthersMayCreateTable: true + OthersMayDeleteRow: true + OthersMayDropTable: true + OthersMayFlushTable: true + OthersMayInsertRow: true + Parameters: '/owner="OTD"' + PrimaryKeyColumns: CUSTOMER + RecordModificationHintStrategy: 'None' + EDIODBCLinkColumn BUSINESSTYPE + { + OthersMayUpdateColumn: true + ValueType: String + } + EDIODBCLinkColumn CUSTOMER + { + OthersMayUpdateColumn: true + ValueType: String + } + EDIODBCLinkColumn CUSTOMERGRADE + { + OthersMayUpdateColumn: true + ValueType: String + } + } + } + EDITransformation.Transformation Transformation15 + { + EDITableTransformation + { + InputTable: MID_CUSTOMERGRADE + OutputTable: Global_MappingCustomerGrade + EDIColumnMatch { InputColumn: BUSINESSTYPE OutputColumn: BusinessType } + EDIColumnMatch { InputColumn: CUSTOMER OutputColumn: Customer } + EDIColumnMatch { InputColumn: CUSTOMERGRADE OutputColumn: CustomerGrade } + } + } +} diff --git a/_Main/BL/EDI/Broker_GlobalOTDTable_DOI_DSI.qbl b/_Main/BL/EDI/Broker_GlobalOTDTable_DOI_DSI.qbl new file mode 100644 index 0000000..4fcd29e --- /dev/null +++ b/_Main/BL/EDI/Broker_GlobalOTDTable_DOI_DSI.qbl @@ -0,0 +1,71 @@ +Quintiq file version 2.0 +#parent: #root +EDIBroker GlobalOTDTable_DOI_DSI +{ + MDSDefinition: GlobalOTDTable + TimeZone: 'ACT' + UseOSTimeZone: false + EDIModelLink.Destination Destination15 + { + EDIMLTable Global_MappingDOI_DSI + { + PrimaryKeyColumns: OrganCode + PrimaryKeyColumns: ProductID + TargetType: Global_MappingDOI_DSI + TypeIndex: Global_MappingDOI_DSITypeIndex + EDIMLColumn DOI { Attribute: DOI ValueType: String } + EDIMLColumn DSI { Attribute: DSI ValueType: String } + EDIMLColumn OrganCode { Attribute: OrganCode ValueType: String } + EDIMLColumn ProductID { Attribute: ProductID ValueType: String } + } + } + EDIODBCLink.Source Source14 + { + DataIntegrityStrategy: 'Disabled' + SettingsEngineLink: 'domainmodel.ediremotedatasourcedefinition.remotestorage.oracle' + EDIODBCLinkTable MID_DOI_DSI + { + OthersMayCreateTable: true + OthersMayDeleteRow: true + OthersMayDropTable: true + OthersMayFlushTable: true + OthersMayInsertRow: true + Parameters: '/owner="OTD"' + PrimaryKeyColumns: ORGANCODE + PrimaryKeyColumns: PRODUCTID + RecordModificationHintStrategy: 'None' + EDIODBCLinkColumn DOI + { + OthersMayUpdateColumn: true + ValueType: String + } + EDIODBCLinkColumn DSI + { + OthersMayUpdateColumn: true + ValueType: String + } + EDIODBCLinkColumn ORGANCODE + { + OthersMayUpdateColumn: true + ValueType: String + } + EDIODBCLinkColumn PRODUCTID + { + OthersMayUpdateColumn: true + ValueType: String + } + } + } + EDITransformation.Transformation Transformation14 + { + EDITableTransformation + { + InputTable: MID_DOI_DSI + OutputTable: Global_MappingDOI_DSI + EDIColumnMatch { InputColumn: DOI OutputColumn: DOI } + EDIColumnMatch { InputColumn: DSI OutputColumn: DSI } + EDIColumnMatch { InputColumn: ORGANCODE OutputColumn: OrganCode } + EDIColumnMatch { InputColumn: PRODUCTID OutputColumn: ProductID } + } + } +} diff --git a/_Main/BL/KnowledgeBaseDomain_MacroPlanner/KnowledgeBase_Knowledge_MP/_ROOT_KnowledgeBase_Knowledge_MP.qbl b/_Main/BL/KnowledgeBaseDomain_MacroPlanner/KnowledgeBase_Knowledge_MP/_ROOT_KnowledgeBase_Knowledge_MP.qbl new file mode 100644 index 0000000..ea0a67e --- /dev/null +++ b/_Main/BL/KnowledgeBaseDomain_MacroPlanner/KnowledgeBase_Knowledge_MP/_ROOT_KnowledgeBase_Knowledge_MP.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#root +#parent: #root +KnowledgeBase Knowledge_MP #extension +{ +} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartElement_GlobalOTDTable_GlobalOTDTable_Capa.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartElement_GlobalOTDTable_GlobalOTDTable_Capa.qbl new file mode 100644 index 0000000..2d5380f --- /dev/null +++ b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartElement_GlobalOTDTable_GlobalOTDTable_Capa.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CapacityAndSaleBudgeChartElement_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeChartElement +{ + #keys: '1[414384.0.921264786]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414384.0.921264788][414384.0.921264787][414384.0.921264789]' + Cardinality: '0to1' + ObjectDefinition: CapacityAndSaleBudgeChartElement + OwningSide: 'Reference' + } + RelationSide.RightSide CapacityAndSaleBudgeChartElement + { + #keys: '3[414384.0.921264791][414384.0.921264790][414384.0.921264792]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartElement_ScenarioManager_ScenarioManager_Ca.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartElement_ScenarioManager_ScenarioManager_Ca.qbl deleted file mode 100644 index fcd971b..0000000 --- a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartElement_ScenarioManager_ScenarioManager_Ca.qbl +++ /dev/null @@ -1,23 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Relation CapacityAndSaleBudgeChartElement_ScenarioManager_ScenarioManager_CapacityAndSaleBudgeChartElement -{ - #keys: '1[414384.0.852466576]' - DefaultRelationStrategy - { - } - RelationSide.LeftSide ScenarioManager - { - #keys: '3[414384.0.852466578][414384.0.852466577][414384.0.852466579]' - Cardinality: '0to1' - ObjectDefinition: CapacityAndSaleBudgeChartElement - OwningSide: 'Reference' - } - RelationSide.RightSide CapacityAndSaleBudgeChartElement - { - #keys: '3[414384.0.852466581][414384.0.852466580][414384.0.852466582]' - Cardinality: '1toN' - ObjectDefinition: ScenarioManager - OwningSide: 'Owned' - } -} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartRow_GlobalOTDTable_GlobalOTDTable_Capacity.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartRow_GlobalOTDTable_GlobalOTDTable_Capacity.qbl new file mode 100644 index 0000000..a5fe974 --- /dev/null +++ b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartRow_GlobalOTDTable_GlobalOTDTable_Capacity.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CapacityAndSaleBudgeChartRow_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeChartRow +{ + #keys: '1[414384.0.921264769]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414384.0.921264771][414384.0.921264770][414384.0.921264772]' + Cardinality: '0to1' + ObjectDefinition: CapacityAndSaleBudgeChartRow + OwningSide: 'Reference' + } + RelationSide.RightSide CapacityAndSaleBudgeChartRow + { + #keys: '3[414384.0.921264774][414384.0.921264773][414384.0.921264775]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartRow_ScenarioManager_ScenarioManager_Capaci.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartRow_ScenarioManager_ScenarioManager_Capaci.qbl deleted file mode 100644 index 13e8d6d..0000000 --- a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeChartRow_ScenarioManager_ScenarioManager_Capaci.qbl +++ /dev/null @@ -1,23 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Relation CapacityAndSaleBudgeChartRow_ScenarioManager_ScenarioManager_CapacityAndSaleBudgeChartRow -{ - #keys: '1[414384.0.852471828]' - DefaultRelationStrategy - { - } - RelationSide.LeftSide ScenarioManager - { - #keys: '3[414384.0.852471830][414384.0.852471829][414384.0.852471831]' - Cardinality: '0to1' - ObjectDefinition: CapacityAndSaleBudgeChartRow - OwningSide: 'Reference' - } - RelationSide.RightSide CapacityAndSaleBudgeChartRow - { - #keys: '3[414384.0.852471833][414384.0.852471832][414384.0.852471834]' - Cardinality: '1toN' - ObjectDefinition: ScenarioManager - OwningSide: 'Owned' - } -} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemColumn_GlobalOTDTable_GlobalOTDTable.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemColumn_GlobalOTDTable_GlobalOTDTable.qbl new file mode 100644 index 0000000..132284d --- /dev/null +++ b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemColumn_GlobalOTDTable_GlobalOTDTable.qbl @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +#parent: #root +Relation CapacityAndSaleBudgeCompareItemColumn_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeCompareItemColumn +{ + #keys: '1[414384.0.921264730]' + ProceduralSequenceRelationStrategy + { + #keys: '13[0.0.0][414384.0.921264749][414384.0.921264743][414384.0.921264750][414384.0.921264744][414384.0.921264751][414384.0.921264745][414384.0.921264752][414384.0.921264746][414384.0.921264753][414384.0.921264747][414384.0.921264754][414384.0.921264748]' + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414384.0.921264732][414384.0.921264731][414384.0.921264733]' + Cardinality: '0to1' + ObjectDefinition: CapacityAndSaleBudgeCompareItemColumn + OwningSide: 'Reference' + } + RelationSide.RightSide CapacityAndSaleBudgeCompareItemColumn + { + #keys: '3[414384.0.921264735][414384.0.921264734][414384.0.921264736]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemColumn_ScenarioManager_ScenarioManag.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemColumn_ScenarioManager_ScenarioManag.qbl deleted file mode 100644 index 07afbdf..0000000 --- a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemColumn_ScenarioManager_ScenarioManag.qbl +++ /dev/null @@ -1,26 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Relation CapacityAndSaleBudgeCompareItemColumn_ScenarioManager_ScenarioManager_CapacityAndSaleBudgeCompareItemColumn -{ - #keys: '1[414384.0.816631032]' - ProceduralSequenceRelationStrategy - { - #keys: '13[0.0.0][414384.0.827659683][414384.0.827659677][414384.0.827659684][414384.0.827659678][414384.0.827659685][414384.0.827659679][414384.0.827659686][414384.0.827659680][414384.0.827659687][414384.0.827659681][414384.0.827659688][414384.0.827659682]' - SequenceElementSuffix: 'ColumnInManager' - SequenceSuffix: 'ColumnInManager' - } - RelationSide.LeftSide ScenarioManager - { - #keys: '3[414384.0.816631034][414384.0.816631033][414384.0.816631035]' - Cardinality: '0to1' - ObjectDefinition: CapacityAndSaleBudgeCompareItemColumn - OwningSide: 'Reference' - } - RelationSide.RightSide CapacityAndSaleBudgeCompareItemColumn - { - #keys: '3[414384.0.816631037][414384.0.816631036][414384.0.816631038]' - Cardinality: '1toN' - ObjectDefinition: ScenarioManager - OwningSide: 'Owned' - } -} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemRow_GlobalOTDTable_GlobalOTDTable_Ca.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemRow_GlobalOTDTable_GlobalOTDTable_Ca.qbl new file mode 100644 index 0000000..d33c56f --- /dev/null +++ b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemRow_GlobalOTDTable_GlobalOTDTable_Ca.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CapacityAndSaleBudgeCompareItemRow_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeCompareItemRow +{ + #keys: '1[414384.0.921264713]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414384.0.921264715][414384.0.921264714][414384.0.921264716]' + Cardinality: '0to1' + ObjectDefinition: CapacityAndSaleBudgeCompareItemRow + OwningSide: 'Reference' + } + RelationSide.RightSide CapacityAndSaleBudgeCompareItemRow + { + #keys: '3[414384.0.921264718][414384.0.921264717][414384.0.921264719]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemRow_ScenarioManager_ScenarioManager_.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemRow_ScenarioManager_ScenarioManager_.qbl deleted file mode 100644 index 59829f6..0000000 --- a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeCompareItemRow_ScenarioManager_ScenarioManager_.qbl +++ /dev/null @@ -1,23 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Relation CapacityAndSaleBudgeCompareItemRow_ScenarioManager_ScenarioManager_CapacityAndSaleBudgeCompareItemRow -{ - #keys: '1[414384.0.816631016]' - DefaultRelationStrategy - { - } - RelationSide.LeftSide ScenarioManager - { - #keys: '3[414384.0.816631018][414384.0.816631017][414384.0.816631019]' - Cardinality: '0to1' - ObjectDefinition: CapacityAndSaleBudgeCompareItemRow - OwningSide: 'Reference' - } - RelationSide.RightSide CapacityAndSaleBudgeCompareItemRow - { - #keys: '3[414384.0.816631021][414384.0.816631020][414384.0.816631022]' - Cardinality: '1toN' - ObjectDefinition: ScenarioManager - OwningSide: 'Owned' - } -} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_GlobalOTDTable_GlobalOTDTabl.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_GlobalOTDTable_GlobalOTDTabl.qbl new file mode 100644 index 0000000..f0b0349 --- /dev/null +++ b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_GlobalOTDTable_GlobalOTDTabl.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CapacityAndSaleBudgeFilterBusinessType_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeFilterBusinessType +{ + #keys: '1[414384.0.921264696]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414384.0.921264698][414384.0.921264697][414384.0.921264699]' + Cardinality: '0to1' + ObjectDefinition: CapacityAndSaleBudgeFilterBusinessType + OwningSide: 'Reference' + } + RelationSide.RightSide CapacityAndSaleBudgeFilterBusinessType + { + #keys: '3[414384.0.921264701][414384.0.921264700][414384.0.921264702]' + 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 deleted file mode 100644 index fe18a82..0000000 --- a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterBusinessType_MPSync_MPSync_CapacityAndSal.qbl +++ /dev/null @@ -1,23 +0,0 @@ -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_CapacityAndSaleBudgeFilterItem_GlobalOTDTable_GlobalOTDTable_Capaci.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterItem_GlobalOTDTable_GlobalOTDTable_Capaci.qbl new file mode 100644 index 0000000..7933192 --- /dev/null +++ b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterItem_GlobalOTDTable_GlobalOTDTable_Capaci.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CapacityAndSaleBudgeFilterItem_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeFilterItem +{ + #keys: '1[414384.0.921264679]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414384.0.921264681][414384.0.921264680][414384.0.921264682]' + Cardinality: '0to1' + ObjectDefinition: CapacityAndSaleBudgeFilterItem + OwningSide: 'Reference' + } + RelationSide.RightSide CapacityAndSaleBudgeFilterItem + { + #keys: '3[414384.0.921264684][414384.0.921264683][414384.0.921264685]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterItem_ScenarioManager_ScenarioManager_Capa.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterItem_ScenarioManager_ScenarioManager_Capa.qbl deleted file mode 100644 index 041c7c2..0000000 --- a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterItem_ScenarioManager_ScenarioManager_Capa.qbl +++ /dev/null @@ -1,23 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Relation CapacityAndSaleBudgeFilterItem_ScenarioManager_ScenarioManager_CapacityAndSaleBudgeFilterItem -{ - #keys: '1[414384.0.816665103]' - DefaultRelationStrategy - { - } - RelationSide.LeftSide ScenarioManager - { - #keys: '3[414384.0.816665105][414384.0.816665104][414384.0.816665106]' - Cardinality: '0to1' - ObjectDefinition: CapacityAndSaleBudgeFilterItem - OwningSide: 'Reference' - } - RelationSide.RightSide CapacityAndSaleBudgeFilterItem - { - #keys: '3[414384.0.816665108][414384.0.816665107][414384.0.816665109]' - Cardinality: '1toN' - ObjectDefinition: ScenarioManager - OwningSide: 'Owned' - } -} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterMonth_GlobalOTDTable_GlobalOTDTable_Capac.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterMonth_GlobalOTDTable_GlobalOTDTable_Capac.qbl new file mode 100644 index 0000000..d8b447f --- /dev/null +++ b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterMonth_GlobalOTDTable_GlobalOTDTable_Capac.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CapacityAndSaleBudgeFilterMonth_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeFilterMonth +{ + #keys: '1[414384.0.921264662]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414384.0.921264664][414384.0.921264663][414384.0.921264665]' + Cardinality: '0to1' + ObjectDefinition: CapacityAndSaleBudgeFilterMonth + OwningSide: 'Reference' + } + RelationSide.RightSide CapacityAndSaleBudgeFilterMonth + { + #keys: '3[414384.0.921264667][414384.0.921264666][414384.0.921264668]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterMonth_ScenarioManager_ScenarioManager_Cap.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterMonth_ScenarioManager_ScenarioManager_Cap.qbl deleted file mode 100644 index cc133c7..0000000 --- a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterMonth_ScenarioManager_ScenarioManager_Cap.qbl +++ /dev/null @@ -1,23 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Relation CapacityAndSaleBudgeFilterMonth_ScenarioManager_ScenarioManager_CapacityAndSaleBudgeFilterMonth -{ - #keys: '1[414384.0.816631074]' - DefaultRelationStrategy - { - } - RelationSide.LeftSide ScenarioManager - { - #keys: '3[414384.0.816631076][414384.0.816631075][414384.0.816631077]' - Cardinality: '0to1' - ObjectDefinition: CapacityAndSaleBudgeFilterMonth - OwningSide: 'Reference' - } - RelationSide.RightSide CapacityAndSaleBudgeFilterMonth - { - #keys: '3[414384.0.816631079][414384.0.816631078][414384.0.816631080]' - Cardinality: '1toN' - ObjectDefinition: ScenarioManager - OwningSide: 'Owned' - } -} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_GlobalOTDTable_G.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_GlobalOTDTable_G.qbl new file mode 100644 index 0000000..e10c202 --- /dev/null +++ b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_GlobalOTDTable_G.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray +{ + #keys: '1[414384.0.921264645]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414384.0.921264647][414384.0.921264646][414384.0.921264648]' + Cardinality: '0to1' + ObjectDefinition: CapacityAndSaleBudgeFilterPlaceOfProductionOfArray + OwningSide: 'Reference' + } + RelationSide.RightSide CapacityAndSaleBudgeFilterPlaceOfProductionOfArray + { + #keys: '3[414384.0.921264650][414384.0.921264649][414384.0.921264651]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_MPSync_MPSync_Ca.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_MPSync_MPSync_Ca.qbl deleted file mode 100644 index ef6b268..0000000 --- a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray_MPSync_MPSync_Ca.qbl +++ /dev/null @@ -1,23 +0,0 @@ -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_CapacityAndSaleBudgeFilterYear_GlobalOTDTable_GlobalOTDTable_Capaci.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterYear_GlobalOTDTable_GlobalOTDTable_Capaci.qbl new file mode 100644 index 0000000..8df8fb7 --- /dev/null +++ b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterYear_GlobalOTDTable_GlobalOTDTable_Capaci.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation CapacityAndSaleBudgeFilterYear_GlobalOTDTable_GlobalOTDTable_CapacityAndSaleBudgeFilterYear +{ + #keys: '1[414384.0.921264628]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414384.0.921264630][414384.0.921264629][414384.0.921264631]' + Cardinality: '0to1' + ObjectDefinition: CapacityAndSaleBudgeFilterYear + OwningSide: 'Reference' + } + RelationSide.RightSide CapacityAndSaleBudgeFilterYear + { + #keys: '3[414384.0.921264633][414384.0.921264632][414384.0.921264634]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterYear_ScenarioManager_ScenarioManager_Capa.qbl b/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterYear_ScenarioManager_ScenarioManager_Capa.qbl deleted file mode 100644 index 5fb08a4..0000000 --- a/_Main/BL/Relations/Relation_CapacityAndSaleBudgeFilterYear_ScenarioManager_ScenarioManager_Capa.qbl +++ /dev/null @@ -1,23 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Relation CapacityAndSaleBudgeFilterYear_ScenarioManager_ScenarioManager_CapacityAndSaleBudgeFilterYear -{ - #keys: '1[414384.0.816631057]' - DefaultRelationStrategy - { - } - RelationSide.LeftSide ScenarioManager - { - #keys: '3[414384.0.816631059][414384.0.816631058][414384.0.816631060]' - Cardinality: '0to1' - ObjectDefinition: CapacityAndSaleBudgeFilterYear - OwningSide: 'Reference' - } - RelationSide.RightSide CapacityAndSaleBudgeFilterYear - { - #keys: '3[414384.0.816631062][414384.0.816631061][414384.0.816631063]' - Cardinality: '1toN' - ObjectDefinition: ScenarioManager - OwningSide: 'Owned' - } -} diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowCell_Global_ShowCell_GlobalOTDTable.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowCell_Global_ShowCell_GlobalOTDTable.qbl new file mode 100644 index 0000000..4521d55 --- /dev/null +++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowCell_Global_ShowCell_GlobalOTDTable.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation GlobalOTDTable_Global_ShowCell_Global_ShowCell_GlobalOTDTable +{ + #keys: '1[414702.0.483720679]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Global_ShowCell + { + #keys: '3[414702.0.483720681][414702.0.483720680][414702.0.483720682]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } + RelationSide.RightSide GlobalOTDTable + { + #keys: '3[414702.0.483720684][414702.0.483720683][414702.0.483720685]' + Cardinality: '0to1' + ObjectDefinition: Global_ShowCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowColumn_Global_ShowColumn_GlobalOTDTable.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowColumn_Global_ShowColumn_GlobalOTDTable.qbl new file mode 100644 index 0000000..5508eb3 --- /dev/null +++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowColumn_Global_ShowColumn_GlobalOTDTable.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation GlobalOTDTable_Global_ShowColumn_Global_ShowColumn_GlobalOTDTable +{ + #keys: '1[414702.0.483720692]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Global_ShowColumn + { + #keys: '3[414702.0.483720694][414702.0.483720693][414702.0.483720695]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } + RelationSide.RightSide GlobalOTDTable + { + #keys: '3[414702.0.483720697][414702.0.483720696][414702.0.483720698]' + Cardinality: '0to1' + ObjectDefinition: Global_ShowColumn + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowRow_Global_ShowRow_GlobalOTDTable.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowRow_Global_ShowRow_GlobalOTDTable.qbl new file mode 100644 index 0000000..d8f6a4b --- /dev/null +++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowRow_Global_ShowRow_GlobalOTDTable.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation GlobalOTDTable_Global_ShowRow_Global_ShowRow_GlobalOTDTable +{ + #keys: '1[414702.0.483720663]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Global_ShowRow + { + #keys: '3[414702.0.483720665][414702.0.483720664][414702.0.483720666]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } + RelationSide.RightSide GlobalOTDTable + { + #keys: '3[414702.0.483720668][414702.0.483720667][414702.0.483720669]' + Cardinality: '0to1' + ObjectDefinition: Global_ShowRow + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_Global_MappingCustomerGrade_GlobalOTDTable_GlobalOTDTable_Global_Ma.qbl b/_Main/BL/Relations/Relation_Global_MappingCustomerGrade_GlobalOTDTable_GlobalOTDTable_Global_Ma.qbl new file mode 100644 index 0000000..9f05865 --- /dev/null +++ b/_Main/BL/Relations/Relation_Global_MappingCustomerGrade_GlobalOTDTable_GlobalOTDTable_Global_Ma.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation Global_MappingCustomerGrade_GlobalOTDTable_GlobalOTDTable_Global_MappingCustomerGrade +{ + #keys: '1[414702.0.445485678]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414702.0.445485680][414702.0.445485679][414702.0.445485681]' + Cardinality: '0to1' + ObjectDefinition: Global_MappingCustomerGrade + OwningSide: 'Reference' + } + RelationSide.RightSide Global_MappingCustomerGrade + { + #keys: '3[414702.0.445485683][414702.0.445485682][414702.0.445485684]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_Global_MappingDOI_DSI_GlobalOTDTable_GlobalOTDTable_Global_MappingD.qbl b/_Main/BL/Relations/Relation_Global_MappingDOI_DSI_GlobalOTDTable_GlobalOTDTable_Global_MappingD.qbl new file mode 100644 index 0000000..2020f2e --- /dev/null +++ b/_Main/BL/Relations/Relation_Global_MappingDOI_DSI_GlobalOTDTable_GlobalOTDTable_Global_MappingD.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation Global_MappingDOI_DSI_GlobalOTDTable_GlobalOTDTable_Global_MappingDOI_DSI +{ + #keys: '1[414702.0.445364657]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide GlobalOTDTable + { + #keys: '3[414702.0.445364659][414702.0.445364658][414702.0.445364660]' + Cardinality: '0to1' + ObjectDefinition: Global_MappingDOI_DSI + OwningSide: 'Reference' + } + RelationSide.RightSide Global_MappingDOI_DSI + { + #keys: '3[414702.0.445364662][414702.0.445364661][414702.0.445364663]' + Cardinality: '1toN' + ObjectDefinition: GlobalOTDTable + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Relations/Relation_Global_ShowColumn_Global_ShowCell_Global_ShowCell_Global_ShowColumn.qbl b/_Main/BL/Relations/Relation_Global_ShowColumn_Global_ShowCell_Global_ShowCell_Global_ShowColumn.qbl new file mode 100644 index 0000000..86258ab --- /dev/null +++ b/_Main/BL/Relations/Relation_Global_ShowColumn_Global_ShowCell_Global_ShowCell_Global_ShowColumn.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation Global_ShowColumn_Global_ShowCell_Global_ShowCell_Global_ShowColumn +{ + #keys: '1[414702.0.483720723]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Global_ShowCell + { + #keys: '3[414702.0.483720725][414702.0.483720724][414702.0.483720726]' + Cardinality: '1toN' + ObjectDefinition: Global_ShowColumn + OwningSide: 'Reference' + } + RelationSide.RightSide Global_ShowColumn + { + #keys: '3[414702.0.483720728][414702.0.483720727][414702.0.483720729]' + Cardinality: '0to1' + ObjectDefinition: Global_ShowCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_Global_ShowRow_Global_ShowCell_Global_ShowCell_Global_ShowRow.qbl b/_Main/BL/Relations/Relation_Global_ShowRow_Global_ShowCell_Global_ShowCell_Global_ShowRow.qbl new file mode 100644 index 0000000..efa77b8 --- /dev/null +++ b/_Main/BL/Relations/Relation_Global_ShowRow_Global_ShowCell_Global_ShowCell_Global_ShowRow.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation Global_ShowRow_Global_ShowCell_Global_ShowCell_Global_ShowRow +{ + #keys: '1[414702.0.483720707]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide Global_ShowCell + { + #keys: '3[414702.0.483720709][414702.0.483720708][414702.0.483720710]' + Cardinality: '1toN' + ObjectDefinition: Global_ShowRow + OwningSide: 'Reference' + } + RelationSide.RightSide Global_ShowRow + { + #keys: '3[414702.0.483720712][414702.0.483720711][414702.0.483720713]' + Cardinality: '0to1' + ObjectDefinition: Global_ShowCell + OwningSide: 'Reference' + } +} diff --git a/_Main/BL/Relations/Relation_YuxTest_MPSync_MPSync_YuxTest.qbl b/_Main/BL/Relations/Relation_YuxTest_MPSync_MPSync_YuxTest.qbl new file mode 100644 index 0000000..743c739 --- /dev/null +++ b/_Main/BL/Relations/Relation_YuxTest_MPSync_MPSync_YuxTest.qbl @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: #root +Relation YuxTest_MPSync_MPSync_YuxTest +{ + #keys: '1[414384.0.915854641]' + DefaultRelationStrategy + { + } + RelationSide.LeftSide MPSync + { + #keys: '3[414384.0.915854643][414384.0.915854642][414384.0.915854644]' + Cardinality: '0to1' + ObjectDefinition: YuxTest + OwningSide: 'Reference' + } + RelationSide.RightSide YuxTest + { + #keys: '3[414384.0.915854646][414384.0.915854645][414384.0.915854647]' + Cardinality: '1toN' + ObjectDefinition: MPSync + OwningSide: 'Owned' + } +} diff --git a/_Main/BL/Type_BusinessType/StaticMethod_GetBusinessNameStr.qbl b/_Main/BL/Type_BusinessType/StaticMethod_GetBusinessNameStr.qbl index 22f2d2e..7496f0f 100644 --- a/_Main/BL/Type_BusinessType/StaticMethod_GetBusinessNameStr.qbl +++ b/_Main/BL/Type_BusinessType/StaticMethod_GetBusinessNameStr.qbl @@ -7,7 +7,6 @@ TextBody: [* // NBoTk Sep-7-2023 (created) - // 鑾峰彇businessType 闆嗗悎 result := ""; businessTypeList := construct( structured[String]); diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_TestData.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_TestData.qbl index 39c29d0..3d1269f 100644 --- a/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_TestData.qbl +++ b/_Main/BL/Type_CapacityAndSaleBudgeChartElement/StaticMethod_TestData.qbl @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: #root StaticMethod TestData ( - ScenarioManager scenarioManager + GlobalOTDTable parent ) { Description: '鐢熸垚娴嬭瘯鏁版嵁' @@ -11,7 +11,7 @@ info( "鐢熸垚骞村害浜ч攢棰勭畻鎶ヨ〃娴嬭瘯鏁版嵁" ) - scenarioManager.CapacityAndSaleBudgeChartElement( relflush ); + parent.CapacityAndSaleBudgeChartElement( relflush ); for( sc := 0; sc < 4; sc := sc + 1 ) { scenarioName := "SC" + [String]sc; @@ -19,7 +19,7 @@ businessTypeString := "BT" + [String]i; for( j := 1; j <= 12; j := j + 1 ) { monthString := "MONTH" + ifexpr( j < 10, "0" + [String]j, [String]j ); - scenarioManager.CapacityAndSaleBudgeChartElement( relnew, + parent.CapacityAndSaleBudgeChartElement( relnew, BusinessTypeOrPlaceOfProductionOfArray := businessTypeString, TimeStringAndScenarioName := monthString + " - " + scenarioName, Quantity := Real::Random( 20.0, 30.0 ) ); diff --git a/_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_CreateIfNotExist.qbl index cb76a5f..76a61fb 100644 --- a/_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_CreateIfNotExist.qbl +++ b/_Main/BL/Type_CapacityAndSaleBudgeChartRow/StaticMethod_CreateIfNotExist.qbl @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: #root StaticMethod CreateIfNotExist ( - ScenarioManager scenarioManager, + GlobalOTDTable parent, String businessType, String placeOfProductionOfArray ) as CapacityAndSaleBudgeChartRow @@ -9,9 +9,9 @@ TextBody: [* // yypsybs Sep-18-2023 (created) - value := select( scenarioManager, CapacityAndSaleBudgeChartRow, row, row.BusinessType() = businessType and row.PlaceOfProductionOfArray() = placeOfProductionOfArray ); + value := select( parent, CapacityAndSaleBudgeChartRow, row, row.BusinessType() = businessType and row.PlaceOfProductionOfArray() = placeOfProductionOfArray ); if( isnull( value ) ) { - value := scenarioManager.CapacityAndSaleBudgeChartRow( relnew, BusinessType := businessType, PlaceOfProductionOfArray := placeOfProductionOfArray ); + value := parent.CapacityAndSaleBudgeChartRow( relnew, BusinessType := businessType, PlaceOfProductionOfArray := placeOfProductionOfArray ); } return value; *] diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/StaticMethod_CreateIfNotExist.qbl index 1e42b21..77bfe99 100644 --- a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/StaticMethod_CreateIfNotExist.qbl +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemColumn/StaticMethod_CreateIfNotExist.qbl @@ -1,16 +1,16 @@ Quintiq file version 2.0 #parent: #root StaticMethod CreateIfNotExist ( - ScenarioManager manager, + GlobalOTDTable parent, String columnName ) as CapacityAndSaleBudgeCompareItemColumn { TextBody: [* // yypsybs Sep-18-2023 (created) - value := select( manager, CapacityAndSaleBudgeCompareItemColumn, item, item.ColumnName() = columnName ); + value := select( parent, CapacityAndSaleBudgeCompareItemColumn, item, item.ColumnName() = columnName ); if( isnull( value ) ) { - value := manager.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnName ); + value := parent.CapacityAndSaleBudgeCompareItemColumn( relnew, ColumnName := columnName ); } return value; *] diff --git a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl index e155e81..7a485f5 100644 --- a/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl +++ b/_Main/BL/Type_CapacityAndSaleBudgeCompareItemRow/StaticMethod_CreateIfNotExist.qbl @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: #root StaticMethod CreateIfNotExist ( - ScenarioManager scenarioManager, + GlobalOTDTable parent, String businessType, String placeOfProductionOfArray ) as CapacityAndSaleBudgeCompareItemRow @@ -9,9 +9,9 @@ TextBody: [* // yypsybs Sep-18-2023 (created) - value := select( scenarioManager, CapacityAndSaleBudgeCompareItemRow, row, row.BusinessType() = businessType and row.PlaceOfProductionOfArray() = placeOfProductionOfArray ); + value := select( parent, CapacityAndSaleBudgeCompareItemRow, row, row.BusinessType() = businessType and row.PlaceOfProductionOfArray() = placeOfProductionOfArray ); if( isnull( value ) ) { - value := scenarioManager.CapacityAndSaleBudgeCompareItemRow( relnew, BusinessType := businessType, PlaceOfProductionOfArray := placeOfProductionOfArray ); + value := parent.CapacityAndSaleBudgeCompareItemRow( relnew, BusinessType := businessType, PlaceOfProductionOfArray := placeOfProductionOfArray ); } return value; *] diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_CreateIfNotExist.qbl index 4e3f888..33a800b 100644 --- a/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_CreateIfNotExist.qbl +++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterBusinessType/StaticMethod_CreateIfNotExist.qbl @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: #root StaticMethod CreateIfNotExist ( - MPSync parent, + GlobalOTDTable parent, String value ) { diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_CreateIfNotExist.qbl index 02b6d70..e05188e 100644 --- a/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_CreateIfNotExist.qbl +++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_CreateIfNotExist.qbl @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: #root StaticMethod CreateIfNotExist ( - ScenarioManager parent, + GlobalOTDTable parent, String itemName ) { diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_Initial.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_Initial.qbl index 1e15a86..14b634a 100644 --- a/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_Initial.qbl +++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterItem/StaticMethod_Initial.qbl @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: #root StaticMethod Initial ( - ScenarioManager parent + GlobalOTDTable parent ) { Description: '鍒濆鍖栧姣旈」' diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl index ae10a43..f14808d 100644 --- a/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl +++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterMonth/StaticMethod_Initial.qbl @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: #root StaticMethod Initial ( - ScenarioManager parent + GlobalOTDTable parent ) { Description: '鍒濆鍖栧勾浠�' diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_CreateIfNotExist.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_CreateIfNotExist.qbl index 6bb6aff..3e96143 100644 --- a/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_CreateIfNotExist.qbl +++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterPlaceOfProductionOfArray/StaticMethod_CreateIfNotExist.qbl @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: #root StaticMethod CreateIfNotExist ( - MPSync parent, + GlobalOTDTable parent, String value ) { diff --git a/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl b/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl index 7fa388c..dc5898d 100644 --- a/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl +++ b/_Main/BL/Type_CapacityAndSaleBudgeFilterYear/StaticMethod_Initial.qbl @@ -1,7 +1,7 @@ Quintiq file version 2.0 #parent: #root StaticMethod Initial ( - ScenarioManager parent + GlobalOTDTable parent ) { Description: '鍒濆鍖栧勾浠�' diff --git a/_Main/BL/Type_CustomerAndForecastOrder/Attribute_CustomerOrderID.qbl b/_Main/BL/Type_CustomerAndForecastOrder/Attribute_CustomerOrderID.qbl new file mode 100644 index 0000000..19d7605 --- /dev/null +++ b/_Main/BL/Type_CustomerAndForecastOrder/Attribute_CustomerOrderID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerOrderID +{ + #keys: '3[414382.0.554303146][414382.0.554303145][414382.0.554303147]' + ValueType: String +} diff --git a/_Main/BL/Type_CustomerAndForecastOrder/Attribute_ForecastID.qbl b/_Main/BL/Type_CustomerAndForecastOrder/Attribute_ForecastID.qbl new file mode 100644 index 0000000..d3d12e5 --- /dev/null +++ b/_Main/BL/Type_CustomerAndForecastOrder/Attribute_ForecastID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ForecastID +{ + #keys: '3[414382.0.554303156][414382.0.554303155][414382.0.554303157]' + ValueType: String +} diff --git a/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl new file mode 100644 index 0000000..0f86052 --- /dev/null +++ b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CreateData ( + MacroPlan macroPlan +) +{ + TextBody: + [* + traverse ( macroPlan, SalesDemand.astype( CustomerOrder ), co, true ) { + macroPlan.CustomerAndForecastOrder( relnew, + OrderID := co.OrderID(), + ProductID := co.ProductID(), + BusinessType := co.BusinessType(), + Customer := co.CustomerName(), + CustomerID := co.CustomerID(), + Quantity := co.Quantity(), + UnitOfMeasureName := co.UnitOfMeasureName(), + DemandDate := co.StartDate() + ); + } + *] +} diff --git a/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_RefreshData.qbl b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_RefreshData.qbl new file mode 100644 index 0000000..4a04c7d --- /dev/null +++ b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_RefreshData.qbl @@ -0,0 +1,56 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod RefreshData ( + MacroPlan owner, + GlobalOTDTable globalOTDTable +) +{ + TextBody: + [* + // NBoTk Sep-26-2023 (created) + + // 鑾峰彇宸茬粡瀛樺湪 customerOrderID 鍜宖orecastID + customerOrderIDs := selectvalues( owner,CustomerAndForecastOrder,c, + c.CustomerOrderID() <> '', + c.CustomerID() + ); + + forecastIDs := selectvalues( owner,CustomerAndForecastOrder,c, + c.ForecastID() <> '', + c.ForecastID() + ); + + + // 浠庢暟鎹箹 Global_MappingCustomerOrder Global_MappingForecast 涓幏鍙栨柊鐨勮鍗曟暟鎹� + + traverse( globalOTDTable,Global_MappingCustomOrder,cus) + { + if ( customerOrderIDs.Find( cus.ID() ) = -1 ) { + owner.CustomerAndForecastOrder( relnew, + OrderID := cus.OrderID(), + ProductID := cus.ProductID(), + BusinessType := cus.BusinessType(), + Customer := cus.Customer(), + CustomerID := cus.CustomerID(), + Quantity := cus.Quantity(), + UnitOfMeasureName := cus.UnitOfMeasureName(), + DemandDate := cus.OrderDate() + + ); + } + } + + traverse( globalOTDTable,Global_MappingForecast,forecast) + { + if(forecastIDs.Find( forecast.ID() ) = -1 ) { + owner.CustomerAndForecastOrder( relnew, + ProductID := forecast.ProductID(), + BusinessType := forecast.BusinessType(), + Quantity := forecast.Quantity(), + UnitOfMeasureName := forecast.UnitOfMeasureName(), + DemandDate := forecast.EndDate() + ); + } + } + *] +} diff --git a/_Main/BL/Type_CustomerOrder/Attribute_BusinessType.qbl b/_Main/BL/Type_CustomerOrder/Attribute_BusinessType.qbl new file mode 100644 index 0000000..a39b026 --- /dev/null +++ b/_Main/BL/Type_CustomerOrder/Attribute_BusinessType.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute BusinessType +{ + #keys: '3[414382.0.554303217][414382.0.554303216][414382.0.554303218]' + Description: '浜嬩笟閮�' + ValueType: String +} diff --git a/_Main/BL/Type_CustomerOrder/Attribute_CustomerPolicy.qbl b/_Main/BL/Type_CustomerOrder/Attribute_CustomerPolicy.qbl new file mode 100644 index 0000000..6647d7a --- /dev/null +++ b/_Main/BL/Type_CustomerOrder/Attribute_CustomerPolicy.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerPolicy +{ + #keys: '3[414382.0.554014841][414382.0.554014840][414382.0.554014842]' + Description: '瀹㈡埛绛栫暐' + ValueType: String +} diff --git a/_Main/BL/Type_CustomerOrder/Attribute_IsAvailable.qbl b/_Main/BL/Type_CustomerOrder/Attribute_IsAvailable.qbl new file mode 100644 index 0000000..1a6ca55 --- /dev/null +++ b/_Main/BL/Type_CustomerOrder/Attribute_IsAvailable.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute IsAvailable +{ + #keys: '3[414382.0.554303237][414382.0.554303236][414382.0.554303238]' + Description: '璁㈠崟鏄惁鍙備笌璁″垝' + ValueType: Boolean +} diff --git a/_Main/BL/Type_CustomerOrder/Attribute_OrderTime.qbl b/_Main/BL/Type_CustomerOrder/Attribute_OrderTime.qbl new file mode 100644 index 0000000..e89a41d --- /dev/null +++ b/_Main/BL/Type_CustomerOrder/Attribute_OrderTime.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderTime +{ + #keys: '3[414382.0.554303277][414382.0.554303276][414382.0.554303278]' + Description: '璁㈠崟涓嬪崟鏃堕棿' + ValueType: Date +} diff --git a/_Main/BL/Type_CustomerOrder/Attribute_OrderType.qbl b/_Main/BL/Type_CustomerOrder/Attribute_OrderType.qbl new file mode 100644 index 0000000..4efd905 --- /dev/null +++ b/_Main/BL/Type_CustomerOrder/Attribute_OrderType.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderType +{ + #keys: '3[414382.0.554303227][414382.0.554303226][414382.0.554303228]' + Description: '璁㈠崟绫诲瀷' + ValueType: String +} diff --git a/_Main/BL/Type_CustomerOrder/Attribute_ProductGrade.qbl b/_Main/BL/Type_CustomerOrder/Attribute_ProductGrade.qbl new file mode 100644 index 0000000..76e256b --- /dev/null +++ b/_Main/BL/Type_CustomerOrder/Attribute_ProductGrade.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductGrade +{ + #keys: '3[414382.0.554303247][414382.0.554303246][414382.0.554303248]' + Description: '浜у搧绛夌骇' + ValueType: String +} diff --git a/_Main/BL/Type_CustomerOrder/Attribute_SegmentPriority.qbl b/_Main/BL/Type_CustomerOrder/Attribute_SegmentPriority.qbl new file mode 100644 index 0000000..6f488d6 --- /dev/null +++ b/_Main/BL/Type_CustomerOrder/Attribute_SegmentPriority.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SegmentPriority +{ + #keys: '3[414382.0.554303257][414382.0.554303256][414382.0.554303258]' + Description: '缁嗗垎甯傚満浼樺厛绾�' + ValueType: String +} diff --git a/_Main/BL/Type_CustomerOrder/Attribute_SheetProfitability.qbl b/_Main/BL/Type_CustomerOrder/Attribute_SheetProfitability.qbl new file mode 100644 index 0000000..726b8ab --- /dev/null +++ b/_Main/BL/Type_CustomerOrder/Attribute_SheetProfitability.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SheetProfitability +{ + #keys: '3[414382.0.554303267][414382.0.554303266][414382.0.554303268]' + Description: '澶у紶鐩堝埄姘村钩' + ValueType: String +} diff --git a/_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl b/_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl index e0aa42b..3f0ea88 100644 --- a/_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl +++ b/_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl @@ -34,8 +34,7 @@ salesSegmentName := salesSegmentNameList.Concatenate( ",") schemeDate := Date::Today(); - - filllingCapacityOrderScheme := owner.FilllingCapacityOrderScheme(relnew,SchemeName := schemeName,SchemeDate := schemeDate,BusinessType := businessType,Customer := customer,CustomerID := customerID, + owner.FilllingCapacityOrderScheme(relnew,SchemeName := schemeName,SchemeDate := schemeDate,BusinessType := businessType,Customer := customer,CustomerID := customerID, SalesSegmentName := salesSegmentName); diff --git "a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart\04395.qbl" "b/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart\043156.qbl" similarity index 96% rename from "_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart\04395.qbl" rename to "_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart\043156.qbl" index c543694..6afbad7 100644 --- "a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart\04395.qbl" +++ "b/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart\043156.qbl" @@ -25,27 +25,27 @@ // 闈㈡澘鍩哄湴;浜嬩笟閮� info( byBusinessTypeOrByOrgCode ); traverse( businessTypes, Elements, businessType ) { - info( "businessType : " + businessType.BusinessType() ); + debuginfo( "businessType : " + businessType.BusinessType() ); } traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) { - info( "placeOfProductionOfArray : " + placeOfProductionOfArray.PlaceOfProductionOfArray() ); + debuginfo( "placeOfProductionOfArray : " + placeOfProductionOfArray.PlaceOfProductionOfArray() ); } traverse( macroPlans, Elements, macroPlan ) { - info( "macroPlan : " + macroPlan.ScenarioName() ); + debuginfo( "macroPlan : " + macroPlan.ScenarioName() ); } // 骞翠唤涓嶉�夋椂鍏ㄩ�� if( years.Size() = 0 ) { years := selectsortedset( this, CapacityAndSaleBudgeFilterYear, item, true, item.YearNo() ); } traverse( years, Elements, year ) { - info( "yearNo : " + [String]year.YearNo() ); + debuginfo( "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() ); + debuginfo( "monthNo : " + [String]month.MonthNo() ); } // ====娓呯悊鏃ф暟鎹�==== @@ -74,7 +74,7 @@ businessTypeList := selectuniquevalues( historyData, Elements, item, item.BusinessType() ); // 鐢熸垚鍥捐〃鍏冪礌 traverse( years, Elements, year ) { - info( "process year start : " + [String]year.YearNo() ); + debuginfo( "process year start : " + [String]year.YearNo() ); if( byBusinessTypeOrByOrgCode = "闈㈡澘鍩哄湴" and groupBy = "骞�" ) { // 鐩爣 traverse( placeOfProductionOfArrayList, Elements, placeOfProductionOfArray ) { @@ -232,7 +232,7 @@ } if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "瀛e害" ) { for( seasonNo := 1; seasonNo <= 4; seasonNo := seasonNo + 1 ) { - info( "process season start : " + [String]seasonNo ); + debuginfo( "process season start : " + [String]seasonNo ); traverse( businessTypeList, Elements, businessType ) { productCodeList := CapacityAndSaleBudgeChartRow::GetProductCodesByBusinessType( rows, businessType ); this.CapacityAndSaleBudgeChartElement( relnew, @@ -259,7 +259,7 @@ } if ( byBusinessTypeOrByOrgCode = "浜嬩笟閮�" and groupBy = "鏈�" ) { traverse( months, Elements, month ) { - info( "process month start : " + [String]month.MonthNo() ); + debuginfo( "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 ); @@ -282,10 +282,10 @@ ); } } - info( "process month end : " + [String]month.MonthNo() ); + debuginfo( "process month end : " + [String]month.MonthNo() ); } } - info( "process year end : " + [String]year.YearNo() ) + debuginfo( "process year end : " + [String]year.YearNo() ) } //info( "CapacityAndSaleBudgeChartElement : " + [String]selectset( this, CapacityAndSaleBudgeChartElement, item, true ).Size() ); //traverse( this, CapacityAndSaleBudgeChartRow, row ) { diff --git a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart.qbl b/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart.qbl similarity index 100% rename from _Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeChart.qbl rename to _Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeChart.qbl diff --git a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeCompare.qbl b/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompare.qbl similarity index 89% rename from _Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeCompare.qbl rename to _Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompare.qbl index d5d4352..90a0bff 100644 --- a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeCompare.qbl +++ b/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompare.qbl @@ -22,23 +22,23 @@ months := selectsortedset( this, CapacityAndSaleBudgeFilterMonth, item, item.MonthNo() ); } traverse( macroPlans, Elements, item ) { - info( "scenario : " + item.ScenarioName() ); + debuginfo( "scenario : " + item.ScenarioName() ); } traverse( items, Elements, item ) { - info( "item : " + item.ItemName() ); + debuginfo( "item : " + item.ItemName() ); } traverse( years, Elements, item ) { - info( "year : " + [String]item.YearNo() ); + debuginfo( "year : " + [String]item.YearNo() ); } traverse( months, Elements, item ) { - info( "month : " + [String]item.MonthNo() ); + debuginfo( "month : " + [String]item.MonthNo() ); } // ====娓呯悊鏃ф暟鎹�==== this.CapacityAndSaleBudgeCompareItemRow( relflush ); this.CapacityAndSaleBudgeCompareItemColumn( relflush ); // ====姹囨�绘墍鏈夊嚭鐜扮殑浜у搧==== historyData := selectset( mpSync, MappingCapacityAndSaleBudge, item, true ); - info( "historyData : " + [String]historyData.Size() ) + debuginfo( "historyData : " + [String]historyData.Size() ) traverse( historyData, Elements, one ) { productCode := one.ProductCode(); MappingBOM::CreateTestData( mappingParent, "浜嬩笟閮�" + [String](productCode.Length() mod 3), [String](productCode.Length() mod 4), productCode ); @@ -52,13 +52,13 @@ // 璁板綍姣忚鍖呭惈鍝簺product CapacityAndSaleBudgeCompareItemRowProduct::CreateIfNotExist( row, productCode ); } else { - info( "no boms for product : " + productCode ); + debuginfo( "no boms for product : " + productCode ); } } - info( "CapacityAndSaleBudgeCompareItemRow : " + [String]selectset( this, CapacityAndSaleBudgeCompareItemRow, item, true ).Size() ); + debuginfo( "CapacityAndSaleBudgeCompareItemRow : " + [String]selectset( this, CapacityAndSaleBudgeCompareItemRow, item, true ).Size() ); // ====浠庡乏鍚戝彸鐢熸垚鍒楀ご涓庡唴瀹�==== // 浜嬩笟閮紝缁勭粐 - info( "dealing businessType and placeOfProductionOfArray" ) + debuginfo( "dealing businessType and placeOfProductionOfArray" ) columnBusinessType := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜嬩笟閮�" ); columnPlaceOfProductionOfArray := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍩哄湴" ); traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { @@ -72,9 +72,9 @@ info( "dealing 闈㈡澘鍒嗛厤閲�" ) if( CapacityAndSaleBudgeFilterItem::Contains( items, "闈㈡澘鍒嗛厤閲�" ) ) { traverse( years, Elements, year ) { - info( "闈㈡澘鍒嗛厤閲�" + [String]year.YearNo() + "骞�" ); + debuginfo( "闈㈡澘鍒嗛厤閲�" + [String]year.YearNo() + "骞�" ); // 鍘嗗彶鏁版嵁 - info( "闈㈡澘鍒嗛厤閲�" + [String]year.YearNo() + "骞村巻鍙叉暟鎹�" ); + debuginfo( "闈㈡澘鍒嗛厤閲�" + [String]year.YearNo() + "骞村巻鍙叉暟鎹�" ); traverse( months, Elements, month ) { columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "闈㈡澘鍒嗛厤閲�-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-骞村害棰勭畻" ); traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { @@ -89,7 +89,7 @@ cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal ); cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); } - info( "闈㈡澘鍒嗛厤閲�" + [String]year.YearNo() + "骞碨&OP鏁版嵁" ); + debuginfo( "闈㈡澘鍒嗛厤閲�" + [String]year.YearNo() + "骞碨&OP鏁版嵁" ); // S&OP鏁版嵁 traverse( macroPlans, Elements, macroPlan ) { traverse( months, Elements, month ) { @@ -112,12 +112,12 @@ } } // 骞村害閿�鍞 - info( "dealing 閿�鍞" ) + debuginfo( "dealing 閿�鍞" ) if( CapacityAndSaleBudgeFilterItem::Contains( items, "閿�鍞" ) ) { traverse( years, Elements, year ) { - info( "閿�鍞" + [String]year.YearNo() + "骞�" ); + debuginfo( "閿�鍞" + [String]year.YearNo() + "骞�" ); // 鍘嗗彶鏁版嵁 - info( "閿�鍞" + [String]year.YearNo() + "骞村巻鍙叉暟鎹�" ); + debuginfo( "閿�鍞" + [String]year.YearNo() + "骞村巻鍙叉暟鎹�" ); traverse( months, Elements, month ) { columnMonth := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "瀵瑰閿�鍞-" + [String]year.YearNo() + "骞�-" + [String]month.MonthNo() + "鏈�-骞村害棰勭畻" ); traverse( this, CapacityAndSaleBudgeCompareItemRow, row ) { @@ -132,7 +132,7 @@ cell := columnYear.CapacityAndSaleBudgeCompareItemCell( relnew, CellContent := [String]cellReal ); cell.CapacityAndSaleBudgeCompareItemRow( relset, row ); } - info( "閿�鍞" + [String]year.YearNo() + "骞村巻鍙叉暟鎹甋&OP鏁版嵁" ); + debuginfo( "閿�鍞" + [String]year.YearNo() + "骞村巻鍙叉暟鎹甋&OP鏁版嵁" ); // S&OP鏁版嵁 traverse( macroPlans, Elements, macroPlan ) { traverse( months, Elements, month ) { @@ -154,7 +154,7 @@ } } // 澶у紶鐩堝埄棰� - info( "dealing 澶у紶鐩堝埄棰�" ) + debuginfo( "dealing 澶у紶鐩堝埄棰�" ) traverse( years, Elements, year ) { // 鍘嗗彶鏁版嵁 columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "澶у紶鐩堝埄棰�-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" ); @@ -174,7 +174,7 @@ } } // 浜у搧鐩堝埄棰� - info( "dealing 浜у搧鐩堝埄棰�" ) + debuginfo( "dealing 浜у搧鐩堝埄棰�" ) traverse( years, Elements, year ) { // 鍘嗗彶鏁版嵁 columnYear := CapacityAndSaleBudgeCompareItemColumn::CreateIfNotExist( this, "浜у搧鐩堝埄棰�-" + [String]year.YearNo() + "骞�-骞村害棰勭畻" ); @@ -195,7 +195,7 @@ } // 璁剧疆rowNo鍜宑olumnNo - info( "set rowNo and columnNo" ); + debuginfo( "set rowNo and columnNo" ); rowNo := 1; rowSorted := selectsortedset( this, CapacityAndSaleBudgeCompareItemRow, item, item.PlaceOfProductionOfArray() + "_" + item.BusinessType() ); traverse( rowSorted, Elements, item ) { @@ -207,6 +207,6 @@ item.ColumnNo( columnNo ); columnNo := columnNo + 1; } - info( "done" ); + debuginfo( "done" ); *] } diff --git a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeCompareExport.qbl b/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompareExport.qbl similarity index 93% rename from _Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeCompareExport.qbl rename to _Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompareExport.qbl index 44dab2e..45ee95c 100644 --- a/_Main/BL/Type_ScenarioManager/Method_CapacityAndSaleBudgeCompareExport.qbl +++ b/_Main/BL/Type_GlobalDTOTable/Method_CapacityAndSaleBudgeCompareExport.qbl @@ -13,7 +13,7 @@ // 澶勭悊column <column><name>鐗╂枡缂栫爜</name><type>String</type></column> columnXml := "" traverse( this, CapacityAndSaleBudgeCompareItemColumn, column ) { - info( "columnName : " + column.ColumnName() ); + debuginfo( "columnName : " + column.ColumnName() ); columnXml := columnXml + "<column><name>" + column.ColumnName() + "</name><type>String</type></column>"; } text := text + columnXml + "</table>" @@ -24,7 +24,7 @@ tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 ); rows := selectsortedset( this, CapacityAndSaleBudgeCompareItemRow, row, row.PlaceOfProductionOfArray() + "_" + row.BusinessType() ); traverse ( rows, Elements, row ) { - info( "rowNo : " + [String]row.RowNo() ); + debuginfo( "rowNo : " + [String]row.RowNo() ); traverse( row, CapacityAndSaleBudgeCompareItemCell, cell ) { ScenarioManager::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, cell.CellContent(), cell.CapacityAndSaleBudgeCompareItemColumn().ColumnName() ); } diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_CustomerGrade.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_CustomerGrade.qbl new file mode 100644 index 0000000..26b2034 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_CustomerGrade.qbl @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +Method OnAsyncExecuteFailure_GlobalOTDTable_CustomerGrade ( + Number errorNo, + String errorMessage +) +{ + TextBody: + [* + this.Global_BrokerExecuteLog( relnew, + BrokerName := "GlobalOTDTable_CustomerGrade", + ElementTotal := 0, + ErrorMessage := errorMessage, + IsSuccess := false, + Name := "瀹㈡埛绛夌骇鏁版嵁", + ErrorNo := errorNo, + ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) + ); + *] +} diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_DOI_DSI.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_DOI_DSI.qbl new file mode 100644 index 0000000..8ebfbf3 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecuteFailure_GlobalOTDTable_DOI_DSI.qbl @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +Method OnAsyncExecuteFailure_GlobalOTDTable_DOI_DSI ( + Number errorNo, + String errorMessage +) +{ + TextBody: + [* + this.Global_BrokerExecuteLog( relnew, + BrokerName := "GlobalOTDTable_DOI_DSI", + ElementTotal := 0, + ErrorMessage := errorMessage, + IsSuccess := false, + Name := "DOI_DSI鏁版嵁", + ErrorNo := errorNo, + ErrorDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ) + ); + *] +} diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_CustomerGrade.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_CustomerGrade.qbl new file mode 100644 index 0000000..e09fc63 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_CustomerGrade.qbl @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Method OnAsyncExecute_GlobalOTDTable_CustomerGrade +{ + TextBody: + [* + this.Global_BrokerExecuteLog( relnew, + BrokerName := "GlobalOTDTable_CustomerGrade", + ElementTotal := this.Global_MappingCustomerGrade( relsize ), + ErrorMessage := "", + IsSuccess := true, + Name := "瀹㈡埛绛夌骇鏁版嵁", + SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), + ErrorNo := 0 + ); + *] +} diff --git a/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_DOI_DSI.qbl b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_DOI_DSI.qbl new file mode 100644 index 0000000..9082ba1 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/Method_OnAsyncExecute_GlobalOTDTable_DOI_DSI.qbl @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Method OnAsyncExecute_GlobalOTDTable_DOI_DSI +{ + TextBody: + [* + this.Global_BrokerExecuteLog( relnew, + BrokerName := "GlobalOTDTable_DOI_DSI", + ElementTotal := this.Global_MappingDOI_DSI( relsize ), + ErrorMessage := "", + IsSuccess := true, + Name := "DOI_DSI鏁版嵁", + SuccessDateTime := DateTime::ActualTime().Format( "Y-M-D H2:m:s" ), + ErrorNo := 0 + ); + *] +} diff --git a/_Main/BL/Type_GlobalDTOTable/Method_SetIsLinkedWithFinishedGoodAttributes.qbl b/_Main/BL/Type_GlobalDTOTable/Method_SetIsLinkedWithFinishedGoodAttributes.qbl index 6aedc24..5a4ba17 100644 --- a/_Main/BL/Type_GlobalDTOTable/Method_SetIsLinkedWithFinishedGoodAttributes.qbl +++ b/_Main/BL/Type_GlobalDTOTable/Method_SetIsLinkedWithFinishedGoodAttributes.qbl @@ -30,12 +30,16 @@ traverse( this, Global_MappingProduct_MP, product, product.ProductMajorType() = "鎴愬搧" ) { + uniquebomids := construct( Strings ); + product.IsLinkedWithFinishedGood( false ); product.SetIsLinkedWithFinishedGoodAttributes_Recursive( 0, // depth 100, // maxdepth productspool, operationspool, - operationbomspool ); - + operationbomspool, + uniquebomids ); + uniquebomids := uniquebomids.Unique(); + product.BOMCount( uniquebomids.Size() ); } *] } diff --git a/_Main/BL/Type_GlobalDTOTable/Method_SynchronizationAllMappingBrokerAndAPIByOption.qbl b/_Main/BL/Type_GlobalDTOTable/Method_SynchronizationAllMappingBrokerAndAPIByOption.qbl new file mode 100644 index 0000000..79a5e28 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/Method_SynchronizationAllMappingBrokerAndAPIByOption.qbl @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +Method SynchronizationAllMappingBrokerAndAPIByOption ( + Boolean isCustomOrder, + Boolean isForeacst +) +{ + TextBody: + [* + if ( isCustomOrder ) { + this.Global_MappingCustomOrder( relflush ); + this.GlobalOTDTable_CustomOrder().AsyncExecute(); + } + + if ( isForeacst ) { + this.Global_MappingForecast( relflush ); + this.GlobalOTDTable_Forecast().AsyncExecute(); + } + *] +} diff --git a/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan.qbl b/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan.qbl new file mode 100644 index 0000000..b41460d --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/Method_SynchronizeDataToMacroPlan.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method SynchronizeDataToMacroPlan ( + MacroPlan macroPlan, + Strings businessTypes, + Boolean isCustomOrder, + Boolean isForecast +) +{ + TextBody: + [* + if ( isCustomOrder ) { + macroPlan.MappingCustomerOrderData( businessTypes, this ); + } + *] +} diff --git a/_Main/BL/Type_GlobalDTOTable/Method_Test.qbl b/_Main/BL/Type_GlobalDTOTable/Method_Test.qbl new file mode 100644 index 0000000..26e43f9 --- /dev/null +++ b/_Main/BL/Type_GlobalDTOTable/Method_Test.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#parent: #root +Method Test +{ + TextBody: + [* + // KKO2 Sep-27-2023 (created) + *] +} diff --git a/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl b/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl index 100a489..9239cfb 100644 --- a/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl +++ b/_Main/BL/Type_GlobalDTOTable/StaticMethod_SynchronizationAllMappingBrokerAndAPI.qbl @@ -25,6 +25,8 @@ globalOTDTable.Global_MappingOperationCost( relflush ); globalOTDTable.Global_MappingForecast( relflush ); globalOTDTable.Global_MappingCustomOrder( relflush ); + globalOTDTable.Global_MappingDOI_DSI( relflush ); + globalOTDTable.Global_MappingCustomerGrade( relflush ); globalOTDTable.GlobalOTDTable_UnitOfMeasure_MP().AsyncExecute(); globalOTDTable.GlobalOTDTable_SalesSegment_MP().AsyncExecute(); @@ -44,5 +46,7 @@ globalOTDTable.GlobalOTDTable_OperationCost().AsyncExecute(); globalOTDTable.GlobalOTDTable_Forecast().AsyncExecute(); globalOTDTable.GlobalOTDTable_CustomOrder().AsyncExecute(); + globalOTDTable.GlobalOTDTable_DOI_DSI().AsyncExecute(); + globalOTDTable.GlobalOTDTable_CustomerGrade().AsyncExecute(); *] } diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderTime.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderTime.qbl new file mode 100644 index 0000000..a9066b7 --- /dev/null +++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderTime.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderTime +{ + #keys: '3[414702.0.462647536][414702.0.462647535][414702.0.462647537]' + ValueType: Date +} diff --git "a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderType\043905.qbl" "b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderType\043905.qbl" new file mode 100644 index 0000000..7998bc6 --- /dev/null +++ "b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderType\043905.qbl" @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrderType +{ + #keys: '3[414702.0.462647526][414702.0.462647525][414702.0.462647527]' + ValueType: String +} diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderType.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderType.qbl deleted file mode 100644 index 7e887b1..0000000 --- a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_OrderType.qbl +++ /dev/null @@ -1,7 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Attribute OrderType -{ - #keys: '3[414702.0.265050347][414702.0.265050346][414702.0.265050348]' - ValueType: String -} diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_ProductGrade.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_ProductGrade.qbl new file mode 100644 index 0000000..2eff593 --- /dev/null +++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_ProductGrade.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductGrade +{ + #keys: '3[414702.0.462647546][414702.0.462647545][414702.0.462647547]' + ValueType: String +} diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_SegmentPriority.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_SegmentPriority.qbl new file mode 100644 index 0000000..47ce029 --- /dev/null +++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_SegmentPriority.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SegmentPriority +{ + #keys: '3[414702.0.462647556][414702.0.462647555][414702.0.462647557]' + ValueType: String +} diff --git a/_Main/BL/Type_Global_MappingCustomOrder/Attribute_SheetProfitability.qbl b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_SheetProfitability.qbl new file mode 100644 index 0000000..d1c49f7 --- /dev/null +++ b/_Main/BL/Type_Global_MappingCustomOrder/Attribute_SheetProfitability.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute SheetProfitability +{ + #keys: '3[414702.0.462647566][414702.0.462647565][414702.0.462647567]' + ValueType: String +} diff --git a/_Main/BL/Type_Global_MappingCustomerGrade/Attribute_BusinessType.qbl b/_Main/BL/Type_Global_MappingCustomerGrade/Attribute_BusinessType.qbl new file mode 100644 index 0000000..0c0ee82 --- /dev/null +++ b/_Main/BL/Type_Global_MappingCustomerGrade/Attribute_BusinessType.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#parent: #root +Attribute BusinessType +{ + #keys: '3[414702.0.445738362][414702.0.445738361][414702.0.445738363]' + Description: '浜嬩笟閮�' + IsReadOnly: true + ValueType: String +} diff --git a/_Main/BL/Type_Global_MappingCustomerGrade/Attribute_Customer.qbl b/_Main/BL/Type_Global_MappingCustomerGrade/Attribute_Customer.qbl new file mode 100644 index 0000000..046a760 --- /dev/null +++ b/_Main/BL/Type_Global_MappingCustomerGrade/Attribute_Customer.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Customer +{ + #keys: '3[414702.0.445738352][414702.0.445738351][414702.0.445738353]' + Description: '瀹㈡埛鍚嶇О' + IsReadOnly: true + ValueType: String +} diff --git a/_Main/BL/Type_Global_MappingCustomerGrade/Attribute_CustomerGrade.qbl b/_Main/BL/Type_Global_MappingCustomerGrade/Attribute_CustomerGrade.qbl new file mode 100644 index 0000000..cd779bb --- /dev/null +++ b/_Main/BL/Type_Global_MappingCustomerGrade/Attribute_CustomerGrade.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerGrade +{ + #keys: '3[414702.0.445738372][414702.0.445738371][414702.0.445738373]' + Description: '瀹㈡埛绛夌骇' + IsReadOnly: true + ValueType: String +} diff --git a/_Main/BL/Type_Global_MappingCustomerGrade/TypeIndex_Global_MappingCustomerGradeTypeIndex.qbl b/_Main/BL/Type_Global_MappingCustomerGrade/TypeIndex_Global_MappingCustomerGradeTypeIndex.qbl new file mode 100644 index 0000000..b30282d --- /dev/null +++ b/_Main/BL/Type_Global_MappingCustomerGrade/TypeIndex_Global_MappingCustomerGradeTypeIndex.qbl @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +TypeIndex Global_MappingCustomerGradeTypeIndex +{ + Attributes: + [ + TypeIndexAttribute + { + ModelElement: BusinessType + } + TypeIndexAttribute + { + ModelElement: Customer + } + TypeIndexAttribute + { + ModelElement: CustomerGrade + } + ] +} diff --git a/_Main/BL/Type_Global_MappingCustomerGrade/_ROOT_Type_Global_MappingCustomerGrade.qbl b/_Main/BL/Type_Global_MappingCustomerGrade/_ROOT_Type_Global_MappingCustomerGrade.qbl new file mode 100644 index 0000000..f568483 --- /dev/null +++ b/_Main/BL/Type_Global_MappingCustomerGrade/_ROOT_Type_Global_MappingCustomerGrade.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type Global_MappingCustomerGrade +{ + #keys: '5[414702.0.445485672][414702.0.445485670][0.0.0][414702.0.445485671][414702.0.445485673]' + BaseType: Object + StructuredName: 'Global_MappingCustomerGrades' +} diff --git a/_Main/BL/Type_Global_MappingDOI_DSI/Attribute_DOI.qbl b/_Main/BL/Type_Global_MappingDOI_DSI/Attribute_DOI.qbl new file mode 100644 index 0000000..d4d3c40 --- /dev/null +++ b/_Main/BL/Type_Global_MappingDOI_DSI/Attribute_DOI.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute DOI +{ + #keys: '3[414702.0.445364709][414702.0.445364708][414702.0.445364710]' + Description: '搴撳瓨鍛ㄨ浆澶╂暟' + ValueType: String +} diff --git a/_Main/BL/Type_Global_MappingDOI_DSI/Attribute_DSI.qbl b/_Main/BL/Type_Global_MappingDOI_DSI/Attribute_DSI.qbl new file mode 100644 index 0000000..2ad6d72 --- /dev/null +++ b/_Main/BL/Type_Global_MappingDOI_DSI/Attribute_DSI.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute DSI +{ + #keys: '3[414702.0.445364719][414702.0.445364718][414702.0.445364720]' + Description: '搴撳瓨鍙敭澶╂暟' + ValueType: String +} diff --git a/_Main/BL/Type_Global_MappingDOI_DSI/Attribute_OrganCode.qbl b/_Main/BL/Type_Global_MappingDOI_DSI/Attribute_OrganCode.qbl new file mode 100644 index 0000000..2bd3055 --- /dev/null +++ b/_Main/BL/Type_Global_MappingDOI_DSI/Attribute_OrganCode.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#parent: #root +Attribute OrganCode +{ + #keys: '3[414702.0.445364699][414702.0.445364698][414702.0.445364700]' + Description: '缁勭粐缂栫爜' + IsReadOnly: true + ValueType: String +} diff --git a/_Main/BL/Type_Global_MappingDOI_DSI/Attribute_ProductID.qbl b/_Main/BL/Type_Global_MappingDOI_DSI/Attribute_ProductID.qbl new file mode 100644 index 0000000..51fd7ff --- /dev/null +++ b/_Main/BL/Type_Global_MappingDOI_DSI/Attribute_ProductID.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ProductID +{ + #keys: '3[414702.0.445364677][414702.0.445364676][414702.0.445364678]' + Description: '鐗╂枡缂栫爜' + IsReadOnly: true + ValueType: String +} diff --git a/_Main/BL/Type_Global_MappingDOI_DSI/TypeIndex_Global_MappingDOI_DSITypeIndex.qbl b/_Main/BL/Type_Global_MappingDOI_DSI/TypeIndex_Global_MappingDOI_DSITypeIndex.qbl new file mode 100644 index 0000000..c088e3b --- /dev/null +++ b/_Main/BL/Type_Global_MappingDOI_DSI/TypeIndex_Global_MappingDOI_DSITypeIndex.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +TypeIndex Global_MappingDOI_DSITypeIndex +{ + Attributes: + [ + TypeIndexAttribute + { + ModelElement: ProductID + } + TypeIndexAttribute + { + ModelElement: OrganCode + } + ] +} diff --git a/_Main/BL/Type_Global_MappingDOI_DSI/_ROOT_Type_Global_MappingDOI_DSI.qbl b/_Main/BL/Type_Global_MappingDOI_DSI/_ROOT_Type_Global_MappingDOI_DSI.qbl new file mode 100644 index 0000000..628e476 --- /dev/null +++ b/_Main/BL/Type_Global_MappingDOI_DSI/_ROOT_Type_Global_MappingDOI_DSI.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type Global_MappingDOI_DSI +{ + #keys: '5[414702.0.445364654][414702.0.445364652][0.0.0][414702.0.445364653][414702.0.445364655]' + BaseType: Object + StructuredName: 'Global_MappingDOI_DSIs' +} diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Attribute_BOMCount.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_BOMCount.qbl new file mode 100644 index 0000000..1916cbd --- /dev/null +++ b/_Main/BL/Type_Global_MappingProduct_MP/Attribute_BOMCount.qbl @@ -0,0 +1,8 @@ +Quintiq file version 2.0 +#parent: #root +Attribute BOMCount +{ + #keys: '3[157968.0.1161166085][157968.0.1161166084][157968.0.1161166086]' + Description: 'Number of unique BOM used to produce this finished good.' + ValueType: Number +} diff --git a/_Main/BL/Type_Global_MappingProduct_MP/Method_SetIsLinkedWithFinishedGoodAttributes_Recursive.qbl b/_Main/BL/Type_Global_MappingProduct_MP/Method_SetIsLinkedWithFinishedGoodAttributes_Recursive.qbl index 4c9b813..f0425fa 100644 --- a/_Main/BL/Type_Global_MappingProduct_MP/Method_SetIsLinkedWithFinishedGoodAttributes_Recursive.qbl +++ b/_Main/BL/Type_Global_MappingProduct_MP/Method_SetIsLinkedWithFinishedGoodAttributes_Recursive.qbl @@ -5,7 +5,8 @@ Number maxdepth, Global_MappingProduct_MPs productspool, Global_MappingOperations operationspool, - Global_MappingOperationBOMs operationbomspool + Global_MappingOperationBOMs operationbomspool, + output Strings uniquebomids_o ) { Description: 'Method to traverse the supply chain recursively to determine if there are any products that are not used to produce finished goods.' @@ -13,6 +14,11 @@ [* if( not this.IsLinkedWithFinishedGood() ) { + if( this.ProductMajorType() <> "鎴愬搧" ) + { + uniquebomids_o.Add( this.ID() ); + } + depth := depth + 1; this.IsLinkedWithFinishedGood( true ); @@ -50,7 +56,8 @@ maxdepth, productspool, operationspool, - operationbomspool ); + operationbomspool, + uniquebomids_o ); } if( operationbom.AlternativeMaterialCode() <> "" @@ -66,7 +73,8 @@ maxdepth, productspool, operationspool, - operationbomspool ); + operationbomspool, + uniquebomids_o ); } } } diff --git a/_Main/BL/Type_Global_ShowCell/Attribute_Value.qbl b/_Main/BL/Type_Global_ShowCell/Attribute_Value.qbl new file mode 100644 index 0000000..a20bc71 --- /dev/null +++ b/_Main/BL/Type_Global_ShowCell/Attribute_Value.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute Value +{ + #keys: '3[414702.0.483720762][414702.0.483720761][414702.0.483720763]' + ValueType: String +} diff --git a/_Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl b/_Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl new file mode 100644 index 0000000..1e5c9aa --- /dev/null +++ b/_Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl @@ -0,0 +1,124 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ShowData ( + GlobalOTDTable globalOTDTable, + Global_BrokerExecuteLog global_BrokerExecuteLog +) +{ + TextBody: + [* + if ( global_BrokerExecuteLog.BrokerName() = "GlobalOTDTable_CustomOrder" ) { + businessTypeColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 0, ColumnName := "浜嬩笟閮�" ); + currencyIDColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 1, ColumnName := "璐у竵" ); + customerColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 2, ColumnName := "瀹㈡埛鍚嶇О" ); + customerIDColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 3, ColumnName := "瀹㈡埛ID" ); + idColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 4, ColumnName := "鍞竴鏍囪瘑" ); + orderDateColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 5, ColumnName := "璁㈠崟鏃ユ湡" ); + orderIDColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 6, ColumnName := "璁㈠崟鍙�" ); + orderLineIDColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 7, ColumnName := "璁㈠崟琛屽彿" ); + priceColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 8, ColumnName := "鍗曚环" ); + priorityNameColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 9, ColumnName := "浼樺厛绾у悕绉�" ); + productIDColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 10, ColumnName := "浜у搧缂栫爜" ); + stockingPointIDColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 11, ColumnName := "搴撳瓨鐐圭紪鐮�" ); + salesegmentNameColumn :=globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 12, ColumnName := "閿�鍞儴闂ㄥ悕绉�" ); + quantityColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 13, ColumnName := "鏁伴噺" ); + unitofmeasureNameColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 14, ColumnName := "鍗曚綅" ); + orderTypeColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 15, ColumnName := "璁㈠崟绫诲瀷" ); + isAvailableColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 16, ColumnName := "鏄惁鍙敤" ); + productGradeColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 17, ColumnName := "浜у搧绛夌骇" ); + segmentPriorityColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 18, ColumnName := "缁嗗垎甯傚満浼樺厛绾�" ); + sheetProfitabilityColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 19, ColumnName := "澶у紶鐩堝埄" ); + orderTimeColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 20, ColumnName := "璁㈠崟涓嬪崟鏃堕棿" ); + i := 1; + traverse ( globalOTDTable, Global_MappingCustomOrder, gmco ) { + gloabal_ShowRow := globalOTDTable.Global_ShowRow( relnew, RowNr := i ); + + businessTypeCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.BusinessType() ); + businessTypeCell.Global_ShowColumn( relset, businessTypeColumn ); + businessTypeCell.Global_ShowRow( relset, gloabal_ShowRow ); + + currencyIDCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.CurrencyID() ); + currencyIDCell.Global_ShowColumn( relset, currencyIDColumn ); + currencyIDCell.Global_ShowRow( relset, gloabal_ShowRow ); + + customerCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.Customer() ); + customerCell.Global_ShowColumn( relset, customerColumn ); + customerCell.Global_ShowRow( relset, gloabal_ShowRow ); + + customerIDCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.CustomerID() ); + customerIDCell.Global_ShowColumn( relset, customerIDColumn ); + customerIDCell.Global_ShowRow( relset, gloabal_ShowRow ); + + idCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.ID() ); + idCell.Global_ShowColumn( relset, idColumn ); + idCell.Global_ShowRow( relset, gloabal_ShowRow ); + + orderDateCell := globalOTDTable.Global_ShowCell( relnew, Value := guard( gmco.OrderDate().Format( "Y-M2-D2" ), "鏃堕棿鏍煎紡閿欒" ) ); + orderDateCell.Global_ShowColumn( relset, orderDateColumn ); + orderDateCell.Global_ShowRow( relset, gloabal_ShowRow ); + + orderIDCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.OrderID() ); + orderIDCell.Global_ShowColumn( relset, orderIDColumn ); + orderIDCell.Global_ShowRow( relset, gloabal_ShowRow ); + + orderLineIDCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.OrderLineID() ); + orderLineIDCell.Global_ShowColumn( relset, orderLineIDColumn ); + orderLineIDCell.Global_ShowRow( relset, gloabal_ShowRow ); + + priceCell := globalOTDTable.Global_ShowCell( relnew, Value := [String]gmco.Price() ); + priceCell.Global_ShowColumn( relset, priceColumn ); + priceCell.Global_ShowRow( relset, gloabal_ShowRow ); + + priorityNameCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.PriorityName() ); + priorityNameCell.Global_ShowColumn( relset, priorityNameColumn ); + priorityNameCell.Global_ShowRow( relset, gloabal_ShowRow ); + + productIDCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.ProductID() ); + productIDCell.Global_ShowColumn( relset, productIDColumn ); + productIDCell.Global_ShowRow( relset, gloabal_ShowRow ); + + stockingPointIDCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.StockingPointID() ); + stockingPointIDCell.Global_ShowColumn( relset, stockingPointIDColumn ); + stockingPointIDCell.Global_ShowRow( relset, gloabal_ShowRow ); + + salesegmentNameCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.SalesSegmentName() ); + salesegmentNameCell.Global_ShowColumn( relset, salesegmentNameColumn ); + salesegmentNameCell.Global_ShowRow( relset, gloabal_ShowRow ); + + quantityCell := globalOTDTable.Global_ShowCell( relnew, Value := [String]gmco.Quantity() ); + quantityCell.Global_ShowColumn( relset, quantityColumn ); + quantityCell.Global_ShowRow( relset, gloabal_ShowRow ); + + unitofmeasureNameCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.UnitOfMeasureName() ); + unitofmeasureNameCell.Global_ShowColumn( relset, unitofmeasureNameColumn ); + unitofmeasureNameCell.Global_ShowRow( relset, gloabal_ShowRow ); + + orderTypeCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.OrderType() ); + orderTypeCell.Global_ShowColumn( relset, orderTypeColumn ); + orderTypeCell.Global_ShowRow( relset, gloabal_ShowRow ); + + isAvailableCell := globalOTDTable.Global_ShowCell( relnew, Value := [String]gmco.IsAvailable() ); + isAvailableCell.Global_ShowColumn( relset, isAvailableColumn ); + isAvailableCell.Global_ShowRow( relset, gloabal_ShowRow ); + + productGradeCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.ProductGrade() ); + productGradeCell.Global_ShowColumn( relset, productGradeColumn ); + productGradeCell.Global_ShowRow( relset, gloabal_ShowRow ); + + segmentPriorityCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.SegmentPriority() ); + segmentPriorityCell.Global_ShowColumn( relset, segmentPriorityColumn ); + segmentPriorityCell.Global_ShowRow( relset, gloabal_ShowRow ); + + sheetProfitabilityCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.SheetProfitability() ); + sheetProfitabilityCell.Global_ShowColumn( relset, sheetProfitabilityColumn ); + sheetProfitabilityCell.Global_ShowRow( relset, gloabal_ShowRow ); + + orderTimeCell := globalOTDTable.Global_ShowCell( relnew, Value := guard( gmco.OrderTime().Format( "Y-M2-D2" ), "鏃堕棿鏍煎紡閿欒" ) ); + orderTimeCell.Global_ShowColumn( relset, orderTimeColumn ); + orderTimeCell.Global_ShowRow( relset, gloabal_ShowRow ); + + i++; + } + } + *] +} diff --git a/_Main/BL/Type_Global_ShowCell/_ROOT_Type_Global_ShowCell.qbl b/_Main/BL/Type_Global_ShowCell/_ROOT_Type_Global_ShowCell.qbl new file mode 100644 index 0000000..51638e9 --- /dev/null +++ b/_Main/BL/Type_Global_ShowCell/_ROOT_Type_Global_ShowCell.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type Global_ShowCell +{ + #keys: '5[414702.0.483720658][414702.0.483720656][0.0.0][414702.0.483720657][414702.0.483720659]' + BaseType: Object + StructuredName: 'Global_ShowCells' +} diff --git a/_Main/BL/Type_Global_ShowColumn/Attribute_ColumnIndex.qbl b/_Main/BL/Type_Global_ShowColumn/Attribute_ColumnIndex.qbl new file mode 100644 index 0000000..cccd0ed --- /dev/null +++ b/_Main/BL/Type_Global_ShowColumn/Attribute_ColumnIndex.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ColumnIndex +{ + #keys: '3[414702.0.487974706][414702.0.487974705][414702.0.487974707]' + ValueType: Number +} diff --git a/_Main/BL/Type_Global_ShowColumn/Attribute_ColumnName.qbl b/_Main/BL/Type_Global_ShowColumn/Attribute_ColumnName.qbl new file mode 100644 index 0000000..1b0b026 --- /dev/null +++ b/_Main/BL/Type_Global_ShowColumn/Attribute_ColumnName.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ColumnName +{ + #keys: '3[414702.0.483720752][414702.0.483720751][414702.0.483720753]' + ValueType: String +} diff --git a/_Main/BL/Type_Global_ShowColumn/_ROOT_Type_Global_ShowColumn.qbl b/_Main/BL/Type_Global_ShowColumn/_ROOT_Type_Global_ShowColumn.qbl new file mode 100644 index 0000000..19f614d --- /dev/null +++ b/_Main/BL/Type_Global_ShowColumn/_ROOT_Type_Global_ShowColumn.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type Global_ShowColumn +{ + #keys: '5[414702.0.483720653][414702.0.483720651][0.0.0][414702.0.483720652][414702.0.483720654]' + BaseType: Object + StructuredName: 'Global_ShowColumns' +} diff --git a/_Main/BL/Type_Global_ShowRow/Attribute_RowNr.qbl b/_Main/BL/Type_Global_ShowRow/Attribute_RowNr.qbl new file mode 100644 index 0000000..06bfcac --- /dev/null +++ b/_Main/BL/Type_Global_ShowRow/Attribute_RowNr.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute RowNr +{ + #keys: '3[414702.0.483720742][414702.0.483720741][414702.0.483720743]' + ValueType: Number +} diff --git a/_Main/BL/Type_Global_ShowRow/_ROOT_Type_Global_ShowRow.qbl b/_Main/BL/Type_Global_ShowRow/_ROOT_Type_Global_ShowRow.qbl new file mode 100644 index 0000000..9c143f2 --- /dev/null +++ b/_Main/BL/Type_Global_ShowRow/_ROOT_Type_Global_ShowRow.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type Global_ShowRow +{ + #keys: '5[414702.0.483720648][414702.0.483720646][0.0.0][414702.0.483720647][414702.0.483720649]' + BaseType: Object + StructuredName: 'Global_ShowRows' +} diff --git a/_Main/BL/Type_ImportExcel/Method_Execute.qbl b/_Main/BL/Type_ImportExcel/Method_Execute.qbl new file mode 100644 index 0000000..8bad7ba --- /dev/null +++ b/_Main/BL/Type_ImportExcel/Method_Execute.qbl @@ -0,0 +1,43 @@ +Quintiq file version 2.0 +#parent: #root +MethodOverride Execute #extension +{ + TextBody: + [* + opt := DatasetFindOptions::Construct( this.MacroPlanDatasetName() ); + mp := MDSMacroPlan::Find( opt ); + + opt := DatasetFindOptions::Construct(); + scenarioManager := MDSScenarioManager::Find( opt ); + + // Only get data source which has all required files uploaded + dummyMissingFiles := construct( Strings ); + needUserUploadAllFiles := true; + validUploadedFiles := selectset( this, LibSOPImpExp_DataSourceChildren, ds, + ds.HasAllRequiredFilesForImport( dummyMissingFiles, needUserUploadAllFiles ) ); + + traverse( validUploadedFiles, Elements, file ) + { + this.LibSOPImpExp_UserInput( relnew, Value := file.Name() ); + } + + binaryValues := selectvalues( validUploadedFiles, Elements.LibSOPImpExp_DataSourceFile.LibSOPImpExp_ImportUploadedFile, file, true, file.DataAsBinary() ); + brokerNames := selectvalues( validUploadedFiles, Elements.LibSOPImpExp_DataSourceFile, file, true, file.BrokerName() ); + userinputvalues := selectuniquevalues( this, LibSOPImpExp_UserInput, userinput, + true, + userinput.Value() ); + mpsync := this.MPSync(); + + // Reactive way to import + o := this + ->SetStatusInProgress() + ->|mp->ImportExcels_Tianma( userinputvalues, binaryValues.Copy(), brokerNames ) + ->|scenarioManager->ImportExcels_Tianma( userinputvalues, binaryValues.Copy(), brokerNames ) + ->|mpsync->ImportExcels_Tianma( userinputvalues, binaryValues.Copy(), brokerNames ) + ->|this->SetStatusDone() + ->|mp->SetLastImportTime() + ->Exception(); + + this->OnException(o); + *] +} diff --git a/_Main/BL/Type_ImportExcel/_ROOT_Type_ImportExcel.qbl b/_Main/BL/Type_ImportExcel/_ROOT_Type_ImportExcel.qbl new file mode 100644 index 0000000..cd6e3ac --- /dev/null +++ b/_Main/BL/Type_ImportExcel/_ROOT_Type_ImportExcel.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +TypeSpecialization ImportExcel #extension +{ +} diff --git a/_Main/BL/Type_LibSOPImpExp_ExportExcel/StaticMethod_IsDataSourceIncluded_Tianma.qbl b/_Main/BL/Type_LibSOPImpExp_ExportExcel/StaticMethod_IsDataSourceIncluded_Tianma.qbl new file mode 100644 index 0000000..710f4a0 --- /dev/null +++ b/_Main/BL/Type_LibSOPImpExp_ExportExcel/StaticMethod_IsDataSourceIncluded_Tianma.qbl @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod IsDataSourceIncluded_Tianma ( + Strings userinputvalues, + String datasource_i +) remote as Boolean +{ + Description: 'If data source selected by user to export' + TextBody: 'return exists( userinputvalues, Elements, input, input = datasource_i );' +} diff --git a/_Main/BL/Type_LibSOPImpExp_ExportExcel/_ROOT_Type_LibSOPImpExp_ExportExcel.qbl b/_Main/BL/Type_LibSOPImpExp_ExportExcel/_ROOT_Type_LibSOPImpExp_ExportExcel.qbl new file mode 100644 index 0000000..9510e76 --- /dev/null +++ b/_Main/BL/Type_LibSOPImpExp_ExportExcel/_ROOT_Type_LibSOPImpExp_ExportExcel.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +TypeSpecialization LibSOPImpExp_ExportExcel #extension +{ +} diff --git a/_Main/BL/Type_MPSync/Method_ImportExcels_Tianma.qbl b/_Main/BL/Type_MPSync/Method_ImportExcels_Tianma.qbl new file mode 100644 index 0000000..01d9ef9 --- /dev/null +++ b/_Main/BL/Type_MPSync/Method_ImportExcels_Tianma.qbl @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: #root +Method ImportExcels_Tianma ( + Strings userinputvalues, + BinaryValues mpBinaryValues_i, + Strings mpBrokers_i +) +{ + Description: 'Import from Excel, used by web app.' + TextBody: + [* + // @userInput_i - Array of data group that user imports + // @mpBinaryValues_i - Array of uploaded Excels in binary value. Binary at position x matches @mpBrokers_i at same position + // @mpBrokers_i - Array of uploaded Excels' broker name + + is3DDrive := false; + + // Check if each data group has files uploaded by user for import + this.Import( LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_ImportProfiles() ), + mpBinaryValues_i, mpBrokers_i, is3DDrive, construct( FileItems), construct( Strings ) ); + *] +} diff --git "a/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter\043323.qbl" "b/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter\043323.qbl" deleted file mode 100644 index 5f2c716..0000000 --- "a/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter\043323.qbl" +++ /dev/null @@ -1,15 +0,0 @@ -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 index 6c1f176..496ec45 100644 --- a/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter.qbl +++ b/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter.qbl @@ -1,6 +1,8 @@ Quintiq file version 2.0 #parent: #root -Method RefreshCapacityAndSaleBudgeFilter +Method RefreshCapacityAndSaleBudgeFilter ( + GlobalOTDTable globalOtdTable +) { TextBody: [* @@ -9,12 +11,12 @@ businessTypes := selectuniquevalues( this, MappingCapacityAndSaleBudge, item, item.BusinessType() ); info( [String]businessTypes.Size() ); traverse( businessTypes, Elements, businessType ) { - CapacityAndSaleBudgeFilterBusinessType::CreateIfNotExist( this, businessType ); + CapacityAndSaleBudgeFilterBusinessType::CreateIfNotExist( globalOtdTable, businessType ); } placeOfProductionOfArrays := selectuniquevalues( this, MappingCapacityAndSaleBudge, item, item.PlaceOfProductionOfArray() ); info( [String]placeOfProductionOfArrays.Size() ); traverse( placeOfProductionOfArrays, Elements, placeOfProductionOfArray ) { - CapacityAndSaleBudgeFilterPlaceOfProductionOfArray::CreateIfNotExist( this, placeOfProductionOfArray ); + CapacityAndSaleBudgeFilterPlaceOfProductionOfArray::CreateIfNotExist( globalOtdTable, placeOfProductionOfArray ); } *] } diff --git a/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter0.qbl b/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter0.qbl new file mode 100644 index 0000000..c8d1bbb --- /dev/null +++ b/_Main/BL/Type_MPSync/Method_RefreshCapacityAndSaleBudgeFilter0.qbl @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: #root +Method RefreshCapacityAndSaleBudgeFilter ( + Boolean deleteBeforeCreate, + GlobalOTDTable globalOtdTable +) +{ + TextBody: + [* + if( deleteBeforeCreate ) { + globalOtdTable.CapacityAndSaleBudgeFilterBusinessType( relflush ); + globalOtdTable.CapacityAndSaleBudgeFilterPlaceOfProductionOfArray( relflush ); + } + this.RefreshCapacityAndSaleBudgeFilter( globalOtdTable ); + *] +} diff --git a/_Main/BL/Type_MacroPlan/Method_ImportExcels_Tianma.qbl b/_Main/BL/Type_MacroPlan/Method_ImportExcels_Tianma.qbl new file mode 100644 index 0000000..7d409ec --- /dev/null +++ b/_Main/BL/Type_MacroPlan/Method_ImportExcels_Tianma.qbl @@ -0,0 +1,47 @@ +Quintiq file version 2.0 +#parent: #root +Method ImportExcels_Tianma ( + Strings userinputvalues, + BinaryValues mpBinaryValues_i, + Strings mpBrokers_i +) +{ + Description: 'Import from Excel, used by web app.' + TextBody: + [* + // @userinputvalues - Array of data group that user imports + // @mpBinaryValues_i - Array of uploaded Excels in binary value. Binary at position x matches @mpBrokers_i at same position + // @mpBrokers_i - Array of uploaded Excels' broker name + + is3DDrive := false; + + // Check if each data group has files uploaded by user for import + this.Synchronize( LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_SupplyChainParameters() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_GlobalParameters() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Periods() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MP_Functionality_InventorySpecifications() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MP_Functionality_InventorySupplies() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Products() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Forecasts() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_ServiceLevels() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Campaigns() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Entities() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Costs() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Lanes() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Routings() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Capacities() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MP_Functionality_SupplySpecifications() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Recipes() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MP_Designer_Actuals() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MP_GlobalParameters_KPIFeedbackName() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_OptimizerPuzzles() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_PostponementSpecAndFulfillmentRestriction() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_CustomerOrder() ), + false, /* isImportBinary */ + mpBinaryValues_i, + mpBrokers_i, + is3DDrive, + construct( FileItems ), /* 3ddrive, ignore */ + construct( Strings ) /* 3ddrive, ignore */ ); + *] +} diff --git a/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl index 4504921..9d01ece 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl @@ -38,12 +38,18 @@ } // if( not isnull( Product_MP::FindById( this, item.ProductID() ) ) ){ // info( item.ProductID().AsQUILL() ); - CustomerOrder::CreateOrUpdate( this, item.CurrencyID(), item.Customer(), item.CustomerID(), item.ID(), - item.OrderDate(), item.OrderID(), item.OrderLineID(), item.Price(), - priorityName, item.ProductID(), - item.StockingPointID(), - item.SalesSegmentName(), - item.Quantity(), item.UnitOfMeasureName(), item.OrderType(), item.IsAvailable()); + customOrder := CustomerOrder::CreateOrUpdate( this, item.CurrencyID(), item.Customer(), item.CustomerID(), item.ID(), + item.OrderDate(), item.OrderID(), item.OrderLineID(), item.Price(), + priorityName, item.ProductID(), + item.StockingPointID(), + item.SalesSegmentName(), + item.Quantity(), item.UnitOfMeasureName(), item.OrderType(), item.IsAvailable()); + customOrder.BusinessType( item.BusinessType() ); + customOrder.OrderType( item.OrderType() ); + customOrder.OrderTime( item.OrderTime() ); + customOrder.ProductGrade( item.ProductGrade() ); + customOrder.SegmentPriority( item.SegmentPriority() ); + customOrder.SheetProfitability( item.SheetProfitability() ); // }else{ // info( "invaild product: " + item.ProductID().AsQUILL() ); // } diff --git a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl index 254be84..663464c 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl @@ -10,7 +10,6 @@ TextBody: [* // yypsybs Aug-21-2023 (created) - keyProductList := construct( Strings ); if( isKeyProduct ) { keyProductList := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�", item.ID() ); @@ -61,6 +60,7 @@ // ========鍒嗙粍澶勭悊杈撳叆======== } + if( not isnull( stockingPoint)){ if( isKeyProduct){ keyRows := selectset( routingRows,Elements,routingrow,keyProductList.Find( routingrow.ComponentCode())>=0); @@ -83,5 +83,78 @@ this.MappingOperationBOMDataSupplyPurchase( bom.OrganCode(), bom.ComponentCode(), bom.ComponentType()); } } + + + // + //keyProductList := construct( Strings ); + //if( isKeyProduct ) { + // keyProductList := selectuniquevalues( globalOTDTable, Global_MappingProduct_MP, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�", item.ID() ); + //} + //bomList := selectsortedset( globalOTDTable, Global_MappingOperationBOM, item, + // ifexpr( isnull( businessTypes ) or businessTypes.Size() = 0, + // true, + //// businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 ) + // businessTypes.Find( item.BusinessType() ) >= 0 ) + //// and ifexpr( isKeyProduct, + //// keyProductList.Size() > 0 and keyProductList.Find( item.ComponentCode() ) >= 0, + //// true ) + // , + // item.OrganCode() + "_" + item.ProductCode() + "_" + item.ProcessSection() ); + //// 鎸塺outing鍙妑outingStep鍒嗙粍 + //routingIds := selectuniquevalues( bomList, Elements, item, true, item.OrganCode() + "_" + item.ProductCode() ); + //traverse( routingIds, Elements, routingId ) { + // routingRows := selectset( bomList, Elements, item, true, routingId = item.OrganCode() + "_" + item.ProductCode() ); + // if( routingRows.Size() > 0 ) { + // firstRow := routingRows.Element( 0 ); + //// stockingPointId := firstRow.OrganCode() + "_" + firstRow.ProductType() + "_Stock"; + //// inputStockingPointId := firstRow.OrganCode() + "_" + firstRow.ComponentType() + "_Stock"; + // stockingPointId := firstRow.OrganCode() + "_Stock"; + // + // // ========妫�鏌�======== + // product := Product_MP::FindProductTypeIndex( firstRow.ProductCode() ); + // if( not isnull( product ) ) { + //// error( "product : " + firstRow.ProductCode() + " not found" ); + // stockingPoint := StockingPoint_MP::FindStockingPointTypeIndex( stockingPointId ); + // + //// info( stockingPointId.AsQUILL() ); + // // if( isnull( stockingPoint ) ) { + // // error( "stockingPoint : " + stockingPointId + " not found" ); + // // } + // routing := Routing::FindRoutingTypeIndex( routingId ); + // if( not isnull( routing ) ) { + //// error( "routing : " + routingId + " not found" ); + // // ========澶勭悊杈撳嚭======== + // if( not isnull( stockingPoint ) ) { + //// info( 1 ); + // operationsInLastSteps := Operation::FindFinalOperationsByRoutingId( this, routingId ); + // traverse( operationsInLastSteps, Elements, operationsInLastStep ) { + // operationsInLastStep.CreateOperationBOM( product, stockingPoint, false, true ); + // operationsInLastStep.GetOperationBOM( product.ID(), stockingPoint.ID(), false ).Quantity( 1 ); + // } + // // ========鍒嗙粍澶勭悊杈撳叆======== + // + // } + // if( not isnull( stockingPoint)){ + // if( isKeyProduct){ + // keyRows := selectset( routingRows,Elements,routingrow,keyProductList.Find( routingrow.ComponentCode())>=0); + // this.MappingOperationBOMDataRouting( routing,globalOTDTable,keyRows); + // }else{ + // this.MappingOperationBOMDataRouting( routing,globalOTDTable,routingRows); + // } + // + // } + // } + // } + // } + //} + //if( createPurchaseSupplyMaterial ) { + // toCreateBomList := selectuniquevalues( bomList, Elements, item, + // item.ComponentType() = "P", item.OrganCode() + item.ComponentCode()); + // traverse( toCreateBomList, Elements, key ) { + // boms := selectset( bomList, Elements, item, item.ComponentType() = "P" and item.OrganCode() + item.ComponentCode() = key ); + // bom := boms.First(); + // this.MappingOperationBOMDataSupplyPurchase( bom.OrganCode(), bom.ComponentCode(), bom.ComponentType()); + // } + //} *] } diff --git a/_Main/BL/Type_MappingSaleBudge/DefaultValue_PlaceOfProductionOfEvaporation.qbl b/_Main/BL/Type_MappingSaleBudge/DefaultValue_PlaceOfProductionOfEvaporation.qbl deleted file mode 100644 index 0c8ee87..0000000 --- a/_Main/BL/Type_MappingSaleBudge/DefaultValue_PlaceOfProductionOfEvaporation.qbl +++ /dev/null @@ -1,6 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -DefaultValue -{ - TargetAttribute: PlaceOfProductionOfEvaporation -} diff --git a/_Main/BL/Type_MappingSaleBudge/StaticMethod_Export.qbl b/_Main/BL/Type_MappingSaleBudge/StaticMethod_Export.qbl index c469165..c75f124 100644 --- a/_Main/BL/Type_MappingSaleBudge/StaticMethod_Export.qbl +++ b/_Main/BL/Type_MappingSaleBudge/StaticMethod_Export.qbl @@ -61,7 +61,7 @@ } //--------------------------------------------------------------------------------------------- xmlTemplate := xmlTemplate + "</table>"; - info( xmlTemplate ); + //info( xmlTemplate ); tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTemplate ) ); XLS::SaveTable( tableHandle, OS::TempPath() + "MappingCapacityAndSaleBudge.xlsx" ); file := OSFile::Construct(); diff --git a/_Main/BL/Type_PriorityFactor/Attribute_ReflectionAttribute.qbl b/_Main/BL/Type_PriorityFactor/Attribute_ReflectionAttribute.qbl new file mode 100644 index 0000000..3f5a69d --- /dev/null +++ b/_Main/BL/Type_PriorityFactor/Attribute_ReflectionAttribute.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ReflectionAttribute +{ + #keys: '3[414382.0.554303396][414382.0.554303395][414382.0.554303397]' + ValueType: String +} diff --git a/_Main/BL/Type_PriorityFactor/Attribute_ReflectionType.qbl b/_Main/BL/Type_PriorityFactor/Attribute_ReflectionType.qbl new file mode 100644 index 0000000..49b163b --- /dev/null +++ b/_Main/BL/Type_PriorityFactor/Attribute_ReflectionType.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute ReflectionType +{ + #keys: '3[414382.0.554014806][414382.0.554014805][414382.0.554014807]' + ValueType: String +} diff --git a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl index c6c69c4..1449c61 100644 --- a/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl +++ b/_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl @@ -15,15 +15,88 @@ isBusinessType := true; } - priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, + if( priorityFactor.Name() = "澶у紶鐩堝埄姘村钩" ) + { + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, IsRange := false,GradingName := "澶х泩",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); - priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, - IsRange := false,GradingName := "灏忕泩",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); - priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0, - IsRange := false,GradingName := "鎸佸钩",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); - priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3, - IsRange := false,GradingName := "灏忎簭",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); - priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5, - IsRange := false,GradingName := "澶т簭",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, + IsRange := false,GradingName := "灏忕泩",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0, + IsRange := false,GradingName := "鎸佸钩",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3, + IsRange := false,GradingName := "灏忎簭",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5, + IsRange := false,GradingName := "澶т簭",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + } + + if( priorityFactor.Name() = "瀹㈡埛绛栫暐" ) + { + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, + IsRange := false,GradingName := "81%鈮鈮�100%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 4, + IsRange := false,GradingName := "61%鈮鈮�80%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, + IsRange := false,GradingName := "41%鈮鈮�60%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 2, + IsRange := false,GradingName := "21%鈮鈮�40%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, + IsRange := false,GradingName := "1%鈮鈮�20%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + } + + if( priorityFactor.Name() = "缁嗗垎甯傚満绛夌骇" ) + { + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, + IsRange := false,GradingName := "鎴樼暐",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, + IsRange := false,GradingName := "閲嶇偣",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, + IsRange := false,GradingName := "娼滃姏",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + } + + if( priorityFactor.Name() = "璁㈠崟涓嬪崟鏃堕棿" ) + { + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, + IsRange := false,GradingName := "120",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 4, + IsRange := false,GradingName := "90",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, + IsRange := false,GradingName := "60",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 2, + IsRange := false,GradingName := "30",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, + IsRange := false,GradingName := "0",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + } + + if( priorityFactor.Name() = "闇�姹傜被鍨�" ) + { + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, + IsRange := false,GradingName := "鏈夐娴�",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, + IsRange := false,GradingName := "鏃犻娴�",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, + IsRange := false,GradingName := "绾娴�",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + } + + if( priorityFactor.Name() = "瀹㈡埛绛夌骇" ) + { + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, + IsRange := false,GradingName := "鎴樼暐",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, + IsRange := false,GradingName := "閲嶇偣",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, + IsRange := false,GradingName := "娼滃姏",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + } + + if( priorityFactor.Name() = "DOI" or priorityFactor.Name() = "DSI") + { + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5, + IsRange := false,GradingName := "<7",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3, + IsRange := false,GradingName := "<15",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, + IsRange := false,GradingName := "<30",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1, + IsRange := false,GradingName := ">30",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name()); + } *] } diff --git a/_Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl b/_Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl new file mode 100644 index 0000000..f65a510 --- /dev/null +++ b/_Main/BL/Type_PriorityResult/Attribute_CustomerOrderID.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute CustomerOrderID +{ + #keys: '3[414382.0.554015006][414382.0.554015005][414382.0.554015007]' + ValueType: String +} diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_CalculateBracketScore.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_CalculateBracketScore.qbl new file mode 100644 index 0000000..962e51e --- /dev/null +++ b/_Main/BL/Type_PriorityResult/StaticMethod_CalculateBracketScore.qbl @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CalculateBracketScore ( + String calcStr, + CustomerOrder customerOrder, + String businessType, + MacroPlan macroPlan, + GlobalOTDTable globalOTDTable +) as Real +{ + Description: '璁$畻鍏紡涓嫭鍙峰唴鐨勬暟鎹�' + TextBody: + [* + // NBoTk Sep-26-2023 (created) + + + return PriorityResult::CalculateScore( calcStr,customerOrder,businessType,macroPlan,0.0,globalOTDTable); + *] +} diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl new file mode 100644 index 0000000..93e2b2f --- /dev/null +++ b/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl @@ -0,0 +1,88 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CalculateScore ( + String formula, + CustomerOrder customerOrder, + String businessType, + MacroPlan macroPlan, + Real lastScore, + GlobalOTDTable globalOTDTable +) as Real +{ + TextBody: + [* + // NBoTk Sep-26-2023 (created) + + score := 0.0; + remindFormula := formula; + + // 閬嶅巻浼樺厛绾у洜瀛愰厤缃� + + if( not remindFormula = '' ) + { + // 浠庤捣濮嬩綅缃紑濮嬪尮閰� + if(remindFormula.StartsWith( "+" )) + { + remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); + score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable); + score := lastScore + score; + + // 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻 + remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable); + } + else if( remindFormula.StartsWith( "-" )) + { + remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); + score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable); + score := lastScore - score; + + // 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻 + remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable); + } + else if( remindFormula.StartsWith( "*" ) ) + { + remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); + score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable); + score := lastScore * score; + + // 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻 + remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable); + } + else if( remindFormula.StartsWith( "/" ) ) + { + remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); + score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable); + score := lastScore / score; + + // 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻 + remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable); + } + else if( remindFormula.StartsWith( "(" ) ) + { + // 鎵惧埌绗竴涓粨鏉熺殑 ) + // 璁$畻鎷彿涓殑鍐呭 + rightBracket := remindFormula.FindString( ")",0); + calcStr := remindFormula.SubString( 1,rightBracket); + PriorityResult::CalculateBracketScore(calcStr,customerOrder,businessType,macroPlan,globalOTDTable); + + // 鎴彇 ) 鍚庣殑瀛楃缁х画杩涜璁$畻 + remindFormula := remindFormula.SubString( rightBracket,remindFormula.Length()); + } + else + { + // 涓嶆槸绗﹀彿 鐩存帴鑾峰彇璁$畻鍚庣殑鏁板�� + score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable); + // 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻 + remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable); + } + } + + // 娌℃湁鍖归厤 鍏紡璁$畻瀹屾垚 + return lastScore; + *] +} diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl new file mode 100644 index 0000000..78c3611 --- /dev/null +++ b/_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl @@ -0,0 +1,124 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetDetailsValue ( + CustomerOrder customerOrder, + String formula, + MacroPlan macroPlan, + GlobalOTDTable globalOTDTable +) as Real +{ + TextBody: + [* + // NBoTk Sep-26-2023 (created) + // 褰撳墠璁$畻浼樺厛绾у洜瀛愮粏鍒� 濡傛灉鑾峰彇涓嶅埌鍏ㄩ儴鍏堥粯璁や负1 + + value := 0.0; + + priorityFactor := null( PriorityFactor); + traverse( macroPlan,PriorityFactor,p) + { + if( formula.StartsWith( p.Name()) ) + { + priorityFactor := p; + } + } + + if(isnull( priorityFactor) ) + { + value := 1.0; + } + else + { + if( "瀹㈡埛绛栫暐" = priorityFactor.Name()) + { + obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "瀹㈡埛绛栫暐" and p.GradingName() = customerOrder.CustomerPolicy()); + gradeTarget := 1.0; + if( not isnull( obj ) ) + { + gradeTarget := obj.GradeTarget(); + } + value := priorityFactor.Coefficient() * gradeTarget; + } + + if( "澶у紶鐩堝埄姘村钩" = priorityFactor.Name()) + { + obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "澶у紶鐩堝埄姘村钩" and p.GradingName() = customerOrder.SheetProfitability()); + gradeTarget := 1.0; + if( not isnull( obj ) ) + { + gradeTarget := obj.GradeTarget(); + } + value := priorityFactor.Coefficient() * gradeTarget; + } + + if( "DOI" = priorityFactor.Name()) + { + // DOI鏁版嵁 + obj := selectobject( globalOTDTable,Global_MappingDOI_DSI,doi,doi.ProductID() = customerOrder.ProductID()) + doi := 1.0; + if( not isnull( obj ) ) + { + doi := [Real]obj.DOI(); + } + value := priorityFactor.Coefficient() * doi; + } + + if( "DSI" = priorityFactor.Name()) + { + // DOI鏁版嵁 + obj := selectobject( globalOTDTable,Global_MappingDOI_DSI,doi,doi.ProductID() = customerOrder.ProductID()) + dsi := 1.0; + if( not isnull( obj ) ) + { + dsi := [Real]obj.DSI(); + } + value := priorityFactor.Coefficient() * dsi; + } + + if( "缁嗗垎甯傚満绛夌骇" = priorityFactor.Name()) + { + obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "缁嗗垎甯傚満绛夌骇" and p.GradingName() = customerOrder.SegmentPriority()); + gradeTarget := 1.0; + if( not isnull( obj ) ) + { + gradeTarget := obj.GradeTarget(); + } + value := priorityFactor.Coefficient() * gradeTarget; + } + + if( "闇�姹傜被鍨�" = priorityFactor.Name()) + { + // 鏈夐娴� 鏃犻娴� 绾娴� + obj := selectobject( priorityFactor,PriorityFactorDetails,p,p.GradingName() = customerOrder.OrderType()); + gradeTarget := 1.0; + if( not isnull( obj ) ) + { + gradeTarget := obj.GradeTarget(); + } + value := priorityFactor.Coefficient() * gradeTarget; + } + + if( "瀹㈡埛绛夌骇" = priorityFactor.Name()) + { + // 閫氳繃鏁版嵁婀栬绠楀鎴风瓑绾� + obj := selectobject( globalOTDTable,Global_MappingCustomerGrade,doi,doi.BusinessType() = customerOrder.BusinessType() and doi.Customer() = customerOrder.CustomerName()) + customerGrade := 1.0; + if( not isnull( obj ) ) + { + customerGrade := [Real]obj.CustomerGrade(); + } + value := priorityFactor.Coefficient() * customerGrade; + } + + if( "璁㈠崟涓嬪崟鏃堕棿" = priorityFactor.Name()) + { + // 涓嬪崟鏃堕棿 + orderTime := customerOrder.OrderTime(); + days := orderTime.TotalInDays() - customerOrder.EndDate().TotalInDays(); + obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "璁㈠崟涓嬪崟鏃堕棿" and days >= [Number]p.GradingName()); + value := priorityFactor.Coefficient() * obj.GradeTarget(); + } + } + return value; + *] +} diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl new file mode 100644 index 0000000..fd4f1f0 --- /dev/null +++ b/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl @@ -0,0 +1,33 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetRemindFormula ( + String formula, + MacroPlan macroPlan +) as String +{ + TextBody: + [* + // NBoTk Sep-26-2023 (created) + + str := ""; + + traverse( macroPlan,PriorityFactor,p) + { + if( formula.StartsWith( p.Name()) ) + { + // 鍒ゆ柇鍓╀綑瀛楃闀垮害 + if( p.Name().Length() = formula.Length() ) + { + str := "" + } + else + { + str := formula.SubString( p.Name().Length(),formula.Length() - p.Name().Length()); + } + } + } + + info( "remindStr = " + str ); + return str; + *] +} diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl new file mode 100644 index 0000000..715b2f8 --- /dev/null +++ b/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl @@ -0,0 +1,84 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod CalculatePriorityResult ( + String priorityPolicyName, + MacroPlan macroPlan, + GlobalOTDTable globalOTDTable +) +{ + TextBody: + [* + // NBoTk Sep-26-2023 (created) + + // 璁$畻瀹㈡埛璁㈠崟鐨勪紭鍏堢骇寰楀垎 鍥炲~鏉冮噸鏁版嵁 鐢熸垚鏂扮殑Priority鏄庣粏鏁版嵁 + + traverse( macroPlan,SalesDemand.astype( CustomerOrder ),e) + { + // 浜嬩笟閮ㄤ俊鎭� + businessType := e.BusinessType(); + //businessType := "鎵嬫満浜嬩笟閮�"; + + // 鑾峰彇瀵瑰簲浜嬩笟閮ㄨ绠楀叕寮� + priorityPolicys := selectobject( macroPlan,PriorityPolicy,p,p.BusinessType() = businessType and p.Name() = priorityPolicyName); + formula := priorityPolicys.Formula(); + + // 閫掑綊澶勭悊璁$畻鍏紡 鑾峰彇褰撳墠璁㈠崟鐨勫緱鍒� + value := PriorityResult::CalculateScore( formula,e,businessType,macroPlan,0.0,globalOTDTable); + + // 鐢熸垚浼樺厛绾у洜瀛愯窇鍒嗙粨鏋� + priorityResult := macroPlan.PriorityResult(relnew,CustomerOrderID := e.ID(),BusinessType := businessType,Customer := e.CustomerName(),CustomerID := e.CustomerID(), + DemandDate := e.EndDate(),ProductID := e.ProductID(),Quantity := e.Quantity(),SalesSegmentName := e.SalesSegmentName(), + StockingPointID := e.StockingPointID(),UnitOfMeasureName := e.UnitOfMeasureName() + ); + + // 鍒ゆ柇鏄泦鍥� 杩樻槸浜嬩笟閮� + if( businessType.FindString( "闆嗗洟",0 ) <> -1) + { + priorityResult.PriorityResultGroupDetail( relnew,BusinessType := businessType,Customer := e.CustomerName(),CustomerID := e.CustomerID(), + DemandDate := e.EndDate(),PriorityPolicyName := priorityPolicyName,PriorityResultScore := value, + Quantity := e.Quantity(),SalesSegmentName := e.SalesSegmentName(),StockingPointID := e.StockingPointID(), + UnitOfMeasureName := e.UnitOfMeasureName(),PriorityTotalScore := value + ); + } + else + { + priorityResult.PriorityResultBusinessTypeDetail( relnew,BusinessType := businessType,Customer := e.CustomerName(),CustomerID := e.CustomerID(), + DemandDate := e.EndDate(),PriorityPolicyName := priorityPolicyName,PriorityResultScore := value, + Quantity := e.Quantity(),SalesSegmentName := e.SalesSegmentName(),StockingPointID := e.StockingPointID(), + UnitOfMeasureName := e.UnitOfMeasureName(),PriorityTotalScore := value + ); + } + } + + // 浼樺厛绾у洜瀛愬鐞嗗畬鎴愬悗 鎺掑簭鍥炲~鏁版嵁 + resultList := selectsortedset( macroPlan,PriorityResult,result, + true, + result.PriorityResultScore() + ) + + priorityValue := 1; + traverse( resultList,Elements,e) + { + obj := selectobject( macroPlan,SalesDemand.astype( CustomerOrder ),order, + order.ID() = e.CustomerOrderID() + ); + + // 璁㈠崟鏁版嵁涓嶄负绌哄啀鍋氬鐞� + if( not isnull( obj ) ) + { + obj.PriorityName([String]priorityValue); + + // 鍒涘缓浼樺厛绾ф暟鎹� 闇�瑕佸厛娓呴櫎涓婁竴娆$殑璁$畻缁撴灉 + // 鍒ゆ柇褰撳墠customerOrder鏄惁瀛樺湪 + oldPriority := selectobject( macroPlan,Priority,p,p.Name() = obj.OrderID()); + if(not isnull( oldPriority ) ) + { + macroPlan.Priority(reldelete, oldPriority); + } + macroPlan.Priority(relnew,Weight := priorityValue,Name := obj.OrderID()); + priorityValue := priorityValue + 1; + } + + } + *] +} diff --git a/_Main/BL/Type_ProductInStockingPointInPeriodPlanningLeaf/FunctionOverride_CalcStockLevelInDays.qbl b/_Main/BL/Type_ProductInStockingPointInPeriodPlanningLeaf/FunctionOverride_CalcStockLevelInDays.qbl new file mode 100644 index 0000000..bd5d786 --- /dev/null +++ b/_Main/BL/Type_ProductInStockingPointInPeriodPlanningLeaf/FunctionOverride_CalcStockLevelInDays.qbl @@ -0,0 +1,79 @@ +Quintiq file version 2.0 +#parent: #root +FunctionOverride CalcStockLevelInDays #extension +{ + TextBody: + [* + totalDays := 0.0; + + if( not this.Period_MP().MacroPlan().IsMetaOptimizerRunning() ) + { + balanceInv := this.InventoryLevelEnd(); + + if( balanceInv > 0 ) + { + // Calculate stock level in days + futureperiods := selectsortedset( this, ProductInStockingPoint_MP.ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), p, + p.Start() >= this.End(), p.Start() ); + product := this.ProductInStockingPoint_MP().Product_MP(); + shelflife := this.ShelfLife(); + hasshelflife := product.HasShelfLife() and not isnull( shelflife ); + agevector := RealVector::Construct(); + quantityvector := RealVector::Construct(); + + // Modified logic to consider shelf-life for stock level in days + if( hasshelflife ) + { + // Get the age and quantity vector of remaining product stock at the end of period + agevector := RealVector::Construct( shelflife.ShelfLifeEndAgeVectorAsBinaryValue() ); + quantityvector := RealVector::Construct( shelflife.ShelfLifeEndQuantityVectorAsBinaryValue() ); + } + + /* + Track if consecutive future periods has 0 demand (although we have balance supply, but if remaining future periods has 0 demand not consider as coverable). + Accumulate the coverable days and only add to total days if manage to find a subsequent period with demand. + */ + traverse( futureperiods, Elements, pispip, + // Terminate calculation once remaining supply is 0 + balanceInv > 0 ) + { + if( balanceInv > 0 ) + { + demandQty := pispip.DependentDemandAndSalesDemandQuantity(); + + // Include expired quantity as demand to determine stock level in days + if( hasshelflife ) + { + isexpiredinperiodvector := BooleanVector::Construct(); + + traverse( agevector.AsValues(), Elements, age ) + { + isexpiredinperiod := not product.GetIsUsableInTargetPeriod( [Real] age, pispip.Start(), pispip.Period_MP() ); + isexpiredinperiodvector.Append( isexpiredinperiod ); + agevector.Add( pispip.Period_MP().GetDurationInDaysForShelfLife(), false ); + } + + // Sum of all elements in the quantity vector that corresponds to element = true in the boolean vector + expiredinventoryqty := quantityvector.GetSelection( isexpiredinperiodvector ).Sum(); + demandQty := demandQty + expiredinventoryqty; // Reduce inventory as expired + } + + if( balanceInv > demandQty ) // Remaining supply can cover demand in period + { + totalDays := totalDays + pispip.Period_MP().DurationInDays(); + balanceInv := balanceInv - demandQty; + } + else // Remaining supply partially cover the demand in period + { + // Main calc logic + totalDays := totalDays + ( balanceInv / demandQty * pispip.Period_MP().DurationInDays() ); + balanceInv := 0.0; + } + } + } + } + } + + this.StockLevelInDays( totalDays ); + *] +} diff --git a/_Main/BL/Type_ProductInStockingPointInPeriodPlanningLeaf/_ROOT_Type_ProductInStockingPointInPeriodPlanningLeaf.qbl b/_Main/BL/Type_ProductInStockingPointInPeriodPlanningLeaf/_ROOT_Type_ProductInStockingPointInPeriodPlanningLeaf.qbl new file mode 100644 index 0000000..8c6a2c8 --- /dev/null +++ b/_Main/BL/Type_ProductInStockingPointInPeriodPlanningLeaf/_ROOT_Type_ProductInStockingPointInPeriodPlanningLeaf.qbl @@ -0,0 +1,6 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +TypeSpecialization ProductInStockingPointInPeriodPlanningLeaf #extension +{ +} diff --git a/_Main/BL/Type_ScenarioManager/Method_ImportExcels_Tianma.qbl b/_Main/BL/Type_ScenarioManager/Method_ImportExcels_Tianma.qbl new file mode 100644 index 0000000..2c38e3e --- /dev/null +++ b/_Main/BL/Type_ScenarioManager/Method_ImportExcels_Tianma.qbl @@ -0,0 +1,29 @@ +Quintiq file version 2.0 +#parent: #root +Method ImportExcels_Tianma ( + Strings userinputvalues, + BinaryValues mpBinaryValues_i, + Strings mpBrokers_i +) +{ + Description: 'Import from Excel, used by web app.' + TextBody: + [* + // @userinputvalues - Array of data group that user imports + // @mpBinaryValues_i - Array of uploaded Excels in binary value. Binary at position x matches @mpBrokers_i at same position + // @mpBrokers_i - Array of uploaded Excels' broker name + + is3DDrive := false; + + // Check if each data group has files uploaded by user for import + this.Import( LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Strategies() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Accounts() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_Bookmarks() ), + LibSOPImpExp_ExportExcel::IsDataSourceIncluded_Tianma( userinputvalues, Translations::MPSync_ObjectGroup_KPISetting() ), + mpBinaryValues_i.Copy(), + mpBrokers_i, + is3DDrive, + construct( FileItems ), /* 3ddrive, ignore */ + construct( Strings ) /* 3ddrive, ignore */ ); + *] +} diff --git a/_Main/BL/Type_YuxTest/Attribute_TestBoolean.qbl b/_Main/BL/Type_YuxTest/Attribute_TestBoolean.qbl new file mode 100644 index 0000000..7a1e8b7 --- /dev/null +++ b/_Main/BL/Type_YuxTest/Attribute_TestBoolean.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TestBoolean +{ + #keys: '3[414384.0.915854691][414384.0.915854690][414384.0.915854692]' + ValueType: Boolean +} diff --git a/_Main/BL/Type_YuxTest/Attribute_TestDate.qbl b/_Main/BL/Type_YuxTest/Attribute_TestDate.qbl new file mode 100644 index 0000000..f96d5cd --- /dev/null +++ b/_Main/BL/Type_YuxTest/Attribute_TestDate.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TestDate +{ + #keys: '3[414384.0.915854704][414384.0.915854703][414384.0.915854705]' + ValueType: Date +} diff --git a/_Main/BL/Type_YuxTest/Attribute_TestDateTime.qbl b/_Main/BL/Type_YuxTest/Attribute_TestDateTime.qbl new file mode 100644 index 0000000..4ebf668 --- /dev/null +++ b/_Main/BL/Type_YuxTest/Attribute_TestDateTime.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TestDateTime +{ + #keys: '3[414384.0.915854714][414384.0.915854713][414384.0.915854715]' + ValueType: DateTime +} diff --git a/_Main/BL/Type_YuxTest/Attribute_TestNumber.qbl b/_Main/BL/Type_YuxTest/Attribute_TestNumber.qbl new file mode 100644 index 0000000..95e5da0 --- /dev/null +++ b/_Main/BL/Type_YuxTest/Attribute_TestNumber.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TestNumber +{ + #keys: '3[414384.0.915854681][414384.0.915854680][414384.0.915854682]' + ValueType: Number +} diff --git a/_Main/BL/Type_YuxTest/Attribute_TestReal.qbl b/_Main/BL/Type_YuxTest/Attribute_TestReal.qbl new file mode 100644 index 0000000..1852888 --- /dev/null +++ b/_Main/BL/Type_YuxTest/Attribute_TestReal.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TestReal +{ + #keys: '3[414384.0.915854668][414384.0.915854667][414384.0.915854669]' + ValueType: Real +} diff --git a/_Main/BL/Type_YuxTest/Attribute_TestString.qbl b/_Main/BL/Type_YuxTest/Attribute_TestString.qbl new file mode 100644 index 0000000..5965156 --- /dev/null +++ b/_Main/BL/Type_YuxTest/Attribute_TestString.qbl @@ -0,0 +1,7 @@ +Quintiq file version 2.0 +#parent: #root +Attribute TestString +{ + #keys: '3[414384.0.915854658][414384.0.915854657][414384.0.915854659]' + ValueType: String +} diff --git a/_Main/BL/Type_YuxTest/StaticMethod_Export.qbl b/_Main/BL/Type_YuxTest/StaticMethod_Export.qbl new file mode 100644 index 0000000..d6f5aaf --- /dev/null +++ b/_Main/BL/Type_YuxTest/StaticMethod_Export.qbl @@ -0,0 +1,85 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod Export ( + YuxTests toExportList +) as String +{ + TextBody: + [* + // generate by generate_export_method.py + xmlTemplate := '<?xml version="1.0" encoding="UTF-16"?> + <table> + <name>YuxTest</name> + '; + convDateToString := DateToString::StandardConverter(); + convDateToString.SetCustomConversion(); + convDateToString.CustomFormatString( 'yyyy-MM-dd' ); + convDateTimeToString := DateTimeToString::StandardConverter(); + convDateTimeToString.SetCustomConversion(); + convDateTimeToString.CustomFormatString( 'yyyy-MM-dd HH:mm:ss' ); + info( "export start" ); + //--------------------------------------------------------------------------------------------- + columnStr := "<column><name>娴嬭瘯鏁板瓧</name><type>String</type>"; + traverse( toExportList, Elements, toExportItem ) { + testNumber := toExportItem.TestNumber(); + cellStr := '<cell value="' + [String]testNumber + '"/>'; + columnStr := columnStr + cellStr; + } + columnStr := columnStr + "</column>"; + xmlTemplate := xmlTemplate + columnStr; + //--------------------------------------------------------------------------------------------- + columnStr := "<column><name>娴嬭瘯灏忔暟</name><type>String</type>"; + traverse( toExportList, Elements, toExportItem ) { + testReal := toExportItem.TestReal(); + cellStr := '<cell value="' + [String]testReal + '"/>'; + columnStr := columnStr + cellStr; + } + columnStr := columnStr + "</column>"; + xmlTemplate := xmlTemplate + columnStr; + //--------------------------------------------------------------------------------------------- + columnStr := "<column><name>娴嬭瘯瀛楃涓�</name><type>String</type>"; + traverse( toExportList, Elements, toExportItem ) { + testString := toExportItem.TestString(); + cellStr := '<cell value="' + testString + '"/>'; + columnStr := columnStr + cellStr; + } + columnStr := columnStr + "</column>"; + xmlTemplate := xmlTemplate + columnStr; + //--------------------------------------------------------------------------------------------- + columnStr := "<column><name>娴嬭瘯甯冨皵</name><type>String</type>"; + traverse( toExportList, Elements, toExportItem ) { + testBoolean := toExportItem.TestBoolean(); + cellStr := '<cell value="' + [String]testBoolean + '"/>'; + columnStr := columnStr + cellStr; + } + columnStr := columnStr + "</column>"; + xmlTemplate := xmlTemplate + columnStr; + //--------------------------------------------------------------------------------------------- + columnStr := "<column><name>娴嬭瘯鏃ユ湡</name><type>String</type>"; + traverse( toExportList, Elements, toExportItem ) { + testDate := toExportItem.TestDate(); + cellStr := '<cell value="' + ifexpr( testDate = Date::MinDate(), "", convDateToString.Convert( testDate )) + '"/>'; + columnStr := columnStr + cellStr; + } + columnStr := columnStr + "</column>"; + xmlTemplate := xmlTemplate + columnStr; + //--------------------------------------------------------------------------------------------- + columnStr := "<column><name>娴嬭瘯鏃ユ湡鏃堕棿</name><type>String</type>"; + traverse( toExportList, Elements, toExportItem ) { + testDateTime := toExportItem.TestDateTime(); + cellStr := '<cell value="' + ifexpr( testDateTime = DateTime::MinDateTime(), "", convDateTimeToString.Convert( testDateTime )) + '"/>'; + columnStr := columnStr + cellStr; + } + columnStr := columnStr + "</column>"; + xmlTemplate := xmlTemplate + columnStr; + //--------------------------------------------------------------------------------------------- + xmlTemplate := xmlTemplate + "</table>"; + tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTemplate ) ); + XLS::SaveTable( tableHandle, OS::TempPath() + "YuxTest.xlsx" ); + file := OSFile::Construct(); + file.Open( OS::TempPath() + "YuxTest.xlsx", "Read", true ); + data := file.ReadBinary() + info( "export end" ); + return data.AsBase64EncodedString(); + *] +} diff --git "a/_Main/BL/Type_YuxTest/StaticMethod_ExportTest\043887.qbl" "b/_Main/BL/Type_YuxTest/StaticMethod_ExportTest\043887.qbl" new file mode 100644 index 0000000..f77f7ce --- /dev/null +++ "b/_Main/BL/Type_YuxTest/StaticMethod_ExportTest\043887.qbl" @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ExportTest ( + MPSync parent +) as String +{ + TextBody: + [* + // yypsybs Sep-25-2023 (created) + list := selectset( parent, YuxTest, item, true ); + if( list.Size() = 0 ) { + for( i := 0; i < 100; i := i + 1 ) { + parent.YuxTest( relnew, + TestBoolean := ifexpr( Number::Random( 0, 1 ) = 1, true, false ), + TestDate := ifexpr( Number::Random( 0, 1 ) = 1, Date::MinDate(), Date::ActualDate() ), + TestDateTime := ifexpr( Number::Random( 0, 1 ) = 1,DateTime::MinDateTime(), DateTime::ActualTime() ), + TestNumber := Number::Random( 100, 200 ), + TestReal := Real::Random( 10.0, 20.0 ), + TestString := [String]Number::Random( 1000, 2000 ) + ); + } + } + list := selectset( parent, YuxTest, item, true ); + return YuxTest::Export( list ); + *] +} diff --git a/_Main/BL/Type_YuxTest/_ROOT_Type_YuxTest.qbl b/_Main/BL/Type_YuxTest/_ROOT_Type_YuxTest.qbl new file mode 100644 index 0000000..13ff536 --- /dev/null +++ b/_Main/BL/Type_YuxTest/_ROOT_Type_YuxTest.qbl @@ -0,0 +1,9 @@ +Quintiq file version 2.0 +#root +#parent: #DomainModel +Type YuxTest +{ + #keys: '5[414384.0.915854638][414384.0.915854636][0.0.0][414384.0.915854637][414384.0.915854639]' + BaseType: Object + StructuredName: 'YuxTests' +} diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def index 7aa83c9..4ad9e84 100644 --- a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def +++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def @@ -13,6 +13,10 @@ [ Component MenuSpecial #extension { + Children: + [ + Component MenuGlobalOTDTableTest { #keys: '[157968.0.1170224128]' BaseType: 'Menu' Properties: [ Image: 'DUDE2' Text: 'GlobalOTDTable Test' ] } + ] Properties: [ ModeledStringList ChildOrdering @@ -30,6 +34,7 @@ c: MenuTest c: MenuScenarioManagerTest c: MenuMPDomainHandlerTest + c: MenuGlobalOTDTableTest c: MenuRemoveHistory c: Menu46 c: MenuRefresh diff --git a/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_TIANMA_JITUAN_mbMainMenu_MenuGlobalOTDTableTest_OnClick.def b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_TIANMA_JITUAN_mbMainMenu_MenuGlobalOTDTableTest_OnClick.def new file mode 100644 index 0000000..9596987 --- /dev/null +++ b/_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_TIANMA_JITUAN_mbMainMenu_MenuGlobalOTDTableTest_OnClick.def @@ -0,0 +1,12 @@ +Quintiq file version 2.0 +#parent: mbMainMenu/MenuGlobalOTDTableTest +Response OnClick () id:Response_TIANMA_JITUAN_mbMainMenu_MenuGlobalOTDTableTest_OnClick +{ + #keys: '[157968.0.1170224134]' + Body: + [* + // Run GlobalOTDTable test method + GlobalOTDTable.Test(); + *] + DefinitionID: 'Responsedef_Menu_OnClick' +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews\043633.def" "b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews\043633.def" index 82df44f..b9da9db 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews\043633.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews\043633.def" @@ -18,5 +18,16 @@ Taborder: 3 ] } + Component ButtonPriority + { + #keys: '[414382.0.587601840]' + BaseType: 'WebButton' + Properties: + [ + Image: 'QUEUE' + Label: '浼樺厛绾у洜瀛�' + Taborder: 4 + ] + } ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgInterfaceTest.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgInterfaceTest.def new file mode 100644 index 0000000..5941080 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_abgInterfaceTest.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component abgInterfaceTest +{ + #keys: '[414702.0.457001887]' + BaseType: 'WebActionBarGroup' + Children: + [ + Component btnInterfaceTest + { + #keys: '[414702.0.459575623]' + BaseType: 'WebButton' + Properties: + [ + Image: 'BEAR' + Label: '鎺ュ彛娴嬭瘯' + Taborder: 0 + ] + } + ] + Properties: + [ + Taborder: 5 + ] +} diff --git "a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_applicationDevelopmentActionBarPageDef\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_applicationDevelopmentActionBarPageDef\0431.def" index 42787dc..7966b9e 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_applicationDevelopmentActionBarPageDef\0431.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_applicationDevelopmentActionBarPageDef\0431.def" @@ -4,5 +4,6 @@ Children: [ #child: abgTest + #child: abgInterfaceTest ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonPriority_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonPriority_OnClick.def new file mode 100644 index 0000000..feae35c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonPriority_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: ActionBarGroupSalesViews/ButtonPriority +Response OnClick () id:Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonPriority_OnClick +{ + #keys: '[414382.0.587601951]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + ApplicationScope.ViewManager().ResetUserViewById( "PriorityTest",true); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_abgInterfaceTest_btnInterfaceTest_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_abgInterfaceTest_btnInterfaceTest_OnClick.def new file mode 100644 index 0000000..d330b41 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_abgInterfaceTest_btnInterfaceTest_OnClick.def @@ -0,0 +1,16 @@ +Quintiq file version 2.0 +#parent: abgInterfaceTest/btnInterfaceTest +Response OnClick () id:Response_TIANMA_JITUAN_abgInterfaceTest_btnInterfaceTest_OnClick +{ + #keys: '[414702.0.459575742]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + ApplicationScope.ViewManager().ResetUserViewById( "鎺ュ彛娴嬭瘯", true ); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def index 7c1b15d..fbfa4cc 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def @@ -15,7 +15,7 @@ businessType := DataHolderBusinessType.Data().BusinessTypeName(); DataHolderBusinessType.Data().Commit(); - // PriorityFactor + PriorityFactor::InitData( MacroPlan,businessType); this.Close(); diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlActions.def new file mode 100644 index 0000000..d27cc39 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlActions.def @@ -0,0 +1,40 @@ +Quintiq file version 2.0 +Component pnlActions +{ + #keys: '[414382.0.563131222]' + BaseType: 'WebPanel' + Children: + [ + Component btnOk + { + #keys: '[414382.0.563131226]' + BaseType: 'WebButton' + Properties: + [ + Label: 'OK' + Taborder: 0 + ] + } + Component btnCancel + { + #keys: '[414382.0.563131228]' + 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_DialogChoosePriorityPolicy/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlContent.def new file mode 100644 index 0000000..38aee9e --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlContent.def @@ -0,0 +1,33 @@ +Quintiq file version 2.0 +Component pnlContent +{ + #keys: '[414382.0.563131220]' + BaseType: 'WebPanel' + Children: + [ + Component PriorityPolicyStringList + { + #keys: '[414382.0.563131262]' + BaseType: 'WebDropDownStringList' + Properties: + [ + Taborder: 0 + ] + } + Component DataHolderChoosePriorityPolicy + { + #keys: '[414382.0.563131279]' + BaseType: 'WebDataHolder' + Databinding: 'structured[PriorityPolicy]*' + Properties: + [ + Taborder: 1 + ] + } + ] + Properties: + [ + Padding: 'true' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_CalculatePriorityResult.def b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_CalculatePriorityResult.def new file mode 100644 index 0000000..3d2bf8a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_CalculatePriorityResult.def @@ -0,0 +1,13 @@ +Quintiq file version 2.0 +#parent: #root +Method CalculatePriorityResult ( + String name +) id:Method_DialogChoosePriorityPolicy_CalculatePriorityResult +{ + #keys: '[414382.0.577602130]' + Body: + [* + PriorityResult::CalculatePriorityResult(name,MacroPlan,GlobalOTDTable); + this.Close(); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_OpenChoose.def b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_OpenChoose.def new file mode 100644 index 0000000..bae85c8 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_OpenChoose.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +#parent: #root +Method OpenChoose () id:Method_DialogChoosePriorityPolicy_OpenChoose +{ + #keys: '[414382.0.563950563]' + Body: + [* + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnCancel_OnClick.def new file mode 100644 index 0000000..1d6fe8b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/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.563131232]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def new file mode 100644 index 0000000..4b92eb4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: pnlActions/btnOk +Response OnClick () id:Response_pnlActions_btnOk_OnClick +{ + #keys: '[414382.0.563131231]' + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + name := PriorityPolicyStringList.Text(); + dlg := construct( DialogChoosePriorityPolicy ); + dlg.CalculatePriorityResult(name); + dlg.Close(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnCreated.def new file mode 100644 index 0000000..dd31dea --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnCreated.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: pnlContent/DataHolderChoosePriorityPolicy +Response OnCreated () id:Response_pnlContent_DataHolderChoosePriorityPolicy_OnCreated +{ + #keys: '[414382.0.563131469]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + dataList := selectuniquevalues( MacroPlan,PriorityPolicy,p,p.Name()); + strings := dataList.Concatenate( ";"); + PriorityPolicyStringList.Strings(strings); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnDataChanged.def new file mode 100644 index 0000000..956d116 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnDataChanged.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: pnlContent/DataHolderChoosePriorityPolicy +Response OnDataChanged () id:Response_pnlContent_DataHolderChoosePriorityPolicy_OnDataChanged +{ + #keys: '[414382.0.563131545]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnDataChanged' + QuillAction + { + Body: + [* + dataList := selectuniquevalues( MacroPlan,PriorityPolicy,p,p.Name()); + strings := dataList.Concatenate( ";"); + PriorityPolicyStringList.Strings(strings); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/_ROOT_Component_DialogChoosePriorityPolicy.def b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/_ROOT_Component_DialogChoosePriorityPolicy.def new file mode 100644 index 0000000..11665d9 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/_ROOT_Component_DialogChoosePriorityPolicy.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent DialogChoosePriorityPolicy +{ + #keys: '[414382.0.563131218]' + BaseType: 'WebForm' + Children: + [ + #child: pnlContent + #child: pnlActions + ] + Properties: + [ + Alignment: 'trailing' + EnterButton: 'btnOk' + EscapeButton: 'btnCancel' + ExcludeFromActiveComponent: true + Padding: 'false' + Title: '閫夋嫨浼樺厛绾х瓥鐣�' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Component_pnlActions.def new file mode 100644 index 0000000..f5b2f80 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Component_pnlActions.def @@ -0,0 +1,50 @@ +Quintiq file version 2.0 +Component pnlActions +{ + #keys: '[414382.0.579140304]' + BaseType: 'WebPanel' + Children: + [ + Component btnApply + { + #keys: '[414382.0.579140306]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Apply' + Taborder: 0 + ] + } + Component btnOk + { + #keys: '[414382.0.579140308]' + BaseType: 'WebButton' + Properties: + [ + Label: 'OK' + Taborder: 1 + ] + } + Component btnCancel + { + #keys: '[414382.0.579140310]' + BaseType: 'WebButton' + Properties: + [ + Label: 'Cancel' + Taborder: 2 + ] + } + ] + Properties: + [ + Alignment: 'trailing' + Border: true + ExcludeFromActiveComponent: true + FixedSize: true + Orientation: 'horizontal' + Padding: 'true' + Style: 'footer' + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Component_pnlContent.def new file mode 100644 index 0000000..410a038 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Component_pnlContent.def @@ -0,0 +1,91 @@ +Quintiq file version 2.0 +Component pnlContent +{ + #keys: '[414382.0.579140302]' + BaseType: 'WebPanel' + Children: + [ + Component EditBusinessType + { + #keys: '[414382.0.581576821]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderSelectCustomerOrder.Data.BusinessType' + Label: '浜嬩笟閮�' + Taborder: 0 + ] + } + Component EditCustomerPolicy + { + #keys: '[414382.0.581576840]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderSelectCustomerOrder.Data.CustomerPolicy' + Label: '瀹㈡埛绛栫暐' + Taborder: 1 + ] + } + Component EditOrderType + { + #keys: '[414382.0.581576842]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderSelectCustomerOrder.Data.OrderType' + Label: '璁㈠崟绫诲瀷' + Taborder: 2 + ] + } + Component EditProductGrade + { + #keys: '[414382.0.581576844]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderSelectCustomerOrder.Data.ProductGrade' + Label: '浜у搧绛夌骇' + Taborder: 4 + ] + } + Component EditSegmentPriority + { + #keys: '[414382.0.581576846]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderSelectCustomerOrder.Data.SegmentPriority' + Label: '缁嗗垎甯傚満浼樺厛绾�' + Taborder: 5 + ] + } + Component EditOrderTime + { + #keys: '[414382.0.581576988]' + BaseType: 'WebDateSelector' + Properties: + [ + DataBinding: 'DataHolderSelectCustomerOrder.Data.OrderTime' + Label: '璁㈠崟涓嬪崟鏃堕棿' + Taborder: 3 + ] + } + Component EditSheetProfitability + { + #keys: '[414382.0.581577181]' + BaseType: 'WebEditField' + Properties: + [ + DataBinding: 'DataHolderSelectCustomerOrder.Data.SheetProfitability' + Label: '澶у紶鐩堝埄姘村钩' + Taborder: 6 + ] + } + ] + Properties: + [ + Padding: 'true' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Method_ClickBynOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Method_ClickBynOk.def new file mode 100644 index 0000000..e782835 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Method_ClickBynOk.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Method ClickBynOk () id:Method_DialogEditCustomerOrderPriority_ClickBynOk +{ + #keys: '[414382.0.581577357]' + Body: + [* + // Disabled button to prevent the possibility of multiple firing + + btnOk.Enabled(false,''); + + // OnOk + this.ApplyChanges(); + DataHolderSelectCustomerOrder.Data().Commit(); + this.Close(); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Method_EditCustomerOrderPriority.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Method_EditCustomerOrderPriority.def new file mode 100644 index 0000000..343d6f0 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Method_EditCustomerOrderPriority.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Method EditCustomerOrderPriority ( + CustomerOrder selection +) id:Method_DialogEditCustomerOrderPriority_EditCustomerOrderPriority +{ + #keys: '[414382.0.581575991]' + Body: + [* + // Edits assumption + data := shadow( selection ); + + DataHolderSelectCustomerOrder.Data( &data ); + + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlActions_btnApply_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlActions_btnApply_OnClick.def new file mode 100644 index 0000000..5935b2f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/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: '[414382.0.579140312]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + Precondition: + [* + return Form.HasChanges(); + *] + QuillAction + { + Body: + [* + Form.ApplyChanges(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlActions_btnCancel_OnClick.def new file mode 100644 index 0000000..0b78789 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/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.579140314]' + DefinitionID: 'Responsedef_WebButton_OnClick' + GroupServerCalls: true + QuillAction + { + Body: + [* + Form.Close(); + *] + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlActions_btnOk_OnClick.def new file mode 100644 index 0000000..a1d53c6 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/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.579140313]' + DefinitionID: 'Responsedef_WebButton_OnClick' + QuillAction + { + Body: + [* + Form.ClickBynOk(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/_ROOT_Component_DialogEditCustomerOrderPriority.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/_ROOT_Component_DialogEditCustomerOrderPriority.def new file mode 100644 index 0000000..ddfdb14 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/_ROOT_Component_DialogEditCustomerOrderPriority.def @@ -0,0 +1,32 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent DialogEditCustomerOrderPriority +{ + #keys: '[414382.0.579140300]' + BaseType: 'WebForm' + Children: + [ + #child: pnlContent + #child: pnlActions + Component DataHolderSelectCustomerOrder + { + #keys: '[414382.0.581575244]' + BaseType: 'WebDataHolder' + Databinding: 'shadow[CustomerOrder]*' + Properties: + [ + Taborder: 2 + ] + } + ] + Properties: + [ + Alignment: 'trailing' + EnterButton: 'btnOk' + EscapeButton: 'btnCancel' + ExcludeFromActiveComponent: true + Padding: 'false' + Title: '淇敼璁㈠崟浼樺厛绾у洜瀛愪俊鎭�' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def index 984c1f6..452f77b 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Component_ListCapacityAndSaleBudge.def @@ -38,6 +38,6 @@ ] Properties: [ - Taborder: 1 + Taborder: 2 ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportTest_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportTest_OnClick.def new file mode 100644 index 0000000..990eb11 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_ButtonExportTest_OnClick.def @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: ButtonExportTest +Response OnClick () id:Response_FormCapacityAndSaleBudge_ButtonExportTest_OnClick +{ + #keys: '[414384.0.914711825]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MPSync ); + *] + QuillAction + { + Body: + [* + base64 := YuxTest::ExportTest( MPSync ); + Application.Download( "result.xlsx", base64 ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def index d4df714..9458d5d 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/Response_OnCreated.def @@ -12,7 +12,7 @@ [* MPSync::TestData( MPSync, MacroPlan ); GlobalOTDTable.InitTestData(); - MPSync.RefreshCapacityAndSaleBudgeFilter(); + MPSync.RefreshCapacityAndSaleBudgeFilter( GlobalOTDTable ); *] } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def index 8758502..c2687d8 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudge/_ROOT_Component_FormCapacityAndSaleBudge.def @@ -19,6 +19,18 @@ Taborder: 0 ] } + Component ButtonExportTest + { + #keys: '[414384.0.914711826]' + BaseType: 'WebButton' + Properties: + [ + Image: 'EXPORT1' + Label: '瀵煎嚭娴嬭瘯' + Taborder: 1 + Visible: false + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def index d6e755a..71754e3 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Component_ChartCapacityAndSaleBudgeChart.def @@ -17,8 +17,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'ScenarioManager' - Source: 'ScenarioManager' + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' Taborder: 0 Transformation: 'CapacityAndSaleBudgeChartElement' ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def index 53e33ba..c481c62 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeChart/Response_ButtonCapacityAndSaleBudgeChartTest_OnClick.def @@ -10,19 +10,19 @@ { Body: [* - CapacityAndSaleBudgeChartElement::TestData( ScenarioManager ); + CapacityAndSaleBudgeChartElement::TestData( GlobalOTDTable ); - ScenarioManager.CapacityAndSaleBudgeChart( DataHolderMacroPlansForScenarioComparison.Data(), - DropDownSaleOrCapacity.Text(), - DropDownTimeGroup.Text(), - DropDownByBusinessTypeOrByOrgCode.Text(), - DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), - DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), - DataHolderCapacityAndSaleBudgeFilterYear.Data(), - DataHolderCapacityAndSaleBudgeFilterMonth.Data(), - MPSync, - GlobalOTDTable, - MacroPlan ); + GlobalOTDTable.CapacityAndSaleBudgeChart( DataHolderMacroPlansForScenarioComparison.Data(), + DropDownSaleOrCapacity.Text(), + DropDownTimeGroup.Text(), + DropDownByBusinessTypeOrByOrgCode.Text(), + DataHolderCapacityAndSaleBudgeFilterBusinessType.Data(), + DataHolderCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.Data(), + DataHolderCapacityAndSaleBudgeFilterYear.Data(), + DataHolderCapacityAndSaleBudgeFilterMonth.Data(), + MPSync, + GlobalOTDTable, + MacroPlan ); *] } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_MatrixEditorCapacityAndSaleBudgeCompare.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_MatrixEditorCapacityAndSaleBudgeCompare.def index cbfdc2b..5dd68bd 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_MatrixEditorCapacityAndSaleBudgeCompare.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Component_MatrixEditorCapacityAndSaleBudgeCompare.def @@ -17,8 +17,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'ScenarioManager' - Source: 'ScenarioManager' + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' Taborder: 0 Transformation: 'CapacityAndSaleBudgeCompareItemColumn.CapacityAndSaleBudgeCompareItemCell' ] @@ -44,8 +44,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'ScenarioManager' - Source: 'ScenarioManager' + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' Taborder: 0 Transformation: 'CapacityAndSaleBudgeCompareItemRow' ] @@ -70,8 +70,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'ScenarioManager' - Source: 'ScenarioManager' + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' Taborder: 0 Transformation: 'CapacityAndSaleBudgeCompareItemColumn' ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonCapacityAndSaleBudgeCompare_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonCapacityAndSaleBudgeCompare_OnClick.def index 50ded64..6d37df2 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonCapacityAndSaleBudgeCompare_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonCapacityAndSaleBudgeCompare_OnClick.def @@ -14,13 +14,13 @@ info( DataHolderCapacityAndSaleBudgeFilterItem.Data().Size() ); info( DataHolderCapacityAndSaleBudgeFilterYear.Data().Size() ); info( DataHolderCapacityAndSaleBudgeFilterMonth.Data().Size() ); - ScenarioManager.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(), - DataHolderCapacityAndSaleBudgeFilterItem.Data(), - DataHolderCapacityAndSaleBudgeFilterYear.Data(), - DataHolderCapacityAndSaleBudgeFilterMonth.Data(), - MPSync, - GlobalOTDTable, - MacroPlan ); + GlobalOTDTable.CapacityAndSaleBudgeCompare( DataHolderMacroPlansForScenarioComparison.Data(), + DataHolderCapacityAndSaleBudgeFilterItem.Data(), + DataHolderCapacityAndSaleBudgeFilterYear.Data(), + DataHolderCapacityAndSaleBudgeFilterMonth.Data(), + MPSync, + GlobalOTDTable, + MacroPlan ); *] } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonExportCompare_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonExportCompare_OnClick.def index 97cea9d..a01173d 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonExportCompare_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeCompare/Response_ButtonExportCompare_OnClick.def @@ -13,7 +13,7 @@ { Body: [* - tableBinaryData := ScenarioManager.CapacityAndSaleBudgeCompareExport().AsBinaryData(); + tableBinaryData := GlobalOTDTable.CapacityAndSaleBudgeCompareExport().AsBinaryData(); Application.Download( "骞村害浜ч攢棰勭畻瀵规瘮.xlsx", tableBinaryData ); *] GroupServerCalls: false diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def index 712bf75..cbe6b9e 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Component_ListCapacityAndSaleBudgeFilterBusinessType.def @@ -11,8 +11,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'MPSync' - Source: 'MPSync' + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' Taborder: 0 Transformation: 'CapacityAndSaleBudgeFilterBusinessType' ] 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 index 682a492..0437f14 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterBusinessType/Response_listContextMenuCapacityAndSaleBudgeFilterYear_1_MenuRefresh_OnClick.def @@ -10,7 +10,7 @@ { Body: [* - MPSync.RefreshCapacityAndSaleBudgeFilter(); + MPSync.RefreshCapacityAndSaleBudgeFilter( GlobalOTDTable ); *] } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Component_ListCapacityAndSaleBudgeFilterItem.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Component_ListCapacityAndSaleBudgeFilterItem.def index 84bcffe..ea63655 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Component_ListCapacityAndSaleBudgeFilterItem.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Component_ListCapacityAndSaleBudgeFilterItem.def @@ -11,8 +11,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'ScenarioManager' - Source: 'ScenarioManager' + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' Taborder: 0 Transformation: 'CapacityAndSaleBudgeFilterItem' ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Response_OnCreated.def index c5f4133..a9ccb24 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Response_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterItem/Response_OnCreated.def @@ -10,7 +10,7 @@ { Body: [* - CapacityAndSaleBudgeFilterItem::Initial( ScenarioManager ); + CapacityAndSaleBudgeFilterItem::Initial( GlobalOTDTable ); *] } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Component_ListCapacityAndSaleBudgeFilterMonth.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Component_ListCapacityAndSaleBudgeFilterMonth.def index 13a9e02..577ebb4 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Component_ListCapacityAndSaleBudgeFilterMonth.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Component_ListCapacityAndSaleBudgeFilterMonth.def @@ -11,8 +11,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'ScenarioManager' - Source: 'ScenarioManager' + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' Taborder: 0 Transformation: 'CapacityAndSaleBudgeFilterMonth' ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Response_OnCreated.def index 46cc025..d922a4a 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Response_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterMonth/Response_OnCreated.def @@ -10,7 +10,7 @@ { Body: [* - CapacityAndSaleBudgeFilterMonth::Initial( ScenarioManager ); + CapacityAndSaleBudgeFilterMonth::Initial( GlobalOTDTable ); *] } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def index 0d881d5..ae0a48a 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterPlaceOfProductionOfArray/Component_ListCapacityAndSaleBudgeFilterPlaceOfProductionOfArray.def @@ -11,8 +11,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'MPSync' - Source: 'MPSync' + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' Taborder: 0 Transformation: 'CapacityAndSaleBudgeFilterPlaceOfProductionOfArray' ] 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" index bda9b55..8b48eac 100644 --- "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" @@ -10,7 +10,7 @@ { Body: [* - MPSync.RefreshCapacityAndSaleBudgeFilter(); + MPSync.RefreshCapacityAndSaleBudgeFilter( GlobalOTDTable ); *] } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Component_ListCapacityAndSaleBudgeFilterYear.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Component_ListCapacityAndSaleBudgeFilterYear.def index f51357d..c89499c 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Component_ListCapacityAndSaleBudgeFilterYear.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Component_ListCapacityAndSaleBudgeFilterYear.def @@ -11,8 +11,8 @@ BaseType: 'WebDataExtractor' Properties: [ - DataType: 'ScenarioManager' - Source: 'ScenarioManager' + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' Taborder: 0 Transformation: 'CapacityAndSaleBudgeFilterYear' ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Response_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Response_OnCreated.def index 6c61e95..19ea091 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Response_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCapacityAndSaleBudgeFilterYear/Response_OnCreated.def @@ -10,7 +10,7 @@ { Body: [* - CapacityAndSaleBudgeFilterYear::Initial( ScenarioManager ); + CapacityAndSaleBudgeFilterYear::Initial( GlobalOTDTable ); *] } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSalesDemands.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSalesDemands.def index 352a599..54be6e2 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSalesDemands.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSalesDemands.def @@ -5,6 +5,10 @@ [ Component DataSetLevelSalesDemands #extension { + Children: + [ + #child: listContextMenuSD + ] Properties: [ Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPoint_MP.ID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPoint_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegment_MP.Name","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegment_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerName","title":"Customer name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerID","title":"Customer ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"Order ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderLineID","title":"Order line ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderLineID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Order date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product_MP.ID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Product_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure_MP.Name","title":"UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"UnitOfMeasure_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantity","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue( object.Quantity() - object.FulfilledQuantity(), 0.0).Round( 2)"}},{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfilled demand","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round( 2)"}}]}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsFirmed","title":"Is firmed","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsFirmed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsEligibleForNetting","title":"Is eligible for netting","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsEligibleForNetting"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriceUoM","title":"PriceUoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PriceUoM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderTag","title":"璁㈠崟鏍囩","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderTag"}}]' diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def new file mode 100644 index 0000000..4d52db8 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def @@ -0,0 +1,27 @@ +Quintiq file version 2.0 +Component listContextMenuSD #extension +{ + Children: + [ + Component MenuPriorityResult + { + #keys: '[414382.0.562012014]' + BaseType: 'WebMenu' + Properties: + [ + Taborder: 10 + Title: '浜嬩笟閮ㄤ紭鍏堢骇璁$畻' + ] + } + Component MenuEditCustomerOrderPriority + { + #keys: '[414382.0.581575364]' + BaseType: 'WebMenu' + Properties: + [ + Taborder: 11 + Title: '淇敼瀹㈡埛璁㈠崟浼樺厛绾у洜瀛愪俊鎭�' + ] + } + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuEditCustomerOrderPriority_OnClic.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuEditCustomerOrderPriority_OnClic.def new file mode 100644 index 0000000..db0367b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuEditCustomerOrderPriority_OnClic.def @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: ListSalesDemands +Response OnClick ( + SalesDemandBase selection +) id:Response_ListSalesDemands_MenuEditCustomerOrderPriority_OnClick +{ + #keys: '[414382.0.581575400]' + CanBindMultiple: false + DefinitionID => //FormSalesDemands/ListSalesDemands/Responsedef_ListSalesDemands_WebMenu_OnClick + Initiator: 'MenuEditCustomerOrderPriority' + QuillAction + { + Body: + [* + dlg := construct( DialogEditCustomerOrderPriority ); + data := selection.astype( CustomerOrder ); + dlg.EditCustomerOrderPriority( data); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuPriorityResult_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuPriorityResult_OnClick.def new file mode 100644 index 0000000..c4f3379 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuPriorityResult_OnClick.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: ListSalesDemands +Response OnClick () id:Response_ListSalesDemands_MenuPriorityResult_OnClick +{ + #keys: '[414382.0.563130924]' + CanBindMultiple: false + DefinitionID => //FormSalesDemands/ListSalesDemands/Responsedef_ListSalesDemands_WebMenu_OnClick + Initiator: 'MenuPriorityResult' + QuillAction + { + Body: + [* + + dlg := construct( DialogChoosePriorityPolicy ); + dlg.OpenChoose(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_ListCustomerAndFillingCapacityOrder.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_ListCustomerAndFillingCapacityOrder.def index 5ea0d0a..8f81976 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_ListCustomerAndFillingCapacityOrder.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_ListCustomerAndFillingCapacityOrder.def @@ -36,7 +36,7 @@ ] Properties: [ - Taborder: 0 + Taborder: 1 ] ResponseDefinitions: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_PanelButton.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_PanelButton.def new file mode 100644 index 0000000..912c452 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_PanelButton.def @@ -0,0 +1,26 @@ +Quintiq file version 2.0 +Component PanelButton +{ + #keys: '[414702.0.454190771]' + BaseType: 'WebPanel' + Children: + [ + Component ButtonTransform + { + #keys: '[414702.0.454190800]' + BaseType: 'WebButton' + Properties: + [ + Image: 'BARRIER_CLOSED' + Label: '杞崲' + Taborder: 0 + ] + } + ] + Properties: + [ + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_listContextMenuCustomerAndFillingCapacityOrder.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_listContextMenuCustomerAndFillingCapacityOrder.def index 01848c5..cdcd03d 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_listContextMenuCustomerAndFillingCapacityOrder.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Component_listContextMenuCustomerAndFillingCapacityOrder.def @@ -11,20 +11,43 @@ BaseType: 'WebMenu' Properties: [ - Image: 'ADD2' + Image: 'JERRYCAN' Taborder: 3 - Title: 'Filling' + Title: '濉骇' ] } - Component MenuTest + Component MenuRefresh { #keys: '[414382.0.415603149]' BaseType: 'WebMenu' Properties: [ - Image: 'ADD2' + Image: 'EDITOR_HAS_DECLARATIVE_DEFINITION' Taborder: 4 - Title: 'Test' + Title: '鍒涘缓娴嬭瘯鏁版嵁' + ] + } + Component MenuDelete + { + #keys: '[414702.0.472081906]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'DELETE' + Taborder: 5 + Title: '鍒犻櫎' + ] + } + Component MenuSelectAll + { + #keys: '[414702.0.472012591]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'DOCUMENT_SELECTION' + Shortcut: 'Ctrl+A' + Taborder: 6 + Title: '鍏ㄩ��' ] } ] diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuDelete_OnClick.def new file mode 100644 index 0000000..8bd8ba9 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuDelete_OnClick.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: ListCustomerAndFillingCapacityOrder +Response OnClick ( + CustomerAndForecastOrder selection +) id:Response_ListCustomerAndFillingCapacityOrder_MenuDelete_OnClick +{ + #keys: '[414702.0.472032713]' + DefinitionID => /ListCustomerAndFillingCapacityOrder/Responsedef_ListCustomerAndFillingCapacityOrder_WebMenu_OnClick + Initiator: 'MenuDelete' + QuillAction + { + Body: + [* + selection.Delete(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuTest_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick.def similarity index 70% rename from _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuTest_OnClick.def rename to _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick.def index f292299..aba413a 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuTest_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick.def @@ -1,17 +1,17 @@ Quintiq file version 2.0 #parent: ListCustomerAndFillingCapacityOrder -Response OnClick () id:Response_ListCustomerAndFillingCapacityOrder_MenuTest_OnClick +Response OnClick () id:Response_ListCustomerAndFillingCapacityOrder_MenuRefresh_OnClick { #keys: '[414382.0.415724061]' CanBindMultiple: false DefinitionID => /ListCustomerAndFillingCapacityOrder/Responsedef_ListCustomerAndFillingCapacityOrder_WebMenu_OnClick - GroupServerCalls: true - Initiator: 'MenuTest' + Initiator: 'MenuRefresh' QuillAction { Body: [* - CustomerAndForecastOrder::CreateTestData( MacroPlan); + CustomerAndForecastOrder::RefreshData( MacroPlan,GlobalOTDTable); *] + GroupServerCalls: false } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuTest_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuSelectAll_OnClick.def similarity index 66% copy from _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuTest_OnClick.def copy to _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuSelectAll_OnClick.def index f292299..95443c6 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuTest_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_ListCustomerAndFillingCapacityOrder_MenuSelectAll_OnClick.def @@ -1,17 +1,17 @@ Quintiq file version 2.0 #parent: ListCustomerAndFillingCapacityOrder -Response OnClick () id:Response_ListCustomerAndFillingCapacityOrder_MenuTest_OnClick +Response OnClick () id:Response_ListCustomerAndFillingCapacityOrder_MenuSelectAll_OnClick { - #keys: '[414382.0.415724061]' + #keys: '[414702.0.474548365]' CanBindMultiple: false DefinitionID => /ListCustomerAndFillingCapacityOrder/Responsedef_ListCustomerAndFillingCapacityOrder_WebMenu_OnClick - GroupServerCalls: true - Initiator: 'MenuTest' + Initiator: 'MenuSelectAll' QuillAction { Body: [* - CustomerAndForecastOrder::CreateTestData( MacroPlan); + this.SelectAll(); *] + GroupServerCalls: false } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def new file mode 100644 index 0000000..30c3208 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: PanelButton/ButtonTransform +Response OnClick () id:Response_PanelButton_ButtonTransform_OnClick +{ + #keys: '[414702.0.454181189]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + CustomerAndForecastOrder::CreateData( MacroPlan ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/_ROOT_Component_FormCustomerAndForecastOrder.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/_ROOT_Component_FormCustomerAndForecastOrder.def index a456ad1..6c6d614 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/_ROOT_Component_FormCustomerAndForecastOrder.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/_ROOT_Component_FormCustomerAndForecastOrder.def @@ -8,6 +8,7 @@ Children: [ #child: ListCustomerAndFillingCapacityOrder + #child: PanelButton ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_ListInterfaceTest.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_ListInterfaceTest.def new file mode 100644 index 0000000..882b6d4 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_ListInterfaceTest.def @@ -0,0 +1,59 @@ +Quintiq file version 2.0 +Component ListInterfaceTest +{ + #keys: '[414702.0.459846558]' + BaseType: 'WebList' + Children: + [ + Component DataExtractorInterfaceTest + { + #keys: '[414702.0.459846559]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' + Taborder: 0 + Transformation: 'Global_BrokerExecuteLog' + ] + } + #child: listActionBarPageInterfaceTest + Component DataSetLevelInterfaceTest + { + #keys: '[414702.0.459846564]' + BaseType: 'WebDataSetLevel' + Children: + [ + #child: listContextMenuInterfaceTest + ] + Properties: + [ + Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BrokerName","title":"BrokerName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BrokerName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ElementTotal","title":"ElementTotal","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ElementTotal"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ErrorDateTime","title":"ErrorDateTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ErrorDateTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ErrorMessage","title":"ErrorMessage","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ErrorMessage"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ErrorNo","title":"ErrorNo","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ErrorNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsSuccess","title":"IsSuccess","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsSuccess"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SuccessDateTime","title":"SuccessDateTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SuccessDateTime"}}]' + ContextMenu: 'listContextMenuInterfaceTest' + Taborder: 2 + ] + } + ] + Properties: + [ + Taborder: 0 + ] + ResponseDefinitions: + [ + DelegatedResponseDefinition OnClick id:Responsedef_ListInterfaceTest_WebMenu_OnClick + { + #keys: '[414702.0.488307130]' + Initiator: 'WebMenu' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selection + { + #keys: '[1041.0.20211517]' + Binding: 'this.Selection()' + } + ] + } + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOptions.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOptions.def new file mode 100644 index 0000000..4fe176c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceOptions.def @@ -0,0 +1,62 @@ +Quintiq file version 2.0 +Component PanelInterfaceOptions +{ + #keys: '[414702.0.459752107]' + BaseType: 'WebPanel' + Children: + [ + Component CheckboxCustomOrder + { + #keys: '[414702.0.459786494]' + BaseType: 'WebCheckbox' + Properties: + [ + Label: 'CustomOrder' + Taborder: 0 + ] + } + Component CheckboxForecast + { + #keys: '[414702.0.459501981]' + BaseType: 'WebCheckbox' + Properties: + [ + Label: 'Forecast' + Taborder: 1 + ] + } + Component DropDownListBusinessType + { + #keys: '[414702.0.465923773]' + BaseType: 'WebDropDownList' + Databinding: 'BusinessType' + Children: + [ + Component DataExtractorInterfaceOptions + { + #keys: '[414702.0.465923775]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' + Taborder: 0 + Transformation: 'BusinessType' + ] + } + ] + Properties: + [ + DisplayField: 'BusinessTypeName' + Label: '浜嬩笟閮�' + Taborder: 2 + ] + } + ] + Properties: + [ + FixedSize: true + Orientation: 'horizontal' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest.def new file mode 100644 index 0000000..90f59dd --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest.def @@ -0,0 +1,37 @@ +Quintiq file version 2.0 +Component PanelInterfaceTest +{ + #keys: '[414702.0.459815967]' + BaseType: 'WebPanel' + Children: + [ + Component ButtonPullInterfaceDataToIntermediateTable + { + #keys: '[414702.0.457042579]' + BaseType: 'WebButton' + Properties: + [ + Image: 'WINE' + Label: '鎷夊彇鎺ュ彛鏁版嵁鍒颁腑闂磋〃' + Taborder: 0 + ] + } + Component ButtonSynchronizeDataToMacroPlan + { + #keys: '[414702.0.461471389]' + BaseType: 'WebButton' + Properties: + [ + Image: 'COFFEE_MACHINE' + Label: '鍚屾鏁版嵁鍒癕acroPlan' + Taborder: 1 + ] + } + ] + Properties: + [ + FixedSize: true + Orientation: 'horizontal' + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest981.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest981.def new file mode 100644 index 0000000..b8b4a3f --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_PanelInterfaceTest981.def @@ -0,0 +1,14 @@ +Quintiq file version 2.0 +Component PanelInterfaceTest981 +{ + #keys: '[414702.0.459917264]' + BaseType: 'WebPanel' + Children: + [ + #child: ListInterfaceTest + ] + Properties: + [ + Taborder: 2 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listActionBarPageInterfaceTest.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listActionBarPageInterfaceTest.def new file mode 100644 index 0000000..fc5877b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listActionBarPageInterfaceTest.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component listActionBarPageInterfaceTest +{ + #keys: '[414702.0.459846561]' + BaseType: 'listActionBarPage' + Properties: + [ + Taborder: 1 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listContextMenuInterfaceTest.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listContextMenuInterfaceTest.def new file mode 100644 index 0000000..8cbab4b --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listContextMenuInterfaceTest.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +Component listContextMenuInterfaceTest +{ + #keys: '[414702.0.459846566]' + BaseType: 'listContextMenu' + Children: + [ + Component MenuCreateShowData + { + #keys: '[414702.0.488246034]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'VIEW' + Taborder: 3 + Title: '鏄剧ず鏁版嵁' + ] + } + ] + Properties: + [ + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def new file mode 100644 index 0000000..052d40d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: ListInterfaceTest +Response OnClick ( + Global_BrokerExecuteLog selection +) id:Response_ListInterfaceTest_MenuCreateShowData_OnClick +{ + #keys: '[414702.0.488307153]' + CanBindMultiple: false + DefinitionID => /ListInterfaceTest/Responsedef_ListInterfaceTest_WebMenu_OnClick + Initiator: 'MenuCreateShowData' + QuillAction + { + Body: + [* + GlobalOTDTable.Global_ShowRow( relflush ); + GlobalOTDTable.Global_ShowColumn( relflush ); + GlobalOTDTable.Global_ShowCell( relflush ); + + Global_ShowCell::ShowData( GlobalOTDTable, selection ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnCli.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnCli.def new file mode 100644 index 0000000..7ec600a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnCli.def @@ -0,0 +1,23 @@ +Quintiq file version 2.0 +#parent: PanelInterfaceTest/ButtonPullInterfaceDataToIntermediateTable +Response OnClick () id:Response_PanelInterfaceTest_ButtonPullInterfaceDataToIntermediateTable_OnClick +{ + #keys: '[414702.0.459947783]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( GlobalOTDTable ); + *] + QuillAction + { + Body: + [* + GlobalOTDTable.SynchronizationAllMappingBrokerAndAPIByOption( CheckboxCustomOrder.Checked(), + CheckboxForecast.Checked() ); + + WebMessageBox::Success( "鎷夊彇鎴愬姛锛�", true ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonSynchronizeDataToMacroPlan_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonSynchronizeDataToMacroPlan_OnClick.def new file mode 100644 index 0000000..c2eb216 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_PanelInterfaceTest_ButtonSynchronizeDataToMacroPlan_OnClick.def @@ -0,0 +1,28 @@ +Quintiq file version 2.0 +#parent: PanelInterfaceTest/ButtonSynchronizeDataToMacroPlan +Response OnClick () id:Response_PanelInterfaceTest_ButtonSynchronizeDataToMacroPlan_OnClick +{ + #keys: '[414702.0.465857875]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebButton_OnClick' + Precondition: + [* + return not isnull( GlobalOTDTable ) and not isnull( MacroPlan ); + *] + QuillAction + { + Body: + [* + businessTypes := construct( Strings ); + businessTypes.Add( DropDownListBusinessType.Data().BusinessTypeName() ); + GlobalOTDTable.SynchronizeDataToMacroPlan( MacroPlan, + businessTypes, + CheckboxCustomOrder.Checked(), + CheckboxForecast.Checked() + ); + + WebMessageBox::Success( "鍚屾鎴愬姛锛�", true ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def new file mode 100644 index 0000000..05dd2d6 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/_ROOT_Component_FormInterfaceTest.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormInterfaceTest +{ + #keys: '[414702.0.459670964]' + BaseType: 'WebForm' + Children: + [ + #child: PanelInterfaceOptions + #child: PanelInterfaceTest + #child: PanelInterfaceTest981 + ] + Properties: + [ + Image: 'BACON' + Title: '鎺ュ彛娴嬭瘯' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormKpiMatrix/Component_PanelKpiMatrixButton.def b/_Main/UI/MacroPlannerWebApp/Component_FormKpiMatrix/Component_PanelKpiMatrixButton.def deleted file mode 100644 index 54d1eea..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FormKpiMatrix/Component_PanelKpiMatrixButton.def +++ /dev/null @@ -1,10 +0,0 @@ -Quintiq file version 2.0 -Component PanelKpiMatrixButton #extension -{ - Children: - [ - Component ButtonKpiMatrixRefresh #extension - { - } - ] -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormKpiMatrix/_ROOT_Component_FormKpiMatrix.def b/_Main/UI/MacroPlannerWebApp/Component_FormKpiMatrix/_ROOT_Component_FormKpiMatrix.def deleted file mode 100644 index fe53993..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_FormKpiMatrix/_ROOT_Component_FormKpiMatrix.def +++ /dev/null @@ -1,10 +0,0 @@ -Quintiq file version 2.0 -#root -#parent: KpiTrackerWeb -OrphanComponent FormKpiMatrix #extension -{ - Children: - [ - #child: PanelKpiMatrixButton - ] -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnCreated.def index 97bd89b..0ba2149 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnCreated.def @@ -9,8 +9,12 @@ { Body: [* - businessTypeList := selectset( GlobalOTDTable,BusinessType,b,true); - this.Data(&businessTypeList); + //businessTypeList := selectset( GlobalOTDTable,BusinessType,b,true); + //this.Data(&businessTypeList); + + list := this.Data(); + strings := selectuniquevalues( list,Elements,e,e.BusinessTypeName()).Concatenate( ";" ); + DropDownStringListBusinessType.Strings(strings); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def index f02625b..c492ed8 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def @@ -9,9 +9,12 @@ { Body: [* - businessTypeList := selectset( GlobalOTDTable,BusinessType,b,true); - this.Data(&businessTypeList); - strings := BusinessType::GetBusinessNameStr( GlobalOTDTable ); + //businessTypeList := selectset( GlobalOTDTable,BusinessType,b,true); + //this.Data(&businessTypeList); + //strings := BusinessType::GetBusinessNameStr( GlobalOTDTable ); + //DropDownStringListBusinessType.Strings(strings); + list := this.Data(); + strings := selectuniquevalues( list,Elements,e,e.BusinessTypeName()).Concatenate( ";" ); DropDownStringListBusinessType.Strings(strings); *] GroupServerCalls: false diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def index 639dcea..70938b2 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def @@ -9,8 +9,8 @@ { Body: [* - strings := BusinessType::GetBusinessNameStr( GlobalOTDTable ); - this.Strings(strings); + //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 fa7ba3e..b3df733 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def @@ -43,6 +43,21 @@ #keys: '[414382.0.539205233]' BaseType: 'WebDataHolder' Databinding: 'structured[BusinessType]*' + Children: + [ + Component DataExtractorPriorityFactorBusinessType + { + #keys: '[414382.0.584060499]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' + Taborder: 0 + Transformation: 'BusinessType' + ] + } + ] Properties: [ Taborder: 4 diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton\043713.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton\043713.def" index 014ed5d..571a83c 100644 --- "a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton\043713.def" +++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton\043713.def" @@ -31,7 +31,7 @@ BaseType: 'WebButton' Properties: [ - Label: '*' + Label: '-' Taborder: 3 ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyBusinessType_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyBusinessType_OnCreated.def new file mode 100644 index 0000000..09cb86c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyBusinessType_OnCreated.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: DataHolderPriorityPolicyBusinessType +Response OnCreated () id:Response_FormPriorityPolicy_DataHolderPriorityPolicyBusinessType_OnCreated +{ + #keys: '[414382.0.585796031]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + list := this.Data(); + strings := selectuniquevalues( list,Elements,e,e.BusinessTypeName()).Concatenate( ";" ); + PriorityPolicyBusinessType.Strings(strings); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyBusinessType_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyBusinessType_OnDataChanged.def new file mode 100644 index 0000000..3aa1c62 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyBusinessType_OnDataChanged.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: DataHolderPriorityPolicyBusinessType +Response OnDataChanged () id:Response_FormPriorityPolicy_DataHolderPriorityPolicyBusinessType_OnDataChanged +{ + #keys: '[414382.0.585796110]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnDataChanged' + QuillAction + { + Body: + [* + list := this.Data(); + strings := selectuniquevalues( list,Elements,e,e.BusinessTypeName()).Concatenate( ";" ); + PriorityPolicyBusinessType.Strings(strings); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyFactor_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyFactor_OnCreated.def new file mode 100644 index 0000000..2ec5ac7 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyFactor_OnCreated.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: DataHolderPriorityPolicyFactor +Response OnCreated () id:Response_FormPriorityPolicy_DataHolderPriorityPolicyFactor_OnCreated +{ + #keys: '[414382.0.586001511]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + list := this.Data(); + strings := selectuniquevalues( list,Elements,e,e.Name()).Concatenate( ";" ); + DropDownStringList.Strings(strings); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyFactor_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyFactor_OnDataChanged.def new file mode 100644 index 0000000..93d0f9c --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyFactor_OnDataChanged.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: DataHolderPriorityPolicyFactor +Response OnDataChanged () id:Response_FormPriorityPolicy_DataHolderPriorityPolicyFactor_OnDataChanged +{ + #keys: '[414382.0.585931640]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnDataChanged' + QuillAction + { + Body: + [* + list := this.Data(); + strings := selectuniquevalues( list,Elements,e,e.Name()).Concatenate( ";" ); + DropDownStringList.Strings(strings); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnCreated.def index 7cbbd08..992b235 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnCreated.def @@ -9,8 +9,8 @@ { Body: [* - strs := PriorityFactor::GetNameList( MacroPlan,DropDownStringList.Text()); - this.Strings(strs); + //strs := PriorityFactor::GetNameList( MacroPlan,DropDownStringList.Text()); + //this.Strings(strs); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def index 6ed7e84..7acc7f0 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def @@ -9,8 +9,8 @@ { Body: [* - list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text()); - DataHolderPriorityPolicy.Data(&list); + //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 index cd5d437..72153cd 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def @@ -39,6 +39,56 @@ Taborder: 4 ] } + Component DataHolderPriorityPolicyBusinessType + { + #keys: '[414382.0.585736261]' + BaseType: 'WebDataHolder' + Databinding: 'structured[BusinessType]*' + Children: + [ + Component DataExtractorPriorityPolicyBusinessType + { + #keys: '[414382.0.585207663]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' + Taborder: 0 + Transformation: 'BusinessType' + ] + } + ] + Properties: + [ + Taborder: 5 + ] + } + Component DataHolderPriorityPolicyFactor + { + #keys: '[414382.0.585208237]' + BaseType: 'WebDataHolder' + Databinding: 'structured[PriorityFactor]*' + Children: + [ + Component DataExtractorPriorityPolicyFactor + { + #keys: '[414382.0.585705356]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'PriorityFactor' + ] + } + ] + Properties: + [ + Taborder: 6 + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def new file mode 100644 index 0000000..f73b35a --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def @@ -0,0 +1,97 @@ +Quintiq file version 2.0 +Component MatrixEditorShowInterfaceData +{ + #keys: '[414702.0.491402111]' + BaseType: 'WebMatrixEditor' + Children: + [ + Component MatrixEditorCellShowInterfaceData + { + #keys: '[414702.0.491402112]' + BaseType: 'WebMatrixEditorCell' + Children: + [ + Component DataExtractorShowInterfaceData + { + #keys: '[414702.0.491402113]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' + Taborder: 0 + Transformation: 'Global_ShowCell' + ] + } + ] + Properties: + [ + Attributes: 'Value' + Column: 'Global_ShowColumn' + Row: 'Global_ShowRow' + Taborder: 0 + ] + } + Component MatrixEditorRowsShowInterfaceData + { + #keys: '[414702.0.491402116]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor703 + { + #keys: '[414702.0.491402117]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' + Taborder: 0 + Transformation: 'Global_ShowRow' + ] + } + ] + Properties: + [ + Legend: 'RowNr' + SortCriteria: 'RowNr' + Taborder: 1 + ] + } + Component MatrixEditorColumnsShowInterfaceData + { + #keys: '[414702.0.491402120]' + BaseType: 'WebMatrixEditorHeaderLevel' + Children: + [ + Component DataExtractor253 + { + #keys: '[414702.0.491402121]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'GlobalOTDTable' + Source: 'GlobalOTDTable' + Taborder: 0 + Transformation: 'Global_ShowColumn' + ] + } + ] + Properties: + [ + Legend: 'ColumnName' + SortCriteria: 'ColumnIndex' + Taborder: 2 + ] + } + #child: matrixEditorActionBarPageShowInterfaceData + #child: matrixeditorContextMenuShowInterfaceData + ] + Properties: + [ + Columns: 'MatrixEditorColumnsShowInterfaceData' + ContextMenu: 'matrixeditorContextMenuShowInterfaceData' + Rows: 'MatrixEditorRowsShowInterfaceData' + Taborder: 0 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixEditorActionBarPageShowInterfaceData.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixEditorActionBarPageShowInterfaceData.def new file mode 100644 index 0000000..92920fe --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixEditorActionBarPageShowInterfaceData.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixEditorActionBarPageShowInterfaceData +{ + #keys: '[414702.0.491402124]' + BaseType: 'matrixEditorActionBarPage' + Properties: + [ + Taborder: 3 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixeditorContextMenuShowInterfaceData.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixeditorContextMenuShowInterfaceData.def new file mode 100644 index 0000000..d8c917e --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixeditorContextMenuShowInterfaceData.def @@ -0,0 +1,10 @@ +Quintiq file version 2.0 +Component matrixeditorContextMenuShowInterfaceData +{ + #keys: '[414702.0.491402127]' + BaseType: 'matrixeditorContextMenu' + Properties: + [ + Taborder: 4 + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def new file mode 100644 index 0000000..82115f2 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#root +#parent: MacroPlannerWebApp +OrphanComponent FormShowInterfaceData +{ + #keys: '[414702.0.484442828]' + BaseType: 'WebForm' + Children: + [ + #child: MatrixEditorShowInterfaceData + ] + Properties: + [ + Image: 'PROJECTOR' + Title: '鎺ュ彛鏁版嵁鏄剧ず' + ] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_SWF_DialogCeateNextStepDefinitionDependency/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_SWF_DialogCeateNextStepDefinitionDependency/Component_pnlContent.def deleted file mode 100644 index 2c4828b..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_SWF_DialogCeateNextStepDefinitionDependency/Component_pnlContent.def +++ /dev/null @@ -1,10 +0,0 @@ -Quintiq file version 2.0 -Component pnlContent #extension -{ - Children: - [ - Component LabelCurrentStep #extension - { - } - ] -} diff --git a/_Main/UI/MacroPlannerWebApp/Component_SWF_DialogCeateNextStepDefinitionDependency/_ROOT_Component_SWF_DialogCeateNextStepDefinitionDependency.def b/_Main/UI/MacroPlannerWebApp/Component_SWF_DialogCeateNextStepDefinitionDependency/_ROOT_Component_SWF_DialogCeateNextStepDefinitionDependency.def deleted file mode 100644 index 78fcf7f..0000000 --- a/_Main/UI/MacroPlannerWebApp/Component_SWF_DialogCeateNextStepDefinitionDependency/_ROOT_Component_SWF_DialogCeateNextStepDefinitionDependency.def +++ /dev/null @@ -1,10 +0,0 @@ -Quintiq file version 2.0 -#root -#parent: SOPWorkflowWeb -OrphanComponent SWF_DialogCeateNextStepDefinitionDependency #extension -{ - Children: - [ - #child: pnlContent - ] -} diff --git a/_Main/UI/MacroPlannerWebApp/Views/PriorityTest.vw b/_Main/UI/MacroPlannerWebApp/Views/PriorityTest.vw new file mode 100644 index 0000000..68006ad --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Views/PriorityTest.vw @@ -0,0 +1,2745 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormBusinessType + { + title: 'QTIANMA_JITUAN::FormBusinessType' + shown: true + componentID: 'QTIANMA_JITUAN::FormBusinessType' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 11 + columnPosition: 9 + columnSpan: 4 + } + components + { + FormBusinessType_ListBusinessType + { + } + FormBusinessType_DataSetLevelBusinessType + { + groupDepth: -1 + column_BusinessTypeName + { + columnId: 'BusinessTypeName' + dataPath: 'BusinessTypeName' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + } + } + } + form_FormPriorityResult + { + title: 'QTIANMA_JITUAN::FormPriorityResult' + shown: true + componentID: 'QTIANMA_JITUAN::FormPriorityResult' + layout + { + mode: 'open' + rowPosition: 13 + rowSpan: 11 + columnPosition: 1 + columnSpan: 4 + } + components + { + FormPriorityResult_PanelPriorityResult + { + sizeRatio: 1 + } + FormPriorityResult_ListPriorityResult + { + } + FormPriorityResult_DataSetLevelPriorityResult + { + groupDepth: -1 + column_SalesSegmentName + { + columnId: 'SalesSegmentName' + dataPath: 'SalesSegmentName' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_ProductID + { + columnId: 'ProductID' + dataPath: 'ProductID' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_StockingPointID + { + columnId: 'StockingPointID' + dataPath: 'StockingPointID' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + column_Customer + { + columnId: 'Customer' + dataPath: 'Customer' + dataType: 'string' + index: 3 + subtotals: '' + width: 150 + } + column_BusinessType + { + columnId: 'BusinessType' + dataPath: 'BusinessType' + dataType: 'string' + index: 4 + subtotals: '' + width: 150 + } + column_Quantity + { + columnId: 'Quantity' + dataPath: 'Quantity' + dataType: 'real' + index: 5 + subtotals: '' + width: 150 + } + column_UnitOfMeasureName + { + columnId: 'UnitOfMeasureName' + dataPath: 'UnitOfMeasureName' + dataType: 'string' + index: 6 + subtotals: '' + width: 150 + } + column_DemandDate + { + columnId: 'DemandDate' + dataPath: 'DemandDate' + dataType: 'date' + index: 7 + subtotals: '' + width: 150 + } + column_PriorityResultScore + { + columnId: 'PriorityResultScore' + dataPath: 'PriorityResultScore' + dataType: 'real' + index: 8 + subtotals: '' + width: 150 + } + } + FormPriorityResult_PanelPriorityResultDetails + { + sizeRatio: 1 + } + FormPriorityResult_ListPriorityResultBusinessTypeDetails + { + } + FormPriorityResult_DataSetLevelPriorityResultDetails + { + groupDepth: -1 + column_SalesSegmentName + { + columnId: 'SalesSegmentName' + dataPath: 'SalesSegmentName' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_StockingPointID + { + columnId: 'StockingPointID' + dataPath: 'StockingPointID' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_Customer + { + columnId: 'Customer' + dataPath: 'Customer' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + column_BusinessType + { + columnId: 'BusinessType' + dataPath: 'BusinessType' + dataType: 'string' + index: 3 + subtotals: '' + width: 150 + } + column_Quantity + { + columnId: 'Quantity' + dataPath: 'Quantity' + dataType: 'real' + index: 4 + subtotals: '' + width: 150 + } + column_UnitOfMeasureName + { + columnId: 'UnitOfMeasureName' + dataPath: 'UnitOfMeasureName' + dataType: 'string' + index: 5 + subtotals: '' + width: 150 + } + column_DemandDate + { + columnId: 'DemandDate' + dataPath: 'DemandDate' + dataType: 'date' + index: 6 + subtotals: '' + width: 150 + } + column_PriorityResultScore + { + columnId: 'PriorityResultScore' + dataPath: 'PriorityResultScore' + dataType: 'real' + index: 7 + subtotals: '' + width: 150 + } + column_PriorityPolicyName + { + columnId: 'PriorityPolicyName' + dataPath: 'PriorityPolicyName' + dataType: 'string' + index: 8 + subtotals: '' + width: 150 + } + column_PriorityFactorName + { + columnId: 'PriorityFactorName' + dataPath: 'PriorityFactorName' + dataType: 'string' + index: 9 + subtotals: '' + width: 150 + } + column_PriorityFactorGradingName + { + columnId: 'PriorityFactorGradingName' + dataPath: 'PriorityFactorGradingName' + dataType: 'string' + index: 10 + subtotals: '' + width: 150 + } + column_PriorityTotalScore + { + columnId: 'PriorityTotalScore' + dataPath: 'PriorityTotalScore' + dataType: 'real' + index: 11 + subtotals: '' + width: 150 + } + } + FormPriorityResult_ListPriorityResultGroupDetails + { + } + FormPriorityResult_DataSetLevelPriorityResultDetails872 + { + groupDepth: -1 + column_SalesSegmentName + { + columnId: 'SalesSegmentName' + dataPath: 'SalesSegmentName' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_StockingPointID + { + columnId: 'StockingPointID' + dataPath: 'StockingPointID' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_Customer + { + columnId: 'Customer' + dataPath: 'Customer' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + column_BusinessType + { + columnId: 'BusinessType' + dataPath: 'BusinessType' + dataType: 'string' + index: 3 + subtotals: '' + width: 150 + } + column_Quantity + { + columnId: 'Quantity' + dataPath: 'Quantity' + dataType: 'real' + index: 4 + subtotals: '' + width: 150 + } + column_UnitOfMeasureName + { + columnId: 'UnitOfMeasureName' + dataPath: 'UnitOfMeasureName' + dataType: 'string' + index: 5 + subtotals: '' + width: 150 + } + column_DemandDate + { + columnId: 'DemandDate' + dataPath: 'DemandDate' + dataType: 'date' + index: 6 + subtotals: '' + width: 150 + } + column_PriorityResultScore + { + columnId: 'PriorityResultScore' + dataPath: 'PriorityResultScore' + dataType: 'real' + index: 7 + subtotals: '' + width: 150 + } + column_PriorityPolicyName + { + columnId: 'PriorityPolicyName' + dataPath: 'PriorityPolicyName' + dataType: 'string' + index: 8 + subtotals: '' + width: 150 + } + column_PriorityFactorName + { + columnId: 'PriorityFactorName' + dataPath: 'PriorityFactorName' + dataType: 'string' + index: 9 + subtotals: '' + width: 150 + } + column_PriorityFactorGradingName + { + columnId: 'PriorityFactorGradingName' + dataPath: 'PriorityFactorGradingName' + dataType: 'string' + index: 10 + subtotals: '' + width: 150 + } + column_PriorityTotalScore + { + columnId: 'PriorityTotalScore' + dataPath: 'PriorityTotalScore' + dataType: 'real' + index: 11 + subtotals: '' + width: 150 + } + } + } + } + form_FormPriorityFactor + { + title: 'QTIANMA_JITUAN::FormPriorityFactor' + shown: true + componentID: 'QTIANMA_JITUAN::FormPriorityFactor' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 12 + columnPosition: 1 + columnSpan: 4 + } + components + { + FormPriorityFactor_ListPriorityFactor + { + } + FormPriorityFactor_DataSetLevelPriorityFactor + { + groupDepth: -1 + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_Coefficient + { + columnId: 'Coefficient' + dataPath: 'Coefficient' + dataType: 'real' + index: 1 + subtotals: '' + width: 496 + } + column_Desc + { + columnId: 'Desc' + dataPath: 'Desc' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + } + } + } + form_FormPriorityFactorGrading + { + title: 'QTIANMA_JITUAN::FormPriorityFactorGrading' + shown: true + componentID: 'QTIANMA_JITUAN::FormPriorityFactorGrading' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 11 + columnPosition: 5 + columnSpan: 4 + } + components + { + FormPriorityFactorGrading_ListPriorityFactorGrading + { + } + FormPriorityFactorGrading_DataSetLevelPriorityFactorGrading + { + groupDepth: -1 + column_GradingName + { + columnId: 'GradingName' + dataPath: 'GradingName' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_GradeValueStr + { + columnId: 'GradeValueStr' + dataPath: 'GradeValueStr' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_GradeDesc + { + columnId: 'GradeDesc' + dataPath: 'GradeDesc' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + } + } + } + form_FormPriorityPolicy + { + title: 'QTIANMA_JITUAN::FormPriorityPolicy' + shown: true + componentID: 'QTIANMA_JITUAN::FormPriorityPolicy' + layout + { + mode: 'open' + rowPosition: 12 + rowSpan: 14 + columnPosition: 5 + columnSpan: 7 + } + components + { + FormPriorityPolicy_ListPriorityPolicy + { + } + FormPriorityPolicy_DataSetLevelPriorityPolicy + { + groupDepth: -1 + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_Formula + { + columnId: 'Formula' + dataPath: 'Formula' + dataType: 'string' + index: 1 + subtotals: '' + width: 433 + } + column_CalculateValue + { + columnId: 'CalculateValue' + dataPath: 'CalculateValue' + dataType: 'string' + index: 2 + subtotals: '' + width: 644 + } + column_Desc + { + columnId: 'Desc' + dataPath: 'Desc' + dataType: 'string' + index: 3 + subtotals: '' + width: 150 + } + } + FormPriorityPolicy_PanelPriorityPolicyOperation + { + sizeRatio: 1 + } + FormPriorityPolicy_PanelPriorityPolicyOperationButton + { + sizeRatio: 1 + } + FormPriorityPolicy_PanelPriorityPolicyCoefficient + { + sizeRatio: 1 + } + } + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: false + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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: 'PanelKPIDashboard' + } + 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 + } + } + } + } + form_FormKPI_16 + { + title: 'KPI Dashboard' + shown: false + componentID: 'FormKPI' + layout + { + mode: 'dockright' + index: 34 + } + components + { + FormKPI_PanelKPI + { + sizeRatio: 1 + activeChild: 'PanelKPIDashboard' + } + FormKPI_PanelKPIDashboard + { + sizeRatio: 1 + } + FormKPI_PanelKPISelection + { + sizeRatio: 1 + } + FormKPI_ListKPISelection + { + QuillViewData + { + Metals_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales' + Food_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales' + Empty_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales' + } + } + FormKPI_DataSetLevelKPISelection + { + groupDepth: -1 + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: '鍚嶇О' + index: 0 + subtotals: '' + width: 200 + } + } + } + } + form_FormKPI_17 + { + title: 'KPI Dashboard' + shown: false + componentID: 'FormKPI' + layout + { + mode: 'dockright' + index: 35 + } + components + { + FormKPI_PanelKPI + { + sizeRatio: 1 + activeChild: 'PanelKPIDashboard' + } + FormKPI_PanelKPIDashboard + { + sizeRatio: 1 + } + FormKPI_PanelKPISelection + { + sizeRatio: 1 + } + FormKPI_ListKPISelection + { + QuillViewData + { + Metals_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales' + Food_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales' + Empty_KPISetting: 'Fulfillment;Fulfillment target;On time fulfillment;On time in full;Sales' + } + } + FormKPI_DataSetLevelKPISelection + { + groupDepth: -1 + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + title: '鍚嶇О' + index: 0 + subtotals: '' + width: 200 + } + } + } + } + form_FormPriorities + { + title: 'Priorities' + shown: true + componentID: 'FormPriorities' + layout + { + mode: 'dockright' + index: 36 + } + components + { + FormPriorities_ListPriority + { + } + FormPriorities_DataSetLevelPriority + { + groupDepth: -1 + column_All_constraints + { + columnId: 'All constraints' + dataPath: 'All constraints' + dataType: 'string' + index: 0 + subtotals: '' + width: 32 + } + column_ImgHasSalesDemand + { + columnId: 'ImgHasSalesDemand' + dataPath: 'ImgHasSalesDemand' + dataType: 'string' + index: 1 + subtotals: '' + width: 30 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + index: 2 + subtotals: '' + width: 95 + } + column_Weight + { + columnId: 'Weight' + dataPath: 'Weight' + dataType: 'real' + index: 3 + subtotals: '' + width: 95 + } + } + } + } + } + userconfigurableinformation + { + } + page: '' + group: '' + index: 15 + image: '' + description: '' + } + formatversion: 2 + id: 'PriorityTest' + name: 'PriorityTest' + isglobal: false + isroot: true +} diff --git a/_Main/UI/MacroPlannerWebApp/Views/Test.vw b/_Main/UI/MacroPlannerWebApp/Views/Test.vw index c66c058..36dff5d 100644 --- a/_Main/UI/MacroPlannerWebApp/Views/Test.vw +++ b/_Main/UI/MacroPlannerWebApp/Views/Test.vw @@ -159,6 +159,800 @@ } } } + form_FormCustomerAndForecastOrder + { + title: 'QTIANMA_JITUAN::FormCustomerAndForecastOrder' + shown: true + componentID: 'QTIANMA_JITUAN::FormCustomerAndForecastOrder' + layout + { + mode: 'open' + rowPosition: 16 + rowSpan: 16 + columnPosition: 1 + columnSpan: 4 + } + components + { + FormCustomerAndForecastOrder_PanelButton + { + sizeRatio: 1 + } + FormCustomerAndForecastOrder_ListCustomerAndFillingCapacityOrder + { + } + FormCustomerAndForecastOrder_DataSetLevelCustomerAndFillingCapacityOrder + { + groupDepth: -1 + column_VerNo + { + columnId: 'VerNo' + dataPath: 'VerNo' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_OrderID + { + columnId: 'OrderID' + dataPath: 'OrderID' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_ProductID + { + columnId: 'ProductID' + dataPath: 'ProductID' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + column_BusinessType + { + columnId: 'BusinessType' + dataPath: 'BusinessType' + dataType: 'string' + index: 3 + subtotals: '' + width: 150 + } + column_Customer + { + columnId: 'Customer' + dataPath: 'Customer' + dataType: 'string' + index: 4 + subtotals: '' + width: 150 + } + column_ServiceType + { + columnId: 'ServiceType' + dataPath: 'ServiceType' + dataType: 'string' + index: 5 + subtotals: '' + width: 150 + } + column_Quantity + { + columnId: 'Quantity' + dataPath: 'Quantity' + dataType: 'real' + index: 6 + subtotals: '' + width: 150 + } + column_UnitOfMeasureName + { + columnId: 'UnitOfMeasureName' + dataPath: 'UnitOfMeasureName' + dataType: 'string' + index: 7 + subtotals: '' + width: 150 + } + column_PanelBigSheetQuantity + { + columnId: 'PanelBigSheetQuantity' + dataPath: 'PanelBigSheetQuantity' + dataType: 'real' + index: 8 + subtotals: '' + width: 150 + } + column_SalesAmount + { + columnId: 'SalesAmount' + dataPath: 'SalesAmount' + dataType: 'number' + index: 9 + subtotals: '' + width: 150 + } + column_ForecastDemandDate + { + columnId: 'ForecastDemandDate' + dataPath: 'ForecastDemandDate' + dataType: 'date' + index: 10 + subtotals: '' + width: 150 + } + column_DemandDate + { + columnId: 'DemandDate' + dataPath: 'DemandDate' + dataType: 'date' + index: 11 + subtotals: '' + width: 150 + } + } + } + } + form_FormFillingCapacityOrder + { + title: 'QTIANMA_JITUAN::FormFillingCapacityOrder' + shown: true + componentID: 'QTIANMA_JITUAN::FormFillingCapacityOrder' + layout + { + mode: 'open' + rowPosition: 16 + rowSpan: 16 + columnPosition: 5 + columnSpan: 8 + } + components + { + FormFillingCapacityOrder_ListFillingCapacityOrder + { + } + FormFillingCapacityOrder_DataSetLevelFillingCapacityOrder + { + groupDepth: -1 + column_VerNo + { + columnId: 'VerNo' + dataPath: 'VerNo' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_ProductID + { + columnId: 'ProductID' + dataPath: 'ProductID' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_BusinessType + { + columnId: 'BusinessType' + dataPath: 'BusinessType' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + column_SalesSegmentName + { + columnId: 'SalesSegmentName' + dataPath: 'SalesSegmentName' + dataType: 'string' + index: 3 + subtotals: '' + width: 150 + } + column_StockingPointID + { + columnId: 'StockingPointID' + dataPath: 'StockingPointID' + dataType: 'string' + index: 4 + subtotals: '' + width: 150 + } + column_Customer + { + columnId: 'Customer' + dataPath: 'Customer' + dataType: 'string' + index: 5 + subtotals: '' + width: 150 + } + column_Quantity + { + columnId: 'Quantity' + dataPath: 'Quantity' + dataType: 'real' + index: 6 + subtotals: '' + width: 150 + } + column_UnitOfMeasureName + { + columnId: 'UnitOfMeasureName' + dataPath: 'UnitOfMeasureName' + dataType: 'string' + index: 7 + subtotals: '' + width: 150 + } + column_PanelBigSheetQuantity + { + columnId: 'PanelBigSheetQuantity' + dataPath: 'PanelBigSheetQuantity' + dataType: 'real' + index: 8 + subtotals: '' + width: 150 + } + column_SalesAmount + { + columnId: 'SalesAmount' + dataPath: 'SalesAmount' + dataType: 'number' + index: 9 + subtotals: '' + width: 150 + } + column_ForecastDemandDate + { + columnId: 'ForecastDemandDate' + dataPath: 'ForecastDemandDate' + dataType: 'date' + index: 10 + subtotals: '' + width: 150 + } + column_DemandDate + { + columnId: 'DemandDate' + dataPath: 'DemandDate' + dataType: 'date' + index: 11 + subtotals: '' + width: 150 + } + column_OrderType + { + columnId: 'OrderType' + dataPath: 'OrderType' + dataType: 'string' + index: 12 + subtotals: '' + width: 150 + } + } + } + } + form_FormPriorityPolicy + { + title: 'QTIANMA_JITUAN::FormPriorityPolicy' + shown: true + componentID: 'QTIANMA_JITUAN::FormPriorityPolicy' + layout + { + mode: 'open' + rowPosition: 32 + rowSpan: 13 + columnPosition: 5 + columnSpan: 8 + } + components + { + FormPriorityPolicy_ListPriorityPolicy + { + } + FormPriorityPolicy_DataSetLevelPriorityPolicy + { + groupDepth: -1 + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_Formula + { + columnId: 'Formula' + dataPath: 'Formula' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_CalculateValue + { + columnId: 'CalculateValue' + dataPath: 'CalculateValue' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + column_Desc + { + columnId: 'Desc' + dataPath: 'Desc' + dataType: 'string' + index: 3 + subtotals: '' + width: 150 + } + } + FormPriorityPolicy_PanelPriorityPolicyOperation + { + sizeRatio: 1 + } + FormPriorityPolicy_PanelPriorityPolicyOperationButton + { + sizeRatio: 1 + } + FormPriorityPolicy_PanelPriorityPolicyCoefficient + { + sizeRatio: 1 + } + } + } + form_FormPriorityResult + { + title: 'QTIANMA_JITUAN::FormPriorityResult' + shown: true + componentID: 'QTIANMA_JITUAN::FormPriorityResult' + layout + { + mode: 'open' + rowPosition: 45 + rowSpan: 17 + columnPosition: 1 + columnSpan: 12 + } + components + { + FormPriorityResult_PanelPriorityResult + { + sizeRatio: 1 + } + FormPriorityResult_ListPriorityResult + { + } + FormPriorityResult_DataSetLevelPriorityResult + { + groupDepth: -1 + column_SalesSegmentName + { + columnId: 'SalesSegmentName' + dataPath: 'SalesSegmentName' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_ProductID + { + columnId: 'ProductID' + dataPath: 'ProductID' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_StockingPointID + { + columnId: 'StockingPointID' + dataPath: 'StockingPointID' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + column_Customer + { + columnId: 'Customer' + dataPath: 'Customer' + dataType: 'string' + index: 3 + subtotals: '' + width: 150 + } + column_BusinessType + { + columnId: 'BusinessType' + dataPath: 'BusinessType' + dataType: 'string' + index: 4 + subtotals: '' + width: 150 + } + column_Quantity + { + columnId: 'Quantity' + dataPath: 'Quantity' + dataType: 'real' + index: 5 + subtotals: '' + width: 150 + } + column_UnitOfMeasureName + { + columnId: 'UnitOfMeasureName' + dataPath: 'UnitOfMeasureName' + dataType: 'string' + index: 6 + subtotals: '' + width: 150 + } + column_DemandDate + { + columnId: 'DemandDate' + dataPath: 'DemandDate' + dataType: 'date' + index: 7 + subtotals: '' + width: 150 + } + column_PriorityResultScore + { + columnId: 'PriorityResultScore' + dataPath: 'PriorityResultScore' + dataType: 'real' + index: 8 + subtotals: '' + width: 150 + } + } + FormPriorityResult_PanelPriorityResultDetails + { + sizeRatio: 1 + } + FormPriorityResult_ListPriorityResultBusinessTypeDetails + { + } + FormPriorityResult_DataSetLevelPriorityResultDetails + { + groupDepth: -1 + column_SalesSegmentName + { + columnId: 'SalesSegmentName' + dataPath: 'SalesSegmentName' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_StockingPointID + { + columnId: 'StockingPointID' + dataPath: 'StockingPointID' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_Customer + { + columnId: 'Customer' + dataPath: 'Customer' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + column_BusinessType + { + columnId: 'BusinessType' + dataPath: 'BusinessType' + dataType: 'string' + index: 3 + subtotals: '' + width: 150 + } + column_Quantity + { + columnId: 'Quantity' + dataPath: 'Quantity' + dataType: 'real' + index: 4 + subtotals: '' + width: 150 + } + column_UnitOfMeasureName + { + columnId: 'UnitOfMeasureName' + dataPath: 'UnitOfMeasureName' + dataType: 'string' + index: 5 + subtotals: '' + width: 150 + } + column_DemandDate + { + columnId: 'DemandDate' + dataPath: 'DemandDate' + dataType: 'date' + index: 6 + subtotals: '' + width: 150 + } + column_PriorityResultScore + { + columnId: 'PriorityResultScore' + dataPath: 'PriorityResultScore' + dataType: 'real' + index: 7 + subtotals: '' + width: 150 + } + column_PriorityPolicyName + { + columnId: 'PriorityPolicyName' + dataPath: 'PriorityPolicyName' + dataType: 'string' + index: 8 + subtotals: '' + width: 150 + } + column_PriorityFactorName + { + columnId: 'PriorityFactorName' + dataPath: 'PriorityFactorName' + dataType: 'string' + index: 9 + subtotals: '' + width: 150 + } + column_PriorityFactorGradingName + { + columnId: 'PriorityFactorGradingName' + dataPath: 'PriorityFactorGradingName' + dataType: 'string' + index: 10 + subtotals: '' + width: 150 + } + column_PriorityTotalScore + { + columnId: 'PriorityTotalScore' + dataPath: 'PriorityTotalScore' + dataType: 'real' + index: 11 + subtotals: '' + width: 150 + } + } + FormPriorityResult_ListPriorityResultGroupDetails + { + } + FormPriorityResult_DataSetLevelPriorityResultDetails872 + { + groupDepth: -1 + column_SalesSegmentName + { + columnId: 'SalesSegmentName' + dataPath: 'SalesSegmentName' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_StockingPointID + { + columnId: 'StockingPointID' + dataPath: 'StockingPointID' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_Customer + { + columnId: 'Customer' + dataPath: 'Customer' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + column_BusinessType + { + columnId: 'BusinessType' + dataPath: 'BusinessType' + dataType: 'string' + index: 3 + subtotals: '' + width: 150 + } + column_Quantity + { + columnId: 'Quantity' + dataPath: 'Quantity' + dataType: 'real' + index: 4 + subtotals: '' + width: 150 + } + column_UnitOfMeasureName + { + columnId: 'UnitOfMeasureName' + dataPath: 'UnitOfMeasureName' + dataType: 'string' + index: 5 + subtotals: '' + width: 150 + } + column_DemandDate + { + columnId: 'DemandDate' + dataPath: 'DemandDate' + dataType: 'date' + index: 6 + subtotals: '' + width: 150 + } + column_PriorityResultScore + { + columnId: 'PriorityResultScore' + dataPath: 'PriorityResultScore' + dataType: 'real' + index: 7 + subtotals: '' + width: 150 + } + column_PriorityPolicyName + { + columnId: 'PriorityPolicyName' + dataPath: 'PriorityPolicyName' + dataType: 'string' + index: 8 + subtotals: '' + width: 150 + } + column_PriorityFactorName + { + columnId: 'PriorityFactorName' + dataPath: 'PriorityFactorName' + dataType: 'string' + index: 9 + subtotals: '' + width: 150 + } + column_PriorityFactorGradingName + { + columnId: 'PriorityFactorGradingName' + dataPath: 'PriorityFactorGradingName' + dataType: 'string' + index: 10 + subtotals: '' + width: 150 + } + column_PriorityTotalScore + { + columnId: 'PriorityTotalScore' + dataPath: 'PriorityTotalScore' + dataType: 'real' + index: 11 + subtotals: '' + width: 150 + } + } + } + } + form_FormPriorityFactor + { + title: 'QTIANMA_JITUAN::FormPriorityFactor' + shown: true + componentID: 'QTIANMA_JITUAN::FormPriorityFactor' + layout + { + mode: 'open' + rowPosition: 37 + rowSpan: 8 + columnPosition: 1 + columnSpan: 4 + } + components + { + FormPriorityFactor_ListPriorityFactor + { + } + FormPriorityFactor_DataSetLevelPriorityFactor + { + groupDepth: -1 + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_Coefficient + { + columnId: 'Coefficient' + dataPath: 'Coefficient' + dataType: 'real' + index: 1 + subtotals: '' + width: 150 + } + column_Desc + { + columnId: 'Desc' + dataPath: 'Desc' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + } + } + } + form_FormPriorityFactorGrading + { + title: 'QTIANMA_JITUAN::FormPriorityFactorGrading' + shown: true + componentID: 'QTIANMA_JITUAN::FormPriorityFactorGrading' + layout + { + mode: 'open' + rowPosition: 32 + rowSpan: 5 + columnPosition: 1 + columnSpan: 4 + } + components + { + FormPriorityFactorGrading_ListPriorityFactorGrading + { + } + FormPriorityFactorGrading_DataSetLevelPriorityFactorGrading + { + groupDepth: -1 + column_GradingName + { + columnId: 'GradingName' + dataPath: 'GradingName' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_GradeValueStr + { + columnId: 'GradeValueStr' + dataPath: 'GradeValueStr' + dataType: 'string' + index: 1 + subtotals: '' + width: 150 + } + column_GradeDesc + { + columnId: 'GradeDesc' + dataPath: 'GradeDesc' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + } + } + } } userconfigurableinformation { diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw" new file mode 100644 index 0000000..43ce5f1 --- /dev/null +++ "b/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw" @@ -0,0 +1,178 @@ +Quintiq file version 2.0 +{ + viewcontents + { + forms + { + form_FormInterfaceTest + { + title: 'QTIANMA_JITUAN::FormInterfaceTest' + shown: true + componentID: 'QTIANMA_JITUAN::FormInterfaceTest' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 10 + columnPosition: 1 + columnSpan: 6 + } + components + { + FormInterfaceTest_PanelInterfaceOptions + { + sizeRatio: 1 + } + FormInterfaceTest_PanelInterfaceTest + { + sizeRatio: 1 + } + FormInterfaceTest_PanelInterfaceTest981 + { + sizeRatio: 1 + } + FormInterfaceTest_ListInterfaceTest + { + } + FormInterfaceTest_DataSetLevelInterfaceTest + { + groupDepth: -1 + column_BrokerName + { + columnId: 'BrokerName' + dataPath: 'BrokerName' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + column_ElementTotal + { + columnId: 'ElementTotal' + dataPath: 'ElementTotal' + dataType: 'number' + index: 1 + subtotals: '' + width: 150 + } + column_ErrorDateTime + { + columnId: 'ErrorDateTime' + dataPath: 'ErrorDateTime' + dataType: 'string' + index: 2 + subtotals: '' + width: 150 + } + column_ErrorMessage + { + columnId: 'ErrorMessage' + dataPath: 'ErrorMessage' + dataType: 'string' + index: 3 + subtotals: '' + width: 150 + } + column_ErrorNo + { + columnId: 'ErrorNo' + dataPath: 'ErrorNo' + dataType: 'number' + index: 4 + subtotals: '' + width: 150 + } + column_IsSuccess + { + columnId: 'IsSuccess' + dataPath: 'IsSuccess' + dataType: 'boolean' + index: 5 + subtotals: '' + width: 150 + } + column_Name + { + columnId: 'Name' + dataPath: 'Name' + dataType: 'string' + index: 6 + subtotals: '' + width: 150 + } + column_SuccessDateTime + { + columnId: 'SuccessDateTime' + dataPath: 'SuccessDateTime' + dataType: 'string' + index: 7 + subtotals: '' + width: 150 + } + } + } + } + form_FormBusinessType + { + title: 'QTIANMA_JITUAN::FormBusinessType' + shown: true + componentID: 'QTIANMA_JITUAN::FormBusinessType' + layout + { + mode: 'open' + rowPosition: 11 + rowSpan: 6 + columnPosition: 1 + columnSpan: 6 + } + components + { + FormBusinessType_ListBusinessType + { + } + FormBusinessType_DataSetLevelBusinessType + { + groupDepth: -1 + column_BusinessTypeName + { + columnId: 'BusinessTypeName' + dataPath: 'BusinessTypeName' + dataType: 'string' + index: 0 + subtotals: '' + width: 150 + } + } + } + } + form_FormShowInterfaceData + { + title: 'QTIANMA_JITUAN::FormShowInterfaceData' + shown: true + componentID: 'QTIANMA_JITUAN::FormShowInterfaceData' + layout + { + mode: 'open' + rowPosition: 1 + rowSpan: 16 + columnPosition: 7 + columnSpan: 6 + } + components: null + } + } + userconfigurableinformation + { + } + image: 'SKIN_TIGER' + page: '' + group: '' + index: 0 + description: '' + } + formatversion: 2 + id: '鎺ュ彛娴嬭瘯' + name: '鎺ュ彛娴嬭瘯' + isglobal: false + isroot: true +} -- Gitblit v1.9.3