From 36246de5a7290b28f93e4adf81c93778e7207416 Mon Sep 17 00:00:00 2001
From: xiaoding721 <33130084+xiaoding721@users.noreply.github.com>
Date: 星期三, 27 十一月 2024 17:17:24 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev

---
 _Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Component_pnlContent.def                                                  |   24 +++
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Component_ListInterfaceShippingData.def                                  |   18 ++
 _Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl                                                                   |    6 
 _Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Method_OnOK.def                                                           |   28 ++++
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Component_listContextMenuInterfaceShippingData.def                       |   14 ++
 _Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl                                                                         |   35 +++++
 _Main/BL/Type_InterfaceDataset/StaticMethod_PushPlanInventoryData.qbl                                                                    |    2 
 _Main/BL/Type_AssemblyOnlinePlanVersion/Method_GetRow.qbl                                                                                |    2 
 _Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_Publish.qbl                                                                        |   35 +++++
 _Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Response_pnlActions_btnOk_OnClick.def                                     |   16 ++
 _Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Response_pnlActions_btnCancel_OnClick.def                                 |   15 ++
 _Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/_ROOT_Component_DialogShippingActualData.def                              |   33 ++++
 _Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Component_pnlActions.def                                                  |   40 +++++
 _Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable#384.def                                  |    3 
 _Main/BL/Type_AssemblyOnlinePlanCell0/Attribute_OrderNr.qbl                                                                              |    8 +
 _Main/BL/Type_ShippingActualData/Method_SyncTable.qbl                                                                                    |   14 ++
 _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def                                                                    |    6 
 _Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GetWerk.qbl                                                                         |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Response_ListInterfaceShippingData_MenuInterfaceShippingData_OnClick.def |   20 ++
 _Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl                                                                   |    3 
 _Main/BL/Type_AssemblyOnlinePlanPush/StaticMethod_GenerateData.qbl                                                                       |    2 
 _Main/BL/Type_OfflinePlanArchiveVersion/Method_GetRow.qbl                                                                                |    2 
 _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def                                                                   |   10 
 _Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Method_Edit.def                                                           |   17 ++
 _Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl                                                                    |    2 
 _Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_RefreshData.qbl                                                                     |   13 +
 26 files changed, 350 insertions(+), 22 deletions(-)

diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl
index e1a117f..c17c3d5 100644
--- a/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl
+++ b/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_GenerateData.qbl
@@ -49,6 +49,7 @@
       
     }
     loginfo.TotalRow( ms64.MS64Data( relsize ) );
-    InterfaceLoginfo::CallInterfaceForSAPGet( owner, loginfo );
+    AOnlineAndMOfflinePlanMS64::Publish( owner, loginfo );
+    //InterfaceLoginfo::CallInterfaceForSAPGet( owner, loginfo );
   *]
 }
diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_Publish.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_Publish.qbl
new file mode 100644
index 0000000..a7d5ca8
--- /dev/null
+++ b/_Main/BL/Type_AOnlineAndMOfflinePlanMS64/StaticMethod_Publish.qbl
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Publish (
+  InterfaceDataset owner,
+  InterfaceLoginfo loginfo
+)
+{
+  TextBody:
+  [*
+    // 鐢勫叞楦� Nov-27-2024 (created)
+    jsondata           := JSON::Object();
+    
+    traverse( loginfo, AOnlineAndMOfflinePlanMS64, pir ){
+      jsonarray        := JSON::Array();//.Add( "dto", JSON::Object().Add( "dday", date.Format( "Y-M2-D2" ) ).Add( "fac", "" ) ).Build();
+      traverse( pir, MS64Data, pirdata ){
+        pirjson        := JSON::Object().Add( "product", pirdata.Product() )
+                                        .Add( "factory", pirdata.Werk() ).Build();/*"2024-10-01 12:00:00" )*/
+        jsonarray.Add( pirjson );
+      }
+      jsondata.Add( 'ZPPPSCode', pir.ZPPPSCode() )
+      .Add( 'BERID', '' ).Add( 'BEDAE', '' )
+      .Add( 'DATEV', pir.StartDate().Format( 'YM2D2' ) )
+      .Add( 'DATEB', pir.EndDate().Format( 'YM2D2' ) )
+      .Add( 'VERSBF', pir.VersionFrom() )
+      .Add( 'VERSBT', pir.VersionTo() )
+      .Add( 'VERVS', ifexpr( pir.IsActive(), "X", "" ) )
+      .Add( 'dataList', jsonarray );
+    }
+    
+    loginfo.RequestBody( jsondata.Build().AsString() );
+    info( loginfo.RequestBody() );
+    data              := InterfaceLoginfo::CallInterfaceForSAPGet( owner, loginfo );
+    info( '----------------', data.Size() );
+  *]
+}
diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
index e6fab67..028aa86 100644
--- a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
+++ b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
@@ -80,6 +80,6 @@
       }
     }
     loginfo.TotalRow( pir.PIRData( relsize ) );
-    InterfaceLoginfo::CallInterfaceForSAPGet( owner, loginfo );
+    AOnlineAndMOfflinePlanPIR::Publish( owner, loginfo );
   *]
 }
diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GetWerk.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GetWerk.qbl
index 340b845..d8b12e8 100644
--- a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GetWerk.qbl
+++ b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GetWerk.qbl
@@ -9,9 +9,9 @@
     // 鐢勫叞楦� Oct-30-2024 (created)
     value      := '8201;8200';
     if( werk = FinancialProductionReport::GetDefaultCCUnit() ){
-      value    := '8200';
-    }else if( werk = FinancialProductionReport::GetDefaultDLUnit() ){
       value    := '8201';
+    }else if( werk = FinancialProductionReport::GetDefaultDLUnit() ){
+      value    := '8200';
     }
     return value;
   *]
diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl
new file mode 100644
index 0000000..652cc37
--- /dev/null
+++ b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_Publish.qbl
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod Publish (
+  InterfaceDataset owner,
+  InterfaceLoginfo loginfo
+)
+{
+  TextBody:
+  [*
+    // 鐢勫叞楦� Nov-27-2024 (created)
+    jsondata           := JSON::Object();
+    
+    traverse( loginfo, AOnlineAndMOfflinePlanPIR, pir ){
+      jsonarray        := JSON::Array();//.Add( "dto", JSON::Object().Add( "dday", date.Format( "Y-M2-D2" ) ).Add( "fac", "" ) ).Build();
+      traverse( pir, PIRData, pirdata ){
+        pirjson        := JSON::Object().Add( "product", pirdata.Product() )
+                                        .Add( "planningDate", pirdata.PlanningDate().Format( 'YM2D2' ) )//"2024-10-01" )
+                                        .Add( "planningQty", pirdata.PlanningQty() )
+                                        .Add( "factory", pirdata.Werk() ).Build();/*"2024-10-01 12:00:00" )*/
+        jsonarray.Add( pirjson );
+      }
+      jsondata.Add( 'ZPPPSCode', pir.ZPPPSCode() )
+      .Add( 'werk', pir.Werk() )
+      .Add( 'VERSB', pir.Version() )
+      .Add( 'startDate', pir.StartDate().Format( 'YM2D2' ) )
+      .Add( 'endDate', pir.EndDate().Format( 'YM2D2' ) )
+      .Add( 'dataList', jsonarray );
+    }
+    
+    loginfo.RequestBody( jsondata.Build().AsString() );
+    info( loginfo.RequestBody() );
+    data              := InterfaceLoginfo::CallInterfaceForSAPGet( owner, loginfo );
+    info( '----------------', data.Size() );
+  *]
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanCell0/Attribute_OrderNr.qbl b/_Main/BL/Type_AssemblyOnlinePlanCell0/Attribute_OrderNr.qbl
new file mode 100644
index 0000000..afc640a
--- /dev/null
+++ b/_Main/BL/Type_AssemblyOnlinePlanCell0/Attribute_OrderNr.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OrderNr
+{
+  #keys: '3[415136.0.1339530029][415136.0.1339530028][415136.0.1339530030]'
+  Description: '鐢熶骇椤哄簭锛圢umber锛�'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_AssemblyOnlinePlanPush/StaticMethod_GenerateData.qbl b/_Main/BL/Type_AssemblyOnlinePlanPush/StaticMethod_GenerateData.qbl
index d087705..ec10637 100644
--- a/_Main/BL/Type_AssemblyOnlinePlanPush/StaticMethod_GenerateData.qbl
+++ b/_Main/BL/Type_AssemblyOnlinePlanPush/StaticMethod_GenerateData.qbl
@@ -33,7 +33,7 @@
         traverse( column, Cell, cell ){
           row              := cell.Row();
           if( ( iscc and row.Unit() = FinancialProductionReport::GetDefaultCCUnit() ) or ( isdl and row.Unit() = FinancialProductionReport::GetDefaultDLUnit() ) ){
-            cd               :=interfaceDataset.AssemblyOnlinePlanPPPSPush( relnew, Product            := row.ProductID()
+            cd               :=interfaceDataset.AssemblyOnlinePlanPPPSPush( relnew, Product            := row.Name()
                                                                              , PlanningDate            := column.StartDate()
                                                                              , PlanningQty             := [Number]cell.Quantity()
                                                                              , Sequence                := cell.Order()
diff --git a/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GetRow.qbl b/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GetRow.qbl
index 78a0530..49dce27 100644
--- a/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GetRow.qbl
+++ b/_Main/BL/Type_AssemblyOnlinePlanVersion/Method_GetRow.qbl
@@ -7,7 +7,7 @@
   TextBody:
   [*
     // 鐢勫叞楦� Oct-11-2024 (created)
-    row       := selectobject( this, Row, row, row.ProductID() = aoprow.ProductID() and row.ProductionLine() = aoprow.ProductionLine() and row.Type() = aoprow.Type() );
+    row       := selectobject( this, Row, row, row.Name() = aoprow.ProductID() and row.ProductionLine() = aoprow.ProductionLine() and row.Type() = aoprow.Type() );
     
     if( isnull( row ) ){
       product := selectobject( aoprow.MacroPlan(), Product_MP, product, product.ID() = aoprow.ProductID() );
diff --git a/_Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_RefreshData.qbl b/_Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_RefreshData.qbl
index fcc429a..b779133 100644
--- a/_Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_RefreshData.qbl
+++ b/_Main/BL/Type_AssemblyOnlinePlanVersion/StaticMethod_RefreshData.qbl
@@ -26,16 +26,21 @@
     }
     traverse( macroPlan, NewAssemblyOnlinePlanRow, aoprow, aoprow.Type() = '1' ){
       row                  := table.GetRow( aoprow );
-      traverse( table, Column, column, exists( aopcolumns, Elements, e, e = column.StartDate() ) ){//, aopcolumns.Find( column.StartDate() ) > -1
-        qty                := sum( aoprow, NewAssemblyOnlinePlanCell, aopcell, column.StartDate() <= aopcell.NewAssemblyOnlinePlanColumn().StartDate()
-                                         and column.EndDate() >= aopcell.NewAssemblyOnlinePlanColumn().StartDate(), aopcell.Quantity() );
+      traverse( aoprow, NewAssemblyOnlinePlanCell, aopcell ){
+        column             := selectobject( table, Column, column, column.StartDate() = aopcell.NewAssemblyOnlinePlanColumn().StartDate() );
+        
+    //  traverse( table, Column, column, exists( aopcolumns, Elements, e, e = column.StartDate() ) ){//, aopcolumns.Find( column.StartDate() ) > -1
+    //    qty                := se( aoprow, NewAssemblyOnlinePlanCell, aopcell, column.StartDate() <= aopcell.NewAssemblyOnlinePlanColumn().StartDate()
+    //                                     and column.EndDate() >= aopcell.NewAssemblyOnlinePlanColumn().StartDate(), aopcell.Quantity() );
         
         cell               := selectobject( row, Cell, cell, cell.Column() = column );
         if( isnull( cell ) ){
           cell             := column.Cell( relnew, InventoryWeight := 0, ProductionSerialNumber := 0, Quantity := 0, Shift := '', Value := '' );
           row.Cell( relinsert, cell );
         }
-        cell.Quantity( qty );
+        cell.Order( aopcell.Order() );
+        cell.OrderNr( aopcell.OrderNr() );
+        cell.Quantity( aopcell.Quantity() );
       }
     }
     //productids             := selectuniquevalues( table, Row, row, row.Name() );
diff --git a/_Main/BL/Type_InterfaceDataset/StaticMethod_PushPlanInventoryData.qbl b/_Main/BL/Type_InterfaceDataset/StaticMethod_PushPlanInventoryData.qbl
index 86b3f3d..604f0e4 100644
--- a/_Main/BL/Type_InterfaceDataset/StaticMethod_PushPlanInventoryData.qbl
+++ b/_Main/BL/Type_InterfaceDataset/StaticMethod_PushPlanInventoryData.qbl
@@ -21,7 +21,7 @@
         cell := select( r, Cell, tempC, tempC.Column() = c );
         
         if ( not isnull( cell ) ) {
-          idsjson := JSON::Object().Add( "product", r.ProductID() )       
+          idsjson := JSON::Object().Add( "product", r.Name() )       
                                    .Add( "inventoryDate", c.StartDate().Format( 'Y-M2-D2' ) )
                                    .Add( "planningInventory", cell.PlanQuantity() )
                                    .Add( "versionName", macroPlan.ScenarioName() )
diff --git a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl
index 284443c..abf4b39 100644
--- a/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl
+++ b/_Main/BL/Type_InterfaceLoginfo/StaticMethod_CallInterfaceForSAPGet.qbl
@@ -10,8 +10,8 @@
   [*
     // 鐢勫叞楦� Jul-22-2024 (created)
     address           := Translations::InterfaceDataset_SAP_Address(); 
-    httpinterface     := HTTPInterface::Create( address,8080);
-    httpinterface.PostMethod( false ); 
+    httpinterface     := HTTPInterface::Create( address,80);
+    httpinterface.PostMethod( true ); ; 
     httpinterface.MediaType( Translations::InterfaceDataset_ContentType() );
     try{
       if( loginfo.Name() = Translations::InterfaceDataset_AOnlineAndMOfflinePlanPIR_Name() ){//瑁呴厤涓婄嚎璁″垝PIR
@@ -20,7 +20,7 @@
       if( loginfo.Name() = Translations::InterfaceDataset_AOnlineAndMOfflinePlanMS64_Name() ){//瑁呴厤涓婄嚎璁″垝MS64
         httpinterface.URL( Translations::InterfaceDataset_AOnlineAndMOfflinePlanMS64_URL() );
       } 
-      httpinterface.Call();
+      httpinterface.Call( loginfo.RequestBody() );
       result         := httpinterface.Result();
       loginfo.Response( result );
       loginfo.Success( true );
diff --git a/_Main/BL/Type_OfflinePlanArchiveVersion/Method_GetRow.qbl b/_Main/BL/Type_OfflinePlanArchiveVersion/Method_GetRow.qbl
index 18d0349..4d0f7c9 100644
--- a/_Main/BL/Type_OfflinePlanArchiveVersion/Method_GetRow.qbl
+++ b/_Main/BL/Type_OfflinePlanArchiveVersion/Method_GetRow.qbl
@@ -7,7 +7,7 @@
   TextBody:
   [*
     // 鐢勫叞楦� Oct-11-2024 (created)
-    row       := selectobject( this, Row, row, row.ProductID() = noprow.ProductID() and row.ProductionLine() = noprow.ProductionLine() and row.Type() = noprow.Type() and row.StockingPointID() = noprow.StockingPointID() );
+    row       := selectobject( this, Row, row, row.Name() = noprow.ProductID() and row.ProductionLine() = noprow.ProductionLine() and row.Type() = noprow.Type() and row.StockingPointID() = noprow.StockingPointID() );
     
     if( isnull( row ) ){
       product := selectobject( noprow.NewOfflinePlanTable().MacroPlan(), Product_MP, product, product.ID() = noprow.ProductID() );
diff --git a/_Main/BL/Type_ShippingActualData/Method_SyncTable.qbl b/_Main/BL/Type_ShippingActualData/Method_SyncTable.qbl
new file mode 100644
index 0000000..9bd5dbd
--- /dev/null
+++ b/_Main/BL/Type_ShippingActualData/Method_SyncTable.qbl
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+Method SyncTable (
+  InterfaceDataset owner
+)
+{
+  TextBody:
+  [*
+    // 鐢勫叞楦� Nov-27-2024 (created)
+    column                := selectobject( owner, ShippingActualColumn, column, column.StartDate() = this.DDay() );
+    cell                  := selectobject( column, ShippingActualCell, cell, cell.ShippingActualRow().Name() = this.FourCode() );
+    cell.Quantity( this.Quantity() );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Component_pnlActions.def
new file mode 100644
index 0000000..9e5ddd9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+  #keys: '[415136.0.1345221297]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component btnOk
+    {
+      #keys: '[415136.0.1345221301]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'OK'
+        Taborder: 0
+      ]
+    }
+    Component btnCancel
+    {
+      #keys: '[415136.0.1345221303]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Cancel'
+        Taborder: 1
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    Border: true
+    ExcludeFromActiveComponent: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Padding: 'true'
+    Style: 'footer'
+    Taborder: 2
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Component_pnlContent.def
new file mode 100644
index 0000000..a6b3254
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Component_pnlContent.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+  #keys: '[415136.0.1345221295]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component efContent
+    {
+      #keys: '[415136.0.1345221341]'
+      BaseType: 'WebEditField'
+      Properties:
+      [
+        Mask: 'REAL'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Padding: 'true'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Method_Edit.def
new file mode 100644
index 0000000..7046e73
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Method_Edit.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method Edit (
+  ShippingActualData selection
+) id:Method_DialogShippingActualData_Edit
+{
+  #keys: '[415136.0.1345221575]'
+  Body:
+  [*
+    // Edit Product(s)
+    
+    data := shadow( selection );
+    dhDialogData.Data( &data );
+    
+    ApplicationMacroPlanner.ShowFormModal( this );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Method_OnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Method_OnOK.def
new file mode 100644
index 0000000..ea4081b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Method_OnOK.def
@@ -0,0 +1,28 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnOK () id:Method_DialogShippingActualData_OnOK
+{
+  #keys: '[415136.0.1345221579]'
+  Body:
+  [*
+    // onOK for ProductDialog
+    // When the user clicks ok,
+    // we either create or edit the data
+    this.ApplyChanges();
+    
+    data := dhDialogData.Data();
+    
+    //if( isnull( data.WrappedInstance() ) ) // New
+    //{
+    //  data.Commit();
+    //  dhForm.Data().ListChangeLossSetting().SelectByKey( data.WrappedInstance().Key() );
+    //}
+    //else
+    //{
+      data.Commit();
+    data.WrappedInstance().SyncTable( InterfaceDataset );
+    //}
+    
+    this.Close();
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..dea0e14
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/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.1345221307]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..05d32be
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+  #keys: '[415136.0.1345221306]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.ApplyChanges();
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/_ROOT_Component_DialogShippingActualData.def b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/_ROOT_Component_DialogShippingActualData.def
new file mode 100644
index 0000000..404ad71
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogShippingActualData/_ROOT_Component_DialogShippingActualData.def
@@ -0,0 +1,33 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogShippingActualData
+{
+  #keys: '[415136.0.1345221293]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pnlContent
+    #child: pnlActions
+    Component dhDialogData
+    {
+      #keys: '[415136.0.1345221434]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'shadow[ShippingActualData]*'
+      Properties:
+      [
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    EnterButton: 'btnOk'
+    EscapeButton: 'btnCancel'
+    ExcludeFromActiveComponent: true
+    Image: 'SHIPS_WHEEL'
+    Padding: 'false'
+    Title: 'Shipping actual data'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def
index 46c7a34..048ad37 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSMS64/Method_OnOk.def
@@ -15,10 +15,12 @@
     //handleT         := mdsinstanceT.GetMDSHandle()
     //macroplanT      := handleT.AsMacroPlan();
     
-    currentuser     := QuintiqUser::CurrentUser().DisplayName();
-    
-    AOnlineAndMOfflinePlanMS64::GenerateData( InterfaceDataset, ddslFactory.Text(), dsStartDate.Date(), dsEndDate.Date(), efVersionFrom.Text(), efVersionTo.Text(), cbActiveVersion.Checked(), dhProducts.Data(), currentuser );
-    WebMessageBox::Success( "鎺ㄩ�佹垚鍔燂紒" );
+    if( WebMessageBox::Question( this, '鏄惁纭鎺ㄩ��', 'OK|Cancel' ) = 0 ){
+      currentuser     := QuintiqUser::CurrentUser().DisplayName();
+      
+      AOnlineAndMOfflinePlanMS64::GenerateData( InterfaceDataset, ddslFactory.Text(), dsStartDate.Date(), dsEndDate.Date(), efVersionFrom.Text(), efVersionTo.Text(), cbActiveVersion.Checked(), dhProducts.Data(), currentuser );
+      WebMessageBox::Success( "鎺ㄩ�佹垚鍔燂紒" );
+    }
     Form.Close();
   *]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def
index f948597..05d0b9e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def
@@ -6,8 +6,10 @@
   Body:
   [*
     Form.ApplyChanges();
-    AOnlineAndMOfflinePlanPIR::GenerateData( InterfaceDataset, ddslFactory.Text(), efVersion.Text(), dsStartDate.Date(), dsEndDate.Date(), QuintiqUser::CurrentUser().DisplayName() );
-    WebMessageBox::Success( "鎺ㄩ�佹垚鍔燂紒" );
+    if( WebMessageBox::Question( this, '鏄惁纭鎺ㄩ��', 'OK|Cancel' ) = 0 ){
+      AOnlineAndMOfflinePlanPIR::GenerateData( InterfaceDataset, ddslFactory.Text(), efVersion.Text(), dsStartDate.Date(), dsEndDate.Date(), QuintiqUser::CurrentUser().DisplayName() );
+      WebMessageBox::Success( "鎺ㄩ�佹垚鍔燂紒" );
+    }
     Form.Close();
   *]
 }
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def"
index 3368909..37837b4 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormAssemblyOnlinePlanVersion/Component_MatrixEditorTable\043384.def"
@@ -26,7 +26,7 @@
       ]
       Properties:
       [
-        Attributes: 'Quantity'
+        Attributes: 'Order;Quantity'
         Column: 'Column'
         Row: 'Row'
         Taborder: 0
@@ -94,6 +94,7 @@
   ]
   Properties:
   [
+    AllowMultipleAttributes: true
     Columns: 'MatrixEditorColumnsTable'
     ContextMenu: 'matrixeditorContextMenuTable'
     Rows: 'MatrixEditorRowsTable'
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Component_ListInterfaceShippingData.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Component_ListInterfaceShippingData.def
index 3cabf5e..fb1c6b7 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Component_ListInterfaceShippingData.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Component_ListInterfaceShippingData.def
@@ -39,4 +39,22 @@
   [
     Taborder: 0
   ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_ListInterfaceShippingData_WebMenu_OnClick
+    {
+      #keys: '[415136.0.1345221879]'
+      Initiator: 'WebMenu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[2035.0.6361849]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Component_listContextMenuInterfaceShippingData.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Component_listContextMenuInterfaceShippingData.def
index e96d713..eabc4e3 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Component_listContextMenuInterfaceShippingData.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Component_listContextMenuInterfaceShippingData.def
@@ -3,6 +3,20 @@
 {
   #keys: '[415136.0.1330021161]'
   BaseType: 'listContextMenu'
+  Children:
+  [
+    Component MenuInterfaceShippingData
+    {
+      #keys: '[415136.0.1345221911]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'PENCIL'
+        Taborder: 3
+        Title: 'Edit Quantity'
+      ]
+    }
+  ]
   Properties:
   [
     Taborder: 0
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Response_ListInterfaceShippingData_MenuInterfaceShippingData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Response_ListInterfaceShippingData_MenuInterfaceShippingData_OnClick.def
new file mode 100644
index 0000000..daaf53c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceShippingData/Response_ListInterfaceShippingData_MenuInterfaceShippingData_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: ListInterfaceShippingData
+Response OnClick (
+  ShippingActualData selection
+) id:Response_ListInterfaceShippingData_MenuInterfaceShippingData_OnClick
+{
+  #keys: '[415136.0.1345221962]'
+  CanBindMultiple: false
+  DefinitionID => /ListInterfaceShippingData/Responsedef_ListInterfaceShippingData_WebMenu_OnClick
+  Initiator: 'MenuInterfaceShippingData'
+  QuillAction
+  {
+    Body:
+    [*
+      dlg := construct( DialogShippingActualData );
+      dlg.Edit( selection );
+    *]
+    GroupServerCalls: false
+  }
+}

--
Gitblit v1.9.3