hongjli
2023-09-24 287c978dc2cf991b4ea77947aee1df6598880477
产能分配结果-规则配置
已添加23个文件
已修改3个文件
627 ■■■■■ 文件已修改
_Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_GlobalOTDTable_GlobalOTD.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_Division.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_ModuleMaterialCode.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_PanelMaterialCode.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_StockingPointID.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/_ROOT_Type_CapacityAllocationResultsRuleConfiguration.qbl 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlActions.def 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Method_Edit.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Method_New.def 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnCancel_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/_ROOT_Component_DialogCreateEditCapacityAllocationResultsRuleConfiguration.def 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listActionBarPageCapacityAllocationResultsRuleConfiguration.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuDelete_OnClick.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuEdit_OnClick.def 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuNew_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuSelectAll_OnClic.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/_ROOT_Component_FormCapacityAllocationResultsRuleConfiguration.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/_ROOT_Component_FormPanelMaterialTianHua.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ProjSettings/MacroPlannerWebApp/Views/Test.vw 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_CapacityAllocationResultsRuleConfiguration_GlobalOTDTable_GlobalOTD.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation CapacityAllocationResultsRuleConfiguration_GlobalOTDTable_GlobalOTDTable_CapacityAllocationResultsRuleConfiguration
{
  #keys: '1[414702.0.374991408]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDTable
  {
    #keys: '3[414702.0.374991410][414702.0.374991409][414702.0.374991411]'
    Cardinality: '0to1'
    ObjectDefinition: CapacityAllocationResultsRuleConfiguration
    OwningSide: 'Reference'
  }
  RelationSide.RightSide CapacityAllocationResultsRuleConfiguration
  {
    #keys: '3[414702.0.374991413][414702.0.374991412][414702.0.374991414]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDTable
    OwningSide: 'Owned'
  }
}
_Main/BL/Type_CapacityAllocationResults/StaticMethod_CreateDate.qbl
@@ -9,19 +9,19 @@
  [*
    globalOTDTable.CapacityAllocationResults( relflush );
    
    finaleProduct_MPs := CapacityAllocationResults::ObtainTheFinalOutputProduct( macroPlan );
    finaleProductInStockingPoint_MPs := CapacityAllocationResults::ObtainTheFinalOutputProduct( macroPlan, globalOTDTable );
    
    period_MPS := null( Period_MPs );
    traverse ( macroPlan, PeriodSpecification_MP, psmp, psmp.ID() = "Planning periods" ) {
      period_MPS := selectsortedset( psmp, PeriodSpecificationPeriod.Period_MP, pmp, not pmp.IsHistorical(), pmp.StartDate() );
    }
    
    traverse ( finaleProduct_MPs, Elements, fpmp/*, fpmp.ID() = "ProXOver 1 D2.6 A"*/ ) {
      traverse ( fpmp, ProductInStockingPoint_MP, pisp, /*pisp.Name() = "ProXOver 1 D2.6 A in Finished Cars (France)" and*/ not pisp.IsSystem() ) {
        traverse ( period_MPS, Elements, pmp ) {
          CapacityAllocationResults::IterativeGeneration( globalOTDTable, pisp, 1, null( NewSupply ), -1.0, pmp.StartDate() );
        }
    //    info( pisp.Name() );
    traverse ( finaleProductInStockingPoint_MPs, Elements, fpispmp ) {
      capacityAllocationResultsRuleConfiguration := select( globalOTDTable, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = fpispmp.ProductID() and tempCARRC.StockingPointID() = fpispmp.StockingPointID() );
      info( "生产的产品:", fpispmp.ProductID(), "------产品在库存点-------:", fpispmp.StockingPointID() );
      traverse ( period_MPS, Elements, pmp ) {
        // CapacityAllocationResults::IterativeGeneration( globalOTDTable, pisp, 1, null( NewSupply ), -1.0, pmp.StartDate() ); è€ç‰ˆ
        CapacityAllocationResults::IterativeGeneration2( fpispmp, pmp.StartDate(), capacityAllocationResultsRuleConfiguration, 0, 0.0 );
      }
    }
  *]
_Main/BL/Type_CapacityAllocationResults/StaticMethod_IterativeGeneration2.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
Quintiq file version 2.0
#parent: #root
StaticMethod IterativeGeneration2 (
  ProductInStockingPoint_MP pisp,
  Date targetDate,
  CapacityAllocationResultsRuleConfiguration carrcs,
  Number numberOfLayers,
  Real firstLevelSupply
)
{
  TextBody:
  [*
    numberOfLayers++;
    info( "层数:", numberOfLayers, "    ç›®æ ‡æ—¶é—´ï¼š", targetDate.Format( "Y-M2-D2" ) );
    traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispippl, pispippl.Start().Date() = targetDate ) {
      traverse ( pispippl, NewSupply, ns, ns.Quantity() > 0 ) {
        info( "当前供应的pisp:", ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
        if ( numberOfLayers = 1 ) {
          firstLevelSupply := ns.Quantity();
        }
        if ( guard( ns.PeriodTask_MP().astype( PeriodTaskOperation ).DependentDemand( relsize ) > 0, false ) ) {
          traverse ( ns, PeriodTask_MP.astype( PeriodTaskOperation ).DependentDemand, dd ) {
            CapacityAllocationResults::IterativeGeneration2( dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP(),
                                                             targetDate,
                                                             carrcs,
                                                             numberOfLayers,
                                                             firstLevelSupply
                                                            );
          }
        }
        firstLevelSupply := 0.0;
      }
    }
  *]
}
_Main/BL/Type_CapacityAllocationResults/StaticMethod_ObtainTheFinalOutputProduct.qbl
@@ -1,25 +1,30 @@
Quintiq file version 2.0
#parent: #root
StaticMethod ObtainTheFinalOutputProduct (
  MacroPlan macroPlan
) as owning Product_MPs
  MacroPlan macroPlan,
  GlobalOTDTable globalOTDTable
) as owning ProductInStockingPoint_MPs
{
  TextBody:
  [*
    finaleProducts := construct( Product_MPs );
    //finaleProducts := construct( Product_MPs );
    //
    //traverse ( macroPlan, Product_MP, pmp, pmp.IsLeaf() ) {
    //  flag := true;
    //  traverse ( macroPlan, Routing.RoutingStep.Operation.OperationInput, oi, flag ) {
    //    if ( pmp = oi.ProductInStockingPoint_MP().Product_MP() ) {
    //      flag := false;
    //    }
    //  }
    //  if ( flag ) {
    //    finaleProducts.Add( pmp );
    //  }
    //}
    
    traverse ( macroPlan, Product_MP, pmp, pmp.IsLeaf() ) {
      flag := true;
      traverse ( macroPlan, Routing.RoutingStep.Operation.OperationInput, oi, flag ) {
        if ( pmp = oi.ProductInStockingPoint_MP().Product_MP() ) {
          flag := false;
        }
      }
      if ( flag ) {
        finaleProducts.Add( pmp );
      }
    }
    finaleProductInStockingPoint_MPs := selectset( macroPlan, Product_MP.ProductInStockingPoint_MP, tempPISPMP,
                                                   exists( globalOTDTable, CapacityAllocationResultsRuleConfiguration, tempCARRC, tempCARRC.ModuleMaterialCode() = tempPISPMP.ProductID() and tempCARRC.StockingPointID() = tempPISPMP.StockingPointID() )
                                                  );
    
    return &finaleProducts;
    return &finaleProductInStockingPoint_MPs;
  *]
}
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_Division.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute Division
{
  #keys: '3[414702.0.374991447][414702.0.374991446][414702.0.374991448]'
  Description: '事业部'
  ValueType: String
}
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_ModuleMaterialCode.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ModuleMaterialCode
{
  #keys: '3[414702.0.374991437][414702.0.374991436][414702.0.374991438]'
  Description: '模组物料编码'
  ValueType: String
}
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_PanelMaterialCode.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute PanelMaterialCode
{
  #keys: '3[414702.0.374991427][414702.0.374991426][414702.0.374991428]'
  Description: '面板物料编码'
  ValueType: String
}
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute StockingPointID
{
  #keys: '3[414702.0.375010145][414702.0.375010144][414702.0.375010146]'
  Description: '库存点ID'
  ValueType: String
}
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/_ROOT_Type_CapacityAllocationResultsRuleConfiguration.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type CapacityAllocationResultsRuleConfiguration
{
  #keys: '5[414702.0.374991403][414702.0.374991401][0.0.0][414702.0.374991402][414702.0.374991404]'
  BaseType: Object
  Description: '产能分配结果,规则配置'
  StructuredName: 'CapacityAllocationResultsRuleConfigurations'
}
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlActions.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
Quintiq file version 2.0
Component pnlActions
{
  #keys: '[414702.0.373821470]'
  BaseType: 'WebPanel'
  Children:
  [
    Component btnOk
    {
      #keys: '[414702.0.373821474]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: 'OK'
        Taborder: 0
      ]
    }
    Component btnCancel
    {
      #keys: '[414702.0.373821476]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: 'Cancel'
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Alignment: 'trailing'
    Border: true
    ExcludeFromActiveComponent: true
    FixedSize: true
    Orientation: 'horizontal'
    Padding: 'true'
    Style: 'footer'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Component_pnlContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
Quintiq file version 2.0
Component pnlContent
{
  #keys: '[414702.0.373821468]'
  BaseType: 'WebPanel'
  Children:
  [
    Component efPanelMaterialCode
    {
      #keys: '[414702.0.375722232]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderDialogData.Data.PanelMaterialCode'
        Label: '面板物料编码'
        Taborder: 0
      ]
    }
    Component efModuleMaterialCode
    {
      #keys: '[414702.0.375722245]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderDialogData.Data.ModuleMaterialCode'
        Label: '模板物料编码'
        Taborder: 1
      ]
    }
    Component efDivision
    {
      #keys: '[414702.0.375722257]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderDialogData.Data.Division'
        Label: '事业部'
        Taborder: 2
      ]
    }
    Component efStockingPointID
    {
      #keys: '[414702.0.375874061]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'DataHolderDialogData.Data.StockingPointID'
        Label: '库存点ID'
        Taborder: 3
      ]
    }
  ]
  Properties:
  [
    Padding: 'true'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Method_Edit.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: #root
Method Edit (
  CapacityAllocationResultsRuleConfiguration selection
) id:Method_DialogCreateEditCapacityAllocationResultsRuleConfiguration_Edit
{
  #keys: '[414702.0.375759040]'
  Body:
  [*
    // Edits assumption
    data := shadow( selection );
    DataHolderDialogData.Data( &data );
    ApplicationMacroPlanner.ShowFormModal( this );
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Method_New.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
Quintiq file version 2.0
#parent: #root
Method New () id:Method_DialogCreateEditCapacityAllocationResultsRuleConfiguration_New
{
  #keys: '[414702.0.375317354]'
  Body:
  [*
    capacityAllocationResultsRuleConfiguration := GlobalOTDTable.CapacityAllocationResultsRuleConfiguration( relshadow );
    DataHolderDialogData.Data( &capacityAllocationResultsRuleConfiguration );
    ApplicationMacroPlanner.ShowFormModal( this );
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnCancel_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: pnlActions/btnCancel
Response OnClick () id:Response_pnlActions_btnCancel_OnClick
{
  #keys: '[414702.0.373821480]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      Form.Close();
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/Response_pnlActions_btnOk_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
#parent: pnlActions/btnOk
Response OnClick () id:Response_pnlActions_btnOk_OnClick
{
  #keys: '[414702.0.373821479]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      Form.ApplyChanges();
      data := DataHolderDialogData.Data().WrappedInstance();
      if ( isnull( data ) ) {
        GlobalOTDTable.CapacityAllocationResultsRuleConfiguration( relnew,
                                                                   PanelMaterialCode  := efPanelMaterialCode.Text(),
                                                                   ModuleMaterialCode := efModuleMaterialCode.Text(),
                                                                   Division           := efDivision.Text(),
                                                                   StockingPointID    := efStockingPointID.Text()
                                                                  );
      } else {
        data.PanelMaterialCode( efPanelMaterialCode.Text() );
        data.ModuleMaterialCode( efModuleMaterialCode.Text() );
        data.Division( efDivision.Text() );
        data.StockingPointID( efStockingPointID.Text() );
      }
      Form.Close();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogCapacityAllocationResultsRuleConfiguration/_ROOT_Component_DialogCreateEditCapacityAllocationResultsRuleConfiguration.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent DialogCreateEditCapacityAllocationResultsRuleConfiguration
{
  #keys: '[414702.0.373821466]'
  BaseType: 'WebForm'
  Children:
  [
    #child: pnlContent
    #child: pnlActions
    Component DataHolderDialogData
    {
      #keys: '[414702.0.375413793]'
      BaseType: 'WebDataHolder'
      Databinding: 'shadow[CapacityAllocationResultsRuleConfiguration]*'
      Properties:
      [
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Alignment: 'trailing'
    EnterButton: 'btnOk'
    EscapeButton: 'btnCancel'
    ExcludeFromActiveComponent: true
    Image: 'BEAR'
    Padding: 'false'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_ListCapacityAllocationResultsRuleConfiguration.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
Quintiq file version 2.0
Component ListCapacityAllocationResultsRuleConfiguration
{
  #keys: '[414702.0.375255758]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorCapacityAllocationResultsRuleConfiguration
    {
      #keys: '[414702.0.375255759]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDTable'
        Source: 'GlobalOTDTable'
        Taborder: 0
        Transformation: 'CapacityAllocationResultsRuleConfiguration'
      ]
    }
    #child: listActionBarPageCapacityAllocationResultsRuleConfiguration
    Component DataSetLevelCapacityAllocationResultsRuleConfiguration
    {
      #keys: '[414702.0.375255764]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuCapacityAllocationResultsRuleConfiguration
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelMaterialCode","title":"PanelMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ModuleMaterialCode","title":"ModuleMaterialCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ModuleMaterialCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Division","title":"Division","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Division"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"StockingPointID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}}]'
        ContextMenu: 'listContextMenuCapacityAllocationResultsRuleConfiguration'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListCapacityAllocationResultsRuleConfiguration_WebMenu_OnClick
    {
      #keys: '[414702.0.373845107]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[811.0.13515064]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listActionBarPageCapacityAllocationResultsRuleConfiguration.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPageCapacityAllocationResultsRuleConfiguration
{
  #keys: '[414702.0.375255761]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_listContextMenuCapacityAllocationResultsRuleConfiguration.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
Quintiq file version 2.0
Component listContextMenuCapacityAllocationResultsRuleConfiguration
{
  #keys: '[414702.0.375255766]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuNew
    {
      #keys: '[414702.0.373851234]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'BEAR'
        Taborder: 3
        Title: '创建规则'
      ]
    }
    Component MenuEdit
    {
      #keys: '[414702.0.376312130]'
      BaseType: 'WebMenu'
      Properties:
      [
        BindOnDoubleClick: true
        Image: 'MESSAGE_EDIT'
        Taborder: 4
        Title: '编辑'
      ]
    }
    Component MenuDelete
    {
      #keys: '[414702.0.382537902]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'DELETE'
        Taborder: 5
        Title: '删除'
      ]
    }
    Component MenuSelectAll
    {
      #keys: '[414702.0.382602953]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'DOCUMENT_SELECTION'
        Shortcut: 'Ctrl+A'
        Taborder: 6
        Title: '全选'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuDelete_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: ListCapacityAllocationResultsRuleConfiguration
Response OnClick (
  CapacityAllocationResultsRuleConfiguration selection
) id:Response_ListCapacityAllocationResultsRuleConfiguration_MenuDelete_OnClick
{
  #keys: '[414702.0.381071285]'
  DefinitionID => /ListCapacityAllocationResultsRuleConfiguration/Responsedef_ListCapacityAllocationResultsRuleConfiguration_WebMenu_OnClick
  Initiator: 'MenuDelete'
  QuillAction
  {
    Body:
    [*
      selection.Delete();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuEdit_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: ListCapacityAllocationResultsRuleConfiguration
Response OnClick (
  CapacityAllocationResultsRuleConfiguration selection
) id:Response_ListCapacityAllocationResultsRuleConfiguration_MenuEdit_OnClick
{
  #keys: '[414702.0.376349145]'
  CanBindMultiple: false
  DefinitionID => /ListCapacityAllocationResultsRuleConfiguration/Responsedef_ListCapacityAllocationResultsRuleConfiguration_WebMenu_OnClick
  Initiator: 'MenuEdit'
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogCreateEditCapacityAllocationResultsRuleConfiguration );
      dlg.Edit( selection );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuNew_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: ListCapacityAllocationResultsRuleConfiguration
Response OnClick () id:Response_ListCapacityAllocationResultsRuleConfiguration_MenuNew_OnClick
{
  #keys: '[414702.0.375256192]'
  CanBindMultiple: false
  DefinitionID => /ListCapacityAllocationResultsRuleConfiguration/Responsedef_ListCapacityAllocationResultsRuleConfiguration_WebMenu_OnClick
  Initiator: 'MenuNew'
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogCreateEditCapacityAllocationResultsRuleConfiguration );
      dlg.New();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_ListCapacityAllocationResultsRuleConfiguration_MenuSelectAll_OnClic.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ListCapacityAllocationResultsRuleConfiguration
Response OnClick () id:Response_ListCapacityAllocationResultsRuleConfiguration_MenuSelectAll_OnClick
{
  #keys: '[414702.0.381011855]'
  CanBindMultiple: false
  DefinitionID => /ListCapacityAllocationResultsRuleConfiguration/Responsedef_ListCapacityAllocationResultsRuleConfiguration_WebMenu_OnClick
  Initiator: 'MenuSelectAll'
  QuillAction
  {
    Body:
    [*
      this.SelectAll();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/_ROOT_Component_FormCapacityAllocationResultsRuleConfiguration.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent FormCapacityAllocationResultsRuleConfiguration
{
  #keys: '[414702.0.373844315]'
  BaseType: 'WebForm'
  Children:
  [
    #child: ListCapacityAllocationResultsRuleConfiguration
  ]
  Properties:
  [
    Image: 'DOCUMENT_CHECKS'
    Title: '产能分配结果报表-规则维护'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPanelMaterialTianHua/_ROOT_Component_FormPanelMaterialTianHua.def
@@ -32,8 +32,8 @@
  ]
  Properties:
  [
    Description: '天花'
    Description: '天华'
    Image: 'CANDLE'
    Title: '天花'
    Title: '天华'
  ]
}
_var/_Main/ProjSettings/MacroPlannerWebApp/Views/Test.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormCapacityAllocationResults
      {
        layout
        {
          rowSpan: 15
          columnPosition: 5
          columnSpan: 8
        }
      }
      form_FormCapacityAllocationResultsRuleConfiguration
      {
        title: 'QTIANMA_JITUAN::FormCapacityAllocationResultsRuleConfiguration'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormCapacityAllocationResultsRuleConfiguration'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 15
          columnPosition: 1
          columnSpan: 4
        }
        components: null
      }
      form_FormPanelPullPlanReport
      {
        _removed: true
      }
    }
  }
  formatversion: 2
  id: 'Test'
  name: 'Test'
  isglobal: false
  isroot: false
}