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