limj
2023-09-25 979fac481dc55ff7b426f368d9a968d1b87001ac
优先级因子BUG修改
已重命名1个文件
已修改32个文件
已添加9个文件
已删除3个文件
560 ■■■■■ 文件已修改
_Main/BL/InfoMessages.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_BusinessType/StaticMethod_CreateData.qbl 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_DeleteDetails.qbl 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/StaticMethod_CreateTestData.qbl 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuSalesFillingCapacity.def 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingCapac.def 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingS#360.def 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingSchem.def 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnCreated.def 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Component_pnlContent.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuDelete_OnClick.def 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_OnSelectionChanged.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnCreated.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuInitData_OnClick.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick#106.def 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnSelectionChanged.def 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyCoefficient#902.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton#713.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuDelete_OnClick.def 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_OnUserSelectionChanged.def 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnCreated.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnSelectionCh.def 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/FillingCapacityOrder.vw 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/FillingCapacityOrderHistorical.vw 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Views/填产方案列表.vw 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ProjSettings/MacroPlannerWebApp/Views/FillingCapacityOrder.vw 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_var/_Main/ProjSettings/MacroPlannerWebApp/Views/FillingCapacityOrderHistorical.vw 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/InfoMessages.qbl
@@ -10,4 +10,8 @@
  {
    DefaultText: 'Please input validate value !'
  }
  InfoMessage PriorityFactor_CheckNameValid
  {
    DefaultText: '该优先级因子名称已存在!'
  }
}
_Main/BL/Type_BusinessType/StaticMethod_CreateData.qbl
@@ -2,6 +2,7 @@
#parent: #root
StaticMethod CreateData (
  GlobalOTDTable owner,
  MacroPlan macroPlan,
  String businessName
)
{
_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_CreateFillingCapacityOrderScheme.qbl
@@ -8,7 +8,7 @@
  TextBody:
  [*
    // NBoTk Sep-14-2023 (created)
    info('test' )
    fillingCapacityOrders := selectset( owner,FillingCapacityOrder,fillingOrder,
                                        not fillingOrder.IsFilling()
                                        );
@@ -43,27 +43,35 @@
    {
      e.SchemeName(schemeName);
      e.IsFilling(true);
      filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, e);
    }
    // ç‰ˆæœ¬å·
    verNoOrder := select( filllingCapacityOrderScheme,FillingCapacityOrder,o,
                                 o.VerNo() <> ''
                                 )
    
    // éœ€è¦å°†é”€å”®è®¢å•和预售订单同时保存到方案中
    traverse( owner,CustomerAndForecastOrder,order)
    {
    //traverse( owner,CustomerAndForecastOrder,order)
    //{
    //
    //     fillingOrder := owner.FillingCapacityOrder(relnew,BusinessType := order.BusinessType(),Customer := order.Customer(),CustomerID := order.CustomerID(),
    //                                                                       DemandDate := order.DemandDate(),ForecastDemandDate := order.ForecastDemandDate(),IsFilling := true,
    //                                                                       OrderType := '提拉',PanelBigSheetQuantity := order.PanelBigSheetQuantity(),ProductID := order.ProductID(),
    //                                                                       Quantity := order.Quantity(),SalesSegmentName := order.SalesSegmentName(),SalesAmount := order.SalesAmount(),
    //                                                                       SchemeName := schemeName,StockingPointID := order.StockingPointID(),UnitOfMeasureName := order.UnitOfMeasureName(),
    //                                                                       VerNo := order.VerNo()
    //                                                                       );
    //
    //    filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, fillingOrder);
    //}
      
         fillingOrder := owner.FillingCapacityOrder(relnew,BusinessType := order.BusinessType(),Customer := order.Customer(),CustomerID := order.CustomerID(),
                                                                           DemandDate := order.DemandDate(),ForecastDemandDate := order.ForecastDemandDate(),IsFilling := true,
                                                                           OrderType := '提拉',PanelBigSheetQuantity := order.PanelBigSheetQuantity(),ProductID := order.ProductID(),
                                                                           Quantity := order.Quantity(),SalesSegmentName := order.SalesSegmentName(),SalesAmount := order.SalesAmount(),
                                                                           SchemeName := schemeName,StockingPointID := order.StockingPointID(),UnitOfMeasureName := order.UnitOfMeasureName(),
                                                                           VerNo := verNoOrder.VerNo()
                                                                           );
        filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, fillingOrder);
    }
    //// æ–°å¢žåç­¾/授权订单 è®¢å•信息加入填产
    //traverse( owner,H_Forecast,hf)
    //{
    //          fillingOrder := owner.FillingCapacityOrder(relnew,BusinessType := hf.Department(),Customer := hf.CustomName(),CustomerID := hf.CustomCode(),
    //                                                                       DemandDate := Date::Today(),ForecastDemandDate := Date::Today(),IsFilling := true,
    //                                                                       OrderType := '提拉',PanelBigSheetQuantity := 0,ProductID := '',
    //                                                                       Quantity := hf.ForecastQty(),SalesSegmentName := '',SalesAmount := 0,
    //                                                                       SchemeName := schemeName,StockingPointID := '',UnitOfMeasureName := hf.Util(),
    //                                                                       VerNo := ''
    //                                                                       );
    //
    //    filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, fillingOrder);
    //}
  *]
}
_Main/BL/Type_FilllingCapacityOrderScheme/StaticMethod_DeleteDetails.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: #root
StaticMethod DeleteDetails (
  MacroPlan owner,
  String schemeName
)
{
  TextBody:
  [*
    // NBoTk Sep-25-2023 (created)
    details := selectset( owner,FillingCapacityOrder,f,true);
    traverse( details,Elements,e)
    {
      owner.FillingCapacityOrder(reldelete,e);
    }
  *]
}
_Main/BL/Type_PriorityFactor/StaticMethod_CheckNameValid.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CheckNameValid (
  MacroPlan owner,
  String businessType,
  Real coefficient,
  String desc,
  String name
) as Boolean
{
  TextBody:
  [*
    // NBoTk Sep-22-2023 (created)
    value := true;
    // åç§°ç›¸åŒè·³è¿‡
    obj := selectobject( owner,PriorityFactor,p,
                        p.BusinessType() = businessType and p.Coefficient() = coefficient and p.Name() = name and p.Desc() = desc
                        );
    if(not isnull( obj) )
    {
        value := false;
    }
    return value;
  *]
}
_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
@@ -1,41 +1,34 @@
Quintiq file version 2.0
#parent: #root
StaticMethod InitData (
  MacroPlan owner
  MacroPlan owner,
  String businessType
)
{
  TextBody:
  [*
    // NBoTk Sep-15-2023 (created)
    info(" init PriorutyFactor");
    // businessType
    // result := "集团面板;专业显示事业部;外卖CELL;非显;运动健康;运动健康事业部;手机事业部;特种显示;汽车电子事业部;车载显示事业部;IT事业部";
    businessTypeList := construct( structured[String]);
    businessTypeList.Add( "集团面板");
    businessTypeList.Add( "专业显示事业部");
    businessTypeList.Add( "外卖CELL");
    businessTypeList.Add( "非显");
    businessTypeList.Add( "运动健康");
    businessTypeList.Add( "运动健康事业部");
    businessTypeList.Add( "手机事业部面板");
    businessTypeList.Add( "特种显示");
    businessTypeList.Add( "汽车电子事业部面板");
    businessTypeList.Add( "车载显示事业部");
    businessTypeList.Add( "IT事业部");
    // æ·»åŠ äº‹ä¸šéƒ¨å¯¹åº”çš„é¢„åˆ¶ä¼˜å…ˆçº§å› å­æ•°æ®
    owner.PriorityFactor(relnew,Name := "客户策略" ,Desc := "将事业部计算的优先级,按该细分项比例阶梯确定该项得分。如:81%≤X≤100% 5分,61%≤X≤80% 4分", BusinessType := businessType );
    owner.PriorityFactor(relnew,Name := "客户等级" ,Desc := "根据需求数据中客户,匹配客户等级",BusinessType := businessType);
    owner.PriorityFactor(relnew,Name := "大张盈利水平" ,Desc := "1、获取客户*SKU大张盈利数 2、定义客户*SKU大张盈利数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", BusinessType := businessType );
    owner.PriorityFactor(relnew,Name := "细分市场等级" ,Desc := "1、获取客户*SKU对应细分市场等级 2、匹配需求数据中客户及SKU对应细分市场评分等级,得到对应阶梯得分", BusinessType := businessType );
    owner.PriorityFactor(relnew,Name := "需求类型" ,Desc := "匹配不同需求种类,得到对应得分", BusinessType := businessType );
    owner.PriorityFactor(relnew,Name := "订单下单时间" ,Desc := "根据需求订单中下单时间与需求时间差值,匹配阶梯得分", BusinessType := businessType );
    owner.PriorityFactor(relnew,Name := "产品等级" ,Desc := "1、获取客户*SKU DOI&DSI数 2、定义客户*SKUDOI&DSI数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", BusinessType := businessType );
    owner.PriorityFactor(relnew,Name := "DOI" ,Desc := "1、获取客户*SKU DOI&DSI数 2、定义客户*SKUDOI&DSI数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", BusinessType := businessType );
    owner.PriorityFactor(relnew,Name := "DSI" ,Desc := "1、获取客户*SKU DOI&DSI数 2、定义客户*SKUDOI&DSI数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", BusinessType := businessType );
    
    traverse( businessTypeList,Elements,b)
    // ä¼˜å…ˆçº§å› å­ç»†åˆ†
    priorityFactorList := selectset( owner,PriorityFactor,p,
                                     p.BusinessType() = businessType
                                     );
    traverse( priorityFactorList,Elements,e)
    {
        owner.PriorityFactor(relnew,Name := "客户策略" ,Desc := "将事业部计算的优先级,按该细分项比例阶梯确定该项得分。如:81%≤X≤100% 5分,61%≤X≤80% 4分", BusinessType := b );
        owner.PriorityFactor(relnew,Name := "客户等级" ,Desc := "根据需求数据中客户,匹配客户等级",BusinessType := b);
        owner.PriorityFactor(relnew,Name := "大张盈利水平" ,Desc := "1、获取客户*SKU大张盈利数 2、定义客户*SKU大张盈利数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", BusinessType := b );
        owner.PriorityFactor(relnew,Name := "细分市场等级" ,Desc := "1、获取客户*SKU对应细分市场等级 2、匹配需求数据中客户及SKU对应细分市场评分等级,得到对应阶梯得分", BusinessType := b );
        owner.PriorityFactor(relnew,Name := "需求类型" ,Desc := "匹配不同需求种类,得到对应得分", BusinessType := b );
        owner.PriorityFactor(relnew,Name := "订单下单时间" ,Desc := "根据需求订单中下单时间与需求时间差值,匹配阶梯得分", BusinessType := b );
        owner.PriorityFactor(relnew,Name := "产品等级" ,Desc := "1、获取客户*SKU DOI&DSI数 2、定义客户*SKUDOI&DSI数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", BusinessType := b );
        owner.PriorityFactor(relnew,Name := "DOI" ,Desc := "1、获取客户*SKU DOI&DSI数 2、定义客户*SKUDOI&DSI数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", BusinessType := b );
        owner.PriorityFactor(relnew,Name := "DSI" ,Desc := "1、获取客户*SKU DOI&DSI数 2、定义客户*SKUDOI&DSI数阶梯得分 3、匹配需求数据中客户及SKU数据,得到对应阶梯得分", BusinessType := b );
        PriorityFactorDetails::InitData( owner,e);
    }
  *]
}
_Main/BL/Type_PriorityFactorDetails/StaticMethod_CreateTestData.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_PriorityFactorDetails/StaticMethod_InitData.qbl
@@ -1,35 +1,29 @@
Quintiq file version 2.0
#parent: #root
StaticMethod InitData (
  MacroPlan owner
  MacroPlan owner,
  PriorityFactor priorityFactor
)
{
  TextBody:
  [*
    // NBoTk Sep-17-2023 (created)
    
    info(" init PriorutyFactorDetails" );
    traverse( owner, PriorityFactor , p)
    {
        isBusinessType := false;
        if( p.BusinessType() <> "集团面板" )
    if( priorityFactor.BusinessType() <> "集团面板" )
        {
            isBusinessType := true; 
        }
      
        p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
                                     IsRange := false,GradingName := "大盈",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
        p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
                                     IsRange := false,GradingName := "小盈",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
        p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0,
                                     IsRange := false,GradingName := "持平",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
        p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3,
                                     IsRange := false,GradingName := "小亏",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
        p.PriorityFactorDetails(relnew,BusinessType := p.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5,
                                     IsRange := false,GradingName := "大亏",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := p.Name());
    }
    priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 5,
                                            IsRange := false,GradingName := "大盈",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
    priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 3,
                                            IsRange := false,GradingName := "小盈",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
    priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := 0,
                                            IsRange := false,GradingName := "持平",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
    priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -3,
                                            IsRange := false,GradingName := "小亏",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
    priorityFactor.PriorityFactorDetails(relnew,BusinessType := priorityFactor.BusinessType(), IsBusinessType := isBusinessType,GradeTarget := -5,
                                            IsRange := false,GradingName := "大亏",RangeMin := 0.0,RangeMax := 0.0,PriorityFactorName := priorityFactor.Name());
  *]
}
_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
Quintiq file version 2.0
#parent: #root
StaticMethod RollBackCalcStr (
  MacroPlan owner,
  String businessType,
  String stringData
) as String
{
  TextBody:
  [*
    // NBoTk Sep-21-2023 (created)
    value := stringData;
    symbolList := construct( structured[String]);
    symbolList.Add( "+")
    symbolList.Add( "-")
    symbolList.Add( "x")
    symbolList.Add( "/")
    symbolList.Add( "(")
    symbolList.Add( ")")
    traverse( symbolList,Elements,e)
    {
        if( stringData.EndsWith( e ))
        {
             end := stringData.Length() - e.Length();
             value := stringData.SubString( 0,end);
        }
    }
    nameList := PriorityFactor::GetDataByBusinessType(  owner,businessType);
    traverse( nameList,Elements,e)
    {
        nameText := e.Name() + "[" + [String]e.Coefficient() + "*L]"
        if( stringData.EndsWith( nameText))
        {
             end := stringData.Length() - nameText.Length();
             value := stringData.SubString( 0,end);
        }
    }
    return value;
  *]
}
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ContextMenuSalesFillingCapacity.def
@@ -14,7 +14,7 @@
        Image: 'ELEMENT_BLUE'
        Taborder: 0
        Title: '外卖CELL'
        Tooltip: 'Filling Capacity Scheme List'
        Tooltip: '外卖CELL'
      ]
    }
    Component MenuSalesFillingSchemeDetail
@@ -26,6 +26,7 @@
        Image: 'ELEMENT_ORANGE'
        Taborder: 1
        Title: '填产方案列表'
        Tooltip: '填产方案列表'
      ]
    }
    Component MenuSalesFillingSchemeHistorical
@@ -37,6 +38,7 @@
        Image: 'ELEMENT_ORANGE'
        Taborder: 2
        Title: '填产历史订单列表'
        Tooltip: '填产历史订单列表'
      ]
    }
  ]
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingCapac.def
@@ -10,9 +10,8 @@
    Body:
    [*
      // Open view
      //ApplicationMacroPlanner.OpenView( 'Filling Capacity Scheme List',ButtonSalesFillingCapacity);
      ApplicationMacroPlanner.OpenView( 'FillingCapacityOrder', ButtonSalesFillingCapacity );
      //ApplicationMacroPlanner.OpenView( 'FillingCapacityOrder', ButtonSalesFillingCapacity );
      ApplicationScope.ViewManager().ResetUserViewById( "FillingCapacityOrder",true);
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingS#360.def
@@ -10,8 +10,7 @@
    Body:
    [*
      // Open view
      //ApplicationMacroPlanner.OpenView( "FillingCapacitySchemeList",ButtonSalesFillingCapacity);
      ApplicationMacroPlanner.OpenView( "FillingCapacityOrderHistorical");
      ApplicationScope.ViewManager().ResetUserViewById( "FillingCapacityOrderHistorical",true);
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_TIANMA_JITUAN_ContextMenuSalesFillingCapacity_MenuSalesFillingSchem.def
@@ -10,8 +10,7 @@
    Body:
    [*
      // Open view
      //ApplicationMacroPlanner.OpenView( "FillingCapacitySchemeList",ButtonSalesFillingCapacity);
      ApplicationMacroPlanner.OpenView( "FillingCapacitySchemeList");
      ApplicationScope.ViewManager().ResetUserViewById( "FillingCapacitySchemeList",true);
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def
@@ -12,13 +12,11 @@
    // OnOk
    this.ApplyChanges();
    
    businessType := DataHolderBusinessType.Data().BusinessTypeName();
    DataHolderBusinessType.Data().Commit();
    
    //if( not isnull( DataHolderForm.Data() ) )
    //{
    //  // Access the form, select the new assumption
    //  DataHolderForm.Data().ListAssumptions().SelectByKey( DataHolderDialogData.Data().WrappedInstance().Key() );
    //}
    // PriorityFactor
    PriorityFactor::InitData( MacroPlan,businessType);
    
    this.Close();
  *]
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Response_pnlActions_btnOk_OnClick.def
@@ -7,10 +7,17 @@
  Precondition:
  [*
    feedback := Translations::FilllingCapacity_ValidateInput();
    checkValue := not Coefficient.Text() = ''
    
    return checkValue;
    if(not checkValue )
    {
      feedback := Translations::PriorityFactor_CheckNameValid();
      editData := DataHolderEditPriorityFactor.Data();
      checkValue := not PriorityFactor::CheckNameValid( MacroPlan,editData.BusinessType(),[Real]Coefficient.Text(),PriorityFactorName.Text(),Desc.Text());
    }
    return checkValue
  *]
  QuillAction
  {
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Component_pnlContent.def
@@ -36,6 +36,7 @@
        DataBinding: 'DataHolderEditPriorityFactorDetails.Data.RangeMax'
        Label: '最大值'
        Taborder: 4
        Visible: false
      ]
    }
    Component RangeMin
@@ -46,7 +47,8 @@
      [
        DataBinding: 'DataHolderEditPriorityFactorDetails.Data.RangeMin'
        Label: '最小值'
        Taborder: 5
        ReadOnly: true
        Taborder: 6
      ]
    }
    Component GradeDesc
@@ -59,7 +61,7 @@
        FixedSize: false
        Label: '描述'
        SizeRatio: 3
        Taborder: 6
        Taborder: 8
      ]
    }
    Component PriorityFactorName
@@ -84,6 +86,27 @@
        Taborder: 1
      ]
    }
    Component RangeMaxTest
    {
      #keys: '[414382.0.523235618]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '最大值'
        Taborder: 5
        Visible: false
      ]
    }
    Component RangeMinText
    {
      #keys: '[414382.0.523361009]'
      BaseType: 'WebLabel'
      Properties:
      [
        Label: '最小值'
        Taborder: 7
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlActions_btnOk_OnClick.def
@@ -12,7 +12,7 @@
    
    if( isRange.Checked() )
    {
       checkValue := not RangeMax.Text() = '' and not RangeMin.Text() = '';
       checkValue := not RangeMax.Text() = '' and not RangeMin.Text() = '' and RangeMax.Text() > RangeMin.Text();
    }
    
    return checkValue;
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnChanged.def
@@ -11,12 +11,18 @@
    [*
      if( this.Checked())
      {
          RangeMax.ReadOnly(false);
          RangeMin.ReadOnly(false)
          RangeMax.Visible(true);
          RangeMin.Visible(true);
          RangeMaxTest.Visible(false);
          RangeMinText.Visible(false);
      }
      else{
          RangeMax.ReadOnly(true);
          RangeMin.ReadOnly(true)
          RangeMax.Visible(false);
          RangeMin.Visible(false);
          RangeMaxTest.Visible(true)
          RangeMaxTest.Text([String]DataHolderEditPriorityFactorDetails.Data().RangeMax());
          RangeMinText.Visible(true)
          RangeMinText.Text([String]DataHolderEditPriorityFactorDetails.Data().RangeMin());
      }
    *]
    GroupServerCalls: false
_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactorDetails/Response_pnlContent_isRange_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
Quintiq file version 2.0
#parent: pnlContent/isRange
Response OnCreated () id:Response_pnlContent_isRange_OnCreated
{
  #keys: '[414382.0.523105450]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      if( this.Checked())
      {
          RangeMax.Visible(true);
          RangeMin.Visible(true);
          RangeMaxTest.Visible(false);
          RangeMinText.Visible(false);
      }
      else{
          RangeMax.Visible(false);
          RangeMin.Visible(false);
          RangeMaxTest.Visible(true)
          RangeMaxTest.Text([String]DataHolderEditPriorityFactorDetails.Data().RangeMax());
          RangeMinText.Visible(true)
          RangeMinText.Text([String]DataHolderEditPriorityFactorDetails.Data().RangeMin());
      }
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Component_pnlContent.def
@@ -13,8 +13,7 @@
      [
        AllowEmpty: true
        DataBinding: 'DataHolderFillingCapacityOrder.Data.ProductID'
        Label: 'ProductID'
        Strings: 'productID'
        Label: '商品编码'
        Taborder: 0
      ]
    }
@@ -26,8 +25,7 @@
      [
        AllowEmpty: true
        DataBinding: 'DataHolderFillingCapacityOrder.Data.SalesSegmentName'
        Label: 'SalesSegmentName'
        Strings: 'SalesSagmentName'
        Label: '销售部门'
        Taborder: 1
      ]
    }
@@ -39,8 +37,7 @@
      [
        AllowEmpty: true
        DataBinding: 'DataHolderFillingCapacityOrder.Data.StockingPointID'
        Label: 'StockPointID'
        Strings: 'StockPointID'
        Label: '库存点'
        Taborder: 2
      ]
    }
@@ -52,8 +49,7 @@
      [
        AllowEmpty: true
        DataBinding: 'DataHolderFillingCapacityOrder.Data.Customer'
        Label: 'Customer'
        Strings: 'Customer'
        Label: '客户'
        Taborder: 3
      ]
    }
@@ -64,7 +60,7 @@
      Properties:
      [
        DataBinding: 'DataHolderFillingCapacityOrder.Data.Quantity'
        Label: 'Quantity'
        Label: '数量'
        Mask: 'REAL'
        Taborder: 4
      ]
@@ -77,7 +73,7 @@
      [
        AllowEmpty: true
        DataBinding: 'DataHolderFillingCapacityOrder.Data.UnitOfMeasureName'
        Label: 'UnitOfMeasureName'
        Label: '数量单位'
        Strings: 'UnitName'
        Taborder: 5
      ]
@@ -89,7 +85,7 @@
      Properties:
      [
        DataBinding: 'DataHolderFillingCapacityOrder.Data.SalesAmount'
        Label: 'SalesAmount'
        Label: '销售额'
        Mask: 'NUMBER'
        Taborder: 6
      ]
@@ -101,7 +97,7 @@
      Properties:
      [
        DataBinding: 'DataHolderFillingCapacityOrder.Data.DemandDate'
        Label: 'Demand Date'
        Label: '需求日期'
        Taborder: 8
      ]
    }
@@ -112,7 +108,7 @@
      Properties:
      [
        DataBinding: 'DataHolderFillingCapacityOrder.Data.ForecastDemandDate'
        Label: 'Forecast Demand Date'
        Label: '预期需求日期'
        Taborder: 7
      ]
    }
_Main/UI/MacroPlannerWebApp/Component_DialogFillingCustomerAndForecast/Component_pnlContent.def
@@ -12,7 +12,7 @@
      Properties:
      [
        DataBinding: 'DataHolderFilling.Data.VerNo'
        Label: 'VerNo'
        Label: '版本号'
        Taborder: 0
      ]
    }
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_MenuDelete_OnClick.def
@@ -21,7 +21,8 @@
  {
    Body:
    [*
      selection.Delete()
      FilllingCapacityOrderScheme::DeleteDetails( MacroPlan,selection.SchemeName());
      selection.Delete();
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormFillingScheme/Response_ListFillingScheme_OnSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: ListFillingScheme
Response OnSelectionChanged (
  FilllingCapacityOrderScheme selection
) id:Response_ListFillingScheme_OnSelectionChanged
{
  #keys: '[414382.0.532640606]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebList_OnSelectionChanged'
  QuillAction
  {
    Body:
    [*
      schemeName := selection.SchemeName();
      list := selectset( MacroPlan,FillingCapacityOrder,order,order.SchemeName() = selection.SchemeName());
      DataHolderFillingScheme.Data(&list);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def
@@ -5,17 +5,6 @@
  BaseType: 'listContextMenu'
  Children:
  [
    Component MenuInitData
    {
      #keys: '[414382.0.482890505]'
      BaseType: 'WebMenu'
      Properties:
      [
        Image: 'GEAR'
        Taborder: 3
        Title: 'Init Data'
      ]
    }
    Component MenuEdit
    {
      #keys: '[414382.0.485622263]'
@@ -23,7 +12,7 @@
      Properties:
      [
        Image: 'GEAR_EDIT'
        Taborder: 4
        Taborder: 3
        Title: '编辑'
      ]
    }
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: DataHolderPriorityFactorBusinessType
Response OnCreated () id:Response_FormPriorityFactor_DataHolderPriorityFactorBusinessType_OnCreated
{
  #keys: '[414382.0.539235155]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      businessTypeList := selectset( GlobalOTDTable,BusinessType,b,true);
      this.Data(&businessTypeList);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: DataHolderPriorityFactorBusinessType
Response OnDataChanged () id:Response_FormPriorityFactor_DataHolderPriorityFactorBusinessType_OnDataChanged
{
  #keys: '[414382.0.539235291]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
  QuillAction
  {
    Body:
    [*
      businessTypeList := selectset( GlobalOTDTable,BusinessType,b,true);
      this.Data(&businessTypeList);
      strings := BusinessType::GetBusinessNameStr( GlobalOTDTable );
      DropDownStringListBusinessType.Strings(strings);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def
@@ -2,7 +2,7 @@
#parent: DropDownStringListBusinessType
Response OnCreated () id:Response_FormPriorityFactor_DropDownStringListBusinessType_OnCreated
{
  #keys: '[414382.0.461201807]'
  #keys: '[414382.0.539375553]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def
@@ -9,6 +9,7 @@
  {
    Body:
    [*
      info( "selection" );
      list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text());
      DataHolderPriorityFactorSelect.Data(&list);
    *]
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuInitData_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick#106.def
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnSelectionChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
Quintiq file version 2.0
#parent: ListPriorityFactor
Response OnSelectionChanged (
  PriorityFactor selection
) id:Response_ListPriorityFactor_OnSelectionChanged
{
  #keys: '[414382.0.541275298]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebList_OnSelectionChanged'
  QuillAction
  {
    Body:
    [*
      info( "selecion change" );
      detaisls := PriorityFactorDetails::GetDataByPriorityFactor( selection, MacroPlan);
      DataHolderPriorityFactorDetailsSelect.Data(&detaisls);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def
@@ -38,6 +38,16 @@
        Taborder: 3
      ]
    }
    Component DataHolderPriorityFactorBusinessType
    {
      #keys: '[414382.0.539205233]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[BusinessType]*'
      Properties:
      [
        Taborder: 4
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyCoefficient#902.def
@@ -21,7 +21,7 @@
      BaseType: 'WebButton'
      Properties:
      [
        Label: '完成'
        Label: '保存'
        Taborder: 1
      ]
    }
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperationButton#713.def
@@ -11,7 +11,7 @@
      BaseType: 'WebButton'
      Properties:
      [
        Label: '添加因子'
        Label: '添加'
        Taborder: 1
      ]
    }
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuDelete_OnClick.def
@@ -12,6 +12,7 @@
  {
    Body:
    [*
      selection.Delete();
    *]
    GroupServerCalls: false
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_OnUserSelectionChanged.def
@@ -17,11 +17,11 @@
      str := PriorityFactor::GetNameList( MacroPlan, businessType);
      DropDownStringList.Strings(str);
      
      LabelFormula.Text(selection.Formula());
      LabelCalculateValue.Text(selection.CalculateValue());
      data := shadow( selection );
      DataHolderEditPriorityPolicy.Data( &data );
      //coefficient := PriorityFactor::GetCoeffcientByName( MacroPlan,businessType,DropDownStringList.Text());
      //LabelPriorityPolicyCoefficient.Text([String]coefficient);
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def
@@ -5,6 +5,12 @@
  #keys: '[414382.0.502145449]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    feedback := "该优先级因子已被选择."
    return not LabelFormula.Text() ~ DropDownStringList.Text();
  *]
  QuillAction
  {
    Body:
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def
@@ -13,7 +13,7 @@
      formulaText := PriorityPolicy::RollBackStr( MacroPlan,businessType,LabelFormula.Text());
      LabelFormula.Text(formulaText);
      
      calculateTest := PriorityPolicy::RollBackStr( MacroPlan,businessType,LabelCalculateValue.Text());
      calculateTest := PriorityPolicy::RollBackCalcStr( MacroPlan,businessType,LabelCalculateValue.Text());
      LabelCalculateValue.Text(calculateTest);
    *]
    GroupServerCalls: false
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
#parent: PanelPriorityPolicyOperationButton/DropDownStringList
Response OnCreated () id:Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnCreated
{
  #keys: '[414382.0.539822108]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      strs := PriorityFactor::GetNameList( MacroPlan,DropDownStringList.Text());
      this.Strings(strs);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_DropDownStringList_OnSelectionCh.def
@@ -9,11 +9,9 @@
  {
    Body:
    [*
      info( "select changeed" );
      businessType := PriorityPolicyBusinessType.Text();
      coefficient := PriorityFactor::GetCoeffcientByName( MacroPlan,businessType,DropDownStringList.Text());
      LabelPriorityPolicyCoefficient.Text([String]coefficient);
      info("coefficient := " + [String]coefficient  );
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Views/FillingCapacityOrder.vw
@@ -180,10 +180,10 @@
    userconfigurableinformation
    {
    }
    image: ''
    page: ''
    group: ''
    index: 14
    image: ''
    index: 0
    description: ''
  }
  formatversion: 2
_Main/UI/MacroPlannerWebApp/Views/FillingCapacityOrderHistorical.vw
@@ -2,10 +2,10 @@
{
  viewcontents
  {
    image: ''
    page: ''
    group: ''
    index: 0
    image: ''
    description: ''
  }
  formatversion: 2
_Main/UI/MacroPlannerWebApp/Views/Ìî²ú·½°¸Áбí.vw
@@ -180,10 +180,10 @@
    userconfigurableinformation
    {
    }
    group: ''
    index: 0
    image: ''
    page: ''
    group: ''
    description: ''
  }
  formatversion: 2
_var/_Main/ProjSettings/MacroPlannerWebApp/Views/FillingCapacityOrder.vw
ÎļþÒÑɾ³ý
_var/_Main/ProjSettings/MacroPlannerWebApp/Views/FillingCapacityOrderHistorical.vw
@@ -2,6 +2,9 @@
{
  viewcontents
  {
    userconfigurableinformation
    {
    }
    forms
    {
      form_FormCustomerAndForecastOrder
@@ -417,18 +420,11 @@
        }
      }
    }
    userconfigurableinformation
    {
    }
    page: ''
    group: ''
    index: 15
    image: ''
    description: ''
    index: 0
  }
  formatversion: 2
  id: 'FillingCapacityOrderHistorical'
  name: 'FillingCapacityOrderHistorical'
  isglobal: false
  isroot: true
  isroot: false
}