hongji.li
2023-11-01 862ae47da16934c5961558f98bb2c30df29eb1dc
Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_lhj
已修改2个文件
42 ■■■■■ 文件已修改
_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl
@@ -16,53 +16,42 @@
    
    score := 0.0;
    remindFormula := formula;
    // 遍历优先级因子配置
    if( not remindFormula = '' )
    {
    if( not remindFormula = '' ){
            // 从起始位置开始匹配 
            if(remindFormula.StartsWith( "+" ))
            {
            if(remindFormula.StartsWith( "+" )){
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable); 
                score := lastScore + score;
                // 截取掉已经计算的优先级因子 递归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }
            else if( remindFormula.StartsWith( "-" ))
            {
                score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }else if( remindFormula.StartsWith( "-" )){
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                score := lastScore - score;
                
                // 截取掉已经计算的优先级因子 递归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }
            else if( remindFormula.StartsWith( "*" ) )
            {
                score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }else if( remindFormula.StartsWith( "*" ) ){
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                score := lastScore * score;
                
                // 截取掉已经计算的优先级因子 递归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }
            else if( remindFormula.StartsWith( "/" ) )
            {
                score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }else if( remindFormula.StartsWith( "/" ) ){
                remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                score := lastScore / score;
                
                // 截取掉已经计算的优先级因子 递归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }
            else if( remindFormula.StartsWith( "(" ) )
            {
                score := score + PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }else if( remindFormula.StartsWith( "(" ) ){
                // 找到第一个结束的 )
                // 计算括号中的内容
                rightBracket := remindFormula.FindString( ")",0);
@@ -71,17 +60,14 @@
                
                // 截取 ) 后的字符继续进行计算
                remindFormula := remindFormula.SubString( rightBracket,remindFormula.Length()-1);
            }
            else
            {
            }else{
                // 不是符号 直接获取计算后的数值
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                // 截取掉已经计算的优先级因子 递归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
                score := PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }
    }
    // 没有匹配 公式计算完成
    return score;
  *]
_Main/UI/MacroPlannerWebApp/_ROOT_Project_MacroPlannerWebApp.qp
@@ -5,7 +5,7 @@
  ProjectProperties
  {
    ApplicationComponentName: 'ApplicationMacroPlanner'
    BuildVersion: '2022.3.0.33'
    BuildVersion: '2022.3.0.32'
    Description: 'Quintiq Macro Planner'
    ProjectKind: 'WebClient'
  }