limj
2023-09-21 9c496f75e6562345abcb3e7f18dfa637bb46d3c6
merge
已添加76个文件
已修改1个文件
3451 ■■■■■ 文件已修改
_Main/BL/Relations/Relation_PriorityResultBusinessTypeDetail_PriorityResult_PriorityResult_Prio.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityResultGroupDetail_PriorityResult_PriorityResult_PriorityRes.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityResult_MacroPlan_MacroPlan_PriorityResult.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Attribute_Customer.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/DefaultValue_BusinessType.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/DefaultValue_Customer.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/DefaultValue_CustomerID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/DefaultValue_ProductID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/DefaultValue_SalesSegmentName.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/DefaultValue_StockingPointID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/DefaultValue_UnitOfMeasureName.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/Function_CalcPriorityResultScore.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultBusinessTypeDetail/_ROOT_Type_PriorityResultBusinessTypeDetail.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityTotalScore.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/DefaultValue_BusinessType.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/DefaultValue_Customer.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/DefaultValue_CustomerID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/DefaultValue_SalesSegmentName.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/DefaultValue_StockingPointID.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/DefaultValue_UnitOfMeasureName.qbl 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResultGroupDetail/_ROOT_Type_PriorityResultGroupDetail.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton#713.def 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_OnUserSelectionChanged.def 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnSelectionCh.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResult.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResultBusinessTypeDetails.def 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResultGroupDetails#743.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResult.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResultDetails#633.def 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResult.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResultDetails.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResultDetails642.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResult.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResultDetails.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResultDetails590.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResultBusinessTypeDetails_MenuEmergencyTopping_OnClick.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResult_OnUserSelectionChanged.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/_ROOT_Component_FormPriorityResult.def 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/PriorityResults.vw 2258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PriorityResultBusinessTypeDetail_PriorityResult_PriorityResult_Prio.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PriorityResultBusinessTypeDetail_PriorityResult_PriorityResult_PriorityResultBusinessTypeDetail
{
  #keys: '1[414382.0.504275181]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide PriorityResult
  {
    #keys: '3[414382.0.504275183][414382.0.504275182][414382.0.504275184]'
    Cardinality: '0to1'
    ObjectDefinition: PriorityResultBusinessTypeDetail
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PriorityResultBusinessTypeDetail
  {
    #keys: '3[414382.0.504275186][414382.0.504275185][414382.0.504275187]'
    Cardinality: '1toN'
    ObjectDefinition: PriorityResult
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_PriorityResultGroupDetail_PriorityResult_PriorityResult_PriorityRes.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PriorityResultGroupDetail_PriorityResult_PriorityResult_PriorityResultGroupDetail
{
  #keys: '1[414382.0.504275195]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide PriorityResult
  {
    #keys: '3[414382.0.504275197][414382.0.504275196][414382.0.504275198]'
    Cardinality: '0to1'
    ObjectDefinition: PriorityResultGroupDetail
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PriorityResultGroupDetail
  {
    #keys: '3[414382.0.504275200][414382.0.504275199][414382.0.504275201]'
    Cardinality: '1toN'
    ObjectDefinition: PriorityResult
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_PriorityResult_MacroPlan_MacroPlan_PriorityResult.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PriorityResult_MacroPlan_MacroPlan_PriorityResult
{
  #keys: '1[414382.0.504275161]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide MacroPlan
  {
    #keys: '3[414382.0.504275163][414382.0.504275162][414382.0.504275164]'
    Cardinality: '0to1'
    ObjectDefinition: PriorityResult
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PriorityResult
  {
    #keys: '3[414382.0.504275166][414382.0.504275165][414382.0.504275167]'
    Cardinality: '1toN'
    ObjectDefinition: MacroPlan
    OwningSide: 'Owned'
  }
}
_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetCoeffcientByName (
  MacroPlan owner,
  String businessType,
  String name
) as Real
{
  TextBody:
  [*
    // NBoTk Sep-21-2023 (created)
    data := selectobject( owner,PriorityFactor,p,
                          p.BusinessType() = businessType and p.Name() = name
                          )
    return data.Coefficient();
  *]
}
_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetNameList (
  MacroPlan owner,
  String businessType
) as String
{
  TextBody:
  [*
    // NBoTk Sep-21-2023 (created)
    value := "";
    strList := selectuniquevalues(  owner,PriorityFactor,p,
                                   p.BusinessType() = businessType,
                                    p.Name()
                                   );
    if( not isnull( strList )  )
    {
       value := strList.Concatenate( ";" );
    }
    return value;
  *]
}
_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
Quintiq file version 2.0
#parent: #root
StaticMethod RollBackStr (
  MacroPlan owner,
  String businessType,
  String stringData
) as String
{
  TextBody:
  [*
    // NBoTk Sep-21-2023 (created)
    value := stringData;
    symbolList := construct( structured[String]);
    symbolList.Add( "+")
    symbolList.Add( "-")
    symbolList.Add( "x")
    symbolList.Add( "/")
    symbolList.Add( "(")
    symbolList.Add( ")")
    traverse( symbolList,Elements,e)
    {
        if( stringData.EndsWith( e ))
        {
             end := stringData.Length() - e.Length();
             value := stringData.SubString( 0,end);
        }
    }
    nameList := PriorityFactor::GetDataByBusinessType(  owner,businessType);
    traverse( nameList,Elements,e)
    {
        if( stringData.EndsWith( e.Name()))
        {
             end := stringData.Length() - e.Name().Length();
             value := stringData.SubString( 0,end);
        }
    }
    return value;
  *]
}
_Main/BL/Type_PriorityResult/Attribute_BusinessType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute BusinessType
{
  #keys: '3[414382.0.504275379][414382.0.504275378][414382.0.504275380]'
  ValueType: String
}
_Main/BL/Type_PriorityResult/Attribute_Customer.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Customer
{
  #keys: '3[414382.0.504275376][414382.0.504275375][414382.0.504275377]'
  ValueType: String
}
_Main/BL/Type_PriorityResult/Attribute_CustomerID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute CustomerID
{
  #keys: '3[414382.0.504275385][414382.0.504275384][414382.0.504275386]'
  ValueType: String
}
_Main/BL/Type_PriorityResult/Attribute_DemandDate.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute DemandDate
{
  #keys: '3[414382.0.504275370][414382.0.504275369][414382.0.504275371]'
  ValueType: Date
}
_Main/BL/Type_PriorityResult/Attribute_PriorityResultScore.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute PriorityResultScore
{
  #keys: '3[414382.0.504275396][414382.0.504275395][414382.0.504275397]'
  ValueType: Real
}
_Main/BL/Type_PriorityResult/Attribute_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductID
{
  #keys: '3[414382.0.504275367][414382.0.504275366][414382.0.504275368]'
  ValueType: String
}
_Main/BL/Type_PriorityResult/Attribute_Quantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Quantity
{
  #keys: '3[414382.0.504275361][414382.0.504275360][414382.0.504275362]'
  ValueType: Real
}
_Main/BL/Type_PriorityResult/Attribute_SalesSegmentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute SalesSegmentName
{
  #keys: '3[414382.0.504275382][414382.0.504275381][414382.0.504275383]'
  ValueType: String
}
_Main/BL/Type_PriorityResult/Attribute_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute StockingPointID
{
  #keys: '3[414382.0.504275364][414382.0.504275363][414382.0.504275365]'
  ValueType: String
}
_Main/BL/Type_PriorityResult/Attribute_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute UnitOfMeasureName
{
  #keys: '3[414382.0.504275373][414382.0.504275372][414382.0.504275374]'
  ValueType: String
}
_Main/BL/Type_PriorityResult/DefaultValue_BusinessType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: BusinessType
}
_Main/BL/Type_PriorityResult/DefaultValue_Customer.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Customer
}
_Main/BL/Type_PriorityResult/DefaultValue_CustomerID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: CustomerID
}
_Main/BL/Type_PriorityResult/DefaultValue_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: ProductID
}
_Main/BL/Type_PriorityResult/DefaultValue_SalesSegmentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: SalesSegmentName
}
_Main/BL/Type_PriorityResult/DefaultValue_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: StockingPointID
}
_Main/BL/Type_PriorityResult/DefaultValue_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: UnitOfMeasureName
}
_Main/BL/Type_PriorityResult/Function_CalcPriorityResultScore.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
Function CalcPriorityResultScore
{
  TextBody:
  [*
    // NBoTk Sep-21-2023 (created)
    businessTypeScore := max( this,PriorityResultBusinessTypeDetail,p,
                              p.PriorityTotalScore()
                              );
    groupScore := max( this,PriorityResultGroupDetail,p,
                       p.PriorityTotalScore()
                       );
    value := maxvalue( businessTypeScore,groupScore);
    this.PriorityResultScore( value );
  *]
}
_Main/BL/Type_PriorityResult/_ROOT_Type_PriorityResult.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type PriorityResult
{
  #keys: '5[414382.0.504275125][414382.0.504275123][0.0.0][414382.0.504275124][414382.0.504275126]'
  BaseType: Object
  StructuredName: 'PriorityResults'
}
_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_CheckCanTopping.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CheckCanTopping (
  PriorityResultBusinessTypeDetail businessTypeDetails
) as Boolean
{
  TextBody:
  [*
    // NBoTk Sep-21-2023 (created)
    groupDetails := selectset( businessTypeDetails.PriorityResult(),PriorityResultGroupDetail,p,true);
    return isnull( groupDetails);
  *]
}
_Main/BL/Type_PriorityResultBusinessTypeDetail/StaticMethod_EmergencyTopping.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: #root
StaticMethod EmergencyTopping (
  MacroPlan owner,
  PriorityResultBusinessTypeDetail businessTypeDetails
)
{
  TextBody:
  [*
    // NBoTk Sep-21-2023 (created)
    maxPriorityResult := max( owner,PriorityResult,p,
                              p.PriorityResultScore()
                              );
    topScore := maxPriorityResult + 1;
    businessTypeDetails.PriorityTotalScore(topScore);
  *]
}
_Main/BL/Type_PriorityResultBusinessTypeDetail/_ROOT_Type_PriorityResultBusinessTypeDetail.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
TypeSpecialization PriorityResultBusinessTypeDetail
{
  #keys: '2[414382.0.504275146][414382.0.504275145]'
  Description: '事业部优先级结果明细'
  Parent: PriorityResultDetail
  StructuredName: 'PriorityResultBusinessTypeDetails'
}
_Main/BL/Type_PriorityResultDetail/Attribute_BusinessType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute BusinessType
{
  #keys: '3[414382.0.504275420][414382.0.504275419][414382.0.504275421]'
  ValueType: String
}
_Main/BL/Type_PriorityResultDetail/Attribute_Customer.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Customer
{
  #keys: '3[414382.0.504275411][414382.0.504275410][414382.0.504275412]'
  ValueType: String
}
_Main/BL/Type_PriorityResultDetail/Attribute_CustomerID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute CustomerID
{
  #keys: '3[414382.0.504275429][414382.0.504275428][414382.0.504275430]'
  ValueType: String
}
_Main/BL/Type_PriorityResultDetail/Attribute_DemandDate.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute DemandDate
{
  #keys: '3[414382.0.504275423][414382.0.504275422][414382.0.504275424]'
  ValueType: Date
}
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorGradingName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute PriorityFactorGradingName
{
  #keys: '3[414382.0.504275468][414382.0.504275467][414382.0.504275469]'
  ValueType: String
}
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityFactorName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute PriorityFactorName
{
  #keys: '3[414382.0.504275458][414382.0.504275457][414382.0.504275459]'
  ValueType: String
}
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityPolicyName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute PriorityPolicyName
{
  #keys: '3[414382.0.504275439][414382.0.504275438][414382.0.504275440]'
  ValueType: String
}
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityResultScore.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute PriorityResultScore
{
  #keys: '3[414382.0.504275426][414382.0.504275425][414382.0.504275427]'
  ValueType: Real
}
_Main/BL/Type_PriorityResultDetail/Attribute_PriorityTotalScore.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute PriorityTotalScore
{
  #keys: '3[414382.0.504275485][414382.0.504275484][414382.0.504275486]'
  ValueType: Real
}
_Main/BL/Type_PriorityResultDetail/Attribute_Quantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Quantity
{
  #keys: '3[414382.0.504275414][414382.0.504275413][414382.0.504275415]'
  ValueType: Real
}
_Main/BL/Type_PriorityResultDetail/Attribute_SalesSegmentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute SalesSegmentName
{
  #keys: '3[414382.0.504275435][414382.0.504275434][414382.0.504275436]'
  ValueType: String
}
_Main/BL/Type_PriorityResultDetail/Attribute_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute StockingPointID
{
  #keys: '3[414382.0.504275417][414382.0.504275416][414382.0.504275418]'
  ValueType: String
}
_Main/BL/Type_PriorityResultDetail/Attribute_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute UnitOfMeasureName
{
  #keys: '3[414382.0.504275432][414382.0.504275431][414382.0.504275433]'
  ValueType: String
}
_Main/BL/Type_PriorityResultDetail/DefaultValue_BusinessType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: BusinessType
}
_Main/BL/Type_PriorityResultDetail/DefaultValue_Customer.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: Customer
}
_Main/BL/Type_PriorityResultDetail/DefaultValue_CustomerID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: CustomerID
}
_Main/BL/Type_PriorityResultDetail/DefaultValue_SalesSegmentName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: SalesSegmentName
}
_Main/BL/Type_PriorityResultDetail/DefaultValue_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: StockingPointID
}
_Main/BL/Type_PriorityResultDetail/DefaultValue_UnitOfMeasureName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
Quintiq file version 2.0
#parent: #root
DefaultValue
{
  TargetAttribute: UnitOfMeasureName
}
_Main/BL/Type_PriorityResultDetail/_ROOT_Type_PriorityResultDetail.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type PriorityResultDetail
{
  #keys: '5[414382.0.504275135][414382.0.504275133][0.0.0][414382.0.504275134][414382.0.504275136]'
  BaseType: Object
  StructuredName: 'PriorityResultDetails'
}
_Main/BL/Type_PriorityResultGroupDetail/_ROOT_Type_PriorityResultGroupDetail.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
TypeSpecialization PriorityResultGroupDetail
{
  #keys: '2[414382.0.504275155][414382.0.504275154]'
  Description: '集团优先级结果明细'
  Parent: PriorityResultDetail
  StructuredName: 'PriorityResultGroupDetails'
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton#713.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,107 @@
Quintiq file version 2.0
Component PanelPriorityPolicyOperationButton
{
  #keys: '[414382.0.494931742]'
  BaseType: 'WebPanel'
  Children:
  [
    Component ButtonAddPriorityPolicy
    {
      #keys: '[414382.0.494931743]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '添加因子'
        Taborder: 1
      ]
    }
    Component Buttonplus
    {
      #keys: '[414382.0.494931744]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '+'
        Taborder: 2
      ]
    }
    Component ButtonSubtract
    {
      #keys: '[414382.0.494931745]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '*'
        Taborder: 3
      ]
    }
    Component ButtonMultiply
    {
      #keys: '[414382.0.494931747]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: 'x'
        Taborder: 4
      ]
    }
    Component ButtonDivide
    {
      #keys: '[414382.0.494931748]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '/'
        Taborder: 5
      ]
    }
    Component ButtonLeftParenthesis
    {
      #keys: '[414382.0.494931749]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '('
        Taborder: 6
      ]
    }
    Component ButtonRightParenthesis
    {
      #keys: '[414382.0.494931750]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: ')'
        Taborder: 7
      ]
    }
    Component ButtonRollBack
    {
      #keys: '[414382.0.494931751]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '<-'
        Taborder: 8
      ]
    }
    Component DropDownStringList
    {
      #keys: '[414382.0.501480353]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Label: '优先级因子'
        Taborder: 0
      ]
    }
  ]
  Properties:
  [
    FixedSize: true
    MinimumColumns: 10
    MinimumRows: 1
    Orientation: 'horizontal'
    Taborder: 3
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_OnUserSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
Quintiq file version 2.0
#parent: ListPriorityPolicy
Response OnUserSelectionChanged (
  PriorityPolicy selection
) id:Response_ListPriorityPolicy_OnUserSelectionChanged
{
  #keys: '[414382.0.503822635]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebList_OnUserSelectionChanged'
  QuillAction
  {
    Body:
    [*
      PanelPriorityPolicyOperationName.Text(selection.Name());
      businessType := PriorityPolicyBusinessType.Text();
      str := PriorityFactor::GetNameList( MacroPlan, businessType);
      DropDownStringList.Strings(str);
      data := shadow( selection );
      DataHolderEditPriorityPolicy.Data( &data );
      //coefficient := PriorityFactor::GetCoeffcientByName( MacroPlan,businessType,DropDownStringList.Text());
      //LabelPriorityPolicyCoefficient.Text([String]coefficient);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyCoefficient_902/ButtonCommit
Response OnClick () id:Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick
{
  #keys: '[414382.0.506250033]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      DataHolderEditPriorityPolicy.Data().Formula(LabelFormula.Text());
      DataHolderEditPriorityPolicy.Data().CalculateValue(LabelCalculateValue.Text());
      DataHolderEditPriorityPolicy.Data().Commit();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyOperationButton/ButtonAddPriorityPolicy
Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick
{
  #keys: '[414382.0.502145449]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      coefficient := LabelPriorityPolicyCoefficient.Text();
      text := DropDownStringList.Text();
      formulaText := LabelFormula.Text() + text;
      LabelFormula.Text(formulaText);
      textCalculate := DropDownStringList.Text() + "[" + coefficient + "*L]";
      calculateText := LabelCalculateValue.Text() + textCalculate;
      LabelCalculateValue.Text(calculateText);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyOperationButton/ButtonDivide
Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick
{
  #keys: '[414382.0.500261587]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      text := this.Label();
      formulaText := LabelFormula.Text() + text;
      LabelFormula.Text(formulaText);
      calculateTest := LabelCalculateValue.Text() + text;
      LabelCalculateValue.Text(calculateTest);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyOperationButton/ButtonLeftParenthesis
Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick
{
  #keys: '[414382.0.500261667]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      text := this.Label();
      formulaText := LabelFormula.Text() + text;
      LabelFormula.Text(formulaText);
      calculateTest := LabelCalculateValue.Text() + text;
      LabelCalculateValue.Text(calculateTest);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyOperationButton/ButtonMultiply
Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick
{
  #keys: '[414382.0.500261507]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      text := this.Label();
      formulaText := LabelFormula.Text() + text;
      LabelFormula.Text(formulaText);
      calculateTest := LabelCalculateValue.Text() + text;
      LabelCalculateValue.Text(calculateTest);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyOperationButton/ButtonRightParenthesis
Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick
{
  #keys: '[414382.0.500261748]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      text := this.Label();
      formulaText := LabelFormula.Text() + text;
      LabelFormula.Text(formulaText);
      calculateTest := LabelCalculateValue.Text() + text;
      LabelCalculateValue.Text(calculateTest);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyOperationButton/ButtonRollBack
Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick
{
  #keys: '[414382.0.506055261]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      businessType := PriorityPolicyBusinessType.Text();
      formulaText := PriorityPolicy::RollBackStr( MacroPlan,businessType,LabelFormula.Text());
      LabelFormula.Text(formulaText);
      calculateTest := PriorityPolicy::RollBackStr( MacroPlan,businessType,LabelCalculateValue.Text());
      LabelCalculateValue.Text(calculateTest);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyOperationButton/ButtonSubtract
Response OnClick () id:Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick
{
  #keys: '[414382.0.500261427]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      text := this.Label();
      formulaText := LabelFormula.Text() + text;
      LabelFormula.Text(formulaText);
      calculateTest := LabelCalculateValue.Text() + text;
      LabelCalculateValue.Text(calculateTest);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyOperationButton/Buttonplus
Response OnClick () id:Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick
{
  #keys: '[414382.0.500261347]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      text := this.Label();
      formulaText := LabelFormula.Text() + text;
      LabelFormula.Text(formulaText);
      calculateTest := LabelCalculateValue.Text() + text;
      LabelCalculateValue.Text(calculateTest);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnSelectionCh.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyOperationButton/DropDownStringList
Response OnSelectionChanged () id:Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnSelectionChanged
{
  #keys: '[414382.0.507827790]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged'
  QuillAction
  {
    Body:
    [*
      info( "select changeed" );
      businessType := PriorityPolicyBusinessType.Text();
      coefficient := PriorityFactor::GetCoeffcientByName( MacroPlan,businessType,DropDownStringList.Text());
      LabelPriorityPolicyCoefficient.Text([String]coefficient);
      info("coefficient := " + [String]coefficient  );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
Component ListPriorityResult
{
  #keys: '[414382.0.506312194]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPriorityResult
    {
      #keys: '[414382.0.506312195]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'MacroPlan'
        Source: 'MacroPlan'
        Taborder: 0
        Transformation: 'PriorityResult'
      ]
    }
    #child: listActionBarPagePriorityResult
    Component DataSetLevelPriorityResult
    {
      #keys: '[414382.0.506312200]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPriorityResult
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"Customer","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandDate","title":"DemandDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityResultScore","title":"PriorityResultScore","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityResultScore"}}]'
        ContextMenu: 'listContextMenuPriorityResult'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResultBusinessTypeDetails.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
Quintiq file version 2.0
Component ListPriorityResultBusinessTypeDetails
{
  #keys: '[414382.0.506313048]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPriorityResultDetails
    {
      #keys: '[414382.0.506313049]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'structured[PriorityResultBusinessTypeDetail]'
        Source: 'DataHolderPriorityResultBusinessTypeDetails'
        Taborder: 0
        Transformation: 'Elements'
      ]
    }
    #child: listActionBarPagePriorityResultDetails
    Component DataSetLevelPriorityResultDetails
    {
      #keys: '[414382.0.506313054]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPriorityResultDetails
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"Customer","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandDate","title":"DemandDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityResultScore","title":"PriorityResultScore","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityResultScore"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityPolicyName","title":"PriorityPolicyName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityPolicyName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityFactorName","title":"PriorityFactorName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityFactorName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityFactorGradingName","title":"PriorityFactorGradingName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityFactorGradingName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityTotalScore","title":"PriorityTotalScore","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityTotalScore"}}]'
        ContextMenu: 'listContextMenuPriorityResultDetails'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 2
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPriorityResultBusinessTypeDetails_WebMenu_OnClick
    {
      #keys: '[414382.0.506320636]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[1275.0.8208190]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_ListPriorityResultGroupDetails#743.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
Component ListPriorityResultGroupDetails
{
  #keys: '[414382.0.506313387]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPriorityResultDetails859
    {
      #keys: '[414382.0.506313388]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'structured[PriorityResultGroupDetail]'
        Source: 'DataHolderPriorityResultGroupDetails'
        Taborder: 0
        Transformation: 'Elements'
      ]
    }
    #child: listActionBarPagePriorityResultDetails642
    Component DataSetLevelPriorityResultDetails872
    {
      #keys: '[414382.0.506313393]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPriorityResultDetails590
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegmentName","title":"SalesSegmentName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesSegmentName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Customer","title":"Customer","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Customer"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasureName","title":"UnitOfMeasureName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasureName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandDate","title":"DemandDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityResultScore","title":"PriorityResultScore","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityResultScore"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityPolicyName","title":"PriorityPolicyName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityPolicyName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityFactorName","title":"PriorityFactorName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityFactorName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityFactorGradingName","title":"PriorityFactorGradingName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityFactorGradingName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriorityTotalScore","title":"PriorityTotalScore","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PriorityTotalScore"}}]'
        ContextMenu: 'listContextMenuPriorityResultDetails590'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 4
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
Component PanelPriorityResult
{
  #keys: '[414382.0.506311784]'
  BaseType: 'WebPanel'
  Children:
  [
    #child: ListPriorityResult
  ]
  Properties:
  [
    Taborder: 0
    Title: '优先级结果列表'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_PanelPriorityResultDetails#633.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
Quintiq file version 2.0
Component PanelPriorityResultDetails
{
  #keys: '[414382.0.506311801]'
  BaseType: 'WebPanel'
  Children:
  [
    Component LabelPriorityResultProductID
    {
      #keys: '[414382.0.506311846]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '产品编码:'
        Taborder: 0
      ]
    }
    Component LabelPriorityResultBusinessTypeDetails
    {
      #keys: '[414382.0.506311875]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '事业部优先级得分详情'
        Taborder: 1
      ]
    }
    Component LabelPriorityResultGroupDetails
    {
      #keys: '[414382.0.506311903]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '集团优先级得分详情'
        Taborder: 3
      ]
    }
    #child: ListPriorityResultBusinessTypeDetails
    #child: ListPriorityResultGroupDetails
  ]
  Properties:
  [
    Taborder: 1
    Title: '优先级结果明细'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePriorityResult
{
  #keys: '[414382.0.506312197]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResultDetails.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePriorityResultDetails
{
  #keys: '[414382.0.506313051]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listActionBarPagePriorityResultDetails642.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePriorityResultDetails642
{
  #keys: '[414382.0.506313390]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuPriorityResult
{
  #keys: '[414382.0.506312202]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResultDetails.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
Component listContextMenuPriorityResultDetails
{
  #keys: '[414382.0.506313056]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuEmergencyTopping
    {
      #keys: '[414382.0.506320730]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'GEAR_TIME'
        Taborder: 3
        Title: 'Emergency Topping'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Component_listContextMenuPriorityResultDetails590.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuPriorityResultDetails590
{
  #keys: '[414382.0.506313395]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResultBusinessTypeDetails_MenuEmergencyTopping_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: ListPriorityResultBusinessTypeDetails
Response OnClick (
  PriorityResultBusinessTypeDetail selection
) id:Response_ListPriorityResultBusinessTypeDetails_MenuEmergencyTopping_OnClick
{
  #keys: '[414382.0.507572437]'
  CanBindMultiple: false
  DefinitionID => /ListPriorityResultBusinessTypeDetails/Responsedef_ListPriorityResultBusinessTypeDetails_WebMenu_OnClick
  Initiator: 'MenuEmergencyTopping'
  Precondition:
  [*
    return PriorityResultBusinessTypeDetail::CheckCanTopping(selection);
  *]
  QuillAction
  {
    Body:
    [*
      // ç´§æ€¥ç½®é¡¶
      PriorityResultBusinessTypeDetail::EmergencyTopping( MacroPlan,selection);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/Response_ListPriorityResult_OnUserSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: ListPriorityResult
Response OnUserSelectionChanged (
  PriorityResult selection
) id:Response_ListPriorityResult_OnUserSelectionChanged
{
  #keys: '[414382.0.506312631]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebList_OnUserSelectionChanged'
  QuillAction
  {
    Body:
    [*
      businessTypeDetails := selectset( selection,PriorityResultBusinessTypeDetail,p,true);
      DataHolderPriorityResultBusinessTypeDetails.Data(&businessTypeDetails);
      groupDetails := selectset( selection,PriorityResultGroupDetail,p,true);
      DataHolderPriorityResultGroupDetails.Data( &groupDetails);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityResult/_ROOT_Component_FormPriorityResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent FormPriorityResult
{
  #keys: '[414382.0.506311765]'
  BaseType: 'WebForm'
  Children:
  [
    #child: PanelPriorityResultDetails
    #child: PanelPriorityResult
    Component DataHolderPriorityResultBusinessTypeDetails
    {
      #keys: '[414382.0.506312058]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[PriorityResultBusinessTypeDetail]*'
      Properties:
      [
        Taborder: 2
      ]
    }
    Component DataHolderPriorityResultGroupDetails
    {
      #keys: '[414382.0.506312077]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[PriorityResultGroupDetail]*'
      Properties:
      [
        Taborder: 3
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Views/PriorityResults.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2258 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_legacy_1
      {
        title: 'Scenario manager'
        shown: true
        componentID: 'FormScenarioManager'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 8
          columnPosition: 1
          columnSpan: 5
        }
        components
        {
          FormScenarioManager_ListScenario
          {
          }
          FormScenarioManager_DataSetLevelScenario
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 90
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 197
            }
            column_ChangedBy
            {
              columnId: 'ChangedBy'
              dataPath: 'ChangedBy'
              dataType: 'string'
              title: 'Changed by'
              index: 2
              subtotals: ''
              width: 91
            }
            column_ChangedOn
            {
              columnId: 'ChangedOn'
              dataPath: 'ChangedOn'
              dataType: 'datetime'
              title: 'Changed on'
              index: 3
              subtotals: ''
              width: 99
            }
            column_StorageMode
            {
              columnId: 'StorageMode'
              dataPath: 'StorageMode'
              dataType: 'string'
              title: 'StorageMode'
              index: 4
              subtotals: ''
              width: 40
            }
          }
        }
      }
      form_legacy_2
      {
        title: 'Assumptions'
        shown: true
        componentID: 'FormAssumptions'
        layout
        {
          mode: 'open'
          rowPosition: 9
          rowSpan: 8
          columnPosition: 1
          columnSpan: 5
        }
        components
        {
          FormAssumptions_ListAssumptions
          {
          }
          FormAssumptions_DataSetLevelAssumptions
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Category
            {
              columnId: 'Category'
              dataPath: 'Category'
              dataType: 'string'
              title: '类别'
              index: 1
              subtotals: ''
              width: 108
            }
            column_Importance
            {
              columnId: 'Importance'
              dataPath: 'Importance'
              dataType: 'string'
              title: '重要性'
              index: 2
              subtotals: ''
              width: 110
            }
            column_Title
            {
              columnId: 'Title'
              dataPath: 'Title'
              dataType: 'string'
              title: '标题'
              index: 3
              subtotals: ''
              width: 150
            }
            column_ChangedBy
            {
              columnId: 'ChangedBy'
              dataPath: 'ChangedBy'
              dataType: 'string'
              title: 'Changed by'
              index: 4
              subtotals: ''
              width: 150
            }
            column_CreatedOn
            {
              columnId: 'CreatedOn'
              dataPath: 'CreatedOn'
              dataType: 'datetime'
              title: 'Created on'
              index: 5
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormScenariosKPIsComparison
      {
        title: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
        shown: true
        componentID: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 16
          columnPosition: 6
          columnSpan: 7
        }
        components
        {
          FormScenariosKPIsComparison_MatrixEditorFinancialKPIs
          {
            gridColor: '#c4c4c4'
            totalHeaderWidth: 200
            attributeHeaderWidthRatio: 0.6
            nameHeaderWidthRatio: 0.4
            columnWidth: 100
            horizontalGrid: true
            verticalGrid: true
            backendState
            {
              componentId: 'QLibMacroPlannerWebUI::FormScenariosKPIsComparison.MatrixEditorFinancialKPIs'
              state
              {
                cells
                {
                  attributes
                  {
                    attribute_DisplayValue
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 0
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'DisplayValue'
                    }
                  }
                }
                columns
                {
                  sorting
                  {
                    criteria: ''
                  }
                }
                rows
                {
                  sorting
                  {
                    criteria: "datamember:'KPISetting.DisplayIndex'"
                  }
                }
              }
            }
          }
        }
      }
      form_FormOptimizerPuzzles
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 0
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 1
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_1
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 2
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_1
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 3
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_2
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 4
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_2
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 5
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_3
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 6
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_3
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 7
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_4
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 8
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_4
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 9
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_5
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 10
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_5
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 11
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_6
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 12
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_6
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 13
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_7
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 14
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_7
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 15
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormSanityCheck
      {
        title: 'Sanity Check'
        shown: false
        componentID: 'FormSanityCheck'
        layout
        {
          mode: 'dockright'
          index: 16
        }
        components
        {
          FormSanityCheck_PanelSanityCheckToolbar
          {
            sizeRatio: 1
          }
          FormSanityCheck_PanelSanityCheckContent
          {
            sizeRatio: 1
          }
          FormSanityCheck_PanelSanityCheckGroup
          {
            sizeRatio: 4
          }
          FormSanityCheck_ListSanityCheckGroup
          {
          }
          FormSanityCheck_DataSetLevelSanityCheckGroup
          {
            groupDepth: -1
            sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3'
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Show
            {
              columnId: 'Show'
              dataPath: 'Show'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 32
            }
            column_Category
            {
              columnId: 'Category'
              dataPath: 'Category'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 32
            }
            column_Group
            {
              columnId: 'Group'
              dataPath: 'Group'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 270
            }
            column__Expr3
            {
              columnId: '_Expr3'
              dataPath: '_Expr3'
              dataType: 'number'
              index: 4
              subtotals: ''
              width: 95
            }
          }
          FormSanityCheck_PanelSanityCheckMessage
          {
            sizeRatio: 5
          }
          FormSanityCheck_ListSanityCheckMessage
          {
          }
          FormSanityCheck_DataSetLevelSanityCheckMessage
          {
            groupDepth: -1
            sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description'
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Show
            {
              columnId: 'Show'
              dataPath: 'Show'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 32
            }
            column_Category
            {
              columnId: 'Category'
              dataPath: 'Category'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 32
            }
            column_Messages
            {
              columnId: 'Messages'
              dataPath: 'Messages'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 32
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 585
            }
          }
        }
      }
      form_FormOptimizerPuzzles_8
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 17
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_8
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 18
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_9
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 19
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_9
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 20
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_10
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 21
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_10
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 22
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_11
      {
        title: 'Optimizer Puzzles'
        shown: true
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 23
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_11
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 24
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_12
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 25
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_12
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 26
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_13
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 27
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_13
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 28
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_14
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 29
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_14
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 30
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormOptimizerPuzzles_15
      {
        title: 'Optimizer Puzzles'
        shown: false
        componentID: 'FormOptimizerPuzzles'
        layout
        {
          mode: 'dockright'
          index: 31
        }
        components
        {
          FormOptimizerPuzzles_ListOptimizerPuzzles
          {
          }
          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 109
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              title: '描述'
              index: 2
              subtotals: ''
              width: 207
            }
          }
        }
      }
      form_FormKPI_15
      {
        title: 'KPI Dashboard'
        shown: false
        componentID: 'FormKPI'
        layout
        {
          mode: 'dockright'
          index: 32
        }
        components
        {
          FormKPI_PanelKPI
          {
            sizeRatio: 1
            activeChild: 'PanelKPISelection'
          }
          FormKPI_PanelKPIDashboard
          {
            sizeRatio: 1
          }
          FormKPI_PanelKPISelection
          {
            sizeRatio: 1
          }
          FormKPI_ListKPISelection
          {
            QuillViewData
            {
              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
            }
          }
          FormKPI_DataSetLevelKPISelection
          {
            groupDepth: -1
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              title: 'All constraints'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Name
            {
              columnId: 'Name'
              dataPath: 'Name'
              dataType: 'string'
              title: '名称'
              index: 1
              subtotals: ''
              width: 200
            }
          }
        }
      }
      form_FormSanityCheck_1
      {
        title: 'Sanity Check'
        shown: false
        componentID: 'FormSanityCheck'
        layout
        {
          mode: 'dockright'
          index: 33
        }
        components
        {
          FormSanityCheck_PanelSanityCheckToolbar
          {
            sizeRatio: 1
          }
          FormSanityCheck_PanelSanityCheckContent
          {
            sizeRatio: 1
          }
          FormSanityCheck_PanelSanityCheckGroup
          {
            sizeRatio: 4
          }
          FormSanityCheck_ListSanityCheckGroup
          {
          }
          FormSanityCheck_DataSetLevelSanityCheckGroup
          {
            groupDepth: -1
            sort: 'DESC:IsShown,DESC:SanityCheckHighestCategory,DESC:_Expr3'
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Show
            {
              columnId: 'Show'
              dataPath: 'Show'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 32
            }
            column_Category
            {
              columnId: 'Category'
              dataPath: 'Category'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 32
            }
            column_Group
            {
              columnId: 'Group'
              dataPath: 'Group'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 270
            }
            column__Expr3
            {
              columnId: '_Expr3'
              dataPath: '_Expr3'
              dataType: 'number'
              index: 4
              subtotals: ''
              width: 95
            }
          }
          FormSanityCheck_PanelSanityCheckMessage
          {
            sizeRatio: 5
          }
          FormSanityCheck_ListSanityCheckMessage
          {
          }
          FormSanityCheck_DataSetLevelSanityCheckMessage
          {
            groupDepth: -1
            sort: 'DESC:IsShown,SanityCheckGroup.Type,SanityCheckGroup.Group,Description'
            column_All_constraints
            {
              columnId: 'All constraints'
              dataPath: 'All constraints'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 32
            }
            column_Show
            {
              columnId: 'Show'
              dataPath: 'Show'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 32
            }
            column_Category
            {
              columnId: 'Category'
              dataPath: 'Category'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 32
            }
            column_Messages
            {
              columnId: 'Messages'
              dataPath: 'Messages'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 32
            }
            column_Description
            {
              columnId: 'Description'
              dataPath: 'Description'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 585
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    page: ''
    group: ''
    index: 15
    image: ''
    description: ''
  }
  formatversion: 2
  id: 'PriorityResults'
  name: 'PriorityResults'
  isglobal: false
  isroot: true
}
_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
@@ -5,7 +5,7 @@
  ProjectProperties
  {
    ApplicationComponentName: 'ApplicationMacroPlanner'
    BuildVersion: '2022.3.0.32'
    BuildVersion: '2022.3.0.113'
    Description: 'Quintiq Macro Planner'
    ProjectKind: 'WebClient'
  }