xiaoding721
2023-11-13 e4edcfd0b987b239526f5375881b919789782dad
修改优先级因子的一些功能和关系
已重命名4个文件
已修改56个文件
已添加30个文件
已删除33个文件
2195 ■■■■ 文件已修改
_Main/BL/InfoMessages.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityFactor_BusinessType_BusinessType_PriorityFactor.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityFactor_MacroPlan_MacroPlan_PriorityFactor.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityPolicy_BusinessType_BusinessType_PriorityPolicy.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityPolicy_MacroPlan_MacroPlan_PriorityPolicy.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityResult_CustomerOrder_CustomerOrder_PriorityResult.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityResult_MacroPlan_MacroPlan_PriorityResult.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerOrder/Method_CalculatePriorityResult.qbl 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/Attribute_BusinessType.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/Method_CreatePrioitifyFacotrDetail.qbl 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/Attribute_BusinessType.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/Attribute_isDefault.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/DefaultValue_isDefault.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/Method_SetDefault.qbl 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Attribute_OldPriorityName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Attribute_Point.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/StaticMethod_CalculateBracketScore.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews#633.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPriority.def 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonPriority_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuPriority_MenuBusinessType_OnClick.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuPriority_MenuPriorityFactor_OnClick.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuPriority_MenuPriorityPolicy_OnClick.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuPriority_MenuPriorityResult_OnClick.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlContent.def 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_CalculatePriorityResult.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_OpenChoose.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnCreated.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnDataChanged.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DropDownListPriorityPolicy_OnSelectionChanged.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Component_pnlContent.def 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Method_EditCustomerOrderPriority.def 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlContent_DropDownStringListBusinessTypeName_OnCreated.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlContent_DropDownStringListBusinessTypeName_OnSelectionChanged.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/_ROOT_Component_DialogEditCustomerOrderPriority.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlActions.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlContent.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_Edit.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_New.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/_ROOT_Component_DialogEditPriorityFactor.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_New.def 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnOk_OnClick.def 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_OnClick.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_Form367/_ROOT_Component_FormBusinessType#367.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuPriorityResultSingle_OnClick.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuPriorityResult_OnClick.def 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_listContextMenuSD_MenuSyncInterfaceData_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactorGrading#667.def 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listActionBarPagePriorityFactorGrading#1.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactorGrading#1.def 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderBusinessTypeSelect_OnDataChanged.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnCreated.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownListBusinessType_OnSelectionChanged.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactorGrading_667_MenuDeletePriorityFactorGrading_OnCli.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactorGrading_667_MenuEditPriorityFactorGrading_OnClick.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactorGrading_667_MenuNewPriorityFactorGrading_OnClick.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactorGrading_667_OnDoubleClick.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuInit_OnClick.def 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNewPriorityFactor_OnClick.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_listContextMenuPriorityFactor_MenuNewPriorityFactor_OnClick.def 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listActionBarPagePriorityFactorGrading.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEditPriorityFactorGrading_OnClick.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuNewPriorityFactorGrading_OnClick.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyCoefficient#902.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperation.def 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton#713.def 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listContextMenuPriorityPolicy.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderBusinessTypeSelect_OnDataChanged.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyBusinessType_OnCreated.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyBusinessType_OnDataChanged.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyFactor_OnCreated.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyFactor_OnDataChanged.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnCreated.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DropDownListBusinessType_OnSelectionChanged#144.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuDefault_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuDelete_OnClick.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuEdit_OnClick.def 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuNew_OnClick.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_OnUserSelectionChanged.def 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownListPriorityFactor_OnSel.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnCreated.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnSelectionCh.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def 95 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResult.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResultDetails#633.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResult.def 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResult_MenuGetCustomerOrder_OnClick.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResult_MenuPriorityResultSingle_OnClick.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResult_MenuPriorityResultUrgentPin_OnClick.def 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/PriorityTest.vw 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/InfoMessages.qbl
@@ -18,4 +18,8 @@
  {
    DefaultText: '该优先级因子名称已存在!'
  }
  InfoMessage PriorityPolicy_NullName
  {
    DefaultText: '优先级策略名称不能为空。'
  }
}
_Main/BL/Relations/Relation_PriorityFactor_BusinessType_BusinessType_PriorityFactor.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PriorityFactor_BusinessType_BusinessType_PriorityFactor
{
  #keys: '1[414996.0.98150005]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide BusinessType
  {
    #keys: '3[414996.0.98150007][414996.0.98150006][414996.0.98150008]'
    Cardinality: '0to1'
    ObjectDefinition: PriorityFactor
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PriorityFactor
  {
    #keys: '3[414996.0.98150010][414996.0.98150009][414996.0.98150011]'
    Cardinality: '1toN'
    ObjectDefinition: BusinessType
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_PriorityFactor_MacroPlan_MacroPlan_PriorityFactor.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_PriorityPolicy_BusinessType_BusinessType_PriorityPolicy.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PriorityPolicy_BusinessType_BusinessType_PriorityPolicy
{
  #keys: '1[414996.0.98054699]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide BusinessType
  {
    #keys: '3[414996.0.98054701][414996.0.98054700][414996.0.98054702]'
    Cardinality: '0to1'
    ObjectDefinition: PriorityPolicy
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PriorityPolicy
  {
    #keys: '3[414996.0.98054704][414996.0.98054703][414996.0.98054705]'
    Cardinality: '1toN'
    ObjectDefinition: BusinessType
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_PriorityPolicy_MacroPlan_MacroPlan_PriorityPolicy.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_PriorityResult_CustomerOrder_CustomerOrder_PriorityResult.qbl
@@ -18,6 +18,6 @@
    #keys: '3[414996.0.57846269][414996.0.57846268][414996.0.57846270]'
    Cardinality: '0to1'
    ObjectDefinition: CustomerOrder
    OwningSide: 'Reference'
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_PriorityResult_MacroPlan_MacroPlan_PriorityResult.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_CustomerOrder/Method_CalculatePriorityResult.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
Quintiq file version 2.0
#parent: #root
Method CalculatePriorityResult (
  PriorityPolicy priorityPolicy
)
{
  Description: '计算customerOrder优先级得分'
  TextBody:
  [*
    // Akari Nov-12-2023 (created)
    // å…ˆåˆ é™¤åŽ†å²çš„è·‘åˆ†è¯¦æƒ…
    this.PriorityResult(relflush );
    // äº‹ä¸šéƒ¨ä¿¡æ¯
    businessType := priorityPolicy.BusinessType();
    // èŽ·å–å¯¹åº”äº‹ä¸šéƒ¨è®¡ç®—å…¬å¼
    formula := priorityPolicy.Formula();
    // é€’归处理计算公式 èŽ·å–å½“å‰è®¢å•çš„å¾—åˆ†
    value := PriorityResult::CalculateScore( formula,this,businessType,0.0);
    // ç”Ÿæˆä¼˜å…ˆçº§å› å­è·‘分结果
    priorityResult := this.PriorityResult(relnew,CustomerOrderID := this.ID(),Customer := this.CustomerName(),CustomerID := this.CustomerID(),
                                                DemandDate := this.EndDate(),ProductID := this.ProductID(),Quantity := this.Quantity(),SalesSegmentName := this.SalesSegmentName(),
                                                StockingPointID := this.StockingPointID(),UnitOfMeasureName := this.UnitOfMeasureName()
                                                );
    // åˆ¤æ–­æ˜¯é›†å›¢ è¿˜æ˜¯äº‹ä¸šéƒ¨
    if( businessType.BusinessTypeName().FindString( "集团",0 ) <> -1){
         priorityResult.PriorityResultGroupDetail( relnew,Customer := this.CustomerName(),CustomerID := this.CustomerID(),
                                                   DemandDate := this.EndDate(),PriorityPolicyName := priorityPolicy.Name(),PriorityResultScore := value,
                                                   Quantity := this.Quantity(),SalesSegmentName := this.SalesSegmentName(),StockingPointID := this.StockingPointID(),
                                                   UnitOfMeasureName := this.UnitOfMeasureName(),PriorityTotalScore := value
                                                   );
    }else{
          priorityResult.PriorityResultBusinessTypeDetail( relnew,Customer := this.CustomerName(),CustomerID := this.CustomerID(),
                                                           DemandDate := this.EndDate(),PriorityPolicyName := priorityPolicy.Name(),PriorityResultScore := value,
                                                           Quantity := this.Quantity(),SalesSegmentName := this.SalesSegmentName(),StockingPointID := this.StockingPointID(),
                                                           UnitOfMeasureName := this.UnitOfMeasureName(),PriorityTotalScore := value
                                                           );
    }
    e := this.PriorityResult();
    businessTypeScore := max( e,PriorityResultBusinessTypeDetail,p,
                              p.PriorityTotalScore()
                              );
    groupScore := max( e,PriorityResultGroupDetail,p,
                       p.PriorityTotalScore()
                       );
    value := maxvalue( businessTypeScore,groupScore);
    e.PriorityResultScore( value );
  *]
}
_Main/BL/Type_PriorityFactor/Attribute_BusinessType.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactor/Method_CreatePrioitifyFacotrDetail.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod InitData (
  MacroPlan owner
  BusinessType businessType
)
{
  Description: '初始化基础数据(测试阶段使用)'
@@ -11,32 +11,25 @@
    // businessType
    // result := "集团面板;专业显示事业部;外卖CELL;非显;运动健康;运动健康事业部;手机事业部;特种显示;汽车电子事业部;车载显示事业部;IT事业部";
    
    businessType := "";
    // å¦‚果已经存在优先级数据 åˆ™ä¸åšå¤„理
    list := selectset( owner,PriorityFactor,p,true);
    if( list.Size() = 0 )
    {
    list := selectset( businessType,PriorityFactor,p,true);
    if( list.Size() = 0 ){
          
          // æ·»åŠ äº‹ä¸šéƒ¨å¯¹åº”çš„é¢„åˆ¶ä¼˜å…ˆçº§å› å­æ•°æ®
          owner.PriorityFactor(relnew,Name := "客户策略" ,Desc := "将事业部计算的优先级,按该细分项比例阶梯确定该项得分。如:81%≤X≤100% 5分,61%≤X≤80% 4分", BusinessType := businessType, Coefficient := 100 );
          owner.PriorityFactor(relnew,Name := "客户等级" ,Desc := "根据需求数据中客户,匹配客户等级",BusinessType := businessType, Coefficient := 100);
          owner.PriorityFactor(relnew,Name := "大张盈利水平" ,Desc := "1、获取客户*SKU大张盈利数 2、定义客户*SKU大张盈利数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", BusinessType := businessType, Coefficient := 100 );
          owner.PriorityFactor(relnew,Name := "细分市场等级" ,Desc := "1、获取客户*SKU对应细分市场等级 2、匹配需求数据中客户及SKU对应细分市场评分等级,得到对应阶梯得分", BusinessType := businessType, Coefficient := 100 );
          owner.PriorityFactor(relnew,Name := "需求类型" ,Desc := "匹配不同需求种类,得到对应得分", BusinessType := businessType, Coefficient := 100 );
          owner.PriorityFactor(relnew,Name := "订单下单时间" ,Desc := "根据需求订单中下单时间与需求时间差值,匹配阶梯得分", BusinessType := businessType, Coefficient := 100 );
          owner.PriorityFactor(relnew,Name := "产品等级" ,Desc := "1、获取客户*SKU DOI&DSI数 2、定义客户*SKUDOI&DSI数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", BusinessType := businessType, Coefficient := 100 );
          owner.PriorityFactor(relnew,Name := "DOI" ,Desc := "1、获取客户*SKU DOI&DSI数 2、定义客户*SKUDOI&DSI数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", BusinessType := businessType, Coefficient := 100 );
          owner.PriorityFactor(relnew,Name := "DSI" ,Desc := "1、获取客户*SKU DOI&DSI数 2、定义客户*SKUDOI&DSI数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", BusinessType := businessType, Coefficient := 100 );
          businessType.PriorityFactor(relnew,Name := "客户策略" ,Desc := "将事业部计算的优先级,按该细分项比例阶梯确定该项得分。如:81%≤X≤100% 5分,61%≤X≤80% 4分", Coefficient := 100 );
          businessType.PriorityFactor(relnew,Name := "客户等级" ,Desc := "根据需求数据中客户,匹配客户等级", Coefficient := 100);
          businessType.PriorityFactor(relnew,Name := "大张盈利水平" ,Desc := "1、获取客户*SKU大张盈利数 2、定义客户*SKU大张盈利数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", Coefficient := 100 );
          businessType.PriorityFactor(relnew,Name := "细分市场等级" ,Desc := "1、获取客户*SKU对应细分市场等级 2、匹配需求数据中客户及SKU对应细分市场评分等级,得到对应阶梯得分", Coefficient := 100 );
          businessType.PriorityFactor(relnew,Name := "需求类型" ,Desc := "匹配不同需求种类,得到对应得分", Coefficient := 100 );
          businessType.PriorityFactor(relnew,Name := "订单下单时间" ,Desc := "根据需求订单中下单时间与需求时间差值,匹配阶梯得分", Coefficient := 100 );
          businessType.PriorityFactor(relnew,Name := "产品等级" ,Desc := "1、获取客户*SKU DOI&DSI数 2、定义客户*SKUDOI&DSI数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", Coefficient := 100 );
          businessType.PriorityFactor(relnew,Name := "DOI" ,Desc := "1、获取客户*SKU DOI&DSI数 2、定义客户*SKUDOI&DSI数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", Coefficient := 100 );
          businessType.PriorityFactor(relnew,Name := "DSI" ,Desc := "1、获取客户*SKU DOI&DSI数 2、定义客户*SKUDOI&DSI数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", Coefficient := 100 );
          
          // ä¼˜å…ˆçº§å› å­ç»†åˆ†
          priorityFactorList := selectset( owner,PriorityFactor,p,
                                           p.BusinessType() = businessType
                                           );
          traverse( priorityFactorList,Elements,e)
          traverse( businessType,PriorityFactor,e)
          {
              PriorityFactorDetail::InitData( owner,e);
              PriorityFactorDetail::InitData( businessType,e);
          }
    
    }
_Main/BL/Type_PriorityFactorDetails/Attribute_BusinessType.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod InitData (
  MacroPlan owner,
  BusinessType businessType,
  PriorityFactor priorityFactor
)
{
@@ -11,92 +11,92 @@
    // NBoTk Sep-17-2023 (created)
    
    isBusinessType := false;
    if( priorityFactor.BusinessType() <> "集团面板" )
    if( priorityFactor.BusinessType().BusinessTypeName() <> "集团面板" )
    {
        isBusinessType := true; 
    }
    
    if( priorityFactor.Name() = "大张盈利水平" )
    {
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 5,
                                            IsRange := false,GradingName := "大盈",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 3,
                                                IsRange := false,GradingName := "小盈",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 0,
                                                IsRange := false,GradingName := "持平",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := -3,
                                                IsRange := false,GradingName := "小亏",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := -5,
                                                IsRange := false,GradingName := "大亏",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
    }
    
    if( priorityFactor.Name() = "客户策略" )
    {
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 5,
                                            IsRange := false,GradingName := "81%≤X≤100%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 4,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 4,
                                                IsRange := false,GradingName := "61%≤X≤80%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 3,
                                                IsRange := false,GradingName := "41%≤X≤60%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 2,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 2,
                                                IsRange := false,GradingName := "21%≤X≤40%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 1,
                                                IsRange := false,GradingName := "1%≤X≤20%",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
    }
    
    if( priorityFactor.Name() = "细分市场等级" )
    {
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 5,
                                            IsRange := false,GradingName := "战略",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 3,
                                                IsRange := false,GradingName := "重点",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 1,
                                                IsRange := false,GradingName := "潜力",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
    }
    
    if( priorityFactor.Name() = "订单下单时间" )
    {
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 5,
                                            IsRange := false,GradingName := "120",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 4,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 4,
                                                IsRange := false,GradingName := "90",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 3,
                                                IsRange := false,GradingName := "60",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 2,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 2,
                                                IsRange := false,GradingName := "30",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 1,
                                                IsRange := false,GradingName := "0",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
    }
    
    if( priorityFactor.Name() = "需求类型" )
    {
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 5,
                                            IsRange := false,GradingName := "有预测",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 3,
                                                IsRange := false,GradingName := "无预测",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 1,
                                                IsRange := false,GradingName := "纯预测",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
    }
    
    if( priorityFactor.Name() = "客户等级" )
    {
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 5,
                                            IsRange := false,GradingName := "战略",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 3,
                                                IsRange := false,GradingName := "重点",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
        priorityFactor.PriorityFactorDetail(relnew, 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.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 5,
                                            IsRange := false,GradingName := "<7",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 3,
                                                IsRange := false,GradingName := "<15",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 1,
                                                IsRange := false,GradingName := "<30",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
        priorityFactor.PriorityFactorDetail(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 1,
        priorityFactor.PriorityFactorDetail(relnew, IsBusinessType := isBusinessType,GradeTarget := 1,
                                                IsRange := false,GradingName := ">30",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());                                                                                     
    }
  *]
_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityPolicy/Attribute_isDefault.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute isDefault
{
  #keys: '3[414996.0.108641097][414996.0.108641096][414996.0.108641098]'
  ValueType: Boolean
}
_Main/BL/Type_PriorityPolicy/DefaultValue_isDefault.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  ISOValue: 'false'
  TargetAttribute: isDefault
}
_Main/BL/Type_PriorityPolicy/Method_SetDefault.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
Quintiq file version 2.0
#parent: #root
Method SetDefault
{
  TextBody:
  [*
    // Akari Nov-12-2023 (created)
    def := select( this.BusinessType(),PriorityPolicy,pp,pp.isDefault());
    if( not isnull( def )){
      def.isDefault( false );
    }
    this.isDefault( true );
  *]
}
_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetCalcFormula (
  MacroPlan macroPlan,
  BusinessType businessType,
  String formula
) as String
{
@@ -9,15 +9,11 @@
  TextBody:
  [*
    // NBoTk Oct-7-2023 (created)
    priorityFactor := null( PriorityFactor);
    traverse( macroPlan,PriorityFactor,p)
    {
         if( formula.StartsWith( p.Name()) )
         {
            priorityFactor := p;
         }
    priorityFactor := select( businessType,PriorityFactor,pf,formula.StartsWith( pf.Name()));
    value := '';
    if( not isnull( priorityFactor )){
      value := priorityFactor.Name() + "[" + [String]priorityFactor.Coefficient() +"*L]";
    }
    value := priorityFactor.Name() + "[" + [String]priorityFactor.Coefficient() +"*L]";
    return value;
  *]
}
_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetCalcStr (
  MacroPlan macroPlan,
  BusinessType businessType,
  String formula,
  String lastCalcStr
) as String
@@ -21,71 +21,71 @@
            if(remindFormula.StartsWith( "+" ))
            {
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula);
                calcStr := PriorityPolicy::GetCalcFormula(businessType,remindFormula);
                calcStr := lastCalcStr + "+" + calcStr;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityPolicy::GetCalcStr(  macroPlan,remindFormula,calcStr);
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,businessType);
                PriorityPolicy::GetCalcStr(  businessType,remindFormula,calcStr);
            }
            else if( remindFormula.StartsWith( "-" ))
            {
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula);
                calcStr := PriorityPolicy::GetCalcFormula(businessType,remindFormula);
                calcStr := lastCalcStr + "-" + calcStr;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityPolicy::GetCalcStr(  macroPlan,remindFormula,calcStr);
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,businessType);
                PriorityPolicy::GetCalcStr(  businessType,remindFormula,calcStr);
            }
            else if( remindFormula.StartsWith( "*" ) )
            {
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula);
                calcStr := PriorityPolicy::GetCalcFormula(businessType,remindFormula);
                calcStr := lastCalcStr + "*" + calcStr;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityPolicy::GetCalcStr(  macroPlan,remindFormula,calcStr);
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,businessType);
                PriorityPolicy::GetCalcStr(  businessType,remindFormula,calcStr);
            }
            else if( remindFormula.StartsWith( "/" ) )
            {
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula);
                calcStr := PriorityPolicy::GetCalcFormula(businessType,remindFormula);
                calcStr := lastCalcStr + "/" + calcStr;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityPolicy::GetCalcStr(  macroPlan,remindFormula,calcStr);
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,businessType);
                PriorityPolicy::GetCalcStr(  businessType,remindFormula,calcStr);
            }
            else if( remindFormula.StartsWith( "(" ) )
            {
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula);
                calcStr := PriorityPolicy::GetCalcFormula(businessType,remindFormula);
                calcStr := lastCalcStr + "{" + calcStr;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityPolicy::GetCalcStr(  macroPlan,remindFormula,calcStr);
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,businessType);
                PriorityPolicy::GetCalcStr(  businessType,remindFormula,calcStr);
            }
            else if( remindFormula.StartsWith( ")" ) )
            {
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula);
                calcStr := PriorityPolicy::GetCalcFormula(businessType,remindFormula);
                calcStr := lastCalcStr + ")" + calcStr;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityPolicy::GetCalcStr(  macroPlan,remindFormula,calcStr);
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,businessType);
                PriorityPolicy::GetCalcStr(  businessType,remindFormula,calcStr);
            }
            else
            {
                // ä¸æ˜¯ç¬¦å· ç›´æŽ¥èŽ·å–è®¡ç®—åŽçš„æ•°å€¼
                calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula);
                calcStr := PriorityPolicy::GetCalcFormula(businessType,remindFormula);
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityPolicy::GetCalcStr(  macroPlan,remindFormula,calcStr);
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,businessType);
                PriorityPolicy::GetCalcStr(  businessType,remindFormula,calcStr);
            }
      
    }
_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl
@@ -1,8 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod RollBackCalcStr (
  MacroPlan owner,
  String businessType,
  BusinessType businessType,
  String stringData
) as String
{
@@ -29,10 +28,9 @@
        } 
    }
    
    nameList := PriorityFactor::GetDataByBusinessType(  owner,"");
    traverse( nameList,Elements,e)
    traverse( businessType,PriorityFactor,priorityFactor)
    {
        nameText := e.Name() + "[" + [String]e.Coefficient() + "*L]"
        nameText := priorityFactor.Name() + "[" + [String]priorityFactor.Coefficient() + "*L]"
        if( stringData.EndsWith( nameText))
        {
             end := stringData.Length() - nameText.Length();
_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl
@@ -1,8 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod RollBackStr (
  MacroPlan owner,
  String businessType,
  BusinessType businessType,
  String stringData
) as String
{
@@ -27,13 +26,12 @@
             value := stringData.SubString( 0,end);
        } 
    }
    nameList := PriorityFactor::GetDataByBusinessType(  owner,"");
    traverse( nameList,Elements,e)
    traverse( businessType,PriorityFactor,priorityFactor)
    {
        if( stringData.EndsWith( e.Name()))
        if( stringData.EndsWith( priorityFactor.Name()))
        {
             end := stringData.Length() - e.Name().Length();
             end := stringData.Length() - priorityFactor.Name().Length();
             value := stringData.SubString( 0,end);
        } 
    }
_Main/BL/Type_PriorityResult/Attribute_OldPriorityName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute OldPriorityName
{
  #keys: '3[414996.0.111544204][414996.0.111544203][414996.0.111544205]'
  ValueType: String
}
_Main/BL/Type_PriorityResult/Attribute_Point.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Point
{
  #keys: '3[414996.0.108590068][414996.0.108590067][414996.0.108590069]'
  ValueType: Number
}
_Main/BL/Type_PriorityResult/StaticMethod_CalculateBracketScore.qbl
@@ -3,9 +3,7 @@
StaticMethod CalculateBracketScore (
  String calcStr,
  CustomerOrder customerOrder,
  String businessType,
  MacroPlan macroPlan,
  const GlobalOTDTable globalOTDTable
  BusinessType businessType
) as Real
{
  Description: '计算公式中括号内的数据'
@@ -14,6 +12,6 @@
    // NBoTk Sep-26-2023 (created)
    
    
    return PriorityResult::CalculateScore( calcStr,customerOrder,businessType,macroPlan,0.0,globalOTDTable);
    return PriorityResult::CalculateScore( calcStr,customerOrder,businessType,0.0);
  *]
}
_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl
@@ -3,10 +3,8 @@
StaticMethod CalculateScore (
  String formula,
  CustomerOrder customerOrder,
  String businessType,
  MacroPlan macroPlan,
  Real lastScore,
  const GlobalOTDTable globalOTDTable
  BusinessType businessType,
  Real lastScore
) as Real
{
  Description: '递归处理优先级策略公式'
@@ -21,51 +19,51 @@
            // ä»Žèµ·å§‹ä½ç½®å¼€å§‹åŒ¹é… 
            if(remindFormula.StartsWith( "+" )){
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,businessType);
                score := lastScore + score;
    
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,businessType);
                score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,score);
            }else if( remindFormula.StartsWith( "-" )){
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,businessType);
                score := lastScore - score;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,businessType);
                score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,score);
            }else if( remindFormula.StartsWith( "x" ) ){
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,businessType);
                score := lastScore * score;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,businessType);
                score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,score);
            }else if( remindFormula.StartsWith( "/" ) ){
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,businessType);
                score := lastScore / score;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,businessType);
                score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,score);
            }else if( remindFormula.StartsWith( "(" ) ){
                // æ‰¾åˆ°ç¬¬ä¸€ä¸ªç»“束的 )
                // è®¡ç®—括号中的内容
                rightBracket := remindFormula.FindString( ")",0);
                calcStr := remindFormula.SubString( 1,rightBracket);
                PriorityResult::CalculateBracketScore(calcStr,customerOrder,businessType,macroPlan,globalOTDTable);
                PriorityResult::CalculateBracketScore(calcStr,customerOrder,businessType);
                
                // æˆªå– ) åŽçš„字符继续进行计算
                remindFormula := remindFormula.SubString( rightBracket,remindFormula.Length()-1);
            }else{
                // ä¸æ˜¯ç¬¦å· ç›´æŽ¥èŽ·å–è®¡ç®—åŽçš„æ•°å€¼
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,businessType);
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                score := PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,businessType);
                score := PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,score);
            }
    }
    // æ²¡æœ‰åŒ¹é… å…¬å¼è®¡ç®—完成
_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl
@@ -3,8 +3,7 @@
StaticMethod GetDetailsValue (
  CustomerOrder customerOrder,
  String formula,
  MacroPlan macroPlan,
  const GlobalOTDTable globalOTDTable
  BusinessType businessType
) as Real
{
  Description: '计算优先级因子得分'
@@ -12,126 +11,98 @@
  [*
    // NBoTk Sep-26-2023 (created)
    // å½“前计算优先级因子细分 å¦‚果获取不到全部先默认为1
    globalOTDTable := businessType.GlobalOTDTable();
    
    value := 0.0;
    
    priorityFactor := null( PriorityFactor);
    traverse( macroPlan,PriorityFactor,p)
    {
         if( formula.StartsWith( p.Name()) )
         {
            priorityFactor := p;
         }
    }
    priorityFactor := select( businessType,PriorityFactor,pf,formula.StartsWith( pf.Name()));
    
    if(isnull( priorityFactor) )
    {
    if(isnull( priorityFactor) ){
        value := 1.0;
    }
    else
    {
            if( "客户策略" =  priorityFactor.Name())
            {
    }else{
            if( "客户策略" =  priorityFactor.Name()){
                 obj := selectobject( priorityFactor,PriorityFactorDetail,p , p.PriorityFactorName() = "客户策略" and p.GradingName() = customerOrder.CustomerPolicy());
                 gradeTarget := 1.0;
                 if( not isnull( obj ) )
                 {
                 if( not isnull( obj ) ){
                      gradeTarget := obj.GradeTarget();
                 }
                 value := priorityFactor.Coefficient() * gradeTarget;
            }
            
            if( "大张盈利水平" =  priorityFactor.Name())
            {
            if( "大张盈利水平" =  priorityFactor.Name()){
                 obj := selectobject( priorityFactor,PriorityFactorDetail,p , p.PriorityFactorName() = "大张盈利水平" and  p.GradingName() = customerOrder.SheetProfitability());
                 gradeTarget := 1.0;
                 if( not isnull( obj ) )
                 {
                 if( not isnull( obj ) ){
                      gradeTarget := obj.GradeTarget();
                 }
                 value := priorityFactor.Coefficient() * gradeTarget;
            }
            
            if( "DOI" =  priorityFactor.Name())
            {
            if( "DOI" =  priorityFactor.Name()){
                 // DOI数据
                 obj := selectobject( globalOTDTable,Global_MappingDOI_DSI,doi,doi.ProductID() = customerOrder.ProductID())
                 doi := 1.0;
                 if( not isnull( obj ) )
                 {
                 if( not isnull( obj ) ){
                      doi := [Real]obj.DOI();
                 }
                 value := priorityFactor.Coefficient() * doi;
            }
            
            if( "DSI" =  priorityFactor.Name())
            {
            if( "DSI" =  priorityFactor.Name()){
                 // DOI数据
                 obj := selectobject( globalOTDTable,Global_MappingDOI_DSI,doi,doi.ProductID() = customerOrder.ProductID())
                 dsi := 1.0;
                 if( not isnull( obj ) )
                 {
                 if( not isnull( obj ) ){
                      dsi := [Real]obj.DSI();
                 }
                 value := priorityFactor.Coefficient() * dsi;
            }
            
            if( "细分市场等级" =  priorityFactor.Name())
            {
            if( "细分市场等级" =  priorityFactor.Name()){
                 obj := selectobject( priorityFactor,PriorityFactorDetail,p , p.PriorityFactorName() = "细分市场等级" and p.GradingName() = customerOrder.SegmentPriority());
                 gradeTarget := 1.0;
                 if( not isnull( obj ) )
                 {
                 if( not isnull( obj ) ){
                      gradeTarget := obj.GradeTarget();
                 }
                 value := priorityFactor.Coefficient() * gradeTarget;
            }
            
            if( "需求类型" =  priorityFactor.Name())
            {
            if( "需求类型" =  priorityFactor.Name()){
                // æœ‰é¢„测 æ— é¢„测 çº¯é¢„测
                 obj := selectobject( priorityFactor,PriorityFactorDetail,p,p.GradingName() = customerOrder.OrderType());
                 gradeTarget := 1.0;
                 if( not isnull( obj ) )
                 {
                 if( not isnull( obj ) ){
                      gradeTarget := obj.GradeTarget();
                 }
                 value := priorityFactor.Coefficient() * gradeTarget;
            }
            
            if( "客户等级" =  priorityFactor.Name())
            {
            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 ) )
                 {
                 if( not isnull( obj ) ){
                      customerGrade := [Real]obj.CustomerGrade();
                 }
                 value := priorityFactor.Coefficient() * customerGrade;
            }
            
            if( "订单下单时间" =  priorityFactor.Name())
            {
            if( "订单下单时间" =  priorityFactor.Name()){
                 // ä¸‹å•æ—¶é—´
                 orderTime := customerOrder.OrderTime();
                 days := orderTime.TotalInDays() - customerOrder.EndDate().TotalInDays();
                 obj := null( PriorityFactorDetail);
                 sortDetail := selectsortedset( priorityFactor,PriorityFactorDetail,p,[Number]p.GradingName());
                 traverse( sortDetail,Elements,e )
                 {
                       if( days >= [Number]e.GradingName() )
                       {
                 traverse( sortDetail,Elements,e ){
                       if( days >= [Number]e.GradingName() ){
                              obj := e;
                       }
                 }      
                 //obj := selectobject( priorityFactor,PriorityFactorDetails,p , p.PriorityFactorName() = "订单下单时间" and days >= [Number]p.GradingName());
                 value := 0;
                 if( not isnull( obj) )
                 {
                 if( not isnull( obj) ){
                    value := priorityFactor.Coefficient() * obj.GradeTarget();
                 }
            }
    }
    return value;
_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl
@@ -2,27 +2,20 @@
#parent: #root
StaticMethod GetRemindFormula (
  String formula,
  MacroPlan macroPlan
  BusinessType busenessType
) as String
{
  Description: '优先级策略公式截取'
  TextBody:
  [*
    // NBoTk Sep-26-2023 (created)
    str := "";
    traverse( macroPlan,PriorityFactor,p)
    {
         if( formula.StartsWith( p.Name()) )
         {
    traverse( busenessType,PriorityFactor,p){
         if( formula.StartsWith( p.Name()) ){
              // åˆ¤æ–­å‰©ä½™å­—符长度
              if( p.Name().Length() = formula.Length() )
              {
              if( p.Name().Length() = formula.Length() ){
                 str := ""
              }
              else
              {
              }else{
                str := formula.SubString( p.Name().Length(),formula.Length() - p.Name().Length());
              }
         }
_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl
@@ -1,9 +1,8 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CalculatePriorityResult (
  String priorityPolicyName,
  MacroPlan macroPlan,
  GlobalOTDTable globalOTDTable
  PriorityPolicy priorityPolicy,
  MacroPlan macroPlan
)
{
  Description: '计算customerOrder优先级得分'
@@ -11,48 +10,44 @@
  [*
    // NBoTk Sep-26-2023 (created)
    
    // å…ˆåˆ é™¤åŽ†å²çš„è·‘åˆ†è¯¦æƒ…
    traverse( macroPlan,PriorityResult,p){
          p.PriorityResultBusinessTypeDetail(relflush );
          p.Delete();
    }
    
    // è®¡ç®—客户订单的优先级得分 å›žå¡«æƒé‡æ•°æ® ç”Ÿæˆæ–°çš„Priority明细数据
    traverse( macroPlan,SalesDemand.astype( CustomerOrder ),e){
    traverse( macroPlan,SalesDemand.astype( CustomerOrder ),customerOrder){
          // å…ˆåˆ é™¤åŽ†å²çš„è·‘åˆ†è¯¦æƒ…
         customerOrder.PriorityResult(relflush );
         // äº‹ä¸šéƒ¨ä¿¡æ¯
         businessType := e.BusinessType();
         businessType := priorityPolicy.BusinessType();
         
         // èŽ·å–å¯¹åº”äº‹ä¸šéƒ¨è®¡ç®—å…¬å¼
         priorityPolicys := selectobject( macroPlan,PriorityPolicy,p,p.BusinessType() = businessType and p.Name() = priorityPolicyName);
         formula := priorityPolicys.Formula();
         formula := priorityPolicy.Formula();
         
         // é€’归处理计算公式 èŽ·å–å½“å‰è®¢å•çš„å¾—åˆ†
         value := PriorityResult::CalculateScore( formula,e,businessType,macroPlan,0.0,globalOTDTable);
         value := PriorityResult::CalculateScore( formula,customerOrder,businessType,0.0);
         // ç”Ÿæˆä¼˜å…ˆçº§å› å­è·‘分结果
         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()
         priorityResult := customerOrder.PriorityResult(relnew,CustomerOrderID := customerOrder.ID(),Customer := customerOrder.CustomerName(),CustomerID := customerOrder.CustomerID(),
                                                     DemandDate := customerOrder.EndDate(),ProductID := customerOrder.ProductID(),Quantity := customerOrder.Quantity(),SalesSegmentName := customerOrder.SalesSegmentName(),
                                                     StockingPointID := customerOrder.StockingPointID(),UnitOfMeasureName := customerOrder.UnitOfMeasureName()
                                                     );
         priorityResult.CustomerOrder(relset, e);
         // åˆ¤æ–­æ˜¯é›†å›¢ è¿˜æ˜¯äº‹ä¸šéƒ¨
         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
         if( businessType.BusinessTypeName().FindString( "集团",0 ) <> -1){
              priorityResult.PriorityResultGroupDetail( relnew,Customer := customerOrder.CustomerName(),CustomerID := customerOrder.CustomerID(),
                                                        DemandDate := customerOrder.EndDate(),PriorityPolicyName := priorityPolicy.Name(),PriorityResultScore := value,
                                                        Quantity := customerOrder.Quantity(),SalesSegmentName := customerOrder.SalesSegmentName(),StockingPointID := customerOrder.StockingPointID(),
                                                        UnitOfMeasureName := customerOrder.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
               priorityResult.PriorityResultBusinessTypeDetail( relnew,Customer := customerOrder.CustomerName(),CustomerID := customerOrder.CustomerID(),
                                                                DemandDate := customerOrder.EndDate(),PriorityPolicyName := priorityPolicy.Name(),PriorityResultScore := value,
                                                                Quantity := customerOrder.Quantity(),SalesSegmentName := customerOrder.SalesSegmentName(),StockingPointID := customerOrder.StockingPointID(),
                                                                UnitOfMeasureName := customerOrder.UnitOfMeasureName(),PriorityTotalScore := value
                                                                );      
         }
    }
    
    // ä¼˜å…ˆçº§å› å­å¤„理完成后 æŽ’序回填数据
    
    traverse( macroPlan,PriorityResult,e){
    traverse( macroPlan,SalesDemand.astype( CustomerOrder ).PriorityResult,e){
      businessTypeScore := max( e,PriorityResultBusinessTypeDetail,p,
                                p.PriorityTotalScore()
                                );
@@ -64,7 +59,7 @@
      e.PriorityResultScore( value );
    }
    
    resultList := selectsortedset( macroPlan,PriorityResult,result,
    resultList := selectsortedset( macroPlan,SalesDemand.astype( CustomerOrder ).PriorityResult,result,
                                   true,
                                   -result.PriorityResultScore()
                                   )
@@ -87,6 +82,7 @@
            for( j := 0;j < subListCopy ; j++){
                element := resultList.Element( count1 * subListSize + j + flag );
                element.CustomerOrder().PriorityName( [String]point );
                element.Point( point );
            }
            point --;
            count --;
@@ -96,6 +92,7 @@
      point := 10;
      traverse( resultList,Elements,element){
        element.CustomerOrder().PriorityName([String]point);
        element.Point( point );
        point --;
      }
    }
_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl
@@ -11,7 +11,7 @@
    // NBoTk Sep-21-2023 (created)
    
    
    maxPriorityResult := max( owner,PriorityResult,p,
    maxPriorityResult := max( owner,SalesDemand.astype( CustomerOrder ).PriorityResult,p,
                              p.PriorityResultScore()
                              );
    
@@ -19,7 +19,7 @@
    businessTypeDetails.PriorityTotalScore(topScore);
    
    // ä¼˜å…ˆçº§å› å­å¤„理完成后 æŽ’序回填数据
    resultList := selectsortedset( owner,PriorityResult,result,
    resultList := selectsortedset( owner,SalesDemand.astype( CustomerOrder ).PriorityResult,result,
                                   true,
                                   result.PriorityResultScore()
                                   )
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupSalesViews#633.def
@@ -18,6 +18,10 @@
    {
      #keys: '[414382.0.587601840]'
      BaseType: 'WebButton'
      Children:
      [
        #child: ContextMenuPriority
      ]
      Properties:
      [
        Image: 'QUEUE'
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuPriority.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,53 @@
Quintiq file version 2.0
Component ContextMenuPriority
{
  #keys: '[414996.0.112219209]'
  BaseType: 'WebContextMenu'
  Children:
  [
    Component MenuPriorityFactor
    {
      #keys: '[414996.0.112219210]'
      BaseType: 'WebMenu'
      Properties:
      [
        Taborder: 0
        Title: '优先级因子配置'
      ]
    }
    Component MenuPriorityResult
    {
      #keys: '[414996.0.112219249]'
      BaseType: 'WebMenu'
      Properties:
      [
        Taborder: 2
        Title: '优先级结果页面'
      ]
    }
    Component MenuPriorityPolicy
    {
      #keys: '[414996.0.112219311]'
      BaseType: 'WebMenu'
      Properties:
      [
        Taborder: 1
        Title: '优先级策略配置'
      ]
    }
    Component MenuBusinessType
    {
      #keys: '[414996.0.112219354]'
      BaseType: 'WebMenu'
      Properties:
      [
        Taborder: 3
        Title: '事业部&组织编码维护'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupSalesViews_ButtonPriority_OnClick.def
@@ -9,7 +9,7 @@
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "PriorityTest",true);
      // ApplicationScope.ViewManager().ResetUserViewById( "PriorityTest",true);
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuPriority_MenuBusinessType_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: ContextMenuPriority/MenuBusinessType
Response OnClick () id:Response_TIANMA_JITUAN_ContextMenuPriority_MenuBusinessType_OnClick
{
  #keys: '[414996.0.112219829]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  NavigateToAction
  {
    ExpressionParameter.Parameters Data
    {
    }
    ParseableTypeParameter.Parameters Component
    {
      ParameterType: 'internal[WebForm]'
      Value: 'FormBusinessType'
    }
    StringActionParameter.Parameters ShowMode
    {
      Value: 'open'
    }
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuPriority_MenuPriorityFactor_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: ContextMenuPriority/MenuPriorityFactor
Response OnClick () id:Response_TIANMA_JITUAN_ContextMenuPriority_MenuPriorityFactor_OnClick
{
  #keys: '[414996.0.112219530]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  NavigateToAction
  {
    ExpressionParameter.Parameters Data
    {
    }
    ParseableTypeParameter.Parameters Component
    {
      ParameterType: 'internal[WebForm]'
      Value: 'FormPriorityFactor'
    }
    StringActionParameter.Parameters ShowMode
    {
      Value: 'open'
    }
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuPriority_MenuPriorityPolicy_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: ContextMenuPriority/MenuPriorityPolicy
Response OnClick () id:Response_TIANMA_JITUAN_ContextMenuPriority_MenuPriorityPolicy_OnClick
{
  #keys: '[414996.0.112219636]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  NavigateToAction
  {
    ExpressionParameter.Parameters Data
    {
    }
    ParseableTypeParameter.Parameters Component
    {
      ParameterType: 'internal[WebForm]'
      Value: 'FormPriorityPolicy'
    }
    StringActionParameter.Parameters ShowMode
    {
      Value: 'open'
    }
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuPriority_MenuPriorityResult_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: ContextMenuPriority/MenuPriorityResult
Response OnClick () id:Response_TIANMA_JITUAN_ContextMenuPriority_MenuPriorityResult_OnClick
{
  #keys: '[414996.0.112219733]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  NavigateToAction
  {
    ExpressionParameter.Parameters Data
    {
    }
    ParseableTypeParameter.Parameters Component
    {
      ParameterType: 'internal[WebForm]'
      Value: 'FormPriorityResult'
    }
    StringActionParameter.Parameters ShowMode
    {
      Value: 'open'
    }
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlContent.def
@@ -5,25 +5,52 @@
  BaseType: 'WebPanel'
  Children:
  [
    Component PriorityPolicyStringList
    {
      #keys: '[414382.0.563131262]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Taborder: 0
      ]
    }
    Component DataHolderChoosePriorityPolicy
    Component DataHolderBusinessType
    {
      #keys: '[414382.0.563131279]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[PriorityPolicy]*'
      Databinding: 'BusinessType'
      Properties:
      [
        Taborder: 1
      ]
    }
    Component DropDownListPriorityPolicy
    {
      #keys: '[414996.0.100748747]'
      BaseType: 'WebDropDownList'
      Children:
      [
        Component deContent
        {
          #keys: '[414996.0.100748749]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'BusinessType'
            Source: 'DataHolderBusinessType'
            Taborder: 0
            Transformation: 'PriorityPolicy'
          ]
        }
      ]
      Properties:
      [
        DisplayField: 'Name'
        Label: '优先级策略:'
        Taborder: 0
      ]
    }
    Component DataHolderPriorityPolicySelect
    {
      #keys: '[414996.0.104238409]'
      BaseType: 'WebDataHolder'
      Databinding: 'PriorityPolicy'
      Properties:
      [
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_CalculatePriorityResult.def
@@ -1,13 +1,13 @@
Quintiq file version 2.0
#parent: #root
Method CalculatePriorityResult (
  String name
  PriorityPolicy priorityPolicy
) id:Method_DialogChoosePriorityPolicy_CalculatePriorityResult
{
  #keys: '[414382.0.577602130]'
  Body:
  [*
    PriorityResult::CalculatePriorityResult(name,MacroPlan,GlobalOTDTable);
    PriorityResult::CalculatePriorityResult(priorityPolicy,MacroPlan);
    this.Close();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_OpenChoose.def
@@ -1,10 +1,14 @@
Quintiq file version 2.0
#parent: #root
Method OpenChoose () id:Method_DialogChoosePriorityPolicy_OpenChoose
Method OpenChoose (
  String businessType
) id:Method_DialogChoosePriorityPolicy_OpenChoose
{
  #keys: '[414382.0.563950563]'
  Body:
  [*
    ApplicationMacroPlanner.ShowFormModal( this );
    temp := select( GlobalOTDTable,BusinessType,bt,bt.BusinessTypeName() = businessType);
    DataHolderBusinessType.Data( temp );
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def
@@ -8,9 +8,9 @@
  {
    Body:
    [*
      name := PriorityPolicyStringList.Text();
      priorityPolicy := DataHolderPriorityPolicySelect.Data( );
      dlg := construct( DialogChoosePriorityPolicy );
      dlg.CalculatePriorityResult(name);
      dlg.CalculatePriorityResult(priorityPolicy);
      Form.Close();
    *]
    GroupServerCalls: false
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnDataChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DropDownListPriorityPolicy_OnSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: pnlContent/DropDownListPriorityPolicy
Response OnSelectionChanged (
  PriorityPolicy selection
) id:Response_pnlContent_DropDownListPriorityPolicy_OnSelectionChanged
{
  #keys: '[414996.0.104020395]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownList_OnSelectionChanged'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      DataHolderPriorityPolicySelect.Data( selection );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Component_pnlContent.def
@@ -5,17 +5,6 @@
  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]'
@@ -82,6 +71,17 @@
        Taborder: 6
      ]
    }
    Component DropDownStringListBusinessTypeName
    {
      #keys: '[414996.0.103124934]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        DataBinding: 'DataHolderSelectCustomerOrder.Data.BusinessType'
        Label: '事业部:'
        Taborder: 0
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Method_EditCustomerOrderPriority.def
@@ -11,6 +11,8 @@
    data := shadow( selection );
    
    DataHolderSelectCustomerOrder.Data( &data );
    businessType := select( GlobalOTDTable,BusinessType,bt,bt.BusinessTypeName() = selection.BusinessType());
    DataHolderSelectBusinessType.Data( businessType );
    
    ApplicationMacroPlanner.ShowFormModal( this );
  *]
_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlContent_DropDownStringListBusinessTypeName_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
Quintiq file version 2.0
#parent: pnlContent/DropDownStringListBusinessTypeName
Response OnCreated () id:Response_pnlContent_DropDownStringListBusinessTypeName_OnCreated
{
  #keys: '[414996.0.104591674]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      strings := '';
      traverse( GlobalOTDTable,BusinessType,bt ){
        strings := strings + bt.BusinessTypeName() + ';';
      }
      if( strings.Length() <> 0 ){
        strings := strings.SubString( 0, strings.Length() - 1 );
      }
      DropDownStringListBusinessTypeName.Strings( strings );
      if( DataHolderSelectCustomerOrder.Data( ).BusinessType() = ''){
        DropDownStringListBusinessTypeName.SetSelectedElementFromString( "");
      }
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/Response_pnlContent_DropDownStringListBusinessTypeName_OnSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: pnlContent/DropDownStringListBusinessTypeName
Response OnSelectionChanged () id:Response_pnlContent_DropDownStringListBusinessTypeName_OnSelectionChanged
{
  #keys: '[414996.0.100715406]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      businessType := select( GlobalOTDTable,BusinessType,bt,bt.BusinessTypeName() = selection);
      DataHolderSelectBusinessType.Data( businessType );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditCustomerOrderPriority/_ROOT_Component_DialogEditCustomerOrderPriority.def
@@ -19,6 +19,16 @@
        Taborder: 2
      ]
    }
    Component DataHolderSelectBusinessType
    {
      #keys: '[414996.0.104406471]'
      BaseType: 'WebDataHolder'
      Databinding: 'BusinessType'
      Properties:
      [
        Taborder: 3
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlActions.def
@@ -35,6 +35,6 @@
    Orientation: 'horizontal'
    Padding: 'true'
    Style: 'footer'
    Taborder: 1
    Taborder: 2
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlContent.def
@@ -73,6 +73,6 @@
  Properties:
  [
    Padding: 'true'
    Taborder: 0
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_Edit.def
@@ -10,6 +10,7 @@
    data := shadow( selection );
    
    DataHolderEditPriorityFactor.Data( &data);
    DataHolderBusinessTyoeSelect.Data( selection.BusinessType());
    ApplicationMacroPlanner.ShowFormModal( this );
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_New.def
@@ -1,18 +1,18 @@
Quintiq file version 2.0
#parent: #root
Method New (
  MacroPlan owner,
  String businessType
  BusinessType owner
) id:Method_DialogEditPriorityFactor_New
{
  #keys: '[414382.0.593002251]'
  Body:
  [*
    data := owner.PriorityFactor(relshadow);
    data.BusinessType(businessType);
    
    DataHolderEditPriorityFactor.Data(&data);
    
    DataHolderBusinessTyoeSelect.Data( owner );
    NewFlag.Checked( true );
    
    ApplicationMacroPlanner.ShowFormModal( this );
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def
@@ -6,16 +6,10 @@
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    feedback := Translations::FilllingCapacity_ValidateInput();
    checkValue := not Coefficient.Text() = '' and not PriorityFactorName.Text() = '';
    if(not checkValue ){
      feedback := Translations::PriorityFactor_CheckNameValid();
      editData := DataHolderEditPriorityFactor.Data();
      checkValue := not PriorityFactor::CheckNameValid( MacroPlan,editData.BusinessType(),[Real]Coefficient.Text(),PriorityFactorName.Text(),Desc.Text());
    }
    checkValue := true;
    if( PriorityFactorName.Text() = ''){
      feedback := Translations::PriorityFactor_CheckNameNull();
      checkValue := false;
    }
    return checkValue
  *]
@@ -23,9 +17,10 @@
  {
    Body:
    [*
      businessType := DataHolderBusinessTyoeSelect.Data( );
      if( NewFlag.Checked() ){
       // New
        repeatOne := select( MacroPlan,PriorityFactor,pf,pf.Name() = PriorityFactorName.Text());
        repeatOne := select( businessType,PriorityFactor,pf,pf.Name() = PriorityFactorName.Text());
        if( not isnull( repeatOne )){
          WebMessageBox::Error( Translations::PriorityFactor_CheckNameValid() ); 
        }else{
@@ -34,7 +29,7 @@
      }else {
              if (EditFlag.Checked() and PriorityFactorNameCache.Text() <>PriorityFactorName.Text()){
                  // Edit
                  repeatOne:=select(MacroPlan, PriorityFactor, pf, pf.Name() = PriorityFactorName.Text());
                  repeatOne:=select(businessType, PriorityFactor, pf, pf.Name() = PriorityFactorName.Text());
                  if (not isnull(repeatOne)){
                      WebMessageBox::Error (Translations::PriorityFactor_CheckNameValid () );
                  }else{
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/_ROOT_Component_DialogEditPriorityFactor.def
@@ -16,7 +16,17 @@
      Databinding: 'shadow[PriorityFactor]*'
      Properties:
      [
        Taborder: 2
        Taborder: 3
      ]
    }
    Component DataHolderBusinessTyoeSelect
    {
      #keys: '[414996.0.103359298]'
      BaseType: 'WebDataHolder'
      Databinding: 'BusinessType'
      Properties:
      [
        Taborder: 0
      ]
    }
  ]
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_New.def
@@ -1,15 +1,13 @@
Quintiq file version 2.0
#parent: #root
Method New (
  MacroPlan owner,
  String businessType
  BusinessType owner
) id:Method_DialogNewPriorityPolicy_New
{
  #keys: '[414382.0.489725864]'
  Body:
  [*
    data := owner.PriorityPolicy(relshadow);
    data.BusinessType(businessType);
    
    DataHolderNewPriorityPolicy.Data(&data);
    
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnOk_OnClick.def
@@ -4,6 +4,11 @@
{
  #keys: '[414382.0.489474427]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    feedback := Translations::PriorityPolicy_NullName();
    return PriorityPolicyName.Text() <> '';
  *]
  QuillAction
  {
    Body:
_Main/UI/MacroPlannerWebApp/Component_Form367/Response_ListBusinessType_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: ListBusinessType
Response OnClick (
  BusinessType selection
) id:Response_ListBusinessType_OnClick
{
  #keys: '[414996.0.100701217]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebList_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      DataHolderBusinessType.Data( selection );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_Form367/_ROOT_Component_FormBusinessType#367.def
@@ -9,6 +9,16 @@
  [
    #child: ListBusinessType
    #child: PanelBusinessType
    Component DataHolderBusinessType
    {
      #keys: '[414996.0.98261558]'
      BaseType: 'WebDataHolder'
      Databinding: 'BusinessType'
      Properties:
      [
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def
@@ -9,8 +9,8 @@
      BaseType: 'WebMenu'
      Properties:
      [
        Taborder: 11
        Title: '事业部优先级计算'
        Taborder: 10
        Title: '事业部优先级计算(全部)'
      ]
    }
    Component MenuEditCustomerOrderPriority
@@ -45,14 +45,14 @@
        Taborder: 13
      ]
    }
    Component MenuSyncInterfaceData
    Component MenuPriorityResultSingle
    {
      #keys: '[414996.0.32330708]'
      #keys: '[414996.0.100747833]'
      BaseType: 'WebMenu'
      Properties:
      [
        Taborder: 10
        Title: '同步接口数据到Customer orders'
        Taborder: 11
        Title: '事业部优先级计算'
      ]
    }
  ]
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuPriorityResultSingle_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: ListSalesDemands
Response OnClick (
  CustomerOrder selection
) id:Response_ListSalesDemands_MenuPriorityResultSingle_OnClick
{
  #keys: '[414996.0.100748099]'
  CanBindMultiple: false
  DefinitionID => //FormSalesDemands/ListSalesDemands/Responsedef_ListSalesDemands_WebMenu_OnClick
  GroupServerCalls: true
  Initiator: 'MenuPriorityResultSingle'
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogChoosePriorityPolicy );
      dlg.OpenChoose(selection.BusinessType());
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuPriorityResult_OnClick.def
@@ -10,9 +10,8 @@
  {
    Body:
    [*
      dlg := construct( DialogChoosePriorityPolicy );
      dlg.OpenChoose();
      // dlg.OpenChoose();
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_listContextMenuSD_MenuSyncInterfaceData_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def
@@ -11,8 +11,8 @@
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'MacroPlan'
        Source: 'MacroPlan'
        DataType: 'BusinessType'
        Source: 'DataHolderBusinessTypeSelect'
        Taborder: 0
        Transformation: 'PriorityFactor'
      ]
@@ -36,7 +36,7 @@
  ]
  Properties:
  [
    Taborder: 2
    Taborder: 3
  ]
  ResponseDefinitions:
  [
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactorGrading#667.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_ListPriorityFactorGrading.def ÐÞ¸Ä
@@ -1,30 +1,30 @@
Quintiq file version 2.0
Component ListPriorityFactorGrading
Component ListPriorityFactorGrading id:ListPriorityFactorGrading_667
{
  #keys: '[414382.0.479530865]'
  #keys: '[414996.0.108723948]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPriorityFactorGrading961
    {
      #keys: '[414382.0.479530866]'
      #keys: '[414996.0.108723949]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'PriorityFactor'
        Source: 'DataHolderPriorityFactor'
        Source: 'DataHolderPriorityFactorSelect'
        Taborder: 0
        Transformation: 'PriorityFactorDetail'
      ]
    }
    #child: listActionBarPagePriorityFactorGrading
    #child: listActionBarPagePriorityFactorGrading_1
    Component DataSetLevelPriorityFactorGrading
    {
      #keys: '[414382.0.479530871]'
      #keys: '[414996.0.108723951]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPriorityFactorGrading
        #child: listContextMenuPriorityFactorGrading_1
      ]
      Properties:
      [
@@ -36,13 +36,13 @@
  ]
  Properties:
  [
    Taborder: 1
    Taborder: 5
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPriorityFactorGrading_WebMenu_OnClick
    DelegatedResponseDefinition OnClick id:Responsedef_ListPriorityFactorGrading_667_WebMenu_OnClick
    {
      #keys: '[414382.0.482374475]'
      #keys: '[414996.0.108723941]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listActionBarPagePriorityFactorGrading#1.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePriorityFactorGrading id:listActionBarPagePriorityFactorGrading_1
{
  #keys: '[414996.0.108723950]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactorGrading#1.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def ÐÞ¸Ä
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component listContextMenuPriorityFactorGrading
Component listContextMenuPriorityFactorGrading id:listContextMenuPriorityFactorGrading_1
{
  #keys: '[414382.0.479530873]'
  #keys: '[414996.0.108723952]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuEditPriorityFactorGrading
    {
      #keys: '[414996.0.32342387]'
      #keys: '[414996.0.108723953]'
      BaseType: 'WebMenu'
      Properties:
      [
@@ -18,7 +18,7 @@
    }
    Component MenuDeletePriorityFactorGrading
    {
      #keys: '[414996.0.32342398]'
      #keys: '[414996.0.108723954]'
      BaseType: 'WebMenu'
      Properties:
      [
@@ -29,7 +29,7 @@
    }
    Component MenuNewPriorityFactorGrading
    {
      #keys: '[414996.0.40230778]'
      #keys: '[414996.0.108723955]'
      BaseType: 'WebMenu'
      Properties:
      [
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderBusinessTypeSelect_OnDataChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: DataHolderBusinessTypeSelect
Response OnDataChanged () id:Response_FormPriorityFactor_DataHolderBusinessTypeSelect_OnDataChanged
{
  #keys: '[414996.0.110940955]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      DataHolderPriorityFactorSelect.Data( null( PriorityFactor ));
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownListBusinessType_OnSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: DropDownListBusinessType
Response OnSelectionChanged (
  BusinessType selection
) id:Response_FormPriorityFactor_DropDownListBusinessType_OnSelectionChanged
{
  #keys: '[414996.0.111638798]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownList_OnSelectionChanged'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      DataHolderBusinessTypeSelect.Data( selection );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactorGrading_667_MenuDeletePriorityFactorGrading_OnCli.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuDeletePriorityFactorGrading_OnClick.def ÐÞ¸Ä
@@ -1,12 +1,12 @@
Quintiq file version 2.0
#parent: ListPriorityFactorGrading
#parent: ListPriorityFactorGrading_667
Response OnClick (
  structured[PriorityFactorDetail] selction
) id:Response_ListPriorityFactorGrading_MenuDeletePriorityFactorGrading_OnClick
) id:Response_ListPriorityFactorGrading_667_MenuDeletePriorityFactorGrading_OnClick
{
  #keys: '[414996.0.36022233]'
  #keys: '[414996.0.108723946]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityFactorGrading/Responsedef_ListPriorityFactorGrading_WebMenu_OnClick
  DefinitionID => /ListPriorityFactorGrading_667/Responsedef_ListPriorityFactorGrading_667_WebMenu_OnClick
  GroupServerCalls: true
  Initiator: 'MenuDeletePriorityFactorGrading'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactorGrading_667_MenuEditPriorityFactorGrading_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: ListPriorityFactorGrading_667
Response OnClick (
  PriorityFactorDetail selction
) id:Response_ListPriorityFactorGrading_667_MenuEditPriorityFactorGrading_OnClick
{
  #keys: '[414996.0.108723945]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityFactorGrading_667/Responsedef_ListPriorityFactorGrading_667_WebMenu_OnClick
  GroupServerCalls: true
  Initiator: 'MenuEditPriorityFactorGrading'
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogEditPriorityFactorDetail );
      dlg.Edit( selction );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactorGrading_667_MenuNewPriorityFactorGrading_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: ListPriorityFactorGrading_667
Response OnClick () id:Response_ListPriorityFactorGrading_667_MenuNewPriorityFactorGrading_OnClick
{
  #keys: '[414996.0.108723944]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityFactorGrading_667/Responsedef_ListPriorityFactorGrading_667_WebMenu_OnClick
  GroupServerCalls: true
  Initiator: 'MenuNewPriorityFactorGrading'
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogEditPriorityFactorDetail );
      dlg.New( DataHolderPriorityFactorSelect.Data( ));
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactorGrading_667_OnDoubleClick.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_OnDoubleClick.def ÐÞ¸Ä
@@ -1,10 +1,10 @@
Quintiq file version 2.0
#parent: ListPriorityFactorGrading
#parent: ListPriorityFactorGrading_667
Response OnDoubleClick (
  PriorityFactorDetail selection
) id:Response_ListPriorityFactorGrading_OnDoubleClick
) id:Response_ListPriorityFactorGrading_667_OnDoubleClick
{
  #keys: '[414996.0.62960783]'
  #keys: '[414996.0.108723942]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebList_OnDoubleClick'
  GroupServerCalls: true
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuInit_OnClick.def
@@ -11,7 +11,10 @@
    Body:
    [*
      // åˆå§‹åŒ–优先级因子
      PriorityFactor::InitData( MacroPlan);
      businessType := DataHolderBusinessTypeSelect.Data( );
      if( not isnull( businessType )){
        PriorityFactor::InitData( businessType );
      }
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNewPriorityFactor_OnClick.def
@@ -9,12 +9,18 @@
  DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
  GroupServerCalls: true
  Initiator: 'MenuNewPriorityFactor'
  Precondition:
  [*
    busenessType := DataHolderBusinessTypeSelect.Data( );
    return not isnull( busenessType );
  *]
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogEditPriorityFactor );
      dlg.New( MacroPlan,"" );
      dlg.New( DataHolderBusinessTypeSelect.Data( ) );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_listContextMenuPriorityFactor_MenuNewPriorityFactor_OnClick.def
@@ -6,12 +6,17 @@
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  Precondition:
  [*
    businessType := DataHolderBusinessTypeSelect.Data( );
    return not isnull( businessType );
  *]
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogEditPriorityFactor );
      dlg.New( MacroPlan,"");
      dlg.New( DataHolderBusinessTypeSelect.Data( ));
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def
@@ -14,41 +14,29 @@
      Databinding: 'PriorityFactor'
      Properties:
      [
        Taborder: 1
      ]
    }
    Component DropDownStringListBusinessType
    {
      #keys: '[414382.0.461144262]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: '事业部:'
        Taborder: 0
        Visible: false
        Taborder: 2
      ]
    }
    #child: ListPriorityFactor
    Component DataHolderPriorityFactorDetailsSelect
    Component DataHolderBusinessTypeSelect
    {
      #keys: '[414382.0.482103344]'
      #keys: '[414996.0.98260335]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[PriorityFactorDetail]*'
      Databinding: 'BusinessType'
      Properties:
      [
        Taborder: 3
        Taborder: 1
      ]
    }
    Component DataHolderPriorityFactorBusinessType
    Component DropDownListBusinessType
    {
      #keys: '[414382.0.539205233]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[BusinessType]*'
      #keys: '[414996.0.111638646]'
      BaseType: 'WebDropDownList'
      Children:
      [
        Component DataExtractorPriorityFactorBusinessType
        Component DataExtractorBusinessType
        {
          #keys: '[414382.0.584060499]'
          #keys: '[414996.0.111638648]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
@@ -61,7 +49,21 @@
      ]
      Properties:
      [
        DisplayField: 'BusinessTypeName'
        Label: '事业部:'
        Taborder: 0
      ]
    }
    #child: ListPriorityFactorGrading_667
    Component LabelPriorityFactor
    {
      #keys: '[414996.0.110901253]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '优先级因子细分:'
        Taborder: 4
        Text: ' '
      ]
    }
  ]
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listActionBarPagePriorityFactorGrading.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEditPriorityFactorGrading_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuNewPriorityFactorGrading_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def
@@ -11,10 +11,10 @@
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'structured[PriorityPolicy]'
        Source: 'DataHolderPriorityPolicyShowList'
        DataType: 'BusinessType'
        Source: 'DataHolderBusinessTypeSelect'
        Taborder: 0
        Transformation: 'Elements'
        Transformation: 'PriorityPolicy'
      ]
    }
    #child: listActionBarPagePriorityPolicy
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyCoefficient#902.def
@@ -11,6 +11,7 @@
      BaseType: 'WebLabel'
      Properties:
      [
        DataBinding: 'DataHolderPriorityFactorSelect.Data.Coefficient'
        Label: '因子的系数'
        Taborder: 0
      ]
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperation.def
@@ -11,6 +11,7 @@
      BaseType: 'WebLabel'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityPolicy.Data.Name'
        Label: '优先级策略名称:'
        Taborder: 0
      ]
@@ -21,6 +22,7 @@
      BaseType: 'WebLabel'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityPolicy.Data.Formula'
        Label: '公式:'
        Taborder: 1
      ]
@@ -31,6 +33,7 @@
      BaseType: 'WebLabel'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityPolicy.Data.CalculateValue'
        Label: '计算值:'
        Taborder: 2
      ]
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton#713.def
@@ -12,7 +12,7 @@
      Properties:
      [
        Label: '添加'
        Taborder: 1
        Taborder: 2
      ]
    }
    Component Buttonplus
@@ -22,7 +22,7 @@
      Properties:
      [
        Label: '+'
        Taborder: 2
        Taborder: 3
      ]
    }
    Component ButtonSubtract
@@ -32,7 +32,7 @@
      Properties:
      [
        Label: '-'
        Taborder: 3
        Taborder: 4
      ]
    }
    Component ButtonMultiply
@@ -42,7 +42,7 @@
      Properties:
      [
        Label: 'x'
        Taborder: 4
        Taborder: 5
      ]
    }
    Component ButtonDivide
@@ -52,7 +52,7 @@
      Properties:
      [
        Label: '/'
        Taborder: 5
        Taborder: 6
      ]
    }
    Component ButtonLeftParenthesis
@@ -62,7 +62,7 @@
      Properties:
      [
        Label: '('
        Taborder: 6
        Taborder: 7
      ]
    }
    Component ButtonRightParenthesis
@@ -72,7 +72,7 @@
      Properties:
      [
        Label: ')'
        Taborder: 7
        Taborder: 8
      ]
    }
    Component ButtonRollBack
@@ -82,19 +82,45 @@
      Properties:
      [
        Label: '<-'
        Taborder: 8
        Taborder: 9
      ]
    }
    Component DropDownStringList
    Component DropDownListPriorityFactor
    {
      #keys: '[414382.0.501480353]'
      BaseType: 'WebDropDownStringList'
      #keys: '[414996.0.100761502]'
      BaseType: 'WebDropDownList'
      Children:
      [
        Component DataExtractorPriorityPolicyOperationButton
        {
          #keys: '[414996.0.100761504]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'BusinessType'
            Source: 'DataHolderBusinessTypeSelect'
            Taborder: 0
            Transformation: 'PriorityFactor'
          ]
        }
      ]
      Properties:
      [
        DisplayField: 'Name'
        Label: '优先级因子'
        Taborder: 0
      ]
    }
    Component DataHolderPriorityFactorSelect
    {
      #keys: '[414996.0.104017667]'
      BaseType: 'WebDataHolder'
      Databinding: 'PriorityFactor'
      Properties:
      [
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listContextMenuPriorityPolicy.def
@@ -38,6 +38,16 @@
        Title: '删除'
      ]
    }
    Component MenuDefault
    {
      #keys: '[414996.0.112126742]'
      BaseType: 'WebMenu'
      Properties:
      [
        Taborder: 6
        Title: '设为默认策略'
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderBusinessTypeSelect_OnDataChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
Quintiq file version 2.0
#parent: DataHolderBusinessTypeSelect
Response OnDataChanged () id:Response_FormPriorityPolicy_DataHolderBusinessTypeSelect_OnDataChanged
{
  #keys: '[414996.0.112168439]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
  GroupServerCalls: true
  QuillAction
  {
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyBusinessType_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyBusinessType_OnDataChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyFactor_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicyFactor_OnDataChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DropDownListBusinessType_OnSelectionChanged#144.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: DropDownListBusinessType_640
Response OnSelectionChanged (
  BusinessType selection
) id:Response_FormPriorityFactor_DropDownListBusinessType_OnSelectionChanged_144
{
  #keys: '[414996.0.108713440]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownList_OnSelectionChanged'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      DataHolderBusinessTypeSelect.Data( selection );
      DataHolderEditPriorityPolicy.Data( shadow(null( PriorityPolicy )))
      DataHolderPriorityFactorSelect.Data( null( PriorityFactor ));
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuDefault_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: ListPriorityPolicy
Response OnClick (
  PriorityPolicy selection
) id:Response_ListPriorityPolicy_MenuDefault_OnClick
{
  #keys: '[414996.0.112126800]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityPolicy/Responsedef_ListPriorityPolicy_WebMenu_OnClick
  GroupServerCalls: true
  Initiator: 'MenuDefault'
  QuillAction
  {
    Body:
    [*
      selection.SetDefault();
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuDelete_OnClick.def
@@ -12,7 +12,6 @@
  {
    Body:
    [*
      selection.Delete();
    *]
    GroupServerCalls: false
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuEdit_OnClick.def
@@ -13,15 +13,9 @@
    Body:
    [*
      dlg := construct( DialogNewPriorityPolicy );
      businessType := PriorityPolicyBusinessType.Text();
      dlg.Edit( selection);
      
      PanelPriorityPolicyOperationName.Text(selection.Name());
      businessType := PriorityPolicyBusinessType.Text();
      str := PriorityFactor::GetNameList( MacroPlan, businessType);
      DropDownStringList.Strings(str);
      LabelFormula.Text(selection.Formula());
      LabelCalculateValue.Text(selection.CalculateValue());
      
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuNew_OnClick.def
@@ -6,13 +6,17 @@
  CanBindMultiple: false
  DefinitionID => /ListPriorityPolicy/Responsedef_ListPriorityPolicy_WebMenu_OnClick
  Initiator: 'MenuNew'
  Precondition:
  [*
    businessType :=  DataHolderBusinessTypeSelect.Data( );
    return not isnull( businessType );
  *]
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogNewPriorityPolicy );
      businessType := PriorityPolicyBusinessType.Text();
      dlg.New( MacroPlan, businessType);
      dlg.New( DataHolderBusinessTypeSelect.Data( ));
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_OnUserSelectionChanged.def
@@ -11,17 +11,8 @@
  {
    Body:
    [*
      PanelPriorityPolicyOperationName.Text(selection.Name());
      businessType := PriorityPolicyBusinessType.Text();
      str := PriorityFactor::GetNameList( MacroPlan, businessType);
      DropDownStringList.Strings(str);
      LabelFormula.Text(selection.Formula());
      LabelCalculateValue.Text(selection.CalculateValue());
      data := shadow( selection );
      DataHolderEditPriorityPolicy.Data( &data );
      DataHolderEditPriorityPolicy.Data(&data);
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def
@@ -16,9 +16,10 @@
  {
    Body:
    [*
      DataHolderEditPriorityPolicy.Data().Formula(LabelFormula.Text());
      DataHolderEditPriorityPolicy.Data().CalculateValue(LabelCalculateValue.Text());
      DataHolderEditPriorityPolicy.Data().Commit();
      priorityPolicy :=  DataHolderEditPriorityPolicy.Data();
      priorityPolicy.Formula(LabelFormula.Text());
      priorityPolicy.CalculateValue(LabelCalculateValue.Text());
      priorityPolicy.Commit();
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def
@@ -11,10 +11,9 @@
    feedback := "请先选择一条优先级策略后再进行编辑公式";
    check := PanelPriorityPolicyOperationName.Text() = "";
    
    if( not check)
    {
    if( not check){
        // åˆ¤æ–­è¯¥ä¼˜å…ˆçº§å› å­æ˜¯å¦å·²ç»è¢«é€‰æ‹©
        check := LabelFormula.Text() ~ DropDownStringList.Text();
        check := LabelFormula.Text() ~ DataHolderPriorityFactorSelect.Data().Name();
        feedback := "该优先级因子已被选择."
    }
    
@@ -25,12 +24,12 @@
    Body:
    [*
      coefficient := LabelPriorityPolicyCoefficient.Text();
      text := DropDownStringList.Text();
      text := DataHolderPriorityFactorSelect.Data().Name();
      
      formulaText := LabelFormula.Text() + text;
      LabelFormula.Text(formulaText);
      
      textCalculate := DropDownStringList.Text() + "[" + coefficient + "*L]";
      textCalculate := text + "[" + coefficient + "*L]";
      calculateText := LabelCalculateValue.Text() + textCalculate;
      LabelCalculateValue.Text(calculateText);
    *]
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def
@@ -16,11 +16,11 @@
  {
    Body:
    [*
      businessType := PriorityPolicyBusinessType.Text();
      formulaText := PriorityPolicy::RollBackStr( MacroPlan,businessType,LabelFormula.Text());
      businessType := DataHolderBusinessTypeSelect.Data( );
      formulaText := PriorityPolicy::RollBackStr( businessType,LabelFormula.Text());
      LabelFormula.Text(formulaText);
      
      calculateTest := PriorityPolicy::RollBackCalcStr( MacroPlan,businessType,LabelCalculateValue.Text());
      calculateTest := PriorityPolicy::RollBackCalcStr(businessType,LabelCalculateValue.Text());
      LabelCalculateValue.Text(calculateTest);
    *]
    GroupServerCalls: false
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownListPriorityFactor_OnSel.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyOperationButton/DropDownListPriorityFactor
Response OnSelectionChanged (
  PriorityFactor selection
) id:Response_PanelPriorityPolicyOperationButton_DropDownListPriorityFactor_OnSelectionChanged
{
  #keys: '[414996.0.103947279]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownList_OnSelectionChanged'
  QuillAction
  {
    Body:
    [*
      DataHolderPriorityFactorSelect.Data( selection );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnSelectionCh.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def
@@ -7,63 +7,37 @@
  BaseType: 'WebForm'
  Children:
  [
    Component PriorityPolicyBusinessType
    #child: ListPriorityPolicy
    #child: PanelPriorityPolicyOperation
    Component DataHolderBusinessTypeSelect
    {
      #keys: '[414382.0.486330570]'
      BaseType: 'WebDropDownStringList'
      #keys: '[414382.0.585736261]'
      BaseType: 'WebDataHolder'
      Databinding: 'BusinessType'
      Properties:
      [
        Label: '事业部:'
        Taborder: 0
        Taborder: 1
      ]
    }
    Component DataHolderPriorityPolicy
    Component DataHolderEditPriorityPolicy
    {
      #keys: '[414382.0.487792124]'
      #keys: '[414996.0.100743970]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[PriorityPolicy]*'
      Children:
      [
        Component DataExtractorPriorityPolicy216
        {
          #keys: '[414382.0.593061574]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'MacroPlan'
            Source: 'MacroPlan'
            Taborder: 0
            Transformation: 'PriorityPolicy'
          ]
        }
      ]
      Databinding: 'shadow[PriorityPolicy]*'
      Properties:
      [
        Taborder: 2
      ]
    }
    #child: ListPriorityPolicy
    #child: PanelPriorityPolicyOperation
    Component DataHolderEditPriorityPolicy
    Component DropDownListBusinessType id:DropDownListBusinessType_640
    {
      #keys: '[414382.0.505995334]'
      BaseType: 'WebDataHolder'
      Databinding: 'shadow[PriorityPolicy]*'
      Properties:
      [
        Taborder: 5
      ]
    }
    Component DataHolderPriorityPolicyBusinessType
    {
      #keys: '[414382.0.585736261]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[BusinessType]*'
      #keys: '[414996.0.108713442]'
      BaseType: 'WebDropDownList'
      Children:
      [
        Component DataExtractorPriorityPolicyBusinessType
        Component DataExtractorBusinessType id:DataExtractorBusinessType_582
        {
          #keys: '[414382.0.585207663]'
          #keys: '[414996.0.108713443]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
@@ -76,42 +50,9 @@
      ]
      Properties:
      [
        Taborder: 6
      ]
    }
    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: 7
      ]
    }
    Component DataHolderPriorityPolicyShowList
    {
      #keys: '[414382.0.593062135]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[PriorityPolicy]*'
      Properties:
      [
        Taborder: 1
        DisplayField: 'BusinessTypeName'
        Label: '事业部:'
        Taborder: 0
      ]
    }
  ]
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResult.def
@@ -14,7 +14,7 @@
        DataType: 'MacroPlan'
        Source: 'MacroPlan'
        Taborder: 0
        Transformation: 'PriorityResult'
        Transformation: 'SalesDemand.astype(CustomerOrder).PriorityResult'
      ]
    }
    #child: listActionBarPagePriorityResult
@@ -28,7 +28,7 @@
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"Customer","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandDate","title":"DemandDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityResultScore","title":"PriorityResultScore","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityResultScore"}}]'
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerOrder.SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerOrder.ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerOrder.StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"Customer","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerOrder.BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerOrder.Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerOrder.UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandDate","title":"DemandDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityResultScore","title":"PriorityResultScore","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityResultScore"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerOrder.PriorityName","title":"优先级","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerOrder.PriorityName"}}]'
        ContextMenu: 'listContextMenuPriorityResult'
        Taborder: 2
      ]
@@ -38,4 +38,22 @@
  [
    Taborder: 0
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPriorityResult_WebMenu_OnClick
    {
      #keys: '[414996.0.110950623]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[217.0.8298830]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResultDetails#633.def
@@ -42,5 +42,6 @@
  [
    Taborder: 1
    Title: '优先级结果明细'
    Visible: false
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResult.def
@@ -3,6 +3,41 @@
{
  #keys: '[414382.0.506312202]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuPriorityResultUrgentPin
    {
      #keys: '[414996.0.106332966]'
      BaseType: 'WebMenu'
      Properties:
      [
        Description: 'Urgent pin '
        Taborder: 3
        Title: '紧急置顶'
      ]
    }
    Component MenuPriorityResultSingle id:MenuPriorityResultSingle_265
    {
      #keys: '[414996.0.108722831]'
      BaseType: 'WebMenu'
      Properties:
      [
        Taborder: 4
        Title: '优先级策略'
      ]
    }
    Component MenuGetCustomerOrder
    {
      #keys: '[414996.0.115030568]'
      BaseType: 'WebMenu'
      Properties:
      [
        Description: 'Urgent pin '
        Taborder: 5
        Title: '获取订单数据'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResult_MenuGetCustomerOrder_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: ListPriorityResult
Response OnClick () id:Response_ListPriorityResult_MenuGetCustomerOrder_OnClick
{
  #keys: '[414996.0.113920515]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityResult/Responsedef_ListPriorityResult_WebMenu_OnClick
  GroupServerCalls: true
  Initiator: 'MenuGetCustomerOrder'
  QuillAction
  {
    Body:
    [*
      traverse( MacroPlan,SalesDemand.astype( CustomerOrder ),co){
         defaultPriorityPolicy := select( GlobalOTDTable,BusinessType.PriorityPolicy,pp,pp.BusinessType().BusinessTypeName() = co.BusinessType() and pp.isDefault() );
         if( not isnull( defaultPriorityPolicy )){
         }
      }
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResult_MenuPriorityResultSingle_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: ListPriorityResult
Response OnClick (
  PriorityResult selection
) id:Response_ListPriorityResult_MenuPriorityResultSingle_OnClick
{
  #keys: '[414996.0.108722987]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityResult/Responsedef_ListPriorityResult_WebMenu_OnClick
  GroupServerCalls: true
  Initiator: 'MenuPriorityResultSingle'
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogChoosePriorityPolicy );
      dlg.OpenChoose(selection.CustomerOrder().BusinessType());
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResult_MenuPriorityResultUrgentPin_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
#parent: ListPriorityResult
Response OnClick (
  PriorityResult selection
) id:Response_ListPriorityResult_MenuPriorityResultUrgentPin_OnClick
{
  #keys: '[414996.0.110950641]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityResult/Responsedef_ListPriorityResult_WebMenu_OnClick
  GroupServerCalls: true
  Initiator: 'MenuPriorityResultUrgentPin'
  QuillAction
  {
    Body:
    [*
      flag := WebMessageBox::Question( "确认紧急指定该需求吗?","Yes|No");
      if( flag = 0 ){
         selection.OldPriorityName( selection.CustomerOrder().PriorityName());
         selection.CustomerOrder().PriorityName( [String]11 );
         selection.Point( 11 );
         WebMessageBox::Question( "成功!","Yes");
      }
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Views/PriorityTest.vw
@@ -14,8 +14,8 @@
          mode: 'open'
          rowPosition: 1
          rowSpan: 11
          columnPosition: 9
          columnSpan: 4
          columnPosition: 1
          columnSpan: 2
        }
        components
        {
@@ -65,10 +65,10 @@
        layout
        {
          mode: 'open'
          rowPosition: 13
          rowSpan: 11
          rowPosition: 12
          rowSpan: 13
          columnPosition: 1
          columnSpan: 4
          columnSpan: 8
        }
        components
        {
@@ -409,9 +409,9 @@
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 12
          columnPosition: 1
          columnSpan: 4
          rowSpan: 11
          columnPosition: 3
          columnSpan: 3
        }
        components
        {
@@ -461,8 +461,8 @@
          mode: 'open'
          rowPosition: 1
          rowSpan: 11
          columnPosition: 5
          columnSpan: 4
          columnPosition: 6
          columnSpan: 3
        }
        components
        {
@@ -510,10 +510,10 @@
        layout
        {
          mode: 'open'
          rowPosition: 12
          rowSpan: 14
          columnPosition: 5
          columnSpan: 7
          rowPosition: 1
          rowSpan: 19
          columnPosition: 9
          columnSpan: 6
        }
        components
        {
@@ -539,7 +539,7 @@
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 433
              width: 214
            }
            column_CalculateValue
            {
@@ -548,7 +548,7 @@
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 644
              width: 315
            }
            column_Desc
            {
@@ -578,10 +578,10 @@
    userconfigurableinformation
    {
    }
    index: 0
    image: ''
    page: ''
    group: ''
    index: 0
    description: ''
  }
  formatversion: 2