From 873d0dcac4db77c156439d1e9c025aeb3702aa47 Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期二, 12 九月 2023 22:31:12 +0800
Subject: [PATCH] 面板拉料

---
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlActions.def                                        |   40 +++
 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def                     |   24 ++
 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/_ROOT_Component_FormPanelPullPlanReport.def                                 |    9 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuDelete_OnClick.def                                    |   18 +
 _Main/UI/MacroPlanner/Component_FormProducts/Response_TIANMA_JITUAN_ListProduct_MenuConvertToPanelMaterial_OnClick.def                    |   14 +
 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelPanelPullPlanReport.def                                      |   15 +
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def                           |   35 ++
 _Main/BL/Type_PanelMaterial/Attribute_StartDate.qbl                                                                                       |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def                                                 |   16 +
 _Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def |    2 
 _Main/UI/MacroPlanner/Component_FormProducts/Component_SplitterWnd8.def                                                                   |   14 +
 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listActionBarPageData.def                                         |   10 
 _Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl                                                                          |   23 +
 _Main/BL/Type_PanelMaterial/Attribute_MaterialDescription.qbl                                                                             |    8 
 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelData#431.def                                                 |   14 +
 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelFunctionButtons.def                                          |   39 +++
 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuEdit_OnClick.def                                      |   20 +
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/_ROOT_Component_DialogCreateEditPanelPullPlanReport.def         |   31 ++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlContent_ddslPanelModel_OnCreated.def                |   22 +
 _Main/BL/Type_PanelMaterial/Attribute_PanelModel.qbl                                                                                      |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlContent.def                                        |   58 ++++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def                                                  |   14 +
 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def                                                      |   59 ++++
 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def                                    |   18 +
 _Main/BL/Type_PanelMaterial/_ROOT_Type_PanelMaterial.qbl                                                                                  |    9 
 _Main/BL/Relations/Relation_PanelMaterial_GlobalOTDTable_GlobalOTDTable_PanelMaterial.qbl                                                 |   23 +
 _Main/UI/MacroPlanner/Component_FormProducts/_ROOT_Component_FormProducts.def                                                             |   10 
 _Main/UI/MacroPlanner/Component_FormProducts/Component_ListProduct.def                                                                    |   42 +++
 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listContextMenuData.def                                           |   62 +++++
 _Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuSelectAll_OnClick.def                                 |   17 +
 _Main/BL/Type_PanelMaterial/Attribute_DemandQuantity.qbl                                                                                  |    8 
 _Main/BL/Type_Product_MP/Attribute_IsPanelMaterial.qbl                                                                                    |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnCancel_OnClick.def                       |   15 +
 33 files changed, 712 insertions(+), 1 deletions(-)

diff --git a/_Main/BL/Relations/Relation_PanelMaterial_GlobalOTDTable_GlobalOTDTable_PanelMaterial.qbl b/_Main/BL/Relations/Relation_PanelMaterial_GlobalOTDTable_GlobalOTDTable_PanelMaterial.qbl
new file mode 100644
index 0000000..60dc422
--- /dev/null
+++ b/_Main/BL/Relations/Relation_PanelMaterial_GlobalOTDTable_GlobalOTDTable_PanelMaterial.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation PanelMaterial_GlobalOTDTable_GlobalOTDTable_PanelMaterial
+{
+  #keys: '1[414702.0.155921958]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.155921960][414702.0.155921959][414702.0.155921961]'
+    Cardinality: '0to1'
+    ObjectDefinition: PanelMaterial
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide PanelMaterial
+  {
+    #keys: '3[414702.0.155921963][414702.0.155921962][414702.0.155921964]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl b/_Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl
new file mode 100644
index 0000000..f81023f
--- /dev/null
+++ b/_Main/BL/Type_GlobalDTOTable/Method_RefreshPanelMaterialData.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Method RefreshPanelMaterialData (
+  MacroPlan macroPlan
+)
+{
+  TextBody:
+  [*
+    traverse ( macroPlan, Unit.Operation.PeriodTaskOperation, pto, true ) {
+      traverse ( pto, DependentDemand, dd, true ) {
+        product_MP := dd.ProductInStockingPointInPeriodPlanningLeaf().ProductInStockingPoint_MP().Product_MP();
+        if ( product_MP.IsPanelMaterial() ) {
+          this.PanelMaterial( relnew,
+                              PanelModel          := product_MP.ID(),
+                              MaterialDescription := product_MP.ID(),
+                              StartDate           := dd.Start().Date(),
+                              DemandQuantity      := dd.Quantity()
+                             );
+        }                   
+      }
+    }
+  *]
+}
diff --git a/_Main/BL/Type_PanelMaterial/Attribute_DemandQuantity.qbl b/_Main/BL/Type_PanelMaterial/Attribute_DemandQuantity.qbl
new file mode 100644
index 0000000..50633e7
--- /dev/null
+++ b/_Main/BL/Type_PanelMaterial/Attribute_DemandQuantity.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute DemandQuantity
+{
+  #keys: '3[414702.0.155922013][414702.0.155922012][414702.0.155922014]'
+  Description: '闇�姹傛暟閲�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_PanelMaterial/Attribute_MaterialDescription.qbl b/_Main/BL/Type_PanelMaterial/Attribute_MaterialDescription.qbl
new file mode 100644
index 0000000..1acc53a
--- /dev/null
+++ b/_Main/BL/Type_PanelMaterial/Attribute_MaterialDescription.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MaterialDescription
+{
+  #keys: '3[414702.0.155921990][414702.0.155921989][414702.0.155921991]'
+  Description: '鐗╂枡鎻忚堪'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_PanelMaterial/Attribute_PanelModel.qbl b/_Main/BL/Type_PanelMaterial/Attribute_PanelModel.qbl
new file mode 100644
index 0000000..68fdbb0
--- /dev/null
+++ b/_Main/BL/Type_PanelMaterial/Attribute_PanelModel.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute PanelModel
+{
+  #keys: '3[414702.0.155921977][414702.0.155921976][414702.0.155921978]'
+  Description: '闈㈡澘鍨嬪彿'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_PanelMaterial/Attribute_StartDate.qbl b/_Main/BL/Type_PanelMaterial/Attribute_StartDate.qbl
new file mode 100644
index 0000000..faaa2a9
--- /dev/null
+++ b/_Main/BL/Type_PanelMaterial/Attribute_StartDate.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+  #keys: '3[414702.0.155922000][414702.0.155921999][414702.0.155922001]'
+  Description: '寮�濮嬫椂闂�'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_PanelMaterial/_ROOT_Type_PanelMaterial.qbl b/_Main/BL/Type_PanelMaterial/_ROOT_Type_PanelMaterial.qbl
new file mode 100644
index 0000000..8fdb774
--- /dev/null
+++ b/_Main/BL/Type_PanelMaterial/_ROOT_Type_PanelMaterial.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type PanelMaterial
+{
+  #keys: '5[414702.0.155354979][414702.0.155354977][0.0.0][414702.0.155354978][414702.0.155354980]'
+  BaseType: Object
+  StructuredName: 'PanelMaterials'
+}
diff --git a/_Main/BL/Type_Product_MP/Attribute_IsPanelMaterial.qbl b/_Main/BL/Type_Product_MP/Attribute_IsPanelMaterial.qbl
new file mode 100644
index 0000000..461f519
--- /dev/null
+++ b/_Main/BL/Type_Product_MP/Attribute_IsPanelMaterial.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsPanelMaterial
+{
+  #keys: '3[414702.0.155922090][414702.0.155922089][414702.0.155922091]'
+  Description: '鏄惁涓洪潰鏉跨墿鏂�'
+  ValueType: Boolean
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormProducts/Component_ListProduct.def b/_Main/UI/MacroPlanner/Component_FormProducts/Component_ListProduct.def
new file mode 100644
index 0000000..f74c93c
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormProducts/Component_ListProduct.def
@@ -0,0 +1,42 @@
+Quintiq file version 2.0
+Component ListProduct #extension
+{
+  Children:
+  [
+    Component popupListProduct #extension
+    {
+      Children:
+      [
+        Component PopupParent #extension
+        {
+          Children:
+          [
+            Component menuSeparator631 { #keys: '[414702.0.157554503]' BaseType: 'Menu' Properties: [ Separator: true ] }
+            Component MenuConvertToPanelMaterial { #keys: '[414702.0.157554555]' BaseType: 'Menu' Properties: [ Image: 'PLASMA-TV' Text: '杞崲涓洪潰鏉跨墿鏂�' ] }
+          ]
+          Properties:
+          [
+            ModeledStringList ChildOrdering
+            {
+              c: MenuActions
+              c: MenuFilter
+              c: menuListQuintiqSetQuantor
+              c: MenuSeparator
+              c: MenuNewProduct
+              c: MenuEditProduct
+              c: MenuDeleteProduct
+              c: MenuCopyIncludingSP
+              c: Menu3
+              c: MenuSmartPlan1
+              c: Menu49
+              c: MenuEditDisplayIndex
+              c: MenuEditVisualization2
+              c: menuSeparator631
+              c: MenuConvertToPanelMaterial
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormProducts/Component_SplitterWnd8.def b/_Main/UI/MacroPlanner/Component_FormProducts/Component_SplitterWnd8.def
new file mode 100644
index 0000000..a925236
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormProducts/Component_SplitterWnd8.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component SplitterWnd8 #extension
+{
+  Children:
+  [
+    Component SplitterPane #extension
+    {
+      Children:
+      [
+        #child: ListProduct
+      ]
+    }
+  ]
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormProducts/Response_TIANMA_JITUAN_ListProduct_MenuConvertToPanelMaterial_OnClick.def b/_Main/UI/MacroPlanner/Component_FormProducts/Response_TIANMA_JITUAN_ListProduct_MenuConvertToPanelMaterial_OnClick.def
new file mode 100644
index 0000000..fc90953
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormProducts/Response_TIANMA_JITUAN_ListProduct_MenuConvertToPanelMaterial_OnClick.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: ListProduct
+Response OnClick (
+  Product_MP selection
+) id:Response_TIANMA_JITUAN_ListProduct_MenuConvertToPanelMaterial_OnClick
+{
+  #keys: '[414702.0.157554653]'
+  Body:
+  [*
+    selection.IsPanelMaterial( not selection.IsPanelMaterial() );
+  *]
+  DefinitionID => //ListProduct/Responsedef_ListProduct_Menu_OnClick
+  Initiator: 'MenuConvertToPanelMaterial'
+}
diff --git a/_Main/UI/MacroPlanner/Component_FormProducts/_ROOT_Component_FormProducts.def b/_Main/UI/MacroPlanner/Component_FormProducts/_ROOT_Component_FormProducts.def
new file mode 100644
index 0000000..a83580c
--- /dev/null
+++ b/_Main/UI/MacroPlanner/Component_FormProducts/_ROOT_Component_FormProducts.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: LibMacroPlannerTCUI
+OrphanComponent FormProducts #extension
+{
+  Children:
+  [
+    #child: SplitterWnd8
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlActions.def
new file mode 100644
index 0000000..f0a3335
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+  #keys: '[414702.0.157903684]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component btnOk
+    {
+      #keys: '[414702.0.157903688]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'OK'
+        Taborder: 0
+      ]
+    }
+    Component btnCancel
+    {
+      #keys: '[414702.0.157903690]'
+      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_DialogCreateEditPanelPullPlanReport/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlContent.def
new file mode 100644
index 0000000..d7beca4
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Component_pnlContent.def
@@ -0,0 +1,58 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+  #keys: '[414702.0.157903682]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component dsStartDate
+    {
+      #keys: '[414702.0.158296102]'
+      BaseType: 'WebDateSelector'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialogData.Data.StartDate'
+        Label: '寮�濮�'
+        Taborder: 2
+      ]
+    }
+    Component npDemandQuantity
+    {
+      #keys: '[414702.0.158296123]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialogData.Data.DemandQuantity'
+        Label: '闇�姹傛暟閲�'
+        Taborder: 3
+      ]
+    }
+    Component efMaterialDescription
+    {
+      #keys: '[414702.0.157412917]'
+      BaseType: 'WebEditField'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialogData.Data.MaterialDescription'
+        Label: '鐗╂枡鎻忚堪'
+        Taborder: 1
+      ]
+    }
+    Component ddslPanelModel
+    {
+      #keys: '[414702.0.157757933]'
+      BaseType: 'WebDropDownStringList'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialogData.Data.PanelModel'
+        Label: '闈㈡澘鍨嬪彿'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Padding: 'true'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def
new file mode 100644
index 0000000..1ae7777
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_Edit.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Method Edit (
+  PanelMaterial selection
+) id:Method_DialogCreateEditPanelPullPlanReport_Edit
+{
+  #keys: '[414702.0.158677121]'
+  Body:
+  [*
+    data := shadow( selection );
+    
+    DataHolderDialogData.Data( &data );
+    
+    ApplicationMacroPlanner.ShowFormModal( this );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def
new file mode 100644
index 0000000..17084d2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Method_New.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+Method New () id:Method_DialogCreateEditPanelPullPlanReport_New
+{
+  #keys: '[414702.0.158084611]'
+  Body:
+  [*
+    panelMaterial := GlobalOTDTable.PanelMaterial( relshadow );
+    
+    DataHolderDialogData.Data( &panelMaterial );
+    
+    ApplicationMacroPlanner.ShowFormModal( this );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..a98c7de
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/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: '[414702.0.157903694]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..f7acc22
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,35 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+  #keys: '[414702.0.157903693]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  QuillAction
+  {
+    Body:
+    [*
+      Form.ApplyChanges();
+      
+      //Form.OnOK();
+      Form.ApplyChanges();
+      
+      data := DataHolderDialogData.Data();
+      panelMaterial := data.WrappedInstance();
+      if ( isnull( panelMaterial ) ) {
+        GlobalOTDTable.PanelMaterial( relnew, 
+                                      PanelModel          := ddslPanelModel.Text(), 
+                                      MaterialDescription := efMaterialDescription.Text(), 
+                                      StartDate           := dsStartDate.Date(),
+                                      DemandQuantity      := npDemandQuantity.Number() );
+      } else {
+        panelMaterial.PanelModel( ddslPanelModel.Text() );
+        panelMaterial.MaterialDescription( efMaterialDescription.Text() );
+        panelMaterial.StartDate( dsStartDate.Date() );
+        panelMaterial.DemandQuantity( npDemandQuantity.Number() );
+      }
+      
+      Form.Close();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlContent_ddslPanelModel_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlContent_ddslPanelModel_OnCreated.def
new file mode 100644
index 0000000..e8f83be
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/Response_pnlContent_ddslPanelModel_OnCreated.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pnlContent/ddslPanelModel
+Response OnCreated () id:Response_pnlContent_ddslPanelModel_OnCreated
+{
+  #keys: '[414702.0.158297623]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebComponent_OnCreated'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      ids := selectvalues( MacroPlan, Product_MP, tempPMP, tempPMP.IsPanelMaterial(), tempPMP.ID() );
+      info( ids.Concatenate( ";" ) );
+      this.Strings( ids.Concatenate( ";" ) );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/_ROOT_Component_DialogCreateEditPanelPullPlanReport.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/_ROOT_Component_DialogCreateEditPanelPullPlanReport.def
new file mode 100644
index 0000000..53e5083
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditPanelPullPlanReport/_ROOT_Component_DialogCreateEditPanelPullPlanReport.def
@@ -0,0 +1,31 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogCreateEditPanelPullPlanReport
+{
+  #keys: '[414702.0.157903680]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pnlContent
+    #child: pnlActions
+    Component DataHolderDialogData
+    {
+      #keys: '[414702.0.156384742]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'shadow[PanelMaterial]*'
+      Properties:
+      [
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    EnterButton: 'btnOk'
+    EscapeButton: 'btnCancel'
+    ExcludeFromActiveComponent: true
+    Padding: 'false'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def
index 527a380..06483a1 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormMaterialLabelingAndPlanningStrategy/_ROOT_Component_FormMaterialLabelingAndPlanningStrategy.def
@@ -13,6 +13,6 @@
   [
     Description: '鐗╂枡鏍囩&璁″垝绛栫暐琛ㄥ崟'
     Image: 'PAPER_ROLL'
-    Title: 'Material labeling&planning strategy'
+    Title: '鐗╂枡鏍囩&璁″垝绛栫暐'
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def
new file mode 100644
index 0000000..ad2a8b8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_ListData.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component ListData
+{
+  #keys: '[414702.0.156121812]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component DataExtractorData
+    {
+      #keys: '[414702.0.156121813]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'GlobalOTDTable'
+        Source: 'GlobalOTDTable'
+        Taborder: 0
+        Transformation: 'PanelMaterial'
+      ]
+    }
+    #child: listActionBarPageData
+    Component DataSetLevelData
+    {
+      #keys: '[414702.0.156121818]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: listContextMenuData
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PanelModel","title":"PanelModel","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PanelModel"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaterialDescription","title":"MaterialDescription","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaterialDescription"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"StartDate","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandQuantity","title":"DemandQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandQuantity"}}]'
+        ContextMenu: 'listContextMenuData'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_ListData_WebMenu_OnClick
+    {
+      #keys: '[414702.0.158084176]'
+      Initiator: 'WebMenu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[359.0.59836272]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelData\043431.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelData\043431.def"
new file mode 100644
index 0000000..1e7ba58
--- /dev/null
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelData\043431.def"
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component PanelData
+{
+  #keys: '[414702.0.153191731]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: ListData
+  ]
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelFunctionButtons.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelFunctionButtons.def
new file mode 100644
index 0000000..fd349be
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelFunctionButtons.def
@@ -0,0 +1,39 @@
+Quintiq file version 2.0
+Component PanelFunctionButtons
+{
+  #keys: '[414702.0.153162120]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component ButtonRefresh
+    {
+      #keys: '[414702.0.153101807]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'ARROW_CIRCLE2'
+        Label: '鍒锋柊'
+        Taborder: 0
+      ]
+    }
+    Component ButtonSend
+    {
+      #keys: '[414702.0.153101827]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'ANTENNA'
+        Label: '鍙戦��'
+        Taborder: 1
+      ]
+    }
+  ]
+  Properties:
+  [
+    FixedSize: true
+    MinimumColumns: 1
+    MinimumRows: 1
+    Orientation: 'horizontal'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelPanelPullPlanReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelPanelPullPlanReport.def
new file mode 100644
index 0000000..1cf39fa
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_PanelPanelPullPlanReport.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+Component PanelPanelPullPlanReport
+{
+  #keys: '[414702.0.153130397]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: PanelData
+    #child: PanelFunctionButtons
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listActionBarPageData.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listActionBarPageData.def
new file mode 100644
index 0000000..8aeee1c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listActionBarPageData.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component listActionBarPageData
+{
+  #keys: '[414702.0.156121815]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listContextMenuData.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listContextMenuData.def
new file mode 100644
index 0000000..e25d70c
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Component_listContextMenuData.def
@@ -0,0 +1,62 @@
+Quintiq file version 2.0
+Component listContextMenuData
+{
+  #keys: '[414702.0.156121820]'
+  BaseType: 'listContextMenu'
+  Children:
+  [
+    Component MenuCreate
+    {
+      #keys: '[414702.0.156370994]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'ADD2'
+        Shortcut: 'Ins'
+        Taborder: 3
+        Title: 'Create...'
+      ]
+    }
+    Component MenuEdit
+    {
+      #keys: '[414702.0.156371015]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        BindOnDoubleClick: true
+        Image: 'PENCIL'
+        Shortcut: 'Enter'
+        Taborder: 4
+        Title: 'Edit'
+      ]
+    }
+    Component MenuDelete
+    {
+      #keys: '[414702.0.156371036]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'DELETE'
+        Shortcut: 'Del'
+        Taborder: 5
+        Title: 'Delete'
+      ]
+    }
+    Component MenuSelectAll
+    {
+      #keys: '[414702.0.157843652]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'DOCUMENT_SELECTION'
+        Shortcut: 'Ctrl+A'
+        Taborder: 6
+        Title: '鍏ㄩ��'
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def
new file mode 100644
index 0000000..cb713ad
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuCreate_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: ListData
+Response OnClick () id:Response_ListData_MenuCreate_OnClick
+{
+  #keys: '[414702.0.157756457]'
+  CanBindMultiple: false
+  DefinitionID => /ListData/Responsedef_ListData_WebMenu_OnClick
+  Initiator: 'MenuCreate'
+  QuillAction
+  {
+    Body:
+    [*
+      dlg := construct( DialogCreateEditPanelPullPlanReport );
+      dlg.New();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuDelete_OnClick.def
new file mode 100644
index 0000000..1961a06
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuDelete_OnClick.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: ListData
+Response OnClick (
+  PanelMaterial selection
+) id:Response_ListData_MenuDelete_OnClick
+{
+  #keys: '[414702.0.156337739]'
+  DefinitionID => /ListData/Responsedef_ListData_WebMenu_OnClick
+  Initiator: 'MenuDelete'
+  QuillAction
+  {
+    Body:
+    [*
+      selection.Delete();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuEdit_OnClick.def
new file mode 100644
index 0000000..988dd2d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuEdit_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: ListData
+Response OnClick (
+  PanelMaterial selection
+) id:Response_ListData_MenuEdit_OnClick
+{
+  #keys: '[414702.0.158297460]'
+  CanBindMultiple: false
+  DefinitionID => /ListData/Responsedef_ListData_WebMenu_OnClick
+  Initiator: 'MenuEdit'
+  QuillAction
+  {
+    Body:
+    [*
+      dlg := construct( DialogCreateEditPanelPullPlanReport );
+      dlg.Edit( selection );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuSelectAll_OnClick.def
new file mode 100644
index 0000000..2bfc384
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_ListData_MenuSelectAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: ListData
+Response OnClick () id:Response_ListData_MenuSelectAll_OnClick
+{
+  #keys: '[414702.0.158466175]'
+  CanBindMultiple: false
+  DefinitionID => /ListData/Responsedef_ListData_WebMenu_OnClick
+  Initiator: 'MenuSelectAll'
+  QuillAction
+  {
+    Body:
+    [*
+      this.SelectAll();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def
new file mode 100644
index 0000000..9084aa6
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/Response_PanelFunctionButtons_ButtonRefresh_OnClick.def
@@ -0,0 +1,24 @@
+Quintiq file version 2.0
+#parent: PanelFunctionButtons/ButtonRefresh
+Response OnClick () id:Response_PanelFunctionButtons_ButtonRefresh_OnClick
+{
+  #keys: '[414702.0.156301340]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    return not isnull( GlobalOTDTable ) and not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      GlobalOTDTable.PanelMaterial( relflush );
+      
+      GlobalOTDTable.RefreshPanelMaterialData( MacroPlan );
+      
+      WebMessageBox::Success( "鍒锋柊鎴愬姛锛�", true );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/_ROOT_Component_FormPanelPullPlanReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/_ROOT_Component_FormPanelPullPlanReport.def
index 59f0adb..99e3212 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/_ROOT_Component_FormPanelPullPlanReport.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPanelPullPlanReport/_ROOT_Component_FormPanelPullPlanReport.def
@@ -5,4 +5,13 @@
 {
   #keys: '[414702.0.142531280]'
   BaseType: 'WebForm'
+  Children:
+  [
+    #child: PanelPanelPullPlanReport
+  ]
+  Properties:
+  [
+    Image: 'TABLET_COMPUTER'
+    Title: '闈㈡澘鎷夋枡璁″垝鎶ヨ〃'
+  ]
 }

--
Gitblit v1.9.3