From 3b5a99bec48b3356d8f4d036b14c55d376809b86 Mon Sep 17 00:00:00 2001
From: admin <admin@admin.com>
Date: 星期五, 17 一月 2025 08:17:33 +0800
Subject: [PATCH] sap接口优化

---
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Component_ListInterfaceLoginfo.def                           |   18 +
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pHeader.def                                                 |   48 +++
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listContextMenu713.def                                      |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_pHeader_cIsSAP_PIR_Preview_OnUserChanged.def                 |   16 +
 _Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/_ROOT_Component_DialogSAP_PIR_DataPreview_JSON.def |   23 +
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_pHeader_bConfirm_OnClick.def                                 |   17 +
 _Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Response_pnlActions_btnOk_OnClick.def              |   16 +
 _Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Component_pnlContent.def                           |   27 ++
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listActionBarPage949.def                                    |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_MS64/_ROOT_Component_FormSAP_MS64.def                                     |   12 
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_List655.def                                                 |   42 +++
 _Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_DataPreview.qbl                                                    |   32 ++
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Response_ListInterfaceLoginfo_mDelete_OnClick.def            |   18 +
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/_ROOT_Component_FormSAP_PIR.def                                       |   17 +
 _Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Component_pnlActions.def                           |   50 +++
 _Main/BL/Type_InterfaceDataset/Attribute_IsPushSAP_PIR.qbl                                                              |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pRight.def                                                  |   14 +
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listActionBarPage234.def                                    |   10 
 _Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Response_pnlActions_btnApply_OnClick.def           |   19 +
 _Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def                                                   |   10 
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pContent.def                                                |   16 +
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bGeneratePreviewData_OnClick.def                     |   21 +
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Component_listContextMenuInterfaceLoginfo.def                |   14 +
 _Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Response_pnlActions_btnCancel_OnClick.def          |   15 +
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listContextMenu300.def                                      |   10 
 _Main/UI/MacroPlannerWebApp/Views/Interface_loginfo_view.vw                                                             |  131 ++++++++++
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_List391.def                                                 |   59 ++++
 _Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl                                                   |   11 
 _Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pLeft.def                                                   |   14 +
 _Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Method_New.def                                     |   14 +
 30 files changed, 716 insertions(+), 5 deletions(-)

diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_DataPreview.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_DataPreview.qbl
new file mode 100644
index 0000000..c87d278
--- /dev/null
+++ b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_DataPreview.qbl
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod DataPreview (
+  InterfaceLoginfo loginfo
+) as String
+{
+  Description: '鏁版嵁棰勮'
+  TextBody:
+  [*
+    jsondata           := JSON::Object();
+    
+    traverse( loginfo, AOnlineAndMOfflinePlanPIR, pir ){
+      jsonarray        := JSON::Array();//.Add( "dto", JSON::Object().Add( "dday", date.Format( "Y-M2-D2" ) ).Add( "fac", "" ) ).Build();
+      pirds            := selectsortedset( pir, PIRData, tempPIRD, true, tempPIRD.PlanningDate(), tempPIRD.Product() );
+      traverse( pirds, Elements, 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 );
+    }
+    
+    return jsondata.AsPrettyString();
+  *]
+}
diff --git a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
index ab3a4e0..e9ed573 100644
--- a/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
+++ b/_Main/BL/Type_AOnlineAndMOfflinePlanPIR/StaticMethod_GenerateData.qbl
@@ -8,7 +8,8 @@
   Date startdate,
   Date enddate,
   String executor,
-  String feedback
+  String feedback,
+  Boolean isPush
 ) as InterfaceLoginfo
 {
   TextBody:
@@ -65,7 +66,7 @@
           if( not exists( productids, Elements, e, e = row.ProductID() ) ){
             productids.Add( row.ProductID() );
           }
-          pirdata          := selectobject(  pir, PIRData, pirdata, pirdata.Product() = row.ProductID() and pirdata.PlanningDate() = column.StartDate() );
+          pirdata          := select( pir, PIRData, pirdata, pirdata.Product() = row.ProductID() and pirdata.PlanningDate() = column.StartDate() );
           if( isnull( pirdata ) ){
             pirdata        := pir.PIRData( relnew, Product := row.ProductID(), PlanningDate := column.StartDate(), PlanningQty := 0, Werk := rowwerk );
           }
@@ -91,7 +92,11 @@
       }
     }
     loginfo.TotalRow( pir.PIRData( relsize ) );
-    feedback             := AOnlineAndMOfflinePlanPIR::Publish( owner, loginfo );
+    
+    if ( isPush ) {
+      feedback             := AOnlineAndMOfflinePlanPIR::Publish( owner, loginfo );
+    }
+    
     return loginfo;
   *]
 }
diff --git a/_Main/BL/Type_InterfaceDataset/Attribute_IsPushSAP_PIR.qbl b/_Main/BL/Type_InterfaceDataset/Attribute_IsPushSAP_PIR.qbl
new file mode 100644
index 0000000..141049e
--- /dev/null
+++ b/_Main/BL/Type_InterfaceDataset/Attribute_IsPushSAP_PIR.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsPushSAP_PIR
+{
+  #keys: '3[415754.0.904016038][415754.0.904016037][415754.0.904016039]'
+  ValueType: Boolean
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Component_pnlActions.def
new file mode 100644
index 0000000..8aa0465
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Component_pnlActions.def
@@ -0,0 +1,50 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+  #keys: '[415754.0.905402656]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component btnApply
+    {
+      #keys: '[415754.0.905402658]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Apply'
+        Taborder: 0
+      ]
+    }
+    Component btnOk
+    {
+      #keys: '[415754.0.905402660]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'OK'
+        Taborder: 1
+      ]
+    }
+    Component btnCancel
+    {
+      #keys: '[415754.0.905402662]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Cancel'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    Border: true
+    ExcludeFromActiveComponent: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Padding: 'true'
+    Style: 'footer'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Component_pnlContent.def
new file mode 100644
index 0000000..496b605
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Component_pnlContent.def
@@ -0,0 +1,27 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+  #keys: '[415754.0.905402654]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component efContent
+    {
+      #keys: '[415754.0.907034219]'
+      BaseType: 'WebEditField'
+      Properties:
+      [
+        FixedSize: false
+        MaxRows: 30
+        Multiline: true
+        NumberOfColumns: 100
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Padding: 'true'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Method_New.def
new file mode 100644
index 0000000..6a38f8e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Method_New.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+Method New (
+  String dataPreview
+) id:Method_DialogSAP_PIR_DataPreview_JSON_New
+{
+  #keys: '[415754.0.907034527]'
+  Body:
+  [*
+    efContent.Text( dataPreview );
+    
+    ApplicationMacroPlanner.ShowFormModal( this );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Response_pnlActions_btnApply_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Response_pnlActions_btnApply_OnClick.def
new file mode 100644
index 0000000..b7dcbb4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Response_pnlActions_btnApply_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnApply
+Response OnClick () id:Response_pnlActions_btnApply_OnClick
+{
+  #keys: '[415754.0.905402664]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  Precondition:
+  [*
+    return Form.HasChanges();
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      Form.ApplyChanges();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..70336f3
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/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: '[415754.0.905402666]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..f8cdeb9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/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: '[415754.0.905402665]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.ApplyChanges();
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/_ROOT_Component_DialogSAP_PIR_DataPreview_JSON.def b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/_ROOT_Component_DialogSAP_PIR_DataPreview_JSON.def
new file mode 100644
index 0000000..792b5c2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogSAP_PIR_DataPreview_JSON/_ROOT_Component_DialogSAP_PIR_DataPreview_JSON.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogSAP_PIR_DataPreview_JSON
+{
+  #keys: '[415754.0.905402652]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pnlContent
+    #child: pnlActions
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    EnterButton: 'btnOk'
+    EscapeButton: 'btnCancel'
+    ExcludeFromActiveComponent: true
+    MinimumColumns: 100
+    MinimumRows: 30
+    Padding: 'false'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def
index c2ceec4..659b1a1 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogZEDPPSPIR/Method_OnOk.def
@@ -8,7 +8,15 @@
     Form.ApplyChanges();
     if( WebMessageBox::Question( this, '鏄惁纭鎺ㄩ��', 'OK|Cancel' ) = 0 ){
       msg          := '';
-      loginfo      := AOnlineAndMOfflinePlanPIR::GenerateData( InterfaceDataset, MacroPlan, ddslFactory.Text(), efVersion.Text(), dsStartDate.Date(), dsEndDate.Date(), QuintiqUser::CurrentUser().DisplayName(), msg );
+      loginfo      := AOnlineAndMOfflinePlanPIR::GenerateData( InterfaceDataset, 
+                                                               MacroPlan, 
+                                                               ddslFactory.Text(), 
+                                                               efVersion.Text(), 
+                                                               dsStartDate.Date(), 
+                                                               dsEndDate.Date(), 
+                                                               QuintiqUser::CurrentUser().DisplayName(), 
+                                                               msg,
+                                                               InterfaceDataset.IsPushSAP_PIR() );
       sucproduct   := selectuniquevalues( loginfo, SAPResponseLoginfo, e, e.IsSuccess(), e.Msg_v1() );
       if( sucproduct.Size() = loginfo.SAPResponseLoginfo( relsize ) ){
         WebMessageBox::Success( ApplicationMacroPlanner, '鎺ㄩ�佹垚鍔�' );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Component_ListInterfaceLoginfo.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Component_ListInterfaceLoginfo.def
index a3d7985..09d6aac 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Component_ListInterfaceLoginfo.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Component_ListInterfaceLoginfo.def
@@ -40,4 +40,22 @@
   [
     Taborder: 0
   ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_ListInterfaceLoginfo_WebMenu_OnClick
+    {
+      #keys: '[415754.0.905471826]'
+      Initiator: 'WebMenu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[1489.0.24000311]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Component_listContextMenuInterfaceLoginfo.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Component_listContextMenuInterfaceLoginfo.def
index e02fdda..76cbde0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Component_listContextMenuInterfaceLoginfo.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Component_listContextMenuInterfaceLoginfo.def
@@ -3,6 +3,20 @@
 {
   #keys: '[415136.0.931545409]'
   BaseType: 'listContextMenu'
+  Children:
+  [
+    Component mDelete
+    {
+      #keys: '[415754.0.905471756]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'DELETE'
+        Taborder: 3
+        Title: 'Delete'
+      ]
+    }
+  ]
   Properties:
   [
     Taborder: 0
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Response_ListInterfaceLoginfo_mDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Response_ListInterfaceLoginfo_mDelete_OnClick.def
new file mode 100644
index 0000000..493371c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceLoginfo/Response_ListInterfaceLoginfo_mDelete_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: ListInterfaceLoginfo
+Response OnClick (
+  InterfaceLoginfo selection
+) id:Response_ListInterfaceLoginfo_mDelete_OnClick
+{
+  #keys: '[415754.0.905471954]'
+  DefinitionID => /ListInterfaceLoginfo/Responsedef_ListInterfaceLoginfo_WebMenu_OnClick
+  Initiator: 'mDelete'
+  QuillAction
+  {
+    Body:
+    [*
+      selection.Delete();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_MS64/_ROOT_Component_FormSAP_MS64.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_MS64/_ROOT_Component_FormSAP_MS64.def
new file mode 100644
index 0000000..35eca35
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_MS64/_ROOT_Component_FormSAP_MS64.def
@@ -0,0 +1,12 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormSAP_MS64
+{
+  #keys: '[415754.0.904183512]'
+  BaseType: 'WebForm'
+  Properties:
+  [
+    Title: 'SAP_MS64'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_List391.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_List391.def
new file mode 100644
index 0000000..975e2dd
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_List391.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component List391
+{
+  #keys: '[415754.0.906554104]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component DataExtractor655
+    {
+      #keys: '[415754.0.906554105]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'InterfaceDataset'
+        Source: 'InterfaceDataset'
+        Taborder: 0
+        Transformation: 'AOnlineAndMOfflinePlanPIR'
+      ]
+    }
+    #child: listActionBarPage234
+    Component DataSetLevel650
+    {
+      #keys: '[415754.0.906554110]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: listContextMenu300
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ZPPPSCode","title":"ZPPPSCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ZPPPSCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Werk","title":"Werk","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Werk"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Version","title":"Version","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Version"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"EndDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}}]'
+        ContextMenu: 'listContextMenu300'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_List391_WebButton_OnClick
+    {
+      #keys: '[415754.0.906512353]'
+      Initiator: 'WebButton'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[1489.0.28151548]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_List655.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_List655.def
new file mode 100644
index 0000000..ce1352a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_List655.def
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+Component List655
+{
+  #keys: '[415754.0.906554201]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component DataExtractor447
+    {
+      #keys: '[415754.0.906554202]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'AOnlineAndMOfflinePlanPIR'
+        ExtractionMode: 'Selected'
+        Source: 'List391'
+        Taborder: 0
+        Transformation: 'PIRData'
+      ]
+    }
+    #child: listActionBarPage949
+    Component DataSetLevel912
+    {
+      #keys: '[415754.0.906554207]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: listContextMenu713
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlanningDate","title":"PlanningDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlanningDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlanningQty","title":"PlanningQty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlanningQty"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Product"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Werk","title":"Werk","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Werk"}}]'
+        ContextMenu: 'listContextMenu713'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listActionBarPage234.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listActionBarPage234.def
new file mode 100644
index 0000000..54e0f46
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listActionBarPage234.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPage234
+{
+  #keys: '[415754.0.906554107]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listActionBarPage949.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listActionBarPage949.def
new file mode 100644
index 0000000..af58a00
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listActionBarPage949.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPage949
+{
+  #keys: '[415754.0.906554204]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listContextMenu300.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listContextMenu300.def
new file mode 100644
index 0000000..c324993
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listContextMenu300.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenu300
+{
+  #keys: '[415754.0.906554112]'
+  BaseType: 'listContextMenu'
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listContextMenu713.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listContextMenu713.def
new file mode 100644
index 0000000..e258b20
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_listContextMenu713.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listContextMenu713
+{
+  #keys: '[415754.0.906554209]'
+  BaseType: 'listContextMenu'
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pContent.def
new file mode 100644
index 0000000..a01170c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pContent.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+Component pContent
+{
+  #keys: '[415754.0.904183609]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: pRight
+    #child: pLeft
+  ]
+  Properties:
+  [
+    Orientation: 'horizontal'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pHeader.def
new file mode 100644
index 0000000..bfeb801
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pHeader.def
@@ -0,0 +1,48 @@
+Quintiq file version 2.0
+Component pHeader
+{
+  #keys: '[415754.0.904183592]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component cIsSAP_PIR_Preview
+    {
+      #keys: '[415754.0.905412071]'
+      BaseType: 'WebCheckbox'
+      Properties:
+      [
+        CheckboxType: 'toggle'
+        DataBinding: 'InterfaceDataset.IsPushSAP_PIR'
+        Label: '鏄惁鎺ㄩ��'
+        Taborder: 0
+      ]
+    }
+    Component bConfirm
+    {
+      #keys: '[415754.0.906728019]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: '纭'
+        Taborder: 1
+      ]
+    }
+    Component bGeneratePreviewData
+    {
+      #keys: '[415754.0.905454331]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: '鐢熸垚棰勮JSON鏁版嵁'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Border: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pLeft.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pLeft.def
new file mode 100644
index 0000000..70339d9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pLeft.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component pLeft
+{
+  #keys: '[415754.0.906553813]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: List391
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pRight.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pRight.def
new file mode 100644
index 0000000..bb5a117
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Component_pRight.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component pRight
+{
+  #keys: '[415754.0.906553826]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: List655
+  ]
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bGeneratePreviewData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bGeneratePreviewData_OnClick.def
new file mode 100644
index 0000000..ae7aa1c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_List391_bGeneratePreviewData_OnClick.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: List391
+Response OnClick (
+  AOnlineAndMOfflinePlanPIR selection
+) id:Response_List391_bGeneratePreviewData_OnClick
+{
+  #keys: '[415754.0.906512675]'
+  CanBindMultiple: false
+  DefinitionID => /List391/Responsedef_List391_WebButton_OnClick
+  Initiator: 'bGeneratePreviewData'
+  QuillAction
+  {
+    Body:
+    [*
+      dlg := construct( DialogSAP_PIR_DataPreview_JSON );
+      
+      dlg.New( AOnlineAndMOfflinePlanPIR::DataPreview( selection.InterfaceLoginfo() ) );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_pHeader_bConfirm_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_pHeader_bConfirm_OnClick.def
new file mode 100644
index 0000000..aac1d9b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_pHeader_bConfirm_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: pHeader/bConfirm
+Response OnClick () id:Response_pHeader_bConfirm_OnClick
+{
+  #keys: '[415754.0.905481381]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  QuillAction
+  {
+    Body:
+    [*
+      dlg := construct( DialogZEDPPSPIR );
+      dlg.New();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_pHeader_cIsSAP_PIR_Preview_OnUserChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_pHeader_cIsSAP_PIR_Preview_OnUserChanged.def
new file mode 100644
index 0000000..9f0ef1e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/Response_pHeader_cIsSAP_PIR_Preview_OnUserChanged.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: pHeader/cIsSAP_PIR_Preview
+Response OnUserChanged () id:Response_pHeader_cIsSAP_PIR_Preview_OnUserChanged
+{
+  #keys: '[415754.0.906684729]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebCheckbox_OnUserChanged'
+  QuillAction
+  {
+    Body:
+    [*
+      InterfaceDataset.IsPushSAP_PIR( this.Checked() );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/_ROOT_Component_FormSAP_PIR.def b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/_ROOT_Component_FormSAP_PIR.def
new file mode 100644
index 0000000..ef78a79
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormSAP_PIR/_ROOT_Component_FormSAP_PIR.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormSAP_PIR
+{
+  #keys: '[415754.0.904183421]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pHeader
+    #child: pContent
+  ]
+  Properties:
+  [
+    Title: 'SAP_PIR'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Interface_loginfo_view.vw b/_Main/UI/MacroPlannerWebApp/Views/Interface_loginfo_view.vw
index b0468a9..d649110 100644
--- a/_Main/UI/MacroPlannerWebApp/Views/Interface_loginfo_view.vw
+++ b/_Main/UI/MacroPlannerWebApp/Views/Interface_loginfo_view.vw
@@ -215,13 +215,142 @@
           }
         }
       }
+      form_FormSAP_PIR
+      {
+        title: 'QMacroPlanner::FormSAP_PIR'
+        shown: true
+        componentID: 'QMacroPlanner::FormSAP_PIR'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 29
+          rowSpan: 14
+          columnPosition: 1
+          columnSpan: 14
+        }
+        components
+        {
+          FormSAP_PIR_pHeader
+          {
+            sizeRatio: 1
+          }
+          FormSAP_PIR_pContent
+          {
+            sizeRatio: 1
+          }
+          FormSAP_PIR_pLeft
+          {
+            sizeRatio: 1
+          }
+          FormSAP_PIR_List391
+          {
+          }
+          FormSAP_PIR_DataSetLevel650
+          {
+            groupDepth: -1
+            column_ZPPPSCode
+            {
+              columnId: 'ZPPPSCode'
+              dataPath: 'ZPPPSCode'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_Werk
+            {
+              columnId: 'Werk'
+              dataPath: 'Werk'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_Version
+            {
+              columnId: 'Version'
+              dataPath: 'Version'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_StartDate
+            {
+              columnId: 'StartDate'
+              dataPath: 'StartDate'
+              dataType: 'date'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_EndDate
+            {
+              columnId: 'EndDate'
+              dataPath: 'EndDate'
+              dataType: 'date'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+          }
+          FormSAP_PIR_pRight
+          {
+            sizeRatio: 1
+          }
+          FormSAP_PIR_List655
+          {
+          }
+          FormSAP_PIR_DataSetLevel912
+          {
+            groupDepth: -1
+            sort: 'PlanningDate,Product'
+            column_PlanningDate
+            {
+              columnId: 'PlanningDate'
+              dataPath: 'PlanningDate'
+              dataType: 'date'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_PlanningQty
+            {
+              columnId: 'PlanningQty'
+              dataPath: 'PlanningQty'
+              dataType: 'number'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_Product
+            {
+              columnId: 'Product'
+              dataPath: 'Product'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_Werk
+            {
+              columnId: 'Werk'
+              dataPath: 'Werk'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
     }
     userconfigurableinformation
     {
     }
     page: ''
     group: ''
-    index: 22
+    index: 0
     image: 'DOCUMENT'
     description: ''
   }

--
Gitblit v1.9.3