From f35a5b36bf85e6894bca1296c64a7418ccb3f4c1 Mon Sep 17 00:00:00 2001 From: rislai <risheng.lai@capgemini.com> Date: 星期一, 30 十月 2023 20:00:44 +0800 Subject: [PATCH] 修复优先级因子计算BUG --- _Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl | 40 +++++++++++++--------------------------- 1 files changed, 13 insertions(+), 27 deletions(-) diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl index 09624f6..9794c76 100644 --- a/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl +++ b/_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; *] -- Gitblit v1.9.3