From c76375269c3e221d4a02db906abd86bc0ec13bf2 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期五, 25 十月 2024 16:57:10 +0800
Subject: [PATCH] 库存更新detail可改quantity

---
 _Main/BL/Type_InventoryPointSelection/Function_CalcQuantity.qbl                                                                               |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Response_ListInventoryInterfaceDataDetail_MenuEditQuantity_OnClick.def |   25 +++++
 _Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Method_OnOK.def                                                              |   16 +++
 _Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def                                   |    2 
 _Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Component_pnlContent.def                                                     |   26 +++++
 _Main/BL/Type_InventoryInterfaceDataDetail/_ROOT_Type_InventoryInterfaceDataDetail.qbl                                                        |    4 
 _Main/BL/Type_InventoryPointSelection/Attribute_Fac.qbl                                                                                       |    7 +
 _Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Method_EditQuantity.def                                                      |   17 +++
 _Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Component_ListInventoryInterfaceDataDetail.def                         |   18 +++
 _Main/UI/MacroPlannerWebApp/Views/InvnetoryUpdate.vw                                                                                          |   12 +-
 _Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Component_pnlActions.def                                                     |   40 ++++++++
 _Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Response_pnlActions_btnCancel_OnClick.def                                    |   15 +++
 _Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Response_pnlActions_btnOk_OnClick.def                                        |   15 +++
 _Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/_ROOT_Component_DialogInventoryPointDetail.def                               |   32 ++++++
 _Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Component_listContextMenuInventoryInterfaceDataDetail.def              |   13 ++
 15 files changed, 234 insertions(+), 10 deletions(-)

diff --git a/_Main/BL/Type_InventoryInterfaceDataDetail/_ROOT_Type_InventoryInterfaceDataDetail.qbl b/_Main/BL/Type_InventoryInterfaceDataDetail/_ROOT_Type_InventoryInterfaceDataDetail.qbl
index 3af4ef4..14b07c2 100644
--- a/_Main/BL/Type_InventoryInterfaceDataDetail/_ROOT_Type_InventoryInterfaceDataDetail.qbl
+++ b/_Main/BL/Type_InventoryInterfaceDataDetail/_ROOT_Type_InventoryInterfaceDataDetail.qbl
@@ -7,10 +7,10 @@
   BaseType: Object
   OnCreate:
   [*
-    ips := select( this, InventoryInterfaceData.InterfaceDataset.InventoryPointSelection, tempIPS, tempIPS.ProductID() = this.PartNumber() and tempIPS.InventoryPoint() = this.InventoryPoint() );
+    ips := select( this, InventoryInterfaceData.InterfaceDataset.InventoryPointSelection, tempIPS, tempIPS.ProductID() = this.PartNumber() and tempIPS.InventoryPoint() = this.InventoryPoint() and this.Fac() = tempIPS.Fac() );
     
     if ( isnull( ips ) ) {
-      ips := this.InventoryInterfaceData().InterfaceDataset().InventoryPointSelection( relnew, ProductID := this.PartNumber(), InventoryPoint := this.InventoryPoint() );
+      ips := this.InventoryInterfaceData().InterfaceDataset().InventoryPointSelection( relnew, ProductID := this.PartNumber(), InventoryPoint := this.InventoryPoint(), Fac := this.Fac() );
     }
     
     this.InventoryPointSelection( relset, ips );
diff --git a/_Main/BL/Type_InventoryPointSelection/Attribute_Fac.qbl b/_Main/BL/Type_InventoryPointSelection/Attribute_Fac.qbl
new file mode 100644
index 0000000..bbe50bb
--- /dev/null
+++ b/_Main/BL/Type_InventoryPointSelection/Attribute_Fac.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Fac
+{
+  #keys: '3[415136.0.1245540896][415136.0.1245540895][415136.0.1245540897]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_InventoryPointSelection/Function_CalcQuantity.qbl b/_Main/BL/Type_InventoryPointSelection/Function_CalcQuantity.qbl
index ea6b2c1..7ffddcb 100644
--- a/_Main/BL/Type_InventoryPointSelection/Function_CalcQuantity.qbl
+++ b/_Main/BL/Type_InventoryPointSelection/Function_CalcQuantity.qbl
@@ -8,7 +8,7 @@
     
     value := 0.0;
     if( this.IsIncluded() ){
-      value := sum( this, InventoryInterfaceDataDetail, detail, detail.Quantity() );
+      value := sum( this, InventoryInterfaceDataDetail, detail, detail.Fac() = this.Fac() and detail.InventoryPoint() = this.InventoryPoint(), detail.Quantity() );
     }
     
     this.Quantity( value );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Component_pnlActions.def
new file mode 100644
index 0000000..352f4fa
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+  #keys: '[415136.0.1245102214]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component btnOk
+    {
+      #keys: '[415136.0.1245102218]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'OK'
+        Taborder: 0
+      ]
+    }
+    Component btnCancel
+    {
+      #keys: '[415136.0.1245102220]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Cancel'
+        Taborder: 1
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    Border: true
+    ExcludeFromActiveComponent: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Padding: 'true'
+    Style: 'footer'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Component_pnlContent.def
new file mode 100644
index 0000000..b500344
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Component_pnlContent.def
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+  #keys: '[415136.0.1245102212]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component efQuantity
+    {
+      #keys: '[415136.0.1247200387]'
+      BaseType: 'WebEditField'
+      Properties:
+      [
+        DataBinding: 'dhInventoryPointDetail.Data.Quantity'
+        Label: 'Quantity'
+        Mask: 'REAL'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Padding: 'true'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Method_EditQuantity.def b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Method_EditQuantity.def
new file mode 100644
index 0000000..10cee84
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Method_EditQuantity.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method EditQuantity (
+  InventoryInterfaceDataDetail selection
+) id:Method_DialogInventoryPointDetail_EditQuantity
+{
+  #keys: '[415136.0.1247200534]'
+  Body:
+  [*
+    data          := shadow( selection );
+    
+    dhInventoryPointDetail.Data( &data );
+    
+    
+    ApplicationMacroPlanner.ShowFormModal( this );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Method_OnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Method_OnOK.def
new file mode 100644
index 0000000..1b1ab2f
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Method_OnOK.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnOK () id:Method_DialogInventoryPointDetail_OnOK
+{
+  #keys: '[415136.0.1247200558]'
+  Body:
+  [*
+    this.ApplyChanges();
+    
+    data     := dhInventoryPointDetail.Data();
+    
+    data.Commit();
+    
+    this.Close();
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..e87cb13
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+  #keys: '[415136.0.1245102224]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..8a3f6e2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+  #keys: '[415136.0.1245102223]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.OnOK();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/_ROOT_Component_DialogInventoryPointDetail.def b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/_ROOT_Component_DialogInventoryPointDetail.def
new file mode 100644
index 0000000..88f64b9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogInventoryPointDetail/_ROOT_Component_DialogInventoryPointDetail.def
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogInventoryPointDetail
+{
+  #keys: '[415136.0.1245102210]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pnlContent
+    #child: pnlActions
+    Component dhInventoryPointDetail
+    {
+      #keys: '[415136.0.1247200437]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'shadow[InventoryInterfaceDataDetail]*'
+      Properties:
+      [
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    EnterButton: 'btnOk'
+    EscapeButton: 'btnCancel'
+    ExcludeFromActiveComponent: true
+    Padding: 'false'
+    Title: 'Inventory Point detail'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Component_ListInventoryInterfaceDataDetail.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Component_ListInventoryInterfaceDataDetail.def
index a0e6b6b..8423d6e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Component_ListInventoryInterfaceDataDetail.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Component_ListInventoryInterfaceDataDetail.def
@@ -39,4 +39,22 @@
   [
     Taborder: 0
   ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_ListInventoryInterfaceDataDetail_WebMenu_OnClick
+    {
+      #keys: '[415136.0.1248380180]'
+      Initiator: 'WebMenu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[1847.0.10867430]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Component_listContextMenuInventoryInterfaceDataDetail.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Component_listContextMenuInventoryInterfaceDataDetail.def
index 9f862bd..8a792ab 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Component_listContextMenuInventoryInterfaceDataDetail.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Component_listContextMenuInventoryInterfaceDataDetail.def
@@ -3,6 +3,19 @@
 {
   #keys: '[413988.0.1227911961]'
   BaseType: 'listContextMenu'
+  Children:
+  [
+    Component MenuEditQuantity
+    {
+      #keys: '[415136.0.1248380086]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Taborder: 3
+        Title: 'Edit quantity'
+      ]
+    }
+  ]
   Properties:
   [
     Taborder: 0
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Response_ListInventoryInterfaceDataDetail_MenuEditQuantity_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Response_ListInventoryInterfaceDataDetail_MenuEditQuantity_OnClick.def
new file mode 100644
index 0000000..c957295
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryInterfaceDataDetail/Response_ListInventoryInterfaceDataDetail_MenuEditQuantity_OnClick.def
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: ListInventoryInterfaceDataDetail
+Response OnClick (
+  InventoryInterfaceDataDetail selection
+) id:Response_ListInventoryInterfaceDataDetail_MenuEditQuantity_OnClick
+{
+  #keys: '[415136.0.1248380197]'
+  CanBindMultiple: false
+  DefinitionID => /ListInventoryInterfaceDataDetail/Responsedef_ListInventoryInterfaceDataDetail_WebMenu_OnClick
+  Initiator: 'MenuEditQuantity'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      dlg := construct( DialogInventoryPointDetail );
+      
+      dlg.EditQuantity( selection );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def
index 34d1f04..0c7ac6a 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInventoryPointSelection/Component_ListInventoryPointSelection.def
@@ -29,7 +29,7 @@
       ]
       Properties:
       [
-        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsIncluded","title":"ImgIsIncluded","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsIncluded"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"InventoryPoint","title":"InventoryPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"InventoryPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockpoingPoint","title":"StockpoingPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockpoingPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}}]'
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsIncluded","title":"ImgIsIncluded","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsIncluded"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"InventoryPoint","title":"InventoryPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"InventoryPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockpoingPoint","title":"StockpoingPoint","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StockpoingPoint"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Fac","title":"Fac","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Fac"}}]'
         ContextMenu: 'listContextMenuInventoryPointSelection'
         Taborder: 2
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Views/InvnetoryUpdate.vw b/_Main/UI/MacroPlannerWebApp/Views/InvnetoryUpdate.vw
index c6dde50..31cd226 100644
--- a/_Main/UI/MacroPlannerWebApp/Views/InvnetoryUpdate.vw
+++ b/_Main/UI/MacroPlannerWebApp/Views/InvnetoryUpdate.vw
@@ -146,7 +146,7 @@
           FormInventoryPointSelection_DataSetLevelInventoryPointSelection
           {
             groupDepth: -1
-            sort: 'InventoryPoint'
+            sort: 'DESC:Fac'
             column_ImgIsIncluded
             {
               columnId: 'ImgIsIncluded'
@@ -183,14 +183,14 @@
               subtotals: ''
               width: 150
             }
-            column_Quantity
+            column_Fac
             {
-              columnId: 'Quantity'
-              dataPath: 'Quantity'
-              dataType: 'real'
+              columnId: 'Fac'
+              dataPath: 'Fac'
+              dataType: 'string'
               index: 4
               subtotals: ''
-              width: 150
+              width: 89
             }
           }
         }

--
Gitblit v1.9.3