hongjli
2023-10-10 d594137a0d5684bb32db001cfc3dde065469d178
产能分配优化
已添加8个文件
已修改4个文件
535 ■■■■■ 文件已修改
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_PanelMaterialStockingPointID.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_AutomaticallyGenerateCapacityRules.qbl 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_RecursiveGeneration.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_TIANMA_JITUAN_mbMainMenu_MenuDoSync_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupPlanViews.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPagePlan.def 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupPlanViews_ButtonOrderLockAndUnlock_OnCl.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_PanelImportAndExport.def 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_AutomaticallyGenerate_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/订单锁定_解锁.vw 414 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/Attribute_PanelMaterialStockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute PanelMaterialStockingPointID
{
  #keys: '3[414702.1.15456051][414702.1.15456050][414702.1.15456052]'
  IsReadOnly: true
  ValueType: String
}
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_AutomaticallyGenerateCapacityRules.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: #root
StaticMethod AutomaticallyGenerateCapacityRules (
  GlobalOTDTable globalOTDTable,
  MacroPlan macroPlan
)
{
  TextBody:
  [*
    targetProduct_MP := select( macroPlan, Product_MP, tempPMP, tempPMP.ID() = "Chassis - SUV 1" );
    traverse ( targetProduct_MP, ProductInStockingPoint_MP, pisp ) {
      CapacityAllocationResultsRuleConfiguration::RecursiveGeneration( macroPlan, pisp );
    }
  *]
}
_Main/BL/Type_CapacityAllocationResultsRuleConfiguration/StaticMethod_RecursiveGeneration.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod RecursiveGeneration (
  MacroPlan macroPlan,
  ProductInStockingPoint_MP outputPISP
)
{
  TextBody:
  [*
    operations := selectset( macroPlan, Routing.RoutingStep.Operation, tempO,
                             exists( tempO, OperationOutput, tempOO, tempOO.ProductInStockingPoint_MP() = outputPISP ) );
    traverse ( operations, Elements, o ) {
      traverse ( o, OperationInput, tempOI ) {
        inputPISP := tempOI.ProductInStockingPoint_MP();
        CapacityAllocationResultsRuleConfiguration::RecursiveGeneration( macroPlan, tempOI.ProductInStockingPoint_MP() );
        info( "输入PISP:", inputPISP.Name(), "      è¾“出PISP:", outputPISP.Name() );
      }
    }
  *]
}
_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Response_TIANMA_JITUAN_mbMainMenu_MenuDoSync_OnClick.def
@@ -5,7 +5,7 @@
  #keys: '[414384.0.605664178]'
  Body:
  [*
    MacroPlan::DoSync( MacroPlan,false,false);
    //MacroPlan::DoSync( MacroPlan,false,false);
  *]
  DefinitionID: 'Responsedef_Menu_OnClick'
  Precondition:
_Main/UI/MacroPlanner/Component_FormTestButtonCollection/Response_Button398_OnClick.def
@@ -5,7 +5,9 @@
  #keys: '[414702.0.340554926]'
  Body:
  [*
    CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan, SelectionScenario.Data() );
    //CapacityAllocationResults::CreateDate( GlobalOTDTable, MacroPlan, SelectionScenario.Data() );
    CapacityAllocationResultsRuleConfiguration::AutomaticallyGenerateCapacityRules( GlobalOTDTable, MacroPlan );
  *]
  CanBindMultiple: false
  DefinitionID: 'Responsedef_GUIButtonBase_OnClick'
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupPlanViews.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
Component ActionBarGroupPlanViews #extension
{
  Children:
  [
    Component ButtonOrderLockAndUnlock
    {
      #keys: '[414702.1.15778581]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'DOCUMENT_LOCK'
        Label: '订单锁定&解锁'
        Taborder: 8
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarPagePlan.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
Component ActionBarPagePlan #extension
{
  Children:
  [
    #child: ActionBarGroupPlanViews
  ]
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ActionBarGroupPlanViews_ButtonOrderLockAndUnlock_OnCl.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: ActionBarGroupPlanViews/ButtonOrderLockAndUnlock
Response OnClick () id:Response_TIANMA_JITUAN_ActionBarGroupPlanViews_ButtonOrderLockAndUnlock_OnClick
{
  #keys: '[414702.1.14334079]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "订单锁定_解锁", true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/_ROOT_Component_ApplicationMacroPlanner.def
@@ -12,6 +12,7 @@
        #child: ActionBarPageData
        #child: ActionBarPageSales
        #child: applicationDevelopmentActionBarPageDef_1
        #child: ActionBarPagePlan
      ]
    }
    Component DataHolderCapacityAndSaleBudgeFilterItem
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Component_PanelImportAndExport.def
@@ -27,6 +27,17 @@
        Taborder: 1
      ]
    }
    Component AutomaticallyGenerate
    {
      #keys: '[414702.1.14342122]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'CAR_CYAN'
        Label: '自动生成规则'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormCapacityAllocationResultsRuleConfiguration/Response_PanelImportAndExport_AutomaticallyGenerate_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: PanelImportAndExport/AutomaticallyGenerate
Response OnClick () id:Response_PanelImportAndExport_AutomaticallyGenerate_OnClick
{
  #keys: '[414702.1.14304989]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      CapacityAllocationResultsRuleConfiguration::AutomaticallyGenerateCapacityRules( GlobalOTDTable, MacroPlan );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Views/¶©µ¥Ëø¶¨_½âËø.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,414 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormOrderLock
      {
        title: 'QTIANMA_JITUAN::FormOrderLock'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormOrderLock'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 8
          columnPosition: 1
          columnSpan: 12
        }
        components
        {
          FormOrderLock_PanelOrderLock
          {
            sizeRatio: 1
          }
          FormOrderLock_PanelOrderLockHeader
          {
            sizeRatio: 1
          }
          FormOrderLock_PanelOrderLockOrder
          {
            sizeRatio: 1
          }
          FormOrderLock_ListOrderLock
          {
          }
          FormOrderLock_DataSetLevelOrderLock
          {
            groupDepth: -1
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_CustomerName
            {
              columnId: 'CustomerName'
              dataPath: 'CustomerName'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 5
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 7
              subtotals: ''
              width: 150
            }
            column_StartDate
            {
              columnId: 'StartDate'
              dataPath: 'StartDate'
              dataType: 'date'
              index: 8
              subtotals: ''
              width: 150
            }
            column_IsLocked
            {
              columnId: 'IsLocked'
              dataPath: 'IsLocked'
              dataType: 'boolean'
              index: 9
              subtotals: ''
              width: 150
            }
            column_First_AsPlanningBaseSalesDemandInPeriod_End
            {
              columnId: 'First.AsPlanningBaseSalesDemandInPeriod.End'
              dataPath: 'First.AsPlanningBaseSalesDemandInPeriod.End'
              dataType: 'datetime'
              index: 10
              subtotals: ''
              width: 150
            }
            column_LastModify
            {
              columnId: 'LastModify'
              dataPath: 'LastModify'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_LastModifyTime
            {
              columnId: 'LastModifyTime'
              dataPath: 'LastModifyTime'
              dataType: 'datetime'
              index: 12
              subtotals: ''
              width: 150
            }
          }
          FormOrderLock_PanelOrderLockPlanning
          {
            sizeRatio: 1
          }
          FormOrderLock_PanelMatrix
          {
            sizeRatio: 1
          }
          FormOrderLock_MatrixEditorProductPlanning
          {
            gridColor: '#c4c4c4'
            totalHeaderWidth: 200
            attributeHeaderWidthRatio: 0.6
            nameHeaderWidthRatio: 0.4
            columnWidth: 100
            horizontalGrid: true
            verticalGrid: true
            backendState
            {
              componentId: 'QTIANMA_JITUAN::FormOrderLock.MatrixEditorProductPlanning'
              state
              {
                cells
                {
                  attributes
                  {
                    attribute_DisplaySupplyQuantity
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 0
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'DisplaySupplyQuantity'
                    }
                    attribute_DependentDemandAndSalesDemandQuantity
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 1
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'DependentDemandAndSalesDemandQuantity'
                    }
                    attribute_TargetInventoryLevel
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 2
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'TargetInventoryLevel'
                    }
                    attribute_InventoryLevelEnd
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 3
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'InventoryLevelEnd'
                    }
                    attribute_StockLevelInDays
                    {
                      type: 'MatrixEditorWebApiCellDataModelInterest'
                      index: 4
                      rowsubtotal: ''
                      columnsubtotal: ''
                      attribute: 'StockLevelInDays'
                    }
                  }
                }
                columns
                {
                  sorting
                  {
                    criteria: "datamember:'Start'"
                  }
                }
                rows
                {
                  sorting
                  {
                    criteria: "datamember:'Product_MP.DisplayIndex';datamember:'Name'"
                  }
                }
              }
            }
          }
        }
      }
      form_FormOrderLockLog
      {
        title: 'QTIANMA_JITUAN::FormOrderLockLog'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormOrderLockLog'
        layout
        {
          mode: 'open'
          rowPosition: 9
          rowSpan: 8
          columnPosition: 1
          columnSpan: 12
        }
        components
        {
          FormOrderLockLog_PanelOrderLockLog
          {
            sizeRatio: 1
          }
          FormOrderLockLog_ListOrderLockLog
          {
          }
          FormOrderLockLog_DataSetLevelOrderLockLog
          {
            groupDepth: -1
            column_OrderID
            {
              columnId: 'OrderID'
              dataPath: 'OrderID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 150
            }
            column_SalesSegmentName
            {
              columnId: 'SalesSegmentName'
              dataPath: 'SalesSegmentName'
              dataType: 'string'
              index: 2
              subtotals: ''
              width: 150
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 3
              subtotals: ''
              width: 150
            }
            column_CustomerName
            {
              columnId: 'CustomerName'
              dataPath: 'CustomerName'
              dataType: 'string'
              index: 4
              subtotals: ''
              width: 150
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 5
              subtotals: ''
              width: 150
            }
            column_UnitOfMeasureName
            {
              columnId: 'UnitOfMeasureName'
              dataPath: 'UnitOfMeasureName'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
            column_Price
            {
              columnId: 'Price'
              dataPath: 'Price'
              dataType: 'real'
              index: 7
              subtotals: ''
              width: 150
            }
            column_EndDate
            {
              columnId: 'EndDate'
              dataPath: 'EndDate'
              dataType: 'date'
              index: 8
              subtotals: ''
              width: 150
            }
            column_IsLocked
            {
              columnId: 'IsLocked'
              dataPath: 'IsLocked'
              dataType: 'boolean'
              index: 9
              subtotals: ''
              width: 150
            }
            column_End
            {
              columnId: 'End'
              dataPath: 'End'
              dataType: 'date'
              index: 10
              subtotals: ''
              width: 150
            }
            column_LastModify
            {
              columnId: 'LastModify'
              dataPath: 'LastModify'
              dataType: 'string'
              index: 11
              subtotals: ''
              width: 150
            }
            column_LastModifyTime
            {
              columnId: 'LastModifyTime'
              dataPath: 'LastModifyTime'
              dataType: 'datetime'
              index: 12
              subtotals: ''
              width: 150
            }
            column_Notes
            {
              columnId: 'Notes'
              dataPath: 'Notes'
              dataType: 'string'
              index: 13
              subtotals: ''
              width: 150
            }
          }
        }
      }
    }
    userconfigurableinformation
    {
    }
    page: ''
    group: ''
    index: 0
    image: 'TEXT_LOCK'
    description: ''
  }
  formatversion: 2
  id: '订单锁定_解锁'
  name: '订单锁定&解锁'
  isglobal: false
  isroot: true
}