From 9fad19fbb830f6a4f2e2625916a28919d0600a91 Mon Sep 17 00:00:00 2001
From: yanyuan <yuan.yan@capgemini.com>
Date: 星期日, 08 十月 2023 17:12:05 +0800
Subject: [PATCH] 填充优化

---
 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_PanelFillingCapacityOrder_ButtonDeduct_OnClick.def |   20 ++++++++++
 _Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def                     |    4 +
 _Main/BL/Type_FillingCapacityOrder/Attribute_CurrencyID.qbl                                                                |    7 +++
 _Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderHedgingEx.qbl                                                           |   22 ++++++++++
 _Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Component_pnlContent.def                                  |   41 +++++++++++++++++---
 _Main/BL/Type_FillingCapacityOrder/Attribute_UnitOfMeasure_MPID.qbl                                                        |    7 +++
 6 files changed, 92 insertions(+), 9 deletions(-)

diff --git a/_Main/BL/Type_FillingCapacityOrder/Attribute_CurrencyID.qbl b/_Main/BL/Type_FillingCapacityOrder/Attribute_CurrencyID.qbl
new file mode 100644
index 0000000..5a202bb
--- /dev/null
+++ b/_Main/BL/Type_FillingCapacityOrder/Attribute_CurrencyID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CurrencyID
+{
+  #keys: '3[414502.0.397320037][414502.0.397320036][414502.0.397320038]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_FillingCapacityOrder/Attribute_UnitOfMeasure_MPID.qbl b/_Main/BL/Type_FillingCapacityOrder/Attribute_UnitOfMeasure_MPID.qbl
new file mode 100644
index 0000000..938000c
--- /dev/null
+++ b/_Main/BL/Type_FillingCapacityOrder/Attribute_UnitOfMeasure_MPID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute UnitOfMeasure_MPID
+{
+  #keys: '3[414502.0.397254634][414502.0.397254633][414502.0.397254635]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderHedgingEx.qbl b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderHedgingEx.qbl
index dd62492..4379bdc 100644
--- a/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderHedgingEx.qbl
+++ b/_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderHedgingEx.qbl
@@ -98,7 +98,27 @@
                       AOrders.Quantity(AOrders.Quantity()+AQty);
                     }
                     // 鏂板鎺堟潈璁㈠崟
-                    error( "----------------璇峰疄鐜版柊澧炴巿鏉冭鍗曞姛鑳戒唬鐮�---------------------");
+                    // error( "----------------璇峰疄鐜版柊澧炴巿鏉冭鍗曞姛鑳戒唬鐮�---------------------");
+                    customOrder := CustomerOrder::Create( select( Owner, Product_MP, tmepPMP, tmepPMP.ID() = Obj.ProductID() ),
+                                                          select( Owner, StockingPoint_MP, tempSPMP, tempSPMP.ID() = Obj.StockingPointID() ),
+                                                          OS::GenerateGUIDAsString(),
+                                                          Obj.OrderDate(),
+                                                          AQty,
+                                                          0.0,
+                                                          "Normal",
+                                                          Obj.SalesSegmentName(),
+                                                          Obj.CurrencyID(),
+                                                          Obj.UnitOfMeasureName(),
+                                                          false,
+                                                          Obj.Customer(),
+                                                          Obj.CustomerID(),
+                                                          "",
+                                                          "",
+                                                          true,
+                                                          true,
+                                                          false
+                                                         );
+                    customOrder.OrderTag( "鎺堟潈" );
                     // 璁㈠崟蹇呰淇℃伅濡備笅锛�
                     // OrderTag = "鎺堟潈"
                     // Quantity = AQty
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Component_pnlContent.def
index 911ba95..f2ee867 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Component_pnlContent.def
@@ -70,7 +70,7 @@
         DataBinding: 'DataHolderFillingCapacityOrder.Data.Quantity'
         Label: '鏁伴噺'
         Mask: 'REAL'
-        Taborder: 12
+        Taborder: 13
       ]
     }
     Component dropDownStringListUnitOfMeasureName id:dropDownStringListUnitOfMeasureName_750
@@ -97,7 +97,7 @@
         DataBinding: 'DataHolderFillingCapacityOrder.Data.SalesAmount'
         Label: '閿�鍞'
         Mask: 'NUMBER'
-        Taborder: 13
+        Taborder: 14
       ]
     }
     Component dsDemandDate
@@ -108,7 +108,7 @@
       [
         DataBinding: 'DataHolderFillingCapacityOrder.Data.DemandDate'
         Label: '闇�姹傛棩鏈�'
-        Taborder: 15
+        Taborder: 16
       ]
     }
     Component dsForecastDemandDate
@@ -119,7 +119,7 @@
       [
         DataBinding: 'DataHolderFillingCapacityOrder.Data.ForecastDemandDate'
         Label: '棰勬湡闇�姹傛棩鏈�'
-        Taborder: 14
+        Taborder: 15
       ]
     }
     Component ddlSalesSegment
@@ -268,7 +268,7 @@
       [
         DataBinding: 'DataHolderFillingCapacityOrder.Data.Customer'
         Label: 'Customer name'
-        Taborder: 10
+        Taborder: 11
       ]
     }
     Component efCustomID
@@ -278,7 +278,7 @@
       Properties:
       [
         Label: 'Customer ID'
-        Taborder: 11
+        Taborder: 12
       ]
     }
     Component ddslOrderType
@@ -290,7 +290,34 @@
         DataBinding: 'DataHolderFillingCapacityOrder.Data.OrderType'
         Label: '璁㈠崟绫诲瀷'
         Strings: '鍙嶇;鎺堟潈'
-        Taborder: 16
+        Taborder: 17
+      ]
+    }
+    Component ddlCurrency_MP
+    {
+      #keys: '[414502.0.395021898]'
+      BaseType: 'WebDropDownList'
+      Databinding: 'Currency_MP'
+      Children:
+      [
+        Component deContent593
+        {
+          #keys: '[414502.0.395021900]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'MacroPlan'
+            Source: 'MacroPlan'
+            Taborder: 0
+            Transformation: 'Currency_MP'
+          ]
+        }
+      ]
+      Properties:
+      [
+        DisplayField: 'Name'
+        Label: '璐у竵'
+        Taborder: 10
       ]
     }
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def
index 184dfb0..bf61706 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogFillingCapacityOrder/Response_pnlActions_btnOk_OnClick.def
@@ -35,7 +35,8 @@
                                         ForecastDemandDate := dsForecastDemandDate.Date(),
                                         DemandDate         := dsDemandDate.Date(),
                                         OrderType          := ddslOrderType.Text(),
-                                        SalesAmount        := [Number]edtSalesAmount.Text()
+                                        SalesAmount        := [Number]edtSalesAmount.Text(),
+                                        CurrencyID         := ddlCurrency_MP.Data().ID()
                                        );
       } else {
         data.ProductID( guard( ddlProduct_MP.Data().ID(), "null" ) );
@@ -49,6 +50,7 @@
         data.DemandDate( dsDemandDate.Date() );
         data.OrderType( ddslOrderType.Text() );
         data.SalesAmount( [Number]edtSalesAmount.Text() );
+        data.CurrencyID( ddlCurrency_MP.Data().ID() );
       }
       
       Form.Close();
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_PanelFillingCapacityOrder_ButtonDeduct_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_PanelFillingCapacityOrder_ButtonDeduct_OnClick.def
new file mode 100644
index 0000000..1ea13f8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityOrder/Response_PanelFillingCapacityOrder_ButtonDeduct_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: PanelFillingCapacityOrder/ButtonDeduct
+Response OnClick () id:Response_PanelFillingCapacityOrder_ButtonDeduct_OnClick
+{
+  #keys: '[414502.0.395021805]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      H_FunctionClass::SM_OrderHedgingEx( MacroPlan, ApplicationMacroPlanner.GetUserName() );
+    *]
+    GroupServerCalls: false
+  }
+}

--
Gitblit v1.9.3