From bb0fb9e2032814bfea1176d0b5c513a87169fe6b Mon Sep 17 00:00:00 2001
From: limj <limj@taizhitech.com>
Date: 星期日, 08 十月 2023 19:57:18 +0800
Subject: [PATCH] 优先级策略问题修改

---
 _Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl                                                                    |  101 +++++++++++++------
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_OnClick.def                           |    1 
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def            |    7 +
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def |   13 ++
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def                      |    6 +
 _Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def                                   |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def                                     |   35 ------
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick.def          |    7 +
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def                           |    5 
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick.def  |    7 +
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick.def              |    7 +
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick.def                                         |    1 
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def                       |   14 --
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick#144.def                                     |    1 
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def                  |    5 
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def                                          |   15 +++
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick.def   |    7 +
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorSelect_OnDataChanged.def                       |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick.def            |    7 +
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def          |    7 +
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick.def          |    7 +
 _Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl                                                                                   |   18 +-
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick#582.def                                     |    1 
 23 files changed, 174 insertions(+), 104 deletions(-)

diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
index 956d704..a2be846 100644
--- a/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
+++ b/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl
@@ -18,15 +18,15 @@
     {
           
           // 娣诲姞浜嬩笟閮ㄥ搴旂殑棰勫埗浼樺厛绾у洜瀛愭暟鎹�
-          owner.PriorityFactor(relnew,Name := "瀹㈡埛绛栫暐" ,Desc := "灏嗕簨涓氶儴璁$畻鐨勪紭鍏堢骇锛屾寜璇ョ粏鍒嗛」姣斾緥闃舵纭畾璇ラ」寰楀垎銆傚锛�81%鈮鈮�100% 5鍒嗭紝61%鈮鈮�80% 4鍒�", BusinessType := businessType );
-          owner.PriorityFactor(relnew,Name := "瀹㈡埛绛夌骇" ,Desc := "鏍规嵁闇�姹傛暟鎹腑瀹㈡埛锛屽尮閰嶅鎴风瓑绾�",BusinessType := businessType);
-          owner.PriorityFactor(relnew,Name := "澶у紶鐩堝埄姘村钩" ,Desc := "1銆佽幏鍙栧鎴�*SKU澶у紶鐩堝埄鏁� 2銆佸畾涔夊鎴�*SKU澶у紶鐩堝埄鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType );
-          owner.PriorityFactor(relnew,Name := "缁嗗垎甯傚満绛夌骇" ,Desc := "1銆佽幏鍙栧鎴�*SKU瀵瑰簲缁嗗垎甯傚満绛夌骇 2銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU瀵瑰簲缁嗗垎甯傚満璇勫垎绛夌骇锛屽緱鍒板搴旈樁姊緱鍒�", 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銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType );
-          owner.PriorityFactor(relnew,Name := "DOI" ,Desc := "1銆佽幏鍙栧鎴�*SKU DOI&DSI鏁� 2銆佸畾涔夊鎴�*SKUDOI&DSI鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType );
-          owner.PriorityFactor(relnew,Name := "DSI" ,Desc := "1銆佽幏鍙栧鎴�*SKU DOI&DSI鏁� 2銆佸畾涔夊鎴�*SKUDOI&DSI鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType );
+          owner.PriorityFactor(relnew,Name := "瀹㈡埛绛栫暐" ,Desc := "灏嗕簨涓氶儴璁$畻鐨勪紭鍏堢骇锛屾寜璇ョ粏鍒嗛」姣斾緥闃舵纭畾璇ラ」寰楀垎銆傚锛�81%鈮鈮�100% 5鍒嗭紝61%鈮鈮�80% 4鍒�", BusinessType := businessType, Coefficient := 100 );
+          owner.PriorityFactor(relnew,Name := "瀹㈡埛绛夌骇" ,Desc := "鏍规嵁闇�姹傛暟鎹腑瀹㈡埛锛屽尮閰嶅鎴风瓑绾�",BusinessType := businessType, Coefficient := 100);
+          owner.PriorityFactor(relnew,Name := "澶у紶鐩堝埄姘村钩" ,Desc := "1銆佽幏鍙栧鎴�*SKU澶у紶鐩堝埄鏁� 2銆佸畾涔夊鎴�*SKU澶у紶鐩堝埄鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType, Coefficient := 100 );
+          owner.PriorityFactor(relnew,Name := "缁嗗垎甯傚満绛夌骇" ,Desc := "1銆佽幏鍙栧鎴�*SKU瀵瑰簲缁嗗垎甯傚満绛夌骇 2銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU瀵瑰簲缁嗗垎甯傚満璇勫垎绛夌骇锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType, Coefficient := 100 );
+          owner.PriorityFactor(relnew,Name := "闇�姹傜被鍨�" ,Desc := "鍖归厤涓嶅悓闇�姹傜绫伙紝寰楀埌瀵瑰簲寰楀垎", BusinessType := businessType, Coefficient := 100 );
+          owner.PriorityFactor(relnew,Name := "璁㈠崟涓嬪崟鏃堕棿" ,Desc := "鏍规嵁闇�姹傝鍗曚腑涓嬪崟鏃堕棿涓庨渶姹傛椂闂村樊鍊硷紝鍖归厤闃舵寰楀垎", BusinessType := businessType, Coefficient := 100 );
+          owner.PriorityFactor(relnew,Name := "浜у搧绛夌骇" ,Desc := "1銆佽幏鍙栧鎴�*SKU DOI&DSI鏁� 2銆佸畾涔夊鎴�*SKUDOI&DSI鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType, Coefficient := 100 );
+          owner.PriorityFactor(relnew,Name := "DOI" ,Desc := "1銆佽幏鍙栧鎴�*SKU DOI&DSI鏁� 2銆佸畾涔夊鎴�*SKUDOI&DSI鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType, Coefficient := 100 );
+          owner.PriorityFactor(relnew,Name := "DSI" ,Desc := "1銆佽幏鍙栧鎴�*SKU DOI&DSI鏁� 2銆佸畾涔夊鎴�*SKUDOI&DSI鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType, Coefficient := 100 );
           
           // 浼樺厛绾у洜瀛愮粏鍒�
           priorityFactorList := selectset( owner,PriorityFactor,p,
diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl
index 7cd8770..83fc44e 100644
--- a/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl
+++ b/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl
@@ -10,8 +10,14 @@
   [*
     // NBoTk Sep-26-2023 (created)
     
-    // 璁$畻瀹㈡埛璁㈠崟鐨勪紭鍏堢骇寰楀垎 鍥炲~鏉冮噸鏁版嵁 鐢熸垚鏂扮殑Priority鏄庣粏鏁版嵁
+    // 鍏堝垹闄ゅ巻鍙茬殑璺戝垎璇︽儏
+    traverse( macroPlan,PriorityResult,p)
+    {
+          p.PriorityResultBusinessTypeDetail(relflush );
+          p.Delete(); 
+    }
     
+    // 璁$畻瀹㈡埛璁㈠崟鐨勪紭鍏堢骇寰楀垎 鍥炲~鏉冮噸鏁版嵁 鐢熸垚鏂扮殑Priority鏄庣粏鏁版嵁
     traverse( macroPlan,SalesDemand.astype( CustomerOrder ),e)
     {
          // 浜嬩笟閮ㄤ俊鎭�
@@ -27,8 +33,8 @@
          priorityResult := macroPlan.PriorityResult(relnew,CustomerOrderID := e.ID(),BusinessType := businessType,Customer := e.CustomerName(),CustomerID := e.CustomerID(),
                                                      DemandDate := e.EndDate(),ProductID := e.ProductID(),Quantity := e.Quantity(),SalesSegmentName := e.SalesSegmentName(),
                                                      StockingPointID := e.StockingPointID(),UnitOfMeasureName := e.UnitOfMeasureName()
-                                                     );
-          
+                                                     );    
+           
          // 鍒ゆ柇鏄泦鍥� 杩樻槸浜嬩笟閮�
          if( businessType.FindString( "闆嗗洟",0 ) <> -1)
          {
@@ -54,42 +60,73 @@
                                    result.PriorityResultScore()
                                    )
     
-    // Quintiq浼樺厛绾у垎10绾� 闇�瑕佸垎娈佃绠�
-    subLevel := resultList.Size() div 10;
+    // Quintiq浼樺厛绾у垎10绾� 闇�瑕佸垎娈佃绠� 鍚戜笂鍙栨暣
+    subLevel := round( resultList.Size() div 10);
     subLevelCount := 0;
     
     priorityValue := 1;
-    traverse( resultList,Elements,e)
+    if( resultList.Size() <= 10 )
     {
-        obj := selectobject( macroPlan,SalesDemand.astype( CustomerOrder ),order, 
-                             order.ID() = e.CustomerOrderID()
-                             );
-        
-        // 璁㈠崟鏁版嵁涓嶄负绌哄啀鍋氬鐞�
-        if( not isnull( obj ) )
+        traverse( resultList,Elements,e)
         {
-              obj.PriorityName([String]priorityValue);
-              
-              // 鍒涘缓浼樺厛绾ф暟鎹� 闇�瑕佸厛娓呴櫎涓婁竴娆$殑璁$畻缁撴灉
-              // 鍒ゆ柇褰撳墠customerOrder鏄惁瀛樺湪
-              oldPriority := selectobject( macroPlan,Priority,p,p.Name() = [String]priorityValue);
-              if(isnull( oldPriority ) )
-              {
-                    macroPlan.Priority(relnew,Weight := priorityValue,Name := [String]priorityValue);
-              }        
+            obj := selectobject( macroPlan,SalesDemand.astype( CustomerOrder ),order, 
+                         order.ID() = e.CustomerOrderID()
+                         );
+                         
+            // 璁㈠崟鏁版嵁涓嶄负绌哄啀鍋氬鐞�
+            if( not isnull( obj ) )
+            {
+                  obj.PriorityName([String]priorityValue);
+                  
+                  // 鍒涘缓浼樺厛绾ф暟鎹� 闇�瑕佸厛娓呴櫎涓婁竴娆$殑璁$畻缁撴灉
+                  // 鍒ゆ柇褰撳墠customerOrder鏄惁瀛樺湪
+                  oldPriority := selectobject( macroPlan,Priority,p,p.Name() = [String]priorityValue);
+                  if(isnull( oldPriority ) )
+                  {
+                        macroPlan.Priority(relnew,Weight := priorityValue,Name := [String]priorityValue);
+                  }        
+            }
+            
+            // 鍒ゆ柇璁$畻鍒嗘鏁伴噺涓嶲uintiq鍘熷浼樺厛绾�
+            //浼樺厛绾�+1
+            priorityValue := priorityValue + 1;
+        }
+    }
+    else
+    {
+        traverse( resultList,Elements,e)
+        {
+            obj := selectobject( macroPlan,SalesDemand.astype( CustomerOrder ),order, 
+                                 order.ID() = e.CustomerOrderID()
+                                 );
+            
+            // 璁㈠崟鏁版嵁涓嶄负绌哄啀鍋氬鐞�
+            if( not isnull( obj ) )
+            {
+                  obj.PriorityName([String]priorityValue);
+                  
+                  // 鍒涘缓浼樺厛绾ф暟鎹� 闇�瑕佸厛娓呴櫎涓婁竴娆$殑璁$畻缁撴灉
+                  // 鍒ゆ柇褰撳墠customerOrder鏄惁瀛樺湪
+                  oldPriority := selectobject( macroPlan,Priority,p,p.Name() = [String]priorityValue);
+                  if(isnull( oldPriority ) )
+                  {
+                        macroPlan.Priority(relnew,Weight := priorityValue,Name := [String]priorityValue);
+                  }        
+            }
+        
+            // 鍒ゆ柇璁$畻鍒嗘鏁伴噺涓嶲uintiq鍘熷浼樺厛绾�
+            subLevelCount := subLevelCount + 1;
+            if( subLevelCount = subLevel )
+            {
+                // 褰撳埌杈惧垎娈垫暟閲忓悗 浼樺厛绾�+1 鍒嗘璁℃暟浠�0寮�濮�
+                if( priorityValue < 10 )
+                {
+                      priorityValue := priorityValue + 1;
+                }
+                subLevelCount := 0;
+            }
         }
     
-        // 鍒ゆ柇璁$畻鍒嗘鏁伴噺涓嶲uintiq鍘熷浼樺厛绾�
-        subLevelCount := subLevelCount + 1;
-        if( subLevelCount = subLevel )
-        {
-            // 褰撳埌杈惧垎娈垫暟閲忓悗 浼樺厛绾�+1 鍒嗘璁℃暟浠�0寮�濮�
-            if( priorityValue < 10 )
-            {
-                  priorityValue := priorityValue + 1;
-            }
-            subLevelCount := 0;
-        }
     }
   *]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def
index 4b92eb4..f9cb868 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def
@@ -11,7 +11,7 @@
       name := PriorityPolicyStringList.Text();
       dlg := construct( DialogChoosePriorityPolicy );
       dlg.CalculatePriorityResult(name);
-      dlg.Close();
+      Form.Close();
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def
index ada73f4..7d29277 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def
@@ -5,39 +5,6 @@
   BaseType: 'listContextMenu'
   Children:
   [
-    Component MenuEdit
-    {
-      #keys: '[414382.0.485622263]'
-      BaseType: 'WebMenu'
-      Properties:
-      [
-        Image: 'GEAR_EDIT'
-        Taborder: 4
-        Title: '缂栬緫'
-      ]
-    }
-    Component MenuNew
-    {
-      #keys: '[414382.0.593001800]'
-      BaseType: 'WebMenu'
-      Properties:
-      [
-        Image: 'GEAR_ADD'
-        Taborder: 3
-        Title: '鏂板'
-      ]
-    }
-    Component MenuDel
-    {
-      #keys: '[414382.0.593001811]'
-      BaseType: 'WebMenu'
-      Properties:
-      [
-        Image: 'GEAR_DELETE'
-        Taborder: 5
-        Title: '鍒犻櫎'
-      ]
-    }
     Component MenuInit
     {
       #keys: '[414382.0.600301960]'
@@ -45,7 +12,7 @@
       Properties:
       [
         Image: 'GEAR_NEW'
-        Taborder: 6
+        Taborder: 3
         Title: '鍒濆鍖�'
       ]
     }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorSelect_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorSelect_OnDataChanged.def
index ef61871..e005ec6 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorSelect_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorSelect_OnDataChanged.def
@@ -9,8 +9,8 @@
   {
     Body:
     [*
-      data := selectset( MacroPlan,PriorityFactor,p,true);
-      this.Data(&data);
+      //data := selectset( MacroPlan,PriorityFactor,p,true);
+      //this.Data(&data);
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def
index 0865d17..267db8a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def
@@ -9,9 +9,8 @@
   {
     Body:
     [*
-      info( "create" + DropDownStringListBusinessType.Text());
-      list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text());
-      DataHolderPriorityFactorSelect.Data(&list);
+      //list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text());
+      //DataHolderPriorityFactorSelect.Data(&list);
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def
index a1d8860..cbab0ed 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def
@@ -9,9 +9,8 @@
   {
     Body:
     [*
-      info( "selection" + DropDownStringListBusinessType.Text());
-      list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text());
-      DataHolderPriorityFactorSelect.Data(&list);
+      //list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text());
+      //DataHolderPriorityFactorSelect.Data(&list);
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEdit_OnClick.def "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick\043144.def"
similarity index 94%
rename from _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEdit_OnClick.def
rename to "_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick\043144.def"
index c054fc1..69b8b43 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuEdit_OnClick.def
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick\043144.def"
@@ -7,7 +7,6 @@
   #keys: '[414382.0.485894605]'
   CanBindMultiple: false
   DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
-  Initiator: 'MenuEdit'
   QuillAction
   {
     Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNew_OnClick.def "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick\043582.def"
similarity index 95%
rename from _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNew_OnClick.def
rename to "_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick\043582.def"
index 2d18cad..4244d64 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNew_OnClick.def
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick\043582.def"
@@ -5,7 +5,6 @@
   #keys: '[414382.0.593002709]'
   CanBindMultiple: false
   DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
-  Initiator: 'MenuNew'
   QuillAction
   {
     Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuDel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick.def
similarity index 94%
rename from _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuDel_OnClick.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick.def
index 8a86cdf..58990a6 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuDel_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_OnClick.def
@@ -7,7 +7,6 @@
   #keys: '[414382.0.593002800]'
   CanBindMultiple: false
   DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick
-  Initiator: 'MenuDel'
   QuillAction
   {
     Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def
index 4e4d0d6..7c5dda8 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def
@@ -12,6 +12,21 @@
       #keys: '[414382.0.453562359]'
       BaseType: 'WebDataHolder'
       Databinding: 'structured[PriorityFactor]*'
+      Children:
+      [
+        Component DataExtractorPriorityFactorSelect
+        {
+          #keys: '[414382.0.608512605]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'MacroPlan'
+            Source: 'MacroPlan'
+            Taborder: 0
+            Transformation: 'PriorityFactor'
+          ]
+        }
+      ]
       Properties:
       [
         Taborder: 1
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def
index 39fe40c..33b6aa3 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Component_listContextMenuPriorityFactorGrading.def
@@ -3,20 +3,6 @@
 {
   #keys: '[414382.0.479530873]'
   BaseType: 'listContextMenu'
-  Children:
-  [
-    Component MenuEdit
-    {
-      #keys: '[414382.0.478491125]'
-      BaseType: 'WebMenu'
-      Properties:
-      [
-        Image: 'GEAR_EDIT'
-        Taborder: 3
-        Title: '缂栬緫'
-      ]
-    }
-  ]
   Properties:
   [
     Taborder: 0
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_OnClick.def
similarity index 94%
rename from _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEdit_OnClick.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_OnClick.def
index b9822f6..c1003b6 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_MenuEdit_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactorGrading/Response_ListPriorityFactorGrading_OnClick.def
@@ -7,7 +7,6 @@
   #keys: '[414382.0.479531766]'
   CanBindMultiple: false
   DefinitionID => /ListPriorityFactorGrading/Responsedef_ListPriorityFactorGrading_WebMenu_OnClick
-  Initiator: 'MenuEdit'
   QuillAction
   {
     Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def
index d645e29..ed5c423 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyCoefficient_902_ButtonCommit_OnClick.def
@@ -5,6 +5,13 @@
   #keys: '[414382.0.506250033]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    // 褰撳墠鏄惁鏈夐�変腑鐨勪紭鍏堢骇绛栫暐
+    feedback := "璇峰厛閫夋嫨涓�鏉′紭鍏堢骇绛栫暐鍚庡啀杩涜缂栬緫鍏紡";
+    check := PanelPriorityPolicyOperationName.Text() = "";
+    return not check;
+  *]
   QuillAction
   {
     Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def
index 383cbb2..466bd70 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonAddPriorityPolicy_OnClick.def
@@ -7,9 +7,18 @@
   DefinitionID: 'Responsedef_WebButton_OnClick'
   Precondition:
   [*
-    feedback := "璇ヤ紭鍏堢骇鍥犲瓙宸茶閫夋嫨."
+    // 褰撳墠鏄惁鏈夐�変腑鐨勪紭鍏堢骇绛栫暐
+    feedback := "璇峰厛閫夋嫨涓�鏉′紭鍏堢骇绛栫暐鍚庡啀杩涜缂栬緫鍏紡";
+    check := PanelPriorityPolicyOperationName.Text() = "";
     
-    return not LabelFormula.Text() ~ DropDownStringList.Text();
+    if( not check)
+    {
+        // 鍒ゆ柇璇ヤ紭鍏堢骇鍥犲瓙鏄惁宸茬粡琚�夋嫨
+        check := LabelFormula.Text() ~ DropDownStringList.Text();
+        feedback := "璇ヤ紭鍏堢骇鍥犲瓙宸茶閫夋嫨."
+    }
+    
+    return not check;
   *]
   QuillAction
   {
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick.def
index 11b1352..ef82cb9 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonDivide_OnClick.def
@@ -5,6 +5,13 @@
   #keys: '[414382.0.500261587]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    // 褰撳墠鏄惁鏈夐�変腑鐨勪紭鍏堢骇绛栫暐
+    feedback := "璇峰厛閫夋嫨涓�鏉′紭鍏堢骇绛栫暐鍚庡啀杩涜缂栬緫鍏紡";
+    check := PanelPriorityPolicyOperationName.Text() = "";
+    return not check;
+  *]
   QuillAction
   {
     Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick.def
index f4eb5c3..ee84b06 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonLeftParenthesis_OnClick.def
@@ -5,6 +5,13 @@
   #keys: '[414382.0.500261667]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    // 褰撳墠鏄惁鏈夐�変腑鐨勪紭鍏堢骇绛栫暐
+    feedback := "璇峰厛閫夋嫨涓�鏉′紭鍏堢骇绛栫暐鍚庡啀杩涜缂栬緫鍏紡";
+    check := PanelPriorityPolicyOperationName.Text() = "";
+    return not check;
+  *]
   QuillAction
   {
     Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick.def
index 2f09779..32f03c0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonMultiply_OnClick.def
@@ -5,6 +5,13 @@
   #keys: '[414382.0.500261507]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    // 褰撳墠鏄惁鏈夐�変腑鐨勪紭鍏堢骇绛栫暐
+    feedback := "璇峰厛閫夋嫨涓�鏉′紭鍏堢骇绛栫暐鍚庡啀杩涜缂栬緫鍏紡";
+    check := PanelPriorityPolicyOperationName.Text() = "";
+    return not check;
+  *]
   QuillAction
   {
     Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick.def
index 292ba04..5cede1f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRightParenthesis_OnClick.def
@@ -5,6 +5,13 @@
   #keys: '[414382.0.500261748]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    // 褰撳墠鏄惁鏈夐�変腑鐨勪紭鍏堢骇绛栫暐
+    feedback := "璇峰厛閫夋嫨涓�鏉′紭鍏堢骇绛栫暐鍚庡啀杩涜缂栬緫鍏紡";
+    check := PanelPriorityPolicyOperationName.Text() = "";
+    return not check;
+  *]
   QuillAction
   {
     Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def
index d7adf1d..d54ce72 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonRollBack_OnClick.def
@@ -5,6 +5,13 @@
   #keys: '[414382.0.506055261]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    // 褰撳墠鏄惁鏈夐�変腑鐨勪紭鍏堢骇绛栫暐
+    feedback := "璇峰厛閫夋嫨涓�鏉′紭鍏堢骇绛栫暐鍚庡啀杩涜缂栬緫鍏紡";
+    check := PanelPriorityPolicyOperationName.Text() = "";
+    return not check;
+  *]
   QuillAction
   {
     Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick.def
index 77d6f0a..e9fd780 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_ButtonSubtract_OnClick.def
@@ -5,6 +5,13 @@
   #keys: '[414382.0.500261427]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    // 褰撳墠鏄惁鏈夐�変腑鐨勪紭鍏堢骇绛栫暐
+    feedback := "璇峰厛閫夋嫨涓�鏉′紭鍏堢骇绛栫暐鍚庡啀杩涜缂栬緫鍏紡";
+    check := PanelPriorityPolicyOperationName.Text() = "";
+    return not check;
+  *]
   QuillAction
   {
     Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick.def
index 926a7be..ab192c7 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PanelPriorityPolicyOperationButton_Buttonplus_OnClick.def
@@ -5,6 +5,13 @@
   #keys: '[414382.0.500261347]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    // 褰撳墠鏄惁鏈夐�変腑鐨勪紭鍏堢骇绛栫暐
+    feedback := "璇峰厛閫夋嫨涓�鏉′紭鍏堢骇绛栫暐鍚庡啀杩涜缂栬緫鍏紡";
+    check := PanelPriorityPolicyOperationName.Text() = "";
+    return not check;
+  *]
   QuillAction
   {
     Body:
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def
index ffc5263..a5937da 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def
@@ -11,6 +11,12 @@
     [*
       list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text());
       DataHolderPriorityPolicyShowList.Data(&list);
+      
+      PanelPriorityPolicyOperationName.Text("");
+      LabelFormula.Text("");
+      LabelCalculateValue.Text("");
+      data := shadow( null( PriorityPolicy ) );
+      DataHolderEditPriorityPolicy.Data( &data );
     *]
     GroupServerCalls: false
   }

--
Gitblit v1.9.3