limj
2023-09-21 ad0f8318cda8e662a1b8c73216f714f58563047b
填产问题修改
优先级因子与明细
已重命名1个文件
已复制1个文件
已修改31个文件
已添加65个文件
已删除12个文件
4280 ■■■■■ 文件已修改
_Main/BL/InfoMessages.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityFactorDetails_GlobalOTDTable_GlobalOTDTable_PriorityFactorD.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityFactorDetails_PriorityFactor_PriorityFactor_PriorityFactorD.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityFactor_GlobalOTDTable_GlobalOTDTable_PriorityFactor.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityFactor_MacroPlan_MacroPlan_PriorityFactor.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityPolicy_MacroPlan_MacroPlan_PriorityPolicy.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerAndForecastOrder/Attribute_SalesSegmentName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerAndForecastOrder/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerAndForecastOrder/DefaultValue_StockingPointID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_HasAlreadyRelease.qbl 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/Attribute_coefficient.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/Attribute_GroupName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/Attribute_coefficient.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/Function_CalcIsBusinessType.qbl 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/StaticMethod_CreateTestData.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByBusinessType.qbl 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/_ROOT_Type_PriorityPolicy.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlActions.def 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlContent.def 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_ClickBtnOK.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_Edit.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnCancel_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/_ROOT_Component_DialogEditPriorityFactor.def 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlActions.def 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_ClickBtnOK.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_Edit.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnCancel_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetails.def 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Method_New.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlContent_dsDemandDate_OnCreated.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlContent_dsForecastDemandDate_OnCreated.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlContent_dsForecastDemandDate_OnCreated.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnCancel_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnOk_OnClick.def 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Method_New.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlActions_btnOk_OnClick.def 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlContent_dsOrderDate_OnCreated.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Component_pnlActions.def 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Component_pnlContent.def 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_ClickBtnOk.def 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_New.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnCancel_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnOk_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/_ROOT_Component_DialogNewPriorityPolicy.def 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_ListFillingSchemeDetail.def 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listActionBarPageFillingSchemeDetail.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listContextMenuFillingSchemeDetail.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/_ROOT_Component_FormFillingSchemeDetail#802.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Component_Menurelease.def 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuDelete_OnClick.def 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuRelease_OnClick.def 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormHistoricalFillingCapacityOrder/_ROOT_Component_FormHistoricalFillingCapacityOrder.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_PanelPriorityFactorSelect.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listActionBarPagePriorityFactor.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_BusinessTypeSelectStringList_OnSelectionChanged.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuClearTestData_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEdit_OnClick.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuInitData_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuTestData_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_PanelPriorityFactorSelect_BusinessTypeSelectStringList_OnCreated.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_ListPriorityFactorGrading.def 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listActionBarPagePriorityFactorGrading.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEdit_OnClick.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listActionBarPagePriorityPolicy.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listContextMenuPriorityPolicy.def 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuDelete_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuEdit_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuNew_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicyOperation/Component_PanelPriorityPolicyCoefficient#428.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicyOperation/Component_PanelPriorityPolicyOperation.def 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicyOperation/Response_DataHolderPriorityPolicyOperationPriorityFactor_OnCreated.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicyOperation/Response_PanelPriorityPolicyOperation_StringListPriorityPolicyOperation_OnCr.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicyOperation/_ROOT_Component_FormPriorityPolicyOperation.def 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/PriorityPolicy.vw 2258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/填产方案列表.vw 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ProjSettings/MacroPlannerWebApp/Views/填产方案列表.vw 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/InfoMessages.qbl
@@ -2,4 +2,12 @@
#parent: #root
InfoMessages id:#InfoMessages #extension
{
  InfoMessage FilllingCapacity_NotRelease
  {
    DefaultText: 'other scheme is already released.'
  }
  InfoMessage FilllingCapacity_ValidateInput
  {
    DefaultText: 'Please input validate value !'
  }
}
_Main/BL/Relations/Relation_PriorityFactorDetails_GlobalOTDTable_GlobalOTDTable_PriorityFactorD.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_PriorityFactorDetails_PriorityFactor_PriorityFactor_PriorityFactorD.qbl
@@ -18,6 +18,6 @@
    #keys: '3[414382.0.444850087][414382.0.444850086][414382.0.444850088]'
    Cardinality: '1toN'
    ObjectDefinition: PriorityFactor
    OwningSide: 'Reference'
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_PriorityFactor_GlobalOTDTable_GlobalOTDTable_PriorityFactor.qbl
ÎļþÒÑɾ³ý
_Main/BL/Relations/Relation_PriorityFactor_MacroPlan_MacroPlan_PriorityFactor.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PriorityFactor_MacroPlan_MacroPlan_PriorityFactor
{
  #keys: '1[414382.0.475830114]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide MacroPlan
  {
    #keys: '3[414382.0.475830116][414382.0.475830115][414382.0.475830117]'
    Cardinality: '0to1'
    ObjectDefinition: PriorityFactor
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PriorityFactor
  {
    #keys: '3[414382.0.475830119][414382.0.475830118][414382.0.475830120]'
    Cardinality: '1toN'
    ObjectDefinition: MacroPlan
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_PriorityPolicy_MacroPlan_MacroPlan_PriorityPolicy.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PriorityPolicy_MacroPlan_MacroPlan_PriorityPolicy
{
  #keys: '1[414382.0.488041940]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide MacroPlan
  {
    #keys: '3[414382.0.488041942][414382.0.488041941][414382.0.488041943]'
    Cardinality: '0to1'
    ObjectDefinition: PriorityPolicy
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PriorityPolicy
  {
    #keys: '3[414382.0.488041945][414382.0.488041944][414382.0.488041946]'
    Cardinality: '1toN'
    ObjectDefinition: MacroPlan
    OwningSide: 'Owned'
  }
}
_Main/BL/Type_CustomerAndForecastOrder/Attribute_SalesSegmentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute SalesSegmentName
{
  #keys: '3[414382.0.475811339][414382.0.475811338][414382.0.475811340]'
  ValueType: String
}
_Main/BL/Type_CustomerAndForecastOrder/Attribute_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute StockingPointID
{
  #keys: '3[414382.0.475811360][414382.0.475811359][414382.0.475811361]'
  ValueType: String
}
_Main/BL/Type_CustomerAndForecastOrder/DefaultValue_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: StockingPointID
}
_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateFillingCapacityOrder.qbl
@@ -11,7 +11,7 @@
    
    owner.FillingCapacityOrder(relnew,ProductID := data.ProductID(),BusinessType := data.BusinessType(),Customer := data.Customer(),CustomerID := data.CustomerID(),
                                    Quantity := data.Quantity(),UnitOfMeasureName := data.UnitOfMeasureName(),PanelBigSheetQuantity := data.PanelBigSheetQuantity(),SalesAmount := data.SalesAmount(),
                                    ForecastDemandDate := data.ForecastDemandDate(),DemandDate := data.DemandDate(),VerNo := data.VerNo()
                                    ForecastDemandDate := data.ForecastDemandDate(),DemandDate := data.DemandDate(),VerNo := data.VerNo(),SalesSegmentName := data.SalesSegmentName()
                                    );
  *]
}
_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl
@@ -38,11 +38,32 @@
    filllingCapacityOrderScheme := owner.FilllingCapacityOrderScheme(relnew,SchemeName := schemeName,SchemeDate := schemeDate,BusinessType := businessType,Customer := customer,CustomerID := customerID,
                                                                      SalesSegmentName := salesSegmentName);
    
    traverse( fillingCapacityOrders,Elements,e)
    {
      e.SchemeName(schemeName);
      e.IsFilling(true);
      filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, e);
    }
    // ç‰ˆæœ¬å·
    verNoOrder := select( filllingCapacityOrderScheme,FillingCapacityOrder,o,
                                 o.VerNo() <> ''
                                 )
    // éœ€è¦å°†é”€å”®è®¢å•和预售订单同时保存到方案中
    traverse( owner,CustomerAndForecastOrder,order)
    {
         fillingOrder := owner.FillingCapacityOrder(relnew,BusinessType := order.BusinessType(),Customer := order.Customer(),CustomerID := order.CustomerID(),
                                                                           DemandDate := order.DemandDate(),ForecastDemandDate := order.ForecastDemandDate(),IsFilling := true,
                                                                           OrderType := 'Pulling',PanelBigSheetQuantity := order.PanelBigSheetQuantity(),ProductID := order.ProductID(),
                                                                           Quantity := order.Quantity(),SalesSegmentName := order.SalesSegmentName(),SalesAmount := order.SalesAmount(),
                                                                           SchemeName := schemeName,StockingPointID := order.StockingPointID(),UnitOfMeasureName := order.UnitOfMeasureName(),
                                                                           VerNo := verNoOrder.VerNo()
                                                                           );
        filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, fillingOrder);
    }
  *]
}
_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_HasAlreadyRelease.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: #root
StaticMethod HasAlreadyRelease (
  MacroPlan owner
) as Boolean
{
  TextBody:
  [*
    // NBoTk Sep-19-2023 (created)
    value := selectobject( owner,FilllingCapacityOrderScheme,scheme,
                          scheme.IsRelease()
                          )
    return value.IsRelease();
  *]
}
_Main/BL/Type_PriorityFactor/Attribute_coefficient.qbl
@@ -1,6 +1,6 @@
Quintiq file version 2.0
#parent: #root
Attribute coefficient
Attribute Coefficient
{
  #keys: '3[414382.0.456067070][414382.0.456067069][414382.0.456067071]'
  Description: '优先因子系数'
_Main/BL/Type_PriorityFactor/StaticMethod_GetDataByBusinessType.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetDataByBusinessType (
  GlobalOTDTable owner,
  MacroPlan owner,
  String businessType
) as owning PriorityFactors
{
@@ -12,7 +12,6 @@
    list := selectset( owner,PriorityFactor,p,
                       p.BusinessType() = businessType
                       );
    info("list size :"  + [String]list.Size());
    return &list;
  *]
}
_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod InitData (
  GlobalOTDTable owner
  MacroPlan owner
)
{
  TextBody:
_Main/BL/Type_PriorityFactorDetails/Attribute_GradeDesc.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute GradeDesc
{
  #keys: '3[414382.0.475830209][414382.0.475830208][414382.0.475830210]'
  ValueType: String
}
_Main/BL/Type_PriorityFactorDetails/Attribute_GroupName.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactorDetails/Attribute_coefficient.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactorDetails/Function_CalcIsBusinessType.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactorDetails/StaticMethod_ClearTestData.qbl
@@ -1,17 +1,13 @@
Quintiq file version 2.0
#parent: #root
StaticMethod ClearTestData (
  GlobalOTDTable owner
  MacroPlan owner
)
{
  TextBody:
  [*
    // NBoTk Sep-18-2023 (created)
    
    info(1111 );
    owner.PriorityFactorDetails(relflush );
    info(2222);
    owner.PriorityFactor(relflush );
    info(3333 );
  *]
}
_Main/BL/Type_PriorityFactorDetails/StaticMethod_CreateTestData.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateTestData (
  GlobalOTDTable owner
  MacroPlan owner
)
{
  TextBody:
_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByBusinessType.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactorDetails/StaticMethod_GetDataByPriorityFactor.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetDataByPriorityFactor (
  PriorityFactor priorityFactor,
  MacroPlan owner
) as owning PriorityFactorDetailss
{
  TextBody:
  [*
    // NBoTk Sep-18-2023 (created)
    list := selectset( owner,PriorityFactor.PriorityFactorDetails,p,
                       p.BusinessType() = priorityFactor.BusinessType() and priorityFactor.Name() = p.PriorityFactorName()
                       );
    return &list;
  *]
}
_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl
@@ -1,7 +1,7 @@
Quintiq file version 2.0
#parent: #root
StaticMethod InitData (
  GlobalOTDTable owner
  MacroPlan owner
)
{
  TextBody:
@@ -12,23 +12,23 @@
    
    
    
    traverse( owner, PriorityFactor , p)
    traverse( owner, PriorityFactor , p)
    {
        isBusinessType := false;
        if( p.BusinessType() <> "集团面板" )
        {
            isBusinessType := true;
            isBusinessType := true;
        }
      
        owner.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
        p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
                                     IsRange := false,GradingName := "大盈",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
        owner.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
        p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
                                     IsRange := false,GradingName := "小盈",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
        owner.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0,
        p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0,
                                     IsRange := false,GradingName := "持平",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
        owner.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3,
        p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3,
                                     IsRange := false,GradingName := "小亏",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
        owner.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5,
        p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5,
                                     IsRange := false,GradingName := "大亏",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
    }
  *]
_Main/BL/Type_PriorityPolicy/Attribute_BusinessType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute BusinessType
{
  #keys: '3[414382.0.488041999][414382.0.488041998][414382.0.488042000]'
  ValueType: String
}
_Main/BL/Type_PriorityPolicy/Attribute_CalculateValue.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute CalculateValue
{
  #keys: '3[414382.0.488041974][414382.0.488041973][414382.0.488041975]'
  ValueType: String
}
_Main/BL/Type_PriorityPolicy/Attribute_Desc.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Desc
{
  #keys: '3[414382.0.488042011][414382.0.488042010][414382.0.488042012]'
  ValueType: String
}
_Main/BL/Type_PriorityPolicy/Attribute_Formula.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Formula
{
  #keys: '3[414382.0.488041964][414382.0.488041963][414382.0.488041965]'
  ValueType: String
}
_Main/BL/Type_PriorityPolicy/Attribute_Name.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Name
{
  #keys: '3[414382.0.488041954][414382.0.488041953][414382.0.488041955]'
  ValueType: String
}
_Main/BL/Type_PriorityPolicy/StaticMethod_GetDataByBusinessType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetDataByBusinessType (
  MacroPlan owner,
  String businessType
) as owning PriorityPolicys
{
  TextBody:
  [*
    // NBoTk Sep-20-2023 (created)
    list :=  selectset( owner,PriorityPolicy,p,
                        p.BusinessType() = businessType
                        );
    return &list;
  *]
}
_Main/BL/Type_PriorityPolicy/_ROOT_Type_PriorityPolicy.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type PriorityPolicy
{
  #keys: '5[414382.0.488041937][414382.0.488041935][0.0.0][414382.0.488041936][414382.0.488041938]'
  BaseType: Object
  Description: '优先级策略'
  StructuredName: 'PriorityPolicys'
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlActions.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
Quintiq file version 2.0
Component pnlActions
{
  #keys: '[414382.0.465983522]'
  BaseType: 'WebPanel'
  Children:
  [
    Component btnOk
    {
      #keys: '[414382.0.465983526]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: 'OK'
        Taborder: 0
      ]
    }
    Component btnCancel
    {
      #keys: '[414382.0.465983528]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: 'Cancel'
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Alignment: 'trailing'
    Border: true
    ExcludeFromActiveComponent: true
    FixedSize: true
    Orientation: 'horizontal'
    Padding: 'true'
    Style: 'footer'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Component_pnlContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
Quintiq file version 2.0
Component pnlContent
{
  #keys: '[414382.0.465983520]'
  BaseType: 'WebPanel'
  Children:
  [
    Component PriorityFactorName
    {
      #keys: '[414382.0.464432096]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityFactor.Data.Name'
        Label: '优先级因子'
        ReadOnly: true
        Taborder: 0
      ]
    }
    Component Coefficient
    {
      #keys: '[414382.0.466405102]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityFactor.Data.Coefficient'
        Label: '系数'
        Taborder: 1
      ]
    }
    Component Desc
    {
      #keys: '[414382.0.466436612]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityFactor.Data.Desc'
        Label: '描述'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Padding: 'true'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_ClickBtnOK.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: #root
Method ClickBtnOK () id:Method_DialogEditPriorityFactor_ClickBtnOK
{
  #keys: '[414382.0.464433014]'
  Body:
  [*
    btnOk.Enabled(false,'');
    // OnOk
    this.ApplyChanges();
    DataHolderEditPriorityFactor.Data().Commit();
    this.Close();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_Edit.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: #root
Method Edit (
  PriorityFactor selection
) id:Method_DialogEditPriorityFactor_Edit
{
  #keys: '[414382.0.464432484]'
  Body:
  [*
    data := shadow( selection );
    DataHolderEditPriorityFactor.Data( &data);
    ApplicationMacroPlanner.ShowFormModal( this );
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnCancel_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: pnlActions/btnCancel
Response OnClick () id:Response_pnlActions_btnCancel_OnClick
{
  #keys: '[414382.0.465983532]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      Form.Close();
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: pnlActions/btnOk
Response OnClick () id:Response_pnlActions_btnOk_OnClick
{
  #keys: '[414382.0.465983531]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    feedback := Translations::FilllingCapacity_ValidateInput();
    checkValue := not Coefficient.Text() = ''
    return checkValue;
  *]
  QuillAction
  {
    Body:
    [*
      Form.ClickBtnOK();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/_ROOT_Component_DialogEditPriorityFactor.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent DialogEditPriorityFactor
{
  #keys: '[414382.0.465983518]'
  BaseType: 'WebForm'
  Children:
  [
    #child: pnlContent
    #child: pnlActions
    Component DataHolderEditPriorityFactor
    {
      #keys: '[414382.0.464433280]'
      BaseType: 'WebDataHolder'
      Databinding: 'shadow[PriorityFactor]*'
      Properties:
      [
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Alignment: 'trailing'
    EnterButton: 'btnOk'
    EscapeButton: 'btnCancel'
    ExcludeFromActiveComponent: true
    Padding: 'false'
    Title: '编辑优先级因子'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlActions.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
Quintiq file version 2.0
Component pnlActions
{
  #keys: '[414382.0.482374521]'
  BaseType: 'WebPanel'
  Children:
  [
    Component btnOk
    {
      #keys: '[414382.0.482374525]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: 'OK'
        Taborder: 0
      ]
    }
    Component btnCancel
    {
      #keys: '[414382.0.482374527]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: 'Cancel'
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Alignment: 'trailing'
    Border: true
    ExcludeFromActiveComponent: true
    FixedSize: true
    Orientation: 'horizontal'
    Padding: 'true'
    Style: 'footer'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,93 @@
Quintiq file version 2.0
Component pnlContent
{
  #keys: '[414382.0.482374519]'
  BaseType: 'WebPanel'
  Children:
  [
    Component GradeTarget
    {
      #keys: '[414382.0.482496232]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityFactorDetails.Data.GradeTarget'
        Label: '分级目标值'
        Taborder: 2
      ]
    }
    Component isRange
    {
      #keys: '[414382.0.482496334]'
      BaseType: 'WebCheckbox'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityFactorDetails.Data.IsRange'
        Label: '分级范围:'
        Taborder: 3
      ]
    }
    Component RangeMax
    {
      #keys: '[414382.0.482496364]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityFactorDetails.Data.RangeMax'
        Label: '最大值'
        Taborder: 4
      ]
    }
    Component RangeMin
    {
      #keys: '[414382.0.482496434]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityFactorDetails.Data.RangeMin'
        Label: '最小值'
        Taborder: 5
      ]
    }
    Component GradeDesc
    {
      #keys: '[414382.0.478492133]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityFactorDetails.Data.GradeDesc'
        FixedSize: false
        Label: '描述'
        SizeRatio: 3
        Taborder: 6
      ]
    }
    Component PriorityFactorName
    {
      #keys: '[414382.0.485983642]'
      BaseType: 'WebLabel'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityFactorDetails.Data.PriorityFactorName'
        Label: '优先级因子'
        Taborder: 0
      ]
    }
    Component PriorityFactorDetailsName
    {
      #keys: '[414382.0.486013052]'
      BaseType: 'WebLabel'
      Properties:
      [
        DataBinding: 'DataHolderEditPriorityFactorDetails.Data.GradingName'
        Label: '细分名称'
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Padding: 'true'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_ClickBtnOK.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: #root
Method ClickBtnOK () id:Method_DialogEditPriorityFactorDetails_ClickBtnOK
{
  #keys: '[414382.0.482495783]'
  Body:
  [*
    btnOk.Enabled(false,'');
    // OnOk
    this.ApplyChanges();
    DataHolderEditPriorityFactorDetails.Data().Commit();
    this.Close();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Method_Edit.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: #root
Method Edit (
  PriorityFactorDetails selection
) id:Method_DialogEditPriorityFactorDetails_Edit
{
  #keys: '[414382.0.482495781]'
  Body:
  [*
    data := shadow( selection );
    if( data.IsRange() )
    {
        isRange.Checked(true);
    }
    DataHolderEditPriorityFactorDetails.Data( &data);
    ApplicationMacroPlanner.ShowFormModal( this );
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnCancel_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: pnlActions/btnCancel
Response OnClick () id:Response_pnlActions_btnCancel_OnClick
{
  #keys: '[414382.0.482374531]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      Form.Close();
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
Quintiq file version 2.0
#parent: pnlActions/btnOk
Response OnClick () id:Response_pnlActions_btnOk_OnClick
{
  #keys: '[414382.0.482374530]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    feedback := Translations::FilllingCapacity_ValidateInput();
    checkValue := not GradeTarget.Text() = ''
    if( isRange.Checked() )
    {
       checkValue := not RangeMax.Text() = '' and not RangeMin.Text() = '';
    }
    return checkValue;
  *]
  QuillAction
  {
    Body:
    [*
      Form.ClickBtnOK();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: pnlContent/isRange
Response OnChanged () id:Response_pnlContent_isRange_OnChanged
{
  #keys: '[414382.0.487732097]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebCheckbox_OnChanged'
  QuillAction
  {
    Body:
    [*
      if( this.Checked())
      {
          RangeMax.ReadOnly(false);
          RangeMin.ReadOnly(false)
      }
      else{
          RangeMax.ReadOnly(true);
          RangeMin.ReadOnly(true)
      }
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/_ROOT_Component_DialogEditPriorityFactorDetails.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent DialogEditPriorityFactorDetails
{
  #keys: '[414382.0.482374517]'
  BaseType: 'WebForm'
  Children:
  [
    #child: pnlContent
    #child: pnlActions
    Component DataHolderEditPriorityFactorDetails
    {
      #keys: '[414382.0.482495927]'
      BaseType: 'WebDataHolder'
      Databinding: 'shadow[PriorityFactorDetails]*'
      Properties:
      [
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Alignment: 'trailing'
    EnterButton: 'btnOk'
    EscapeButton: 'btnCancel'
    ExcludeFromActiveComponent: true
    Padding: 'false'
    Title: '编辑优先级因子细分'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Method_New.def
@@ -9,6 +9,7 @@
  [*
    
    data := owner.FillingCapacityOrder(relshadow);
    data.OrderType("Pulling")
    
    DataHolderFillingCapacityOrder.Data(&data);
    
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def
@@ -4,12 +4,23 @@
{
  #keys: '[414382.0.400131334]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  Precondition:
  [*
    feedback := Translations::FilllingCapacity_ValidateInput();
    checkValue := not dropDownStringListProductID.Text() = '' and not dropDownStringListSalesSegmentName.Text() = ''
                  and not dropDownStringListStockPointID.Text() = '' and dropDownStringListCustomer.Text() = ''
                  and not edtQuantity.Text() = '' and dropDownStringListUnitOfMeasureName.Text() = ''
                  and not edtSalesAmount.Text() = ''
    return checkValue;
  *]
  QuillAction
  {
    Body:
    [*
      Form.ClickBtnOk()
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlContent_dsDemandDate_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: pnlContent/dsDemandDate
Response OnCreated () id:Response_pnlContent_dsDemandDate_OnCreated
{
  #keys: '[414382.0.469810579]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      this.Date(Date::Today());
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlContent_dsForecastDemandDate_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: pnlContent/dsForecastDemandDate
Response OnCreated () id:Response_pnlContent_dsForecastDemandDate_OnCreated
{
  #keys: '[414382.0.471003983]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      this.Date(Date::Today());
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def
@@ -60,7 +60,6 @@
      Properties:
      [
        DataBinding: 'DataHolderFilling.Data.DemandDate'
        Enabled: false
        Label: 'Demand Date'
        ReadOnly: true
        Taborder: 4
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlActions_btnOk_OnClick.def
@@ -4,12 +4,19 @@
{
  #keys: '[414382.0.415331003]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  Precondition:
  [*
    verNo := efVerNo.Text();
    salesAmount := edtSalesAmount.Text();
    feedback := Translations::FilllingCapacity_ValidateInput();
    return not salesAmount = '' and not verNo = '';
  *]
  QuillAction
  {
    Body:
    [*
      Form.ClickBtnOk();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Response_pnlContent_dsForecastDemandDate_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: pnlContent/dsForecastDemandDate_515
Response OnCreated () id:Response_pnlContent_dsForecastDemandDate_OnCreated
{
  #keys: '[414382.0.470910420]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      this.Date(Date::Today());
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnCancel_OnClick.def
@@ -4,12 +4,12 @@
{
  #keys: '[414382.0.423200508]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      Form.Close();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogFillingOrderScheme/Response_pnlActions_btnOk_OnClick.def
@@ -4,7 +4,12 @@
{
  #keys: '[414382.0.423200507]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  Precondition:
  [*
    schemeName := DialogFillingOrderScheme.efSchemeName().Text();
    feedback := Translations::FilllingCapacity_ValidateInput();
    return not schemeName = '';
  *]
  QuillAction
  {
    Body:
@@ -17,5 +22,6 @@
      
      Form.Close();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Method_New.def
@@ -8,6 +8,7 @@
  Body:
  [*
    data := owner.FillingCapacityOrder(relshadow);
    data.OrderType("NEW");
    DataHolderHistoricalSalesOrder.Data( &data);
    
    ApplicationMacroPlanner.ShowFormModal( this );
_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlActions_btnOk_OnClick.def
@@ -5,6 +5,17 @@
  #keys: '[414382.0.391970684]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  Precondition:
  [*
    feedback := Translations::FilllingCapacity_ValidateInput();
    checkValue := not dropDownStringListProductID.Text() = '' and not dropDownStringListSalesSegmentName.Text() = ''
                  and not dropDownStringListStockPointID.Text() = '' and dropDownStringListCustomer.Text() = ''
                  and not edtQuantity.Text() = '' and dropDownStringListUnitOfMeasureName.Text() = ''
                  and edtSalesAmount.Text() = ''
    return checkValue;
  *]
  QuillAction
  {
    Body:
_Main/UI/MacroPlannerWebApp/Component_DialogHistoricalSalesOrders/Response_pnlContent_dsOrderDate_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: pnlContent/dsOrderDate
Response OnCreated () id:Response_pnlContent_dsOrderDate_OnCreated
{
  #keys: '[414382.0.471041775]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      this.Date(Date::Today());
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Component_pnlActions.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
Quintiq file version 2.0
Component pnlActions
{
  #keys: '[414382.0.489474418]'
  BaseType: 'WebPanel'
  Children:
  [
    Component btnOk
    {
      #keys: '[414382.0.489474422]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '保存'
        Taborder: 0
      ]
    }
    Component btnCancel
    {
      #keys: '[414382.0.489474424]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '取消'
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Alignment: 'trailing'
    Border: true
    ExcludeFromActiveComponent: true
    FixedSize: true
    Orientation: 'horizontal'
    Padding: 'true'
    Style: 'footer'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Component_pnlContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
Quintiq file version 2.0
Component pnlContent
{
  #keys: '[414382.0.489474416]'
  BaseType: 'WebPanel'
  Children:
  [
    Component PriorityPolicyName
    {
      #keys: '[414382.0.489512715]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderNewPriorityPolicy.Data.Name'
        Label: '优先级策略名称'
        Taborder: 0
      ]
    }
    Component PriorityPolicyDesc
    {
      #keys: '[414382.0.489474868]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderNewPriorityPolicy.Data.Desc'
        Label: '描述'
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Padding: 'true'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_ClickBtnOk.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
#parent: #root
Method ClickBtnOk () id:Method_DialogNewPriorityPolicy_ClickBtnOk
{
  #keys: '[414382.0.489694008]'
  Body:
  [*
    // Disabled button to prevent the possibility of multiple firing
    btnOk.Enabled(true,'11111');
    // OnOk
    this.ApplyChanges();
    DataHolderNewPriorityPolicy.Data().Commit();
    //if( not isnull( DataHolderForm.Data() ) )
    //{
    //  // Access the form, select the new assumption
    //  DataHolderForm.Data().ListAssumptions().SelectByKey( DataHolderDialogData.Data().WrappedInstance().Key() );
    //}
    this.Close();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_New.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: #root
Method New (
  MacroPlan owner,
  String businessType
) id:Method_DialogNewPriorityPolicy_New
{
  #keys: '[414382.0.489725864]'
  Body:
  [*
    data := owner.PriorityPolicy(relshadow);
    data.BusinessType(businessType);
    DataHolderNewPriorityPolicy.Data(&data);
    ApplicationMacroPlanner.ShowFormModal( this );
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnCancel_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: pnlActions/btnCancel
Response OnClick () id:Response_pnlActions_btnCancel_OnClick
{
  #keys: '[414382.0.489474428]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      Form.Close();
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Response_pnlActions_btnOk_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: pnlActions/btnOk
Response OnClick () id:Response_pnlActions_btnOk_OnClick
{
  #keys: '[414382.0.489474427]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      Form.ClickBtnOk()
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/_ROOT_Component_DialogNewPriorityPolicy.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent DialogNewPriorityPolicy
{
  #keys: '[414382.0.489474414]'
  BaseType: 'WebForm'
  Children:
  [
    #child: pnlContent
    #child: pnlActions
    Component DataHolderNewPriorityPolicy
    {
      #keys: '[414382.0.489512730]'
      BaseType: 'WebDataHolder'
      Databinding: 'shadow[PriorityPolicy]*'
      Properties:
      [
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Alignment: 'trailing'
    EnterButton: 'btnOk'
    EscapeButton: 'btnCancel'
    ExcludeFromActiveComponent: true
    Padding: 'false'
    Title: '添加优先级策略'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_ListFillingSchemeDetail.def
@@ -1,13 +1,13 @@
Quintiq file version 2.0
Component ListFillingSchemeDetail
{
  #keys: '[414382.0.434111695]'
  #keys: '[414382.0.474013892]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorFillingSchemeDetail
    {
      #keys: '[414382.0.434111696]'
      #keys: '[414382.0.474013893]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
@@ -20,7 +20,7 @@
    #child: listActionBarPageFillingSchemeDetail
    Component DataSetLevelFillingSchemeDetail
    {
      #keys: '[414382.0.434111701]'
      #keys: '[414382.0.474013898]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
@@ -28,7 +28,7 @@
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VerNo","title":"版本号","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VerNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"事业部","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"销售部门","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"库存点","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"客户名称","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"数量单位","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelBigSheetQuantity","title":"面板大张数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelBigSheetQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesAmount","title":"销售额","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesAmount"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecastDemandDate","title":"预测需求时间","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ForecastDemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandDate","title":"需求时间","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderType","title":"订单类型","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderType"}}]'
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"VerNo","title":"版本号","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"VerNo"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"商品编码","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"事业部","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"销售部门","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"库存点","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"客户名称","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"数量单位","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelBigSheetQuantity","title":"面板大张数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelBigSheetQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ForecastDemandDate","title":"预测需求时间","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ForecastDemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandDate","title":"需求时间","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderType","title":"订单类型","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderType"}}]'
        ContextMenu: 'listContextMenuFillingSchemeDetail'
        Taborder: 2
      ]
@@ -36,6 +36,6 @@
  ]
  Properties:
  [
    Taborder: 0
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listActionBarPageFillingSchemeDetail.def
@@ -1,7 +1,7 @@
Quintiq file version 2.0
Component listActionBarPageFillingSchemeDetail
{
  #keys: '[414382.0.434111698]'
  #keys: '[414382.0.474013895]'
  BaseType: 'listActionBarPage'
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/Component_listContextMenuFillingSchemeDetail.def
@@ -1,7 +1,7 @@
Quintiq file version 2.0
Component listContextMenuFillingSchemeDetail
{
  #keys: '[414382.0.434111703]'
  #keys: '[414382.0.474013900]'
  BaseType: 'listContextMenu'
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder802/_ROOT_Component_FormFillingSchemeDetail#802.def
@@ -7,7 +7,6 @@
  BaseType: 'WebForm'
  Children:
  [
    #child: ListFillingSchemeDetail
    Component DataHolderFillingSchemeDetails id:DataHolderFillingSchemeDetails_71
    {
      #keys: '[414382.0.438570912]'
@@ -30,9 +29,10 @@
      ]
      Properties:
      [
        Taborder: 1
        Taborder: 0
      ]
    }
    #child: ListFillingSchemeDetail
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Component_Menurelease.def
@@ -11,10 +11,22 @@
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'GEAR_OK'
        Taborder: 3
        Title: 'Release'
      ]
    }
    Component MenuDelete
    {
      #keys: '[414382.0.475912052]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'GEAR_DELETE'
        Taborder: 4
        Title: '删除'
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuDelete_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
#parent: ListFillingScheme
Response OnClick (
  FilllingCapacityOrderScheme selection
) id:Response_ListFillingScheme_MenuDelete_OnClick
{
  #keys: '[414382.0.475970386]'
  CanBindMultiple: false
  DefinitionID => /ListFillingScheme/Responsedef_ListFillingScheme_WebMenu_OnClick
  Initiator: 'MenuDelete'
  Precondition:
  [*
    feedback := Translations::FilllingCapacity_NotRelease();
    checkValue := FilllingCapacityOrderScheme::HasAlreadyRelease( MacroPlan);
    return checkValue;
  *]
  QuillAction
  {
    Body:
    [*
      selection.Delete()
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuRelease_OnClick.def
@@ -10,7 +10,9 @@
  Initiator: 'MenuRelease'
  Precondition:
  [*
    not selection.IsRelease();
    feedback := Translations::FilllingCapacity_NotRelease();
    checkValue := FilllingCapacityOrderScheme::HasAlreadyRelease( MacroPlan);
    return checkValue;
  *]
  QuillAction
  {
_Main/UI/MacroPlannerWebApp/Component_FormHistoricalFillingCapacityOrder/_ROOT_Component_FormHistoricalFillingCapacityOrder.def
@@ -11,6 +11,6 @@
  ]
  Properties:
  [
    Title: '填产订单列表'
    Title: '填产订单历史列表'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_ListPriorityFactor.def
@@ -1,17 +1,17 @@
Quintiq file version 2.0
Component ListPriorityFactor
{
  #keys: '[414382.0.453382063]'
  #keys: '[414382.0.479644224]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPriorityFactor
    {
      #keys: '[414382.0.453382064]'
      #keys: '[414382.0.479644225]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'structured[PriorityFactorDetails]'
        DataType: 'structured[PriorityFactor]'
        Source: 'DataHolderPriorityFactorSelect'
        Taborder: 0
        Transformation: 'Elements'
@@ -20,7 +20,7 @@
    #child: listActionBarPagePriorityFactor
    Component DataSetLevelPriorityFactor
    {
      #keys: '[414382.0.453382069]'
      #keys: '[414382.0.479644230]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
@@ -28,7 +28,7 @@
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityFactorName","title":"PriorityFactorName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityFactorName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"coefficient","title":"coefficient","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"coefficient"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityFactorDesc","title":"PriorityFactorDesc","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityFactorDesc"}}]'
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Coefficient","title":"系数","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Coefficient"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Desc","title":"描述","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Desc"}}]'
        ContextMenu: 'listContextMenuPriorityFactor'
        Taborder: 2
      ]
@@ -36,13 +36,13 @@
  ]
  Properties:
  [
    Taborder: 1
    Taborder: 2
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPriorityFactor_WebMenu_OnClick
    {
      #keys: '[414382.0.452290439]'
      #keys: '[414382.0.484095232]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
@@ -50,7 +50,7 @@
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[1187.0.7063875]'
          #keys: '[1239.0.11670068]'
          Binding: 'this.Selection()'
        }
      ]
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_PanelPriorityFactorSelect.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listActionBarPagePriorityFactor.def
@@ -1,7 +1,7 @@
Quintiq file version 2.0
Component listActionBarPagePriorityFactor
{
  #keys: '[414382.0.453382066]'
  #keys: '[414382.0.479644227]'
  BaseType: 'listActionBarPage'
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def
@@ -1,29 +1,30 @@
Quintiq file version 2.0
Component listContextMenuPriorityFactor
{
  #keys: '[414382.0.453382071]'
  #keys: '[414382.0.479644232]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuTestData
    Component MenuInitData
    {
      #keys: '[414382.0.452290464]'
      #keys: '[414382.0.482890505]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'GEAR'
        Taborder: 3
        Title: 'Test'
        Title: 'Init Data'
      ]
    }
    Component MenuClearTestData
    Component MenuEdit
    {
      #keys: '[414382.0.453953843]'
      #keys: '[414382.0.485622263]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'GEAR_EDIT'
        Taborder: 4
        Title: 'ClearTestData'
        Title: '编辑'
      ]
    }
  ]
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_BusinessTypeSelectStringList_OnSelectionChanged.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_BusinessTypeSelectStringList_OnCreated.def ÐÞ¸Ä
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: BusinessTypeSelectStringList
Response OnCreated () id:Response_FormPriorityFactor_BusinessTypeSelectStringList_OnCreated
#parent: DropDownStringListBusinessType
Response OnCreated () id:Response_FormPriorityFactor_DropDownStringListBusinessType_OnCreated
{
  #keys: '[414382.0.454113391]'
  #keys: '[414382.0.461201807]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: DropDownStringListBusinessType
Response OnSelectionChanged () id:Response_FormPriorityFactor_DropDownStringListBusinessType_OnSelectionChanged
{
  #keys: '[414382.0.461060940]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
  {
    Body:
    [*
      list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text());
      DataHolderPriorityFactorSelect.Data(&list);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuClearTestData_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEdit_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: ListPriorityFactor
Response OnClick (
  PriorityFactor selection
) id:Response_ListPriorityFactor_MenuEdit_OnClick
{
  #keys: '[414382.0.485894605]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
  Initiator: 'MenuEdit'
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogEditPriorityFactor );
      dlg.Edit( selection);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuInitData_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ListPriorityFactor
Response OnClick () id:Response_ListPriorityFactor_MenuInitData_OnClick
{
  #keys: '[414382.0.482802120]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
  Initiator: 'MenuInitData'
  QuillAction
  {
    Body:
    [*
      PriorityFactorDetails::CreateTestData(  MacroPlan);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuTestData_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: ListPriorityFactor
Response OnClick (
  PriorityFactor selection
) id:Response_ListPriorityFactor_OnClick
{
  #keys: '[414382.0.482282953]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebList_OnClick'
  QuillAction
  {
    Body:
    [*
      detaisls := PriorityFactorDetails::GetDataByPriorityFactor( selection, MacroPlan);
      DataHolderPriorityFactorDetailsSelect.Data(&detaisls);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_PanelPriorityFactorSelect_BusinessTypeSelectStringList_OnCreated.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def
@@ -7,7 +7,6 @@
  BaseType: 'WebForm'
  Children:
  [
    #child: ListPriorityFactor
    Component DataHolderPriorityFactorSelect
    {
      #keys: '[414382.0.453562359]'
@@ -15,18 +14,29 @@
      Databinding: 'structured[PriorityFactor]*'
      Properties:
      [
        Taborder: 2
        Taborder: 1
      ]
    }
    Component BusinessTypeSelectStringList
    Component DropDownStringListBusinessType
    {
      #keys: '[414382.0.454113393]'
      #keys: '[414382.0.461144262]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: '事业部: '
        Label: '事业部:'
        Taborder: 0
      ]
    }
    #child: ListPriorityFactor
    Component DataHolderPriorityFactorDetailsSelect
    {
      #keys: '[414382.0.482103344]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[PriorityFactorDetails]*'
      Properties:
      [
        Taborder: 3
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_ListPriorityFactorGrading.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
Quintiq file version 2.0
Component ListPriorityFactorGrading
{
  #keys: '[414382.0.479530865]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPriorityFactorGrading961
    {
      #keys: '[414382.0.479530866]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'structured[PriorityFactorDetails]'
        Source: 'DataHolderPriorityFactorGrading'
        Taborder: 0
        Transformation: 'Elements'
      ]
    }
    #child: listActionBarPagePriorityFactorGrading
    Component DataSetLevelPriorityFactorGrading
    {
      #keys: '[414382.0.479530871]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPriorityFactorGrading
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"GradingName","title":"细分名称","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"GradingName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"GradeValueStr","title":"分级","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"GradeValueStr"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"GradeDesc","title":"描述","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"GradeDesc"}}]'
        ContextMenu: 'listContextMenuPriorityFactorGrading'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 1
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPriorityFactorGrading_WebMenu_OnClick
    {
      #keys: '[414382.0.482374475]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selction
        {
          #keys: '[1231.0.33373473]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listActionBarPagePriorityFactorGrading.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePriorityFactorGrading
{
  #keys: '[414382.0.479530868]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
Component listContextMenuPriorityFactorGrading
{
  #keys: '[414382.0.479530873]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuEdit
    {
      #keys: '[414382.0.478491125]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'GEAR_EDIT'
        Taborder: 3
        Title: '编辑'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEdit_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: ListPriorityFactorGrading
Response OnClick (
  PriorityFactorDetails selction
) id:Response_ListPriorityFactorGrading_MenuEdit_OnClick
{
  #keys: '[414382.0.479531766]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityFactorGrading/Responsedef_ListPriorityFactorGrading_WebMenu_OnClick
  Initiator: 'MenuEdit'
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogEditPriorityFactorDetails);
      dlg.Edit( selction);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/_ROOT_Component_FormPriorityFactorGrading.def
@@ -5,4 +5,32 @@
{
  #keys: '[414382.0.447270082]'
  BaseType: 'WebForm'
  Children:
  [
    Component DataHolderPriorityFactorGrading
    {
      #keys: '[414382.0.478480902]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[PriorityFactorDetails]*'
      Children:
      [
        Component DataExtractorPriorityFactorGrading
        {
          #keys: '[414382.0.478480916]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'structured[PriorityFactorDetails]'
            Source: 'FormPriorityFactor.DataHolderPriorityFactorDetailsSelect'
            Taborder: 0
          ]
        }
      ]
      Properties:
      [
        Taborder: 0
      ]
    }
    #child: ListPriorityFactorGrading
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
Quintiq file version 2.0
Component ListPriorityPolicy
{
  #keys: '[414382.0.489382436]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPriorityPolicy
    {
      #keys: '[414382.0.489382437]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'structured[PriorityPolicy]'
        Source: 'DataHolderPriorityPolicy'
        Taborder: 0
        Transformation: 'Elements'
      ]
    }
    #child: listActionBarPagePriorityPolicy
    Component DataSetLevelPriorityPolicy
    {
      #keys: '[414382.0.489382442]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPriorityPolicy
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Formula","title":"Formula","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Formula"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CalculateValue","title":"CalculateValue","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CalculateValue"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Desc","title":"Desc","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":""}}]'
        ContextMenu: 'listContextMenuPriorityPolicy'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 2
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPriorityPolicy_WebMenu_OnClick
    {
      #keys: '[414382.0.489382571]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[1245.0.22804476]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listActionBarPagePriorityPolicy.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePriorityPolicy
{
  #keys: '[414382.0.489382439]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_listContextMenuPriorityPolicy.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
Quintiq file version 2.0
Component listContextMenuPriorityPolicy
{
  #keys: '[414382.0.489382444]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuNew
    {
      #keys: '[414382.0.487792532]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'GEAR_ADD'
        Taborder: 3
        Title: '新增'
      ]
    }
    Component MenuEdit
    {
      #keys: '[414382.0.487792555]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'GEAR_EDIT'
        Taborder: 4
        Title: '编辑'
      ]
    }
    Component MenuDelete
    {
      #keys: '[414382.0.487792557]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'GEAR_DELETE'
        Taborder: 5
        Title: '删除'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: DataHolderPriorityPolicy
Response OnDataChanged () id:Response_FormPriorityPolicy_DataHolderPriorityPolicy_OnDataChanged
{
  #keys: '[414382.0.491200369]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
  QuillAction
  {
    Body:
    [*
      list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text());
      DataHolderPriorityPolicy.Data(&list);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuDelete_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: ListPriorityPolicy
Response OnClick (
  PriorityPolicy selection
) id:Response_ListPriorityPolicy_MenuDelete_OnClick
{
  #keys: '[414382.0.489382736]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityPolicy/Responsedef_ListPriorityPolicy_WebMenu_OnClick
  Initiator: 'MenuDelete'
  QuillAction
  {
    Body:
    [*
      selection.Delete();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuEdit_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ListPriorityPolicy
Response OnClick () id:Response_ListPriorityPolicy_MenuEdit_OnClick
{
  #keys: '[414382.0.489382588]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityPolicy/Responsedef_ListPriorityPolicy_WebMenu_OnClick
  Initiator: 'MenuEdit'
  QuillAction
  {
    Body:
    [*
      ApplicationMacroPlanner.OpenForm( 'FormPriorityPolicyOperation');
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuNew_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: ListPriorityPolicy
Response OnClick () id:Response_ListPriorityPolicy_MenuNew_OnClick
{
  #keys: '[414382.0.489382662]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityPolicy/Responsedef_ListPriorityPolicy_WebMenu_OnClick
  Initiator: 'MenuNew'
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogNewPriorityPolicy );
      businessType := PriorityPolicyBusinessType.Text();
      dlg.New( MacroPlan, businessType);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def
copy from _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_BusinessTypeSelectStringList_OnCreated.def copy to _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def
Îļþ´Ó _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_BusinessTypeSelectStringList_OnCreated.def ¸´ÖÆ
@@ -1,8 +1,8 @@
Quintiq file version 2.0
#parent: BusinessTypeSelectStringList
Response OnCreated () id:Response_FormPriorityFactor_BusinessTypeSelectStringList_OnCreated
#parent: PriorityPolicyBusinessType
Response OnCreated () id:Response_FormPriorityPolicy_PriorityPolicyBusinessType_OnCreated
{
  #keys: '[414382.0.454113391]'
  #keys: '[414382.0.486330568]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: PriorityPolicyBusinessType
Response OnSelectionChanged () id:Response_FormPriorityPolicy_PriorityPolicyBusinessType_OnSelectionChanged
{
  #keys: '[414382.0.486330569]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
  {
    Body:
    [*
      list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text());
      DataHolderPriorityPolicy.Data(&list);
      DataHolderPriorityPolicySelectBusinessType.Data( PriorityPolicyBusinessType.Text());
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent FormPriorityPolicy
{
  #keys: '[414382.0.487620644]'
  BaseType: 'WebForm'
  Children:
  [
    Component PriorityPolicyBusinessType
    {
      #keys: '[414382.0.486330570]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: '事业部:'
        Taborder: 0
      ]
    }
    Component DataHolderPriorityPolicy
    {
      #keys: '[414382.0.487792124]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[PriorityPolicy]*'
      Properties:
      [
        Taborder: 1
      ]
    }
    #child: ListPriorityPolicy
    Component DataHolderPriorityPolicySelectBusinessType
    {
      #keys: '[414382.0.490151931]'
      BaseType: 'WebDataHolder'
      Databinding: 'String'
      Properties:
      [
        Taborder: 3
      ]
    }
  ]
  Properties:
  [
    Title: '优先级策略列表'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicyOperation/Component_PanelPriorityPolicyCoefficient#428.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
Component PanelPriorityPolicyCoefficient
{
  #keys: '[414382.0.491374606]'
  BaseType: 'WebPanel'
  Children:
  [
    Component LabelPriorityPolicyCoefficient
    {
      #keys: '[414382.0.491374627]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '因子的系数'
        Taborder: 0
      ]
    }
  ]
  Properties:
  [
    Taborder: 9
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicyOperation/Component_PanelPriorityPolicyOperation.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,102 @@
Quintiq file version 2.0
Component PanelPriorityPolicyOperation
{
  #keys: '[414382.0.490130786]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ButtonAddPriorityPolicy
    {
      #keys: '[414382.0.490130807]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '添加因子'
        Taborder: 1
      ]
    }
    Component Buttonplus
    {
      #keys: '[414382.0.490130825]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '+'
        Taborder: 2
      ]
    }
    Component ButtonSubtract
    {
      #keys: '[414382.0.490130836]'
      BaseType: 'WebButton'
      Properties:
      [
        Taborder: 3
      ]
    }
    Component StringListPriorityPolicyOperation
    {
      #keys: '[414382.0.492194048]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: '优先级因子:'
        Taborder: 0
      ]
    }
    Component ButtonMultiply
    {
      #keys: '[414382.0.490151249]'
      BaseType: 'WebButton'
      Properties:
      [
        Taborder: 4
      ]
    }
    Component ButtonDivide
    {
      #keys: '[414382.0.490151283]'
      BaseType: 'WebButton'
      Properties:
      [
        Taborder: 5
      ]
    }
    Component ButtonLeftParenthesis
    {
      #keys: '[414382.0.490151322]'
      BaseType: 'WebButton'
      Properties:
      [
        Taborder: 6
      ]
    }
    Component ButtonRightParenthesis
    {
      #keys: '[414382.0.490151325]'
      BaseType: 'WebButton'
      Properties:
      [
        Taborder: 7
      ]
    }
    Component ButtonRollBack
    {
      #keys: '[414382.0.490151327]'
      BaseType: 'WebButton'
      Properties:
      [
        Taborder: 8
      ]
    }
    #child: PanelPriorityPolicyCoefficient
  ]
  Properties:
  [
    FixedSize: true
    MinimumColumns: 10
    MinimumRows: 1
    Orientation: 'horizontal'
    Taborder: 4
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicyOperation/Response_DataHolderPriorityPolicyOperationPriorityFactor_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: DataHolderPriorityPolicyOperationPriorityFactor
Response OnCreated () id:Response_FormPriorityPolicyOperation_DataHolderPriorityPolicyOperationPriorityFactor_OnCreated
{
  #keys: '[414382.0.490152499]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      businessType := DataHolderPriorityPolicySelectBusinessType.Data();
      list := PriorityFactor::GetDataByBusinessType( MacroPlan,businessType);
      this.Data(&list);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicyOperation/Response_PanelPriorityPolicyOperation_StringListPriorityPolicyOperation_OnCr.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyOperation/StringListPriorityPolicyOperation
Response OnCreated () id:Response_PanelPriorityPolicyOperation_StringListPriorityPolicyOperation_OnCreated
{
  #keys: '[414382.0.490112531]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      list := DataHolderPriorityPolicyOperationPriorityFactor.Data();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicyOperation/_ROOT_Component_FormPriorityPolicyOperation.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent FormPriorityPolicyOperation
{
  #keys: '[414382.0.489382838]'
  BaseType: 'WebForm'
  Children:
  [
    Component PriorityPolicyName
    {
      #keys: '[414382.0.489442519]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '优先级策略名称:'
        Taborder: 0
      ]
    }
    Component DataHolderPriorityPolicyOperation
    {
      #keys: '[414382.0.489442547]'
      BaseType: 'WebDataHolder'
      Databinding: 'PriorityPolicy'
      Properties:
      [
        Taborder: 1
      ]
    }
    Component LabelFormula
    {
      #keys: '[414382.0.489443040]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '公式:'
        Taborder: 2
      ]
    }
    Component LabelCalculateValue
    {
      #keys: '[414382.0.489443084]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '计算值:'
        Taborder: 3
      ]
    }
    #child: PanelPriorityPolicyOperation
    Component DataHolderPriorityPolicySelectBusinessType
    {
      #keys: '[414382.0.490152351]'
      BaseType: 'WebDataHolder'
      Databinding: 'String'
      Children:
      [
        Component DataExtractorPriorityPolicySelectBusinessType
        {
          #keys: '[414382.0.490152374]'
          BaseType: 'WebDataExtractor'
          Properties:
          [
            DataType: 'String'
            Source: 'DataHolderPriorityPolicySelectBusinessType'
            Taborder: 0
          ]
        }
      ]
      Properties:
      [
        Taborder: 5
      ]
    }
    Component DataHolderPriorityPolicyOperationPriorityFactor
    {
      #keys: '[414382.0.490152466]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[PriorityFactor]*'
      Properties:
      [
        Taborder: 6
      ]
    }
  ]
  Properties:
  [
    Title: '优先级策略配置'
  ]
}
_Main/UI/MacroPlannerWebApp/Views/PriorityPolicy.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2258 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_legacy_1
      {
        title: 'Scenario manager'
        shown: true
        componentID: 'FormScenarioManager'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 8
          columnPosition: 1
          columnSpan: 5
        }
        components
        {
          FormScenarioManager_ListScenario
          {
          }
          FormScenarioManager_DataSetLevelScenario
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 90
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 197
            }
            column_ChangedBy
            {
              columnId: 'ChangedBy'
              dataPath: 'ChangedBy'
              dataType: 'string'
              title: 'Changed by'
              index: 2
              subtotals: ''
              width: 91
            }
            column_ChangedOn
            {
              columnId: 'ChangedOn'
              dataPath: 'ChangedOn'
              dataType: 'datetime'
              title: 'Changed on'
              index: 3
              subtotals: ''
              width: 99
            }
            column_StorageMode
            {
              columnId: 'StorageMode'
              dataPath: 'StorageMode'
              dataType: 'string'
              title: 'StorageMode'
              index: 4
              subtotals: ''
              width: 40
            }
          }
        }
      }
      form_legacy_2
      {
        title: 'Assumptions'
        shown: true
        componentID: 'FormAssumptions'
        layout
        {
          mode: 'open'
          rowPosition: 9
          rowSpan: 8
          columnPosition: 1
          columnSpan: 5
        }
        components
        {
          FormAssumptions_ListAssumptions
          {
          }
          FormAssumptions_DataSetLevelAssumptions
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Category
            {
              columnId: 'Category'
              dataPath: 'Category'
              dataType: 'string'
              title: '类别'
              index: 1
              subtotals: ''
              width: 108
            }
            column_Importance
            {
              columnId: 'Importance'
              dataPath: 'Importance'
              dataType: 'string'
              title: '重要性'
              index: 2
              subtotals: ''
              width: 110
            }
            column_Title
            {
              columnId: 'Title'
              dataPath: 'Title'
              dataType: 'string'
              title: '标题'
              index: 3
              subtotals: ''
              width: 150
            }
            column_ChangedBy
            {
              columnId: 'ChangedBy'
              dataPath: 'ChangedBy'
              dataType: 'string'
              title: 'Changed by'
              index: 4
              subtotals: ''
              width: 150
            }
            column_CreatedOn
            {
              columnId: 'CreatedOn'
              dataPath: 'CreatedOn'
              dataType: 'datetime'
              title: 'Created on'
              index: 5
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormScenariosKPIsComparison
      {
        title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
        shown: true
        componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 16
          columnPosition: 6
          columnSpan: 7
        }
        components
        {
          FormScenariosKPIsComparison_MatrixEditorFinancialKPIs
          {
            gridColor: '#c4c4c4'
            totalHeaderWidth: 200
            attributeHeaderWidthRatio: 0.6
            nameHeaderWidthRatio: 0.4
            columnWidth: 100
            horizontalGrid: true
            verticalGrid: true
            backendState
            {
              componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs'
              state
              {
                cells
                {
                  attributes
                  {
                    attribute_DisplayValue
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 0
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'DisplayValue'
                    }
                  }
                }
                columns
                {
                  sorting
                  {
                    criteria: ''
                  }
                }
                rows
                {
                  sorting
                  {
                    criteria: "datamember:'KPISetting.DisplayIndex'"
                  }
                }
              }
            }
          }
        }
      }
      form_FormOptimizerPuzzles
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 0
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 1
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_1
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 2
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_1
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 3
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_2
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 4
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_2
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 5
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_3
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 6
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_3
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 7
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_4
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 8
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_4
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 9
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_5
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 10
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_5
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 11
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_6
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 12
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_6
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 13
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_7
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 14
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_7
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 15
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormSanityCheck
      {
        title: 'Sanity Check'
        shown: false
        componentID: 'FormSanityCheck'
        layout
        {
          mode: 'dockright'
          index: 16
        }
        components
        {
          FormSanityCheck_PanelSanityCheckToolbar
          {
            sizeRatio: 1
          }
          FormSanityCheck_PanelSanityCheckContent
          {
            sizeRatio: 1
          }
          FormSanityCheck_PanelSanityCheckGroup
          {
            sizeRatio: 4
          }
          FormSanityCheck_ListSanityCheckGroup
          {
          }
          FormSanityCheck_DataSetLevelSanityCheckGroup
          {
            groupDepth: -1
            sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3'
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Show
            {
              columnId: 'Show'
              dataPath: 'Show'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 32
            }
            column_Category
            {
              columnId: 'Category'
              dataPath: 'Category'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 32
            }
            column_Group
            {
              columnId: 'Group'
              dataPath: 'Group'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 270
            }
            column__Expr3
            {
              columnId: '_Expr3'
              dataPath: '_Expr3'
              dataType: 'number'
              index: 4
              subtotals: ''
              width: 95
            }
          }
          FormSanityCheck_PanelSanityCheckMessage
          {
            sizeRatio: 5
          }
          FormSanityCheck_ListSanityCheckMessage
          {
          }
          FormSanityCheck_DataSetLevelSanityCheckMessage
          {
            groupDepth: -1
            sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description'
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Show
            {
              columnId: 'Show'
              dataPath: 'Show'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 32
            }
            column_Category
            {
              columnId: 'Category'
              dataPath: 'Category'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 32
            }
            column_Messages
            {
              columnId: 'Messages'
              dataPath: 'Messages'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 32
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 585
            }
          }
        }
      }
      form_FormOptimizerPuzzles_8
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 17
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_8
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 18
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_9
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 19
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_9
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 20
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_10
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 21
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_10
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 22
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_11
      {
        title: 'Optimizer Puzzles'
        shown: true
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 23
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_11
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 24
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_12
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 25
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_12
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 26
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_13
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 27
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_13
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 28
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_14
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 29
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_14
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 30
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_15
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 31
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_15
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 32
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormSanityCheck_1
      {
        title: 'Sanity Check'
        shown: false
        componentID: 'FormSanityCheck'
        layout
        {
          mode: 'dockright'
          index: 33
        }
        components
        {
          FormSanityCheck_PanelSanityCheckToolbar
          {
            sizeRatio: 1
          }
          FormSanityCheck_PanelSanityCheckContent
          {
            sizeRatio: 1
          }
          FormSanityCheck_PanelSanityCheckGroup
          {
            sizeRatio: 4
          }
          FormSanityCheck_ListSanityCheckGroup
          {
          }
          FormSanityCheck_DataSetLevelSanityCheckGroup
          {
            groupDepth: -1
            sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3'
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Show
            {
              columnId: 'Show'
              dataPath: 'Show'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 32
            }
            column_Category
            {
              columnId: 'Category'
              dataPath: 'Category'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 32
            }
            column_Group
            {
              columnId: 'Group'
              dataPath: 'Group'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 270
            }
            column__Expr3
            {
              columnId: '_Expr3'
              dataPath: '_Expr3'
              dataType: 'number'
              index: 4
              subtotals: ''
              width: 95
            }
          }
          FormSanityCheck_PanelSanityCheckMessage
          {
            sizeRatio: 5
          }
          FormSanityCheck_ListSanityCheckMessage
          {
          }
          FormSanityCheck_DataSetLevelSanityCheckMessage
          {
            groupDepth: -1
            sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description'
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Show
            {
              columnId: 'Show'
              dataPath: 'Show'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 32
            }
            column_Category
            {
              columnId: 'Category'
              dataPath: 'Category'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 32
            }
            column_Messages
            {
              columnId: 'Messages'
              dataPath: 'Messages'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 32
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 585
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    page: ''
    group: ''
    index: 14
    image: ''
    description: ''
  }
  formatversion: 2
  id: 'PriorityPolicy'
  name: 'PriorityPolicy'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/Views/Ìî²ú·½°¸Áбí.vw
@@ -180,10 +180,10 @@
    userconfigurableinformation
    {
    }
    index: 0
    image: ''
    page: ''
    group: ''
    index: 0
    description: ''
  }
  formatversion: 2
_var/_Main/ProjSettings/MacroPlannerWebApp/Views/Ìî²ú·½°¸Áбí.vw
ÎļþÒÑɾ³ý