hongji.li
2023-10-31 1a4ac30955f609b720cb6b116b2158ea5b5bbd2c
新增Pegging分析Form
已添加58个文件
已修改3个文件
5129 ■■■■ 文件已修改
_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/Pegging分析.vw 223 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ProjSettings/MacroPlanner/Views/X_分析视图_[414702.1.50321581].vw 3633 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Relations/Relation_PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PeggingProductInSalesDemandBase_PeggingProduct_MP_PeggingProduct_MP_PeggingProductInSalesDemandBase
{
  #keys: '1[414702.1.290710058]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide PeggingProduct_MP
  {
    #keys: '3[414702.1.290710060][414702.1.290710059][414702.1.290710061]'
    Cardinality: '0to1'
    ObjectDefinition: PeggingProductInSalesDemandBase
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PeggingProductInSalesDemandBase
  {
    #keys: '3[414702.1.290710063][414702.1.290710062][414702.1.290710064]'
    Cardinality: '1toN'
    ObjectDefinition: PeggingProduct_MP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PeggingProduct_MP_GlobalOTDSOP_GlobalOTDSOP_PeggingProduct_MP
{
  #keys: '1[414702.1.290710038]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide GlobalOTDSOP
  {
    #keys: '3[414702.1.290710040][414702.1.290710039][414702.1.290710041]'
    Cardinality: '0to1'
    ObjectDefinition: PeggingProduct_MP
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PeggingProduct_MP
  {
    #keys: '3[414702.1.290710043][414702.1.290710042][414702.1.290710044]'
    Cardinality: '1toN'
    ObjectDefinition: GlobalOTDSOP
    OwningSide: 'Owned'
  }
}
_Main/BL/Relations/Relation_PeggingResult_AllChild_PeggingResult_AllParent.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PeggingResult_AllChild_PeggingResult_AllParent
{
  #keys: '1[414702.1.294852003]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide AllChild
  {
    #keys: '3[414702.1.294852005][414702.1.294852004][414702.1.294852006]'
    Cardinality: '1toN'
    ObjectDefinition: PeggingResult
    OwningSide: 'Reference'
  }
  RelationSide.RightSide AllParent
  {
    #keys: '3[414702.1.294852008][414702.1.294852007][414702.1.294852009]'
    Cardinality: '0to1'
    ObjectDefinition: PeggingResult
    OwningSide: 'Reference'
  }
}
_Main/BL/Relations/Relation_PeggingResult_Child_PeggingResult_Parent.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PeggingResult_Child_PeggingResult_Parent
{
  #keys: '1[414702.1.290710113]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide Child
  {
    #keys: '3[414702.1.290710115][414702.1.290710114][414702.1.290710116]'
    Cardinality: '1toN'
    ObjectDefinition: PeggingResult
    OwningSide: 'Reference'
  }
  RelationSide.RightSide Parent
  {
    #keys: '3[414702.1.290710118][414702.1.290710117][414702.1.290710119]'
    Cardinality: '0to1'
    ObjectDefinition: PeggingResult
    OwningSide: 'Reference'
  }
}
_Main/BL/Relations/Relation_PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSales.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: #root
Relation PeggingResult_PeggingProductInSalesDemandBase_PeggingProductInSalesDemandBase_PeggingResult
{
  #keys: '1[414702.1.290710098]'
  DefaultRelationStrategy
  {
  }
  RelationSide.LeftSide PeggingProductInSalesDemandBase
  {
    #keys: '3[414702.1.290710100][414702.1.290710099][414702.1.290710101]'
    Cardinality: '0to1'
    ObjectDefinition: PeggingResult
    OwningSide: 'Reference'
  }
  RelationSide.RightSide PeggingResult
  {
    #keys: '3[414702.1.290710103][414702.1.290710102][414702.1.290710104]'
    Cardinality: '1toN'
    ObjectDefinition: PeggingProductInSalesDemandBase
    OwningSide: 'Owned'
  }
}
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_Quantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute Quantity
{
  #keys: '3[414702.1.294748144][414702.1.294748143][414702.1.294748145]'
  ValueType: Real
}
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_SalesDemandBaseID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute SalesDemandBaseID
{
  #keys: '3[414702.1.294144484][414702.1.294144483][414702.1.294144485]'
  ValueType: String
}
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StartDate.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute StartDate
{
  #keys: '3[414702.1.294179414][414702.1.294179413][414702.1.294179415]'
  ValueType: Date
}
_Main/BL/Type_PeggingProductInSalesDemandBase/Attribute_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute StockingPointID
{
  #keys: '3[414702.1.294179270][414702.1.294179269][414702.1.294179271]'
  ValueType: String
}
_Main/BL/Type_PeggingProductInSalesDemandBase/_ROOT_Type_PeggingProductInSalesDemandBase.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type PeggingProductInSalesDemandBase
{
  #keys: '5[414702.1.290710055][414702.1.290710053][0.0.0][414702.1.290710054][414702.1.290710056]'
  BaseType: Object
  StructuredName: 'PeggingProductInSalesDemandBases'
}
_Main/BL/Type_PeggingProduct_MP/Attribute_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductID
{
  #keys: '3[414702.1.290710074][414702.1.290710073][414702.1.290710075]'
  ValueType: String
}
_Main/BL/Type_PeggingProduct_MP/StaticMethod_Create.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Create (
  GlobalOTDSOP globalOTDSOP,
  Product_MPs product_MPs
)
{
  TextBody:
  [*
    globalOTDSOP.PeggingProduct_MP( relflush );
    product_MPs := selectset( product_MPs, Elements, tempPMP, tempPMP.IsLeaf() );
    traverse ( product_MPs, Elements, pmp ) {
      targetPeggingProduct_MP := globalOTDSOP.PeggingProduct_MP( relnew, ProductID := pmp.ID() );
      traverse ( pmp, SalesDemand, sd ) {
        targetPeggingProduct_MP.PeggingProductInSalesDemandBase( relnew,
                                                                 StockingPointID   := sd.StockingPointID(),
                                                                 SalesDemandBaseID := sd.ID(),
                                                                 Quantity          := sd.Quantity(),
                                                                 StartDate         := sd.StartDate() );
      }
    }
  *]
}
_Main/BL/Type_PeggingProduct_MP/_ROOT_Type_PeggingProduct_MP.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type PeggingProduct_MP
{
  #keys: '5[414702.1.290710035][414702.1.290710033][0.0.0][414702.1.290710034][414702.1.290710036]'
  BaseType: Object
  StructuredName: 'PeggingProduct_MPs'
}
_Main/BL/Type_PeggingResult/Attribute_FulfillmentQuantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute FulfillmentQuantity
{
  #keys: '3[414702.1.294201083][414702.1.294201082][414702.1.294201084]'
  ValueType: Real
}
_Main/BL/Type_PeggingResult/Attribute_NumberOfPlies.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute NumberOfPlies
{
  #keys: '3[414702.1.294145595][414702.1.294145594][414702.1.294145596]'
  ValueType: Number
}
_Main/BL/Type_PeggingResult/Attribute_ProductID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute ProductID
{
  #keys: '3[414702.1.294201096][414702.1.294201095][414702.1.294201097]'
  ValueType: String
}
_Main/BL/Type_PeggingResult/Attribute_StartDate.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute StartDate
{
  #keys: '3[414702.1.294201063][414702.1.294201062][414702.1.294201064]'
  ValueType: Date
}
_Main/BL/Type_PeggingResult/Attribute_StockingPointID.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute StockingPointID
{
  #keys: '3[414702.1.294201106][414702.1.294201105][414702.1.294201107]'
  ValueType: String
}
_Main/BL/Type_PeggingResult/Attribute_SupplyQuantity.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute SupplyQuantity
{
  #keys: '3[414702.1.294201073][414702.1.294201072][414702.1.294201074]'
  ValueType: Real
}
_Main/BL/Type_PeggingResult/Attribute_SupplyType.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute SupplyType
{
  #keys: '3[414702.1.294201053][414702.1.294201052][414702.1.294201054]'
  ValueType: String
}
_Main/BL/Type_PeggingResult/Attribute_UnitOfMeasurementName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
Quintiq file version 2.0
#parent: #root
Attribute UnitOfMeasurementName
{
  #keys: '3[414702.1.294852022][414702.1.294852021][414702.1.294852023]'
  ValueType: String
}
_Main/BL/Type_PeggingResult/StaticMethod_Create.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
Quintiq file version 2.0
#parent: #root
StaticMethod Create (
  PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
  String productID,
  String stockingPointID,
  Date startDate,
  Real supplyQuantity,
  Real fulfillmentQuantity,
  String supplyType,
  Number numberOfPlies,
  String unitOfMeasurementName
) as PeggingResult
{
  TextBody:
  [*
    peggingResult := peggingProductInSalesDemandBase.PeggingResult( relnew,
                                                                    ProductID             := productID,
                                                                    StockingPointID       := stockingPointID,
                                                                    StartDate             := startDate,
                                                                    SupplyQuantity        := supplyQuantity,
                                                                    FulfillmentQuantity   := fulfillmentQuantity,
                                                                    SupplyType            := supplyType,
                                                                    NumberOfPlies         := numberOfPlies,
                                                                    UnitOfMeasurementName := unitOfMeasurementName
                                                                   );
    return peggingResult;
  *]
}
_Main/BL/Type_PeggingResult/StaticMethod_CreateData.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CreateData (
  PeggingProductInSalesDemandBases peggingProductInSalesDemandBases,
  const MacroPlan macroPlan
)
{
  TextBody:
  [*
    traverse ( peggingProductInSalesDemandBases, Elements, ppisdb ) {
      ppisdb.PeggingResult( relflush );
      targetSalesDemand := select( macroPlan, SalesDemand, tempSD, tempSD.ID() = ppisdb.SalesDemandBaseID() );
      traverse ( targetSalesDemand, SalesDemandInPeriod.Fulfillment, f ) {
        smp                 := f.Supply_MP();
        fulfillmentQuantity := f.Quantity();
        PeggingResult::GeneratePeggingResult( ppisdb,
                                              0,
                                              smp,
                                              fulfillmentQuantity,
                                              null( PeggingResult ) );
        PeggingResult::SetAllChildRelation( ppisdb, null( PeggingResult ), null( PeggingResult ) );
      }
    }
  *]
}
_Main/BL/Type_PeggingResult/StaticMethod_GenerateInventorySupply.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GenerateInventorySupply (
  PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
  Number numberOfPlies,
  const InventorySupply is,
  Real fulfillmentQuantity,
  PeggingResult peggingResult
)
{
  TextBody:
  [*
    //info( "供应类型(InventorySupply)    ", "供应时间:", is.Date().Format( "Y-M2-D2" ), "    ä¾›åº”量:", is.Quantity(),
    //      "    å®žé™…用量:", fulfillmentQuantity, "    ", is.ProductInStockingPoint_MP().Name() );
    pisp := is.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
    PeggingResult::Create( peggingProductInSalesDemandBase,
                           pisp.ProductID(),
                           pisp.StockingPointID(),
                           is.Date(),
                           is.Quantity(),
                           fulfillmentQuantity,
                           "库存供应",
                           numberOfPlies,
                           pisp.UnitOfMeasureName()
                          );
  *]
}
_Main/BL/Type_PeggingResult/StaticMethod_GenerateNewSupply.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GenerateNewSupply (
  PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
  Number numberOfPlies,
  const NewSupply ns,
  Real fulfillmentQuantity,
  PeggingResult parentPeggingResult
)
{
  TextBody:
  [*
    //info( "供应类型(NewSupply)", "    ä¾›åº”量:", ns.Quantity(), "    æ»¡è¶³ï¼š", fulfillmentQuantity );
    pisp := ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP();
    childPeggingResult := PeggingResult::Create( peggingProductInSalesDemandBase, pisp.ProductID(), pisp.StockingPointID(), ns.Start().Date(), ns.Quantity(), fulfillmentQuantity, "", numberOfPlies, pisp.UnitOfMeasureName() );
    PeggingResult::SetParentChildRelationship( parentPeggingResult, childPeggingResult );
    ontype ( ns.PeriodTask_MP() ) {
      PeriodTaskOperation as pto : {
        childPeggingResult.SupplyType( "产线供应" );
    //    info( "操作周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    å‘¨æœŸä»»åŠ¡KEY:", pto.Key(), "    ",
    //          ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
        traverse ( pto, DependentDemand, dd, dd.Quantity() > 0 ) {
          traverse ( dd, Fulfillment, f ) {
            smp1 := f.Supply_MP();
            numberOfPlies++;
            fulfillmentQuantity := ( dd.Quantity() / ns.Quantity() ) * fulfillmentQuantity;
    //        info( "--------------------------------------------------------------" );
            PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, fulfillmentQuantity, childPeggingResult );
            numberOfPlies--;
          }
        }
      }
      PeriodTaskLaneLeg as ptll : {
        childPeggingResult.SupplyType( "车道供应" );
        targetDependentDemand := select( ptll, DependentDemand, dd,
                                         dd.ProcessInput().ProductInStockingPoint_MP().ProductID() = ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().ProductID() and
                                         dd.Quantity() = ns.Quantity() );
    //    info( "车道周期任务    ", "供应时间:", ns.Start().Format( "Y-M2-D2" ), "    å‘¨æœŸä»»åŠ¡KEY:", ptll.Key(), "    ",
    //          ns.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Name() );
        traverse ( targetDependentDemand, Fulfillment, f ) {
          smp1 := f.Supply_MP();
          numberOfPlies++;
    //      info( "--------------------------------------------------------------" );
          PeggingResult::GeneratePeggingResult( peggingProductInSalesDemandBase, numberOfPlies, smp1, fulfillmentQuantity, childPeggingResult );
          numberOfPlies--;
        }
      }
    }
  *]
}
_Main/BL/Type_PeggingResult/StaticMethod_GeneratePeggingResult.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GeneratePeggingResult (
  PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
  Number numberOfPlies,
  const Supply_MP smp,
  Real fulfillmentQuantity,
  PeggingResult parentPeggingResult
)
{
  TextBody:
  [*
    //info( "层数:", numberOfPlies );
    ontype ( smp ) {
      NewSupply as ns : {
        PeggingResult::GenerateNewSupply( peggingProductInSalesDemandBase, numberOfPlies, ns, fulfillmentQuantity, parentPeggingResult );
      }
      InventorySupply as is : {
        PeggingResult::GenerateInventorySupply( peggingProductInSalesDemandBase, numberOfPlies, is, fulfillmentQuantity, parentPeggingResult );
      }
    }
  *]
}
_Main/BL/Type_PeggingResult/StaticMethod_SetAllChildRelation.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SetAllChildRelation (
  PeggingProductInSalesDemandBase peggingProductInSalesDemandBase,
  PeggingResult parentPeggingResult,
  PeggingResult childPeggingResult
)
{
  TextBody:
  [*
    if ( isnull( parentPeggingResult ) and isnull( childPeggingResult ) ) {
      parentPeggingResult := select( peggingProductInSalesDemandBase, PeggingResult, tempPR, tempPR.NumberOfPlies() = 0 );
      childPeggingResult  := select( peggingProductInSalesDemandBase, PeggingResult, tempPR, tempPR.NumberOfPlies() = 0 );
    }
    traverse ( childPeggingResult, Child, pr ) {
      pr.AllParent( relset, parentPeggingResult );
      PeggingResult::SetAllChildRelation( peggingProductInSalesDemandBase, parentPeggingResult, pr );
    }
  *]
}
_Main/BL/Type_PeggingResult/StaticMethod_SetParentChildRelationship.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SetParentChildRelationship (
  PeggingResult parentPeggingResult,
  PeggingResult childPeggingResult
)
{
  TextBody:
  [*
    if ( not isnull( parentPeggingResult ) and not isnull( childPeggingResult ) ) {
      childPeggingResult.Parent( relset, parentPeggingResult );
    }
  *]
}
_Main/BL/Type_PeggingResult/_ROOT_Type_PeggingResult.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
Quintiq file version 2.0
#root
#parent: #DomainModel
Type PeggingResult
{
  #keys: '5[414702.1.290710095][414702.1.290710093][0.0.0][414702.1.290710094][414702.1.290710096]'
  BaseType: Object
  StructuredName: 'PeggingResults'
}
_Main/UI/MacroPlanner/Component_ApplicationLibMacroPlanner/Component_mbMainMenu.def
@@ -145,6 +145,8 @@
        Component ComponentMenu666 { #keys: '[414702.0.265704260]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormBrokerExecuteLog' Text: '' ] }
        Component menuSeparator822 { #keys: '[414702.0.340555024]' BaseType: 'Menu' Properties: [ Separator: true ] }
        Component ComponentMenu783 { #keys: '[414702.0.340555035]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormTestButtonCollection' Text: '' ] }
        Component menuSeparator432 { #keys: '[414702.1.299084028]' BaseType: 'Menu' Properties: [ Separator: true ] }
        Component ComponentMenu420 { #keys: '[414702.1.299224194]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'FormPeggingResult' Text: '' ] }
      ]
      Properties:
      [
@@ -165,6 +167,8 @@
          c: ComponentMenu666
          c: menuSeparator822
          c: ComponentMenu783
          c: menuSeparator432
          c: ComponentMenu420
        }
      ]
    }
_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ColumnTitles552.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
Component ColumnTitles552
{
  #keys: '[414702.1.299084155]'
  BaseType: 'ColumnTitles'
  Children:
  [
    Component popupColumnTitles881
    {
      #keys: '[414702.1.299084158]'
      BaseType: 'popupColumnTitles'
    }
  ]
  Properties:
  [
    ContextMenu: 'popupColumnTitles881'
  ]
}
_Main/UI/MacroPlanner/Component_FormPeggingResult/Component_ListPeggingProductInSalesDemandBase.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,117 @@
Quintiq file version 2.0
Component ListPeggingProductInSalesDemandBase
{
  #keys: '[414702.1.299084152]'
  BaseType: 'List'
  Children:
  [
    #child: ColumnTitles552
    Component popupList809
    {
      #keys: '[414702.1.299084184]'
      BaseType: 'popupList'
      Children:
      [
        Component PopupParent
        {
          #keys: '[514.0.129466]'
          BaseType: 'PopupParent'
          IsDerived: true
          Children:
          [
            Component menuSeparator { #keys: '[414702.1.299084264]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuGeneratePeggingResult { #keys: '[414702.1.299084327]' BaseType: 'Menu' Properties: [ Image: 'BEER_GLASS' Text: 'GeneratePeggingResult' ] }
          ]
          Properties:
          [
            ModeledStringList ChildOrdering
            {
              c: MenuActions
              c: MenuFilter
              c: menuListQuintiqSetQuantor
              c: menuSeparator
              c: MenuGeneratePeggingResult
            }
          ]
        }
      ]
      Properties:
      [
        PosX: 35
        PosY: 60
      ]
    }
    Component GUIDataExtractor968
    {
      #keys: '[414702.1.299084216]'
      BaseType: 'GUIDataExtractor'
      Properties:
      [
        DataSet: 'GlobalOTDSOP'
        DataType: 'GlobalOTDSOP'
        PosX: 5
        PosY: 30
        Transformation: 'PeggingProduct_MP.PeggingProductInSalesDemandBase'
      ]
    }
    Component GUIDataSetLevel641
    {
      #keys: '[414702.1.299084219]'
      BaseType: 'GUIDataSetLevel'
      Properties:
      [
        DataExtractor: 'GUIDataExtractor968'
        PosX: 35
        PosY: 30
      ]
    }
  ]
  Properties:
  [
    AutoDrag: true
    BackgroundColor: 'Window'
    Border: true
    ContextMenu: 'popupList809'
    FullRowSelect: true
    ModeledStringList ChildOrdering
    {
      c: ColumnTitles552
      c: popupList809
      c: GUIDataExtractor968
      c: GUIDataSetLevel641
    }
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_Menu_OnClick
    {
      #keys: '[414702.1.299084225]'
      Initiator: 'Menu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[621.0.8331282]'
          Binding: 'this.Selection()'
        }
      ]
    }
    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_GUIButtonBase_OnClick
    {
      #keys: '[414702.1.299084226]'
      Initiator: 'GUIButtonBase'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[621.0.8331327]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlanner/Component_FormPeggingResult/Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnCli.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: ListPeggingProductInSalesDemandBase
Response OnClick (
  structured[PeggingProductInSalesDemandBase] selection
) id:Response_ListPeggingProductInSalesDemandBase_MenuGeneratePeggingResult_OnClick
{
  #keys: '[414702.1.299224579]'
  Body:
  [*
    PeggingResult::CreateData( selection, MacroPlan );
  *]
  CanBindMultiple: false
  DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_Menu_OnClick
  Initiator: 'MenuGeneratePeggingResult'
}
_Main/UI/MacroPlanner/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
#root
#parent: MacroPlanner
OrphanComponent FormPeggingResult
{
  #keys: '[414702.1.299084054]'
  BaseType: 'Form'
  GBLayout
  {
    Type: 'internal[GBLayoutDefinition]'
    Columns:
    [
      GBFlow.Column { grow: 128 id: 199 parent: 0 }
    ]
    Elements:
    [
      GBElement
      {
        Component => ListPeggingProductInSalesDemandBase
        Position { startcolumn: 199 startrow: 785 endcolumn: 199 endrow: 785 }
      }
    ]
    Gaps: [ left: 0 right: 0 top: 0 bottom: 0 inner: 5 ]
    Rows:
    [
      GBFlow.Row { grow: 128 id: 785 parent: 0 }
    ]
  }
  Children:
  [
    #child: ListPeggingProductInSalesDemandBase
  ]
  Properties:
  [
    Height: 270
    Image: 'FISH_BOWL'
    IncludeInView: true
    Title: 'PeggingResult'
    Width: 494
  ]
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_cmTestAttempt.def
@@ -49,7 +49,7 @@
        Title: '面板拉料_集团操作'
      ]
    }
    Component mn224
    Component mn222
    {
      #keys: '[414702.1.5593849]'
      BaseType: 'WebMenu'
@@ -81,6 +81,28 @@
        Title: '数据分发'
      ]
    }
    Component mn666
    {
      #keys: '[414702.1.293023106]'
      BaseType: 'WebMenu'
      Properties:
      [
        Separator: true
        Taborder: 7
      ]
    }
    Component mnPeggingAnalyse
    {
      #keys: '[414702.1.293023171]'
      BaseType: 'WebMenu'
      Properties:
      [
        Description: 'Pegging分析'
        Image: 'COCKTAIL'
        Taborder: 8
        Title: 'Pegging分析'
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: cmTestAttempt/mnPeggingAnalyse
Response OnClick () id:Response_TIANMA_JITUAN_cmTestAttempt_mnPeggingAnalyse_OnClick
{
  #keys: '[414702.1.294401302]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebMenu_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      ApplicationScope.ViewManager().ResetUserViewById( "Pegging分析", true );
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_ListPeggingAllResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
Quintiq file version 2.0
Component ListPeggingAllResult
{
  #keys: '[414702.1.306657922]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPeggingAllResult
    {
      #keys: '[414702.1.306657923]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'PeggingResult'
        ExtractionMode: 'Selected'
        Source: 'FormPeggingResult.ListPeggingResult'
        Taborder: 0
        Transformation: 'AllChild'
      ]
    }
    #child: listActionBarPagePeggingAllResult
    Component DataSetLevelPeggingAllResult
    {
      #keys: '[414702.1.306657928]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPeggingAllResult
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"产品ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"库存点ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"开始时间","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"供应数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"实际需要数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"供应类型","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"单位","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}}]'
        ContextMenu: 'listContextMenuPeggingAllResult'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingAllResult_WebMenu_OnClick
    {
      #keys: '[414702.1.305581888]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[639.0.20605876]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listActionBarPagePeggingAllResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePeggingAllResult
{
  #keys: '[414702.1.306657925]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Component_listContextMenuPeggingAllResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
Component listContextMenuPeggingAllResult
{
  #keys: '[414702.1.306657930]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuSelectAll
    {
      #keys: '[414702.1.305511008]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'DOCUMENT_SELECTION'
        Shortcut: 'Ctrl+A'
        Taborder: 3
        Title: '全选'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/Response_ListPeggingAllResult_MenuSelectAll_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ListPeggingAllResult
Response OnClick () id:Response_ListPeggingAllResult_MenuSelectAll_OnClick
{
  #keys: '[414702.1.306792785]'
  CanBindMultiple: false
  DefinitionID => /ListPeggingAllResult/Responsedef_ListPeggingAllResult_WebMenu_OnClick
  Initiator: 'MenuSelectAll'
  QuillAction
  {
    Body:
    [*
      this.SelectAll();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingAllResult/_ROOT_Component_FormPeggingAllResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent FormPeggingAllResult
{
  #keys: '[414702.1.305404879]'
  BaseType: 'WebForm'
  Children:
  [
    #child: ListPeggingAllResult
  ]
  Properties:
  [
    Image: 'DIAMOND'
    Title: 'Pegging所有子结果'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_ListPeggingProductInSalesDemandBase.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
Quintiq file version 2.0
Component ListPeggingProductInSalesDemandBase
{
  #keys: '[414702.1.294477745]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPeggingProductInSalesDemandBase
    {
      #keys: '[414702.1.294477746]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'PeggingProduct_MP'
        ExtractionMode: 'Selected'
        Source: 'FormPeggingProduct_MP.ListPeggingProduct_MP'
        Taborder: 0
        Transformation: 'PeggingProductInSalesDemandBase'
      ]
    }
    #child: listActionBarPagePeggingProductInSalesDemandBase
    Component DataSetLevelPeggingProductInSalesDemandBase
    {
      #keys: '[414702.1.294477751]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPeggingProductInSalesDemandBase
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesDemandBaseID","title":"订单ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SalesDemandBaseID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"库存点ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"开始时间","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}}]'
        ContextMenu: 'listContextMenuPeggingProductInSalesDemandBase'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
    {
      #keys: '[414702.1.298881590]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[619.0.10848847]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listActionBarPagePeggingProductInSalesDemandBase.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePeggingProductInSalesDemandBase
{
  #keys: '[414702.1.294477748]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Component_listContextMenuPeggingProductInSalesDemandBase.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
Quintiq file version 2.0
Component listContextMenuPeggingProductInSalesDemandBase
{
  #keys: '[414702.1.294477753]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component mGeneratePeggingResult
    {
      #keys: '[414702.1.298700850]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'PUMPKIN_HALLOWEEN'
        Taborder: 3
        Title: '生成Pegging结果'
      ]
    }
    Component MenuSelectionAll
    {
      #keys: '[414702.1.300701803]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'SELECTION'
        Shortcut: 'Ctrl+A'
        Taborder: 4
        Title: '全选'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ListPeggingProductInSalesDemandBase
Response OnClick () id:Response_ListPeggingProductInSalesDemandBase_MenuSelectionAll_OnClick
{
  #keys: '[414702.1.300762760]'
  CanBindMultiple: false
  DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
  Initiator: 'MenuSelectionAll'
  QuillAction
  {
    Body:
    [*
      this.SelectAll();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: ListPeggingProductInSalesDemandBase
Response OnClick (
  structured[PeggingProductInSalesDemandBase] selection
) id:Response_ListPeggingProductInSalesDemandBase_mGeneratePeggingResult_OnClick
{
  #keys: '[414702.1.298700997]'
  CanBindMultiple: false
  DefinitionID => /ListPeggingProductInSalesDemandBase/Responsedef_ListPeggingProductInSalesDemandBase_WebMenu_OnClick
  Initiator: 'mGeneratePeggingResult'
  Precondition:
  [*
    return not isnull( MacroPlan );
  *]
  QuillAction
  {
    Body:
    [*
      PeggingResult::CreateData( selection, MacroPlan );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProductInSalesDemandBase/_ROOT_Component_FormPeggingProductInSalesDemandBase.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent FormPeggingProductInSalesDemandBase
{
  #keys: '[414702.1.291680100]'
  BaseType: 'WebForm'
  Children:
  [
    #child: ListPeggingProductInSalesDemandBase
  ]
  Properties:
  [
    Image: 'BANANA'
    Title: 'Pegging产品的订单'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_ListPeggingProduct_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
Quintiq file version 2.0
Component ListPeggingProduct_MP
{
  #keys: '[414702.1.291408736]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPeggingProduct_MP
    {
      #keys: '[414702.1.291408737]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'GlobalOTDSOP'
        Source: 'GlobalOTDSOP'
        Taborder: 0
        Transformation: 'PeggingProduct_MP'
      ]
    }
    #child: listActionBarPagePeggingProduct_MP
    Component DataSetLevelPeggingProduct_MP
    {
      #keys: '[414702.1.291408742]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPeggingProduct_MP
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"产品ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"库存点ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}}]'
        ContextMenu: 'listContextMenuPeggingProduct_MP'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listActionBarPagePeggingProduct_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePeggingProduct_MP
{
  #keys: '[414702.1.291408739]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_listContextMenuPeggingProduct_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listContextMenuPeggingProduct_MP
{
  #keys: '[414702.1.291408744]'
  BaseType: 'listContextMenu'
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Component_pButton.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
Quintiq file version 2.0
Component pButton
{
  #keys: '[414702.1.288412503]'
  BaseType: 'WebPanel'
  Children:
  [
    Component bCreate
    {
      #keys: '[414702.1.288443069]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'BOMB'
        Label: '创建Pegging产品'
        Taborder: 1
      ]
    }
    Component bRunPeggingAlgorithm
    {
      #keys: '[414702.1.302382530]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'TREE'
        Label: '运行Pegging算法'
        Taborder: 0
      ]
    }
  ]
  Properties:
  [
    FixedSize: true
    Orientation: 'horizontal'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bCreate_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
Quintiq file version 2.0
#parent: pButton/bCreate
Response OnClick () id:Response_pButton_bCreate_OnClick
{
  #keys: '[414702.1.288443717]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not isnull( GlobalOTDSOP ) and not isnull( MacroPlan );
  *]
  QuillAction
  {
    Body:
    [*
      form := construct( FormNavigationPanel );
      form.ShowDockLeft();
      PeggingProduct_MP::Create( GlobalOTDSOP, DataHolderCheckedProduct.Data() );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/Response_pButton_bRunPeggingAlgorithm_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#parent: pButton/bRunPeggingAlgorithm
Response OnClick () id:Response_pButton_bRunPeggingAlgorithm_OnClick
{
  #keys: '[414702.1.304801095]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not isnull( MacroPlan );
  *]
  QuillAction
  {
    Body:
    [*
      MacroPlan.RunPeggingAlgorithm();
      WebMessageBox::Success( "运行成功!", true );
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingProduct_MP/_ROOT_Component_FormPeggingProduct_MP.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent FormPeggingProduct_MP
{
  #keys: '[414702.1.290901529]'
  BaseType: 'WebForm'
  Children:
  [
    #child: ListPeggingProduct_MP
    #child: pButton
  ]
  Properties:
  [
    Image: 'ORANGE'
    Title: 'Pegging产品分析'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_ListPeggingResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
Quintiq file version 2.0
Component ListPeggingResult
{
  #keys: '[414702.1.296178342]'
  BaseType: 'WebList'
  Children:
  [
    Component DataExtractorPeggingResult
    {
      #keys: '[414702.1.296178343]'
      BaseType: 'WebDataExtractor'
      Properties:
      [
        DataType: 'PeggingProductInSalesDemandBase'
        ExtractionMode: 'Selected'
        FixedFilter: 'object.NumberOfPlies() = 0'
        Source: 'FormPeggingProductInSalesDemandBase.ListPeggingProductInSalesDemandBase'
        Taborder: 0
        Transformation: 'PeggingResult'
      ]
    }
    #child: listActionBarPagePeggingResult
    Component DataSetLevelPeggingResult
    {
      #keys: '[414702.1.296178348]'
      BaseType: 'WebDataSetLevel'
      Children:
      [
        #child: listContextMenuPeggingResult
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"产品ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPointID","title":"库存点ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockingPointID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"开始时间","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyQuantity","title":"供应数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfillmentQuantity","title":"实际需要数量","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FulfillmentQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SupplyType","title":"供应类型","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SupplyType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasurementName","title":"单位","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UnitOfMeasurementName"}}]'
        ContextMenu: 'listContextMenuPeggingResult'
        RelationFromParent: 'Child'
        RelationRepeating: 'Child'
        Taborder: 2
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListPeggingResult_WebMenu_OnClick
    {
      #keys: '[414702.1.302148620]'
      Initiator: 'WebMenu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[627.0.29218476]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listActionBarPagePeggingResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
Component listActionBarPagePeggingResult
{
  #keys: '[414702.1.296178345]'
  BaseType: 'listActionBarPage'
  Properties:
  [
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Component_listContextMenuPeggingResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
Quintiq file version 2.0
Component listContextMenuPeggingResult
{
  #keys: '[414702.1.296178350]'
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuSelectionAll
    {
      #keys: '[414702.1.302117859]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'SELECTION'
        Shortcut: 'Ctrl+A'
        Taborder: 3
        Title: '全选'
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/Response_ListPeggingResult_MenuSelectionAll_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: ListPeggingResult
Response OnClick () id:Response_ListPeggingResult_MenuSelectionAll_OnClick
{
  #keys: '[414702.1.302148638]'
  CanBindMultiple: false
  DefinitionID => /ListPeggingResult/Responsedef_ListPeggingResult_WebMenu_OnClick
  Initiator: 'MenuSelectionAll'
  QuillAction
  {
    Body:
    [*
      this.SelectAll();
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPeggingResult/_ROOT_Component_FormPeggingResult.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent FormPeggingResult
{
  #keys: '[414702.1.295031324]'
  BaseType: 'WebForm'
  Children:
  [
    #child: ListPeggingResult
  ]
  Properties:
  [
    Image: 'CUP'
    Title: 'Pegging结果'
  ]
}
_Main/UI/MacroPlannerWebApp/Views/Pegging·ÖÎö.vw
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,223 @@
Quintiq file version 2.0
{
  viewcontents
  {
    forms
    {
      form_FormPeggingProduct_MP
      {
        title: 'QTIANMA_JITUAN::FormPeggingProduct_MP'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPeggingProduct_MP'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 7
          columnPosition: 1
          columnSpan: 4
        }
        components
        {
          FormPeggingProduct_MP_pButton
          {
            sizeRatio: 1
          }
          FormPeggingProduct_MP_ListPeggingProduct_MP
          {
          }
          FormPeggingProduct_MP_DataSetLevelPeggingProduct_MP
          {
            groupDepth: -1
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormPeggingProductInSalesDemandBase_1
      {
        title: 'QTIANMA_JITUAN::FormPeggingProductInSalesDemandBase'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPeggingProductInSalesDemandBase'
        layout
        {
          mode: 'open'
          rowPosition: 8
          rowSpan: 6
          columnPosition: 1
          columnSpan: 4
        }
        components
        {
          FormPeggingProductInSalesDemandBase_ListPeggingProductInSalesDemandBase
          {
          }
          FormPeggingProductInSalesDemandBase_DataSetLevelPeggingProductInSalesDemandBase
          {
            groupDepth: -1
            sort: 'StartDate'
            column_SalesDemandBaseID
            {
              columnId: 'SalesDemandBaseID'
              dataPath: 'SalesDemandBaseID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 61
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 122
            }
            column_Quantity
            {
              columnId: 'Quantity'
              dataPath: 'Quantity'
              dataType: 'real'
              index: 2
              subtotals: ''
              width: 59
            }
            column_StartDate
            {
              columnId: 'StartDate'
              dataPath: 'StartDate'
              dataType: 'date'
              index: 3
              subtotals: ''
              width: 94
            }
          }
        }
      }
      form_FormPeggingResult
      {
        title: 'QTIANMA_JITUAN::FormPeggingResult'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPeggingResult'
        layout
        {
          mode: 'open'
          rowPosition: 1
          rowSpan: 13
          columnPosition: 5
          columnSpan: 8
        }
        components
        {
          FormPeggingResult_ListPeggingResult
          {
          }
          FormPeggingResult_DataSetLevelPeggingResult
          {
            groupDepth: -1
            sort: 'DESC:UnitOfMeasurementName'
            column_ProductID
            {
              columnId: 'ProductID'
              dataPath: 'ProductID'
              dataType: 'string'
              index: 0
              subtotals: ''
              width: 210
            }
            column_StockingPointID
            {
              columnId: 'StockingPointID'
              dataPath: 'StockingPointID'
              dataType: 'string'
              index: 1
              subtotals: ''
              width: 152
            }
            column_StartDate
            {
              columnId: 'StartDate'
              dataPath: 'StartDate'
              dataType: 'date'
              index: 2
              subtotals: ''
              width: 86
            }
            column_SupplyQuantity
            {
              columnId: 'SupplyQuantity'
              dataPath: 'SupplyQuantity'
              dataType: 'real'
              index: 3
              subtotals: ''
              width: 97
            }
            column_FulfillmentQuantity
            {
              columnId: 'FulfillmentQuantity'
              dataPath: 'FulfillmentQuantity'
              dataType: 'real'
              index: 4
              subtotals: ''
              width: 102
            }
            column_SupplyType
            {
              columnId: 'SupplyType'
              dataPath: 'SupplyType'
              dataType: 'string'
              index: 5
              subtotals: ''
              width: 78
            }
            column_UnitOfMeasurementName
            {
              columnId: 'UnitOfMeasurementName'
              dataPath: 'UnitOfMeasurementName'
              dataType: 'string'
              index: 6
              subtotals: ''
              width: 150
            }
          }
        }
      }
      form_FormPeggingAllResult
      {
        title: 'QTIANMA_JITUAN::FormPeggingAllResult'
        shown: true
        componentID: 'QTIANMA_JITUAN::FormPeggingAllResult'
        layout
        {
          mode: 'open'
          rowPosition: 14
          rowSpan: 12
          columnPosition: 1
          columnSpan: 12
        }
        components: null
      }
    }
    userconfigurableinformation
    {
    }
    page: ''
    group: ''
    index: 0
    image: 'VIEW'
    description: ''
  }
  formatversion: 2
  id: 'Pegging分析'
  name: '分析Pegging'
  isglobal: false
  isroot: true
}
_var/_Main/ProjSettings/MacroPlanner/Views/X_·ÖÎöÊÓͼ_[414702.1.50321581].vw
ÎļþÌ«´ó