From d16e0e871fe3a31fb7bde84a0902b9ea1486da76 Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期三, 27 九月 2023 22:39:12 +0800
Subject: [PATCH] 接口调试,填产优化

---
 _Main/BL/Type_Global_ShowCell/_ROOT_Type_Global_ShowCell.qbl                                                             |    9 
 _Main/BL/Relations/Relation_Global_ShowColumn_Global_ShowCell_Global_ShowCell_Global_ShowColumn.qbl                      |   23 +
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def        |   23 +
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def                    |   17 
 _Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl                                                                  |  124 ++++++
 _Main/BL/Relations/Relation_Global_ShowRow_Global_ShowCell_Global_ShowCell_Global_ShowRow.qbl                            |   23 +
 _Main/BL/Type_Global_ShowCell/Attribute_Value.qbl                                                                        |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_ListInterfaceTest.def                                  |   18 
 _Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl                                                       |   22 +
 _Main/BL/Type_BusinessType/StaticMethod_GetBusinessNameStr.qbl                                                           |    1 
 _Main/BL/Type_Global_ShowColumn/Attribute_ColumnIndex.qbl                                                                |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def         |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixEditorActionBarPageShowInterfaceData.def     |   10 
 _Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowRow_Global_ShowRow_GlobalOTDTable.qbl                              |   23 +
 _Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listContextMenuInterfaceTest.def                       |   14 
 _Main/BL/Type_Global_ShowColumn/_ROOT_Type_Global_ShowColumn.qbl                                                         |    9 
 _Main/BL/Type_Global_ShowRow/_ROOT_Type_Global_ShowRow.qbl                                                               |    9 
 _Main/BL/Type_Global_ShowColumn/Attribute_ColumnName.qbl                                                                 |    7 
 _Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowColumn_Global_ShowColumn_GlobalOTDTable.qbl                        |   23 +
 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def |    1 
 _Main/UI/MacroPlannerWebApp/Views/Test.vw                                                                                |  517 +++++++++++++++++++++++++
 _Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowCell_Global_ShowCell_GlobalOTDTable.qbl                            |   23 +
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def                  |   97 ++++
 _Main/BL/Type_Global_ShowRow/Attribute_RowNr.qbl                                                                         |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixeditorContextMenuShowInterfaceData.def       |   10 
 _Main/UI/MacroPlannerWebApp/Views/接口测试.vw                                                                                |  124 -----
 26 files changed, 1,042 insertions(+), 110 deletions(-)

diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowCell_Global_ShowCell_GlobalOTDTable.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowCell_Global_ShowCell_GlobalOTDTable.qbl
new file mode 100644
index 0000000..4521d55
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowCell_Global_ShowCell_GlobalOTDTable.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_ShowCell_Global_ShowCell_GlobalOTDTable
+{
+  #keys: '1[414702.0.483720679]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Global_ShowCell
+  {
+    #keys: '3[414702.0.483720681][414702.0.483720680][414702.0.483720682]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.483720684][414702.0.483720683][414702.0.483720685]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_ShowCell
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowColumn_Global_ShowColumn_GlobalOTDTable.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowColumn_Global_ShowColumn_GlobalOTDTable.qbl
new file mode 100644
index 0000000..5508eb3
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowColumn_Global_ShowColumn_GlobalOTDTable.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_ShowColumn_Global_ShowColumn_GlobalOTDTable
+{
+  #keys: '1[414702.0.483720692]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Global_ShowColumn
+  {
+    #keys: '3[414702.0.483720694][414702.0.483720693][414702.0.483720695]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.483720697][414702.0.483720696][414702.0.483720698]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_ShowColumn
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowRow_Global_ShowRow_GlobalOTDTable.qbl b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowRow_Global_ShowRow_GlobalOTDTable.qbl
new file mode 100644
index 0000000..d8f6a4b
--- /dev/null
+++ b/_Main/BL/Relations/Relation_GlobalOTDTable_Global_ShowRow_Global_ShowRow_GlobalOTDTable.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation GlobalOTDTable_Global_ShowRow_Global_ShowRow_GlobalOTDTable
+{
+  #keys: '1[414702.0.483720663]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Global_ShowRow
+  {
+    #keys: '3[414702.0.483720665][414702.0.483720664][414702.0.483720666]'
+    Cardinality: '1toN'
+    ObjectDefinition: GlobalOTDTable
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide GlobalOTDTable
+  {
+    #keys: '3[414702.0.483720668][414702.0.483720667][414702.0.483720669]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_ShowRow
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_Global_ShowColumn_Global_ShowCell_Global_ShowCell_Global_ShowColumn.qbl b/_Main/BL/Relations/Relation_Global_ShowColumn_Global_ShowCell_Global_ShowCell_Global_ShowColumn.qbl
new file mode 100644
index 0000000..86258ab
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_ShowColumn_Global_ShowCell_Global_ShowCell_Global_ShowColumn.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_ShowColumn_Global_ShowCell_Global_ShowCell_Global_ShowColumn
+{
+  #keys: '1[414702.0.483720723]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Global_ShowCell
+  {
+    #keys: '3[414702.0.483720725][414702.0.483720724][414702.0.483720726]'
+    Cardinality: '1toN'
+    ObjectDefinition: Global_ShowColumn
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide Global_ShowColumn
+  {
+    #keys: '3[414702.0.483720728][414702.0.483720727][414702.0.483720729]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_ShowCell
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_Global_ShowRow_Global_ShowCell_Global_ShowCell_Global_ShowRow.qbl b/_Main/BL/Relations/Relation_Global_ShowRow_Global_ShowCell_Global_ShowCell_Global_ShowRow.qbl
new file mode 100644
index 0000000..efa77b8
--- /dev/null
+++ b/_Main/BL/Relations/Relation_Global_ShowRow_Global_ShowCell_Global_ShowCell_Global_ShowRow.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation Global_ShowRow_Global_ShowCell_Global_ShowCell_Global_ShowRow
+{
+  #keys: '1[414702.0.483720707]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Global_ShowCell
+  {
+    #keys: '3[414702.0.483720709][414702.0.483720708][414702.0.483720710]'
+    Cardinality: '1toN'
+    ObjectDefinition: Global_ShowRow
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide Global_ShowRow
+  {
+    #keys: '3[414702.0.483720712][414702.0.483720711][414702.0.483720713]'
+    Cardinality: '0to1'
+    ObjectDefinition: Global_ShowCell
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Type_BusinessType/StaticMethod_GetBusinessNameStr.qbl b/_Main/BL/Type_BusinessType/StaticMethod_GetBusinessNameStr.qbl
index 22f2d2e..7496f0f 100644
--- a/_Main/BL/Type_BusinessType/StaticMethod_GetBusinessNameStr.qbl
+++ b/_Main/BL/Type_BusinessType/StaticMethod_GetBusinessNameStr.qbl
@@ -7,7 +7,6 @@
   TextBody:
   [*
     // NBoTk Sep-7-2023 (created)
-    
     // 鑾峰彇businessType 闆嗗悎
     result := "";
     businessTypeList := construct( structured[String]);
diff --git a/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl
new file mode 100644
index 0000000..0f86052
--- /dev/null
+++ b/_Main/BL/Type_CustomerAndForecastOrder/StaticMethod_CreateData.qbl
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateData (
+  MacroPlan macroPlan
+)
+{
+  TextBody:
+  [*
+    traverse ( macroPlan, SalesDemand.astype( CustomerOrder ), co, true ) {
+      macroPlan.CustomerAndForecastOrder( relnew,
+                                          OrderID := co.OrderID(),
+                                          ProductID := co.ProductID(),
+                                          BusinessType := co.BusinessType(),
+                                          Customer := co.CustomerName(),
+                                          CustomerID := co.CustomerID(),
+                                          Quantity := co.Quantity(),
+                                          UnitOfMeasureName := co.UnitOfMeasureName(),
+                                          DemandDate := co.StartDate()
+                                         );
+    }
+  *]
+}
diff --git a/_Main/BL/Type_Global_ShowCell/Attribute_Value.qbl b/_Main/BL/Type_Global_ShowCell/Attribute_Value.qbl
new file mode 100644
index 0000000..a20bc71
--- /dev/null
+++ b/_Main/BL/Type_Global_ShowCell/Attribute_Value.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Value
+{
+  #keys: '3[414702.0.483720762][414702.0.483720761][414702.0.483720763]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl b/_Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl
new file mode 100644
index 0000000..1e5c9aa
--- /dev/null
+++ b/_Main/BL/Type_Global_ShowCell/StaticMethod_ShowData.qbl
@@ -0,0 +1,124 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod ShowData (
+  GlobalOTDTable globalOTDTable,
+  Global_BrokerExecuteLog global_BrokerExecuteLog
+)
+{
+  TextBody:
+  [*
+    if ( global_BrokerExecuteLog.BrokerName() = "GlobalOTDTable_CustomOrder" ) {
+      businessTypeColumn       := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 0, ColumnName := "浜嬩笟閮�" );
+      currencyIDColumn         := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 1, ColumnName := "璐у竵" );
+      customerColumn           := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 2, ColumnName := "瀹㈡埛鍚嶇О" );
+      customerIDColumn         := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 3, ColumnName := "瀹㈡埛ID" );
+      idColumn                 := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 4, ColumnName := "鍞竴鏍囪瘑" );
+      orderDateColumn          := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 5, ColumnName := "璁㈠崟鏃ユ湡" );
+      orderIDColumn            := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 6, ColumnName := "璁㈠崟鍙�" );
+      orderLineIDColumn        := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 7, ColumnName := "璁㈠崟琛屽彿" );
+      priceColumn              := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 8, ColumnName := "鍗曚环" );
+      priorityNameColumn       := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 9, ColumnName := "浼樺厛绾у悕绉�" );
+      productIDColumn          := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 10, ColumnName := "浜у搧缂栫爜" );
+      stockingPointIDColumn    := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 11, ColumnName := "搴撳瓨鐐圭紪鐮�" );
+      salesegmentNameColumn    :=globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 12, ColumnName := "閿�鍞儴闂ㄥ悕绉�" );
+      quantityColumn           := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 13, ColumnName := "鏁伴噺" );
+      unitofmeasureNameColumn  := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 14, ColumnName := "鍗曚綅" );
+      orderTypeColumn          := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 15, ColumnName := "璁㈠崟绫诲瀷" );
+      isAvailableColumn        := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 16, ColumnName := "鏄惁鍙敤" );
+      productGradeColumn       := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 17, ColumnName := "浜у搧绛夌骇" );
+      segmentPriorityColumn    := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 18, ColumnName := "缁嗗垎甯傚満浼樺厛绾�" );
+      sheetProfitabilityColumn := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 19, ColumnName := "澶у紶鐩堝埄" );
+      orderTimeColumn          := globalOTDTable.Global_ShowColumn( relnew, ColumnIndex := 20, ColumnName := "璁㈠崟涓嬪崟鏃堕棿" );
+      i := 1;
+      traverse ( globalOTDTable, Global_MappingCustomOrder, gmco ) {
+        gloabal_ShowRow := globalOTDTable.Global_ShowRow( relnew, RowNr := i );
+        
+        businessTypeCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.BusinessType() );
+        businessTypeCell.Global_ShowColumn( relset, businessTypeColumn );
+        businessTypeCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        currencyIDCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.CurrencyID() );
+        currencyIDCell.Global_ShowColumn( relset, currencyIDColumn );
+        currencyIDCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        customerCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.Customer() );
+        customerCell.Global_ShowColumn( relset, customerColumn );
+        customerCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        customerIDCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.CustomerID() );
+        customerIDCell.Global_ShowColumn( relset, customerIDColumn );
+        customerIDCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        idCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.ID() );
+        idCell.Global_ShowColumn( relset, idColumn );
+        idCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        orderDateCell := globalOTDTable.Global_ShowCell( relnew, Value := guard( gmco.OrderDate().Format( "Y-M2-D2" ), "鏃堕棿鏍煎紡閿欒" ) );
+        orderDateCell.Global_ShowColumn( relset, orderDateColumn );
+        orderDateCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        orderIDCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.OrderID() );
+        orderIDCell.Global_ShowColumn( relset, orderIDColumn );
+        orderIDCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        orderLineIDCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.OrderLineID() );
+        orderLineIDCell.Global_ShowColumn( relset, orderLineIDColumn );
+        orderLineIDCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        priceCell := globalOTDTable.Global_ShowCell( relnew, Value := [String]gmco.Price() );
+        priceCell.Global_ShowColumn( relset, priceColumn );
+        priceCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        priorityNameCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.PriorityName() );
+        priorityNameCell.Global_ShowColumn( relset, priorityNameColumn );
+        priorityNameCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        productIDCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.ProductID() );
+        productIDCell.Global_ShowColumn( relset, productIDColumn );
+        productIDCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        stockingPointIDCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.StockingPointID() );
+        stockingPointIDCell.Global_ShowColumn( relset, stockingPointIDColumn );
+        stockingPointIDCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        salesegmentNameCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.SalesSegmentName() );
+        salesegmentNameCell.Global_ShowColumn( relset, salesegmentNameColumn );
+        salesegmentNameCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        quantityCell := globalOTDTable.Global_ShowCell( relnew, Value := [String]gmco.Quantity() );
+        quantityCell.Global_ShowColumn( relset, quantityColumn );
+        quantityCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        unitofmeasureNameCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.UnitOfMeasureName() );
+        unitofmeasureNameCell.Global_ShowColumn( relset, unitofmeasureNameColumn );
+        unitofmeasureNameCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        orderTypeCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.OrderType() );
+        orderTypeCell.Global_ShowColumn( relset, orderTypeColumn );
+        orderTypeCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        isAvailableCell := globalOTDTable.Global_ShowCell( relnew, Value := [String]gmco.IsAvailable() );
+        isAvailableCell.Global_ShowColumn( relset, isAvailableColumn );
+        isAvailableCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        productGradeCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.ProductGrade() );
+        productGradeCell.Global_ShowColumn( relset, productGradeColumn );
+        productGradeCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        segmentPriorityCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.SegmentPriority() );
+        segmentPriorityCell.Global_ShowColumn( relset, segmentPriorityColumn );
+        segmentPriorityCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        sheetProfitabilityCell := globalOTDTable.Global_ShowCell( relnew, Value := gmco.SheetProfitability() );
+        sheetProfitabilityCell.Global_ShowColumn( relset, sheetProfitabilityColumn );
+        sheetProfitabilityCell.Global_ShowRow( relset, gloabal_ShowRow );
+        
+        orderTimeCell := globalOTDTable.Global_ShowCell( relnew, Value := guard( gmco.OrderTime().Format( "Y-M2-D2" ), "鏃堕棿鏍煎紡閿欒" ) );
+        orderTimeCell.Global_ShowColumn( relset, orderTimeColumn );
+        orderTimeCell.Global_ShowRow( relset, gloabal_ShowRow );
+           
+        i++;                                                             
+      }
+    }
+  *]
+}
diff --git a/_Main/BL/Type_Global_ShowCell/_ROOT_Type_Global_ShowCell.qbl b/_Main/BL/Type_Global_ShowCell/_ROOT_Type_Global_ShowCell.qbl
new file mode 100644
index 0000000..51638e9
--- /dev/null
+++ b/_Main/BL/Type_Global_ShowCell/_ROOT_Type_Global_ShowCell.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_ShowCell
+{
+  #keys: '5[414702.0.483720658][414702.0.483720656][0.0.0][414702.0.483720657][414702.0.483720659]'
+  BaseType: Object
+  StructuredName: 'Global_ShowCells'
+}
diff --git a/_Main/BL/Type_Global_ShowColumn/Attribute_ColumnIndex.qbl b/_Main/BL/Type_Global_ShowColumn/Attribute_ColumnIndex.qbl
new file mode 100644
index 0000000..cccd0ed
--- /dev/null
+++ b/_Main/BL/Type_Global_ShowColumn/Attribute_ColumnIndex.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ColumnIndex
+{
+  #keys: '3[414702.0.487974706][414702.0.487974705][414702.0.487974707]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_Global_ShowColumn/Attribute_ColumnName.qbl b/_Main/BL/Type_Global_ShowColumn/Attribute_ColumnName.qbl
new file mode 100644
index 0000000..1b0b026
--- /dev/null
+++ b/_Main/BL/Type_Global_ShowColumn/Attribute_ColumnName.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ColumnName
+{
+  #keys: '3[414702.0.483720752][414702.0.483720751][414702.0.483720753]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_Global_ShowColumn/_ROOT_Type_Global_ShowColumn.qbl b/_Main/BL/Type_Global_ShowColumn/_ROOT_Type_Global_ShowColumn.qbl
new file mode 100644
index 0000000..19f614d
--- /dev/null
+++ b/_Main/BL/Type_Global_ShowColumn/_ROOT_Type_Global_ShowColumn.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_ShowColumn
+{
+  #keys: '5[414702.0.483720653][414702.0.483720651][0.0.0][414702.0.483720652][414702.0.483720654]'
+  BaseType: Object
+  StructuredName: 'Global_ShowColumns'
+}
diff --git a/_Main/BL/Type_Global_ShowRow/Attribute_RowNr.qbl b/_Main/BL/Type_Global_ShowRow/Attribute_RowNr.qbl
new file mode 100644
index 0000000..06bfcac
--- /dev/null
+++ b/_Main/BL/Type_Global_ShowRow/Attribute_RowNr.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute RowNr
+{
+  #keys: '3[414702.0.483720742][414702.0.483720741][414702.0.483720743]'
+  ValueType: Number
+}
diff --git a/_Main/BL/Type_Global_ShowRow/_ROOT_Type_Global_ShowRow.qbl b/_Main/BL/Type_Global_ShowRow/_ROOT_Type_Global_ShowRow.qbl
new file mode 100644
index 0000000..9c143f2
--- /dev/null
+++ b/_Main/BL/Type_Global_ShowRow/_ROOT_Type_Global_ShowRow.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type Global_ShowRow
+{
+  #keys: '5[414702.0.483720648][414702.0.483720646][0.0.0][414702.0.483720647][414702.0.483720649]'
+  BaseType: Object
+  StructuredName: 'Global_ShowRows'
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def
index 284dbd2..30c3208 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormFillingCapacityScheme/Response_PanelButton_ButtonTransform_OnClick.def
@@ -11,6 +11,10 @@
   *]
   QuillAction
   {
+    Body:
+    [*
+      CustomerAndForecastOrder::CreateData( MacroPlan );
+    *]
     GroupServerCalls: false
   }
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_ListInterfaceTest.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_ListInterfaceTest.def
index e94876e..882b6d4 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_ListInterfaceTest.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_ListInterfaceTest.def
@@ -38,4 +38,22 @@
   [
     Taborder: 0
   ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_ListInterfaceTest_WebMenu_OnClick
+    {
+      #keys: '[414702.0.488307130]'
+      Initiator: 'WebMenu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[1041.0.20211517]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listContextMenuInterfaceTest.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listContextMenuInterfaceTest.def
index d260c2c..8cbab4b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listContextMenuInterfaceTest.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Component_listContextMenuInterfaceTest.def
@@ -3,6 +3,20 @@
 {
   #keys: '[414702.0.459846566]'
   BaseType: 'listContextMenu'
+  Children:
+  [
+    Component MenuCreateShowData
+    {
+      #keys: '[414702.0.488246034]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'VIEW'
+        Taborder: 3
+        Title: '鏄剧ず鏁版嵁'
+      ]
+    }
+  ]
   Properties:
   [
     Taborder: 0
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def
new file mode 100644
index 0000000..052d40d
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormInterfaceTest/Response_ListInterfaceTest_MenuCreateShowData_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: ListInterfaceTest
+Response OnClick (
+  Global_BrokerExecuteLog selection
+) id:Response_ListInterfaceTest_MenuCreateShowData_OnClick
+{
+  #keys: '[414702.0.488307153]'
+  CanBindMultiple: false
+  DefinitionID => /ListInterfaceTest/Responsedef_ListInterfaceTest_WebMenu_OnClick
+  Initiator: 'MenuCreateShowData'
+  QuillAction
+  {
+    Body:
+    [*
+      GlobalOTDTable.Global_ShowRow( relflush );
+      GlobalOTDTable.Global_ShowColumn( relflush );
+      GlobalOTDTable.Global_ShowCell( relflush );
+      
+      Global_ShowCell::ShowData( GlobalOTDTable, selection );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def
index f02625b..d68c8ef 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorBusinessType_OnDataChanged.def
@@ -11,6 +11,7 @@
     [*
       businessTypeList := selectset( GlobalOTDTable,BusinessType,b,true);
       this.Data(&businessTypeList);
+      
       strings := BusinessType::GetBusinessNameStr( GlobalOTDTable );
       DropDownStringListBusinessType.Strings(strings);
     *]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def
new file mode 100644
index 0000000..f73b35a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_MatrixEditorShowInterfaceData.def
@@ -0,0 +1,97 @@
+Quintiq file version 2.0
+Component MatrixEditorShowInterfaceData
+{
+  #keys: '[414702.0.491402111]'
+  BaseType: 'WebMatrixEditor'
+  Children:
+  [
+    Component MatrixEditorCellShowInterfaceData
+    {
+      #keys: '[414702.0.491402112]'
+      BaseType: 'WebMatrixEditorCell'
+      Children:
+      [
+        Component DataExtractorShowInterfaceData
+        {
+          #keys: '[414702.0.491402113]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'GlobalOTDTable'
+            Source: 'GlobalOTDTable'
+            Taborder: 0
+            Transformation: 'Global_ShowCell'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Attributes: 'Value'
+        Column: 'Global_ShowColumn'
+        Row: 'Global_ShowRow'
+        Taborder: 0
+      ]
+    }
+    Component MatrixEditorRowsShowInterfaceData
+    {
+      #keys: '[414702.0.491402116]'
+      BaseType: 'WebMatrixEditorHeaderLevel'
+      Children:
+      [
+        Component DataExtractor703
+        {
+          #keys: '[414702.0.491402117]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'GlobalOTDTable'
+            Source: 'GlobalOTDTable'
+            Taborder: 0
+            Transformation: 'Global_ShowRow'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Legend: 'RowNr'
+        SortCriteria: 'RowNr'
+        Taborder: 1
+      ]
+    }
+    Component MatrixEditorColumnsShowInterfaceData
+    {
+      #keys: '[414702.0.491402120]'
+      BaseType: 'WebMatrixEditorHeaderLevel'
+      Children:
+      [
+        Component DataExtractor253
+        {
+          #keys: '[414702.0.491402121]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'GlobalOTDTable'
+            Source: 'GlobalOTDTable'
+            Taborder: 0
+            Transformation: 'Global_ShowColumn'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Legend: 'ColumnName'
+        SortCriteria: 'ColumnIndex'
+        Taborder: 2
+      ]
+    }
+    #child: matrixEditorActionBarPageShowInterfaceData
+    #child: matrixeditorContextMenuShowInterfaceData
+  ]
+  Properties:
+  [
+    Columns: 'MatrixEditorColumnsShowInterfaceData'
+    ContextMenu: 'matrixeditorContextMenuShowInterfaceData'
+    Rows: 'MatrixEditorRowsShowInterfaceData'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixEditorActionBarPageShowInterfaceData.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixEditorActionBarPageShowInterfaceData.def
new file mode 100644
index 0000000..92920fe
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixEditorActionBarPageShowInterfaceData.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixEditorActionBarPageShowInterfaceData
+{
+  #keys: '[414702.0.491402124]'
+  BaseType: 'matrixEditorActionBarPage'
+  Properties:
+  [
+    Taborder: 3
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixeditorContextMenuShowInterfaceData.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixeditorContextMenuShowInterfaceData.def
new file mode 100644
index 0000000..d8c917e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/Component_matrixeditorContextMenuShowInterfaceData.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixeditorContextMenuShowInterfaceData
+{
+  #keys: '[414702.0.491402127]'
+  BaseType: 'matrixeditorContextMenu'
+  Properties:
+  [
+    Taborder: 4
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def
new file mode 100644
index 0000000..82115f2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormShowInterfaceData/_ROOT_Component_FormShowInterfaceData.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormShowInterfaceData
+{
+  #keys: '[414702.0.484442828]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: MatrixEditorShowInterfaceData
+  ]
+  Properties:
+  [
+    Image: 'PROJECTOR'
+    Title: '鎺ュ彛鏁版嵁鏄剧ず'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/Test.vw b/_Main/UI/MacroPlannerWebApp/Views/Test.vw
index 1f2812b..36dff5d 100644
--- a/_Main/UI/MacroPlannerWebApp/Views/Test.vw
+++ b/_Main/UI/MacroPlannerWebApp/Views/Test.vw
@@ -436,6 +436,523 @@
           }
         }
       }
+      form_FormPriorityPolicy
+      {
+        title: 'QTIANMA_JITUAN::FormPriorityPolicy'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPriorityPolicy'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 32
+          rowSpan: 13
+          columnPosition: 5
+          columnSpan: 8
+        }
+        components
+        {
+          FormPriorityPolicy_ListPriorityPolicy
+          {
+          }
+          FormPriorityPolicy_DataSetLevelPriorityPolicy
+          {
+            groupDepth: -1
+            column_Name
+            {
+              columnId: 'Name'
+              dataPath: 'Name'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_Formula
+            {
+              columnId: 'Formula'
+              dataPath: 'Formula'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_CalculateValue
+            {
+              columnId: 'CalculateValue'
+              dataPath: 'CalculateValue'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_Desc
+            {
+              columnId: 'Desc'
+              dataPath: 'Desc'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+          }
+          FormPriorityPolicy_PanelPriorityPolicyOperation
+          {
+            sizeRatio: 1
+          }
+          FormPriorityPolicy_PanelPriorityPolicyOperationButton
+          {
+            sizeRatio: 1
+          }
+          FormPriorityPolicy_PanelPriorityPolicyCoefficient
+          {
+            sizeRatio: 1
+          }
+        }
+      }
+      form_FormPriorityResult
+      {
+        title: 'QTIANMA_JITUAN::FormPriorityResult'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPriorityResult'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 45
+          rowSpan: 17
+          columnPosition: 1
+          columnSpan: 12
+        }
+        components
+        {
+          FormPriorityResult_PanelPriorityResult
+          {
+            sizeRatio: 1
+          }
+          FormPriorityResult_ListPriorityResult
+          {
+          }
+          FormPriorityResult_DataSetLevelPriorityResult
+          {
+            groupDepth: -1
+            column_SalesSegmentName
+            {
+              columnId: 'SalesSegmentName'
+              dataPath: 'SalesSegmentName'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_ProductID
+            {
+              columnId: 'ProductID'
+              dataPath: 'ProductID'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_Customer
+            {
+              columnId: 'Customer'
+              dataPath: 'Customer'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_BusinessType
+            {
+              columnId: 'BusinessType'
+              dataPath: 'BusinessType'
+              dataType: 'string'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+            column_Quantity
+            {
+              columnId: 'Quantity'
+              dataPath: 'Quantity'
+              dataType: 'real'
+              index: 5
+              subtotals: ''
+              width: 150
+            }
+            column_UnitOfMeasureName
+            {
+              columnId: 'UnitOfMeasureName'
+              dataPath: 'UnitOfMeasureName'
+              dataType: 'string'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+            column_DemandDate
+            {
+              columnId: 'DemandDate'
+              dataPath: 'DemandDate'
+              dataType: 'date'
+              index: 7
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityResultScore
+            {
+              columnId: 'PriorityResultScore'
+              dataPath: 'PriorityResultScore'
+              dataType: 'real'
+              index: 8
+              subtotals: ''
+              width: 150
+            }
+          }
+          FormPriorityResult_PanelPriorityResultDetails
+          {
+            sizeRatio: 1
+          }
+          FormPriorityResult_ListPriorityResultBusinessTypeDetails
+          {
+          }
+          FormPriorityResult_DataSetLevelPriorityResultDetails
+          {
+            groupDepth: -1
+            column_SalesSegmentName
+            {
+              columnId: 'SalesSegmentName'
+              dataPath: 'SalesSegmentName'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_Customer
+            {
+              columnId: 'Customer'
+              dataPath: 'Customer'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_BusinessType
+            {
+              columnId: 'BusinessType'
+              dataPath: 'BusinessType'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_Quantity
+            {
+              columnId: 'Quantity'
+              dataPath: 'Quantity'
+              dataType: 'real'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+            column_UnitOfMeasureName
+            {
+              columnId: 'UnitOfMeasureName'
+              dataPath: 'UnitOfMeasureName'
+              dataType: 'string'
+              index: 5
+              subtotals: ''
+              width: 150
+            }
+            column_DemandDate
+            {
+              columnId: 'DemandDate'
+              dataPath: 'DemandDate'
+              dataType: 'date'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityResultScore
+            {
+              columnId: 'PriorityResultScore'
+              dataPath: 'PriorityResultScore'
+              dataType: 'real'
+              index: 7
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityPolicyName
+            {
+              columnId: 'PriorityPolicyName'
+              dataPath: 'PriorityPolicyName'
+              dataType: 'string'
+              index: 8
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityFactorName
+            {
+              columnId: 'PriorityFactorName'
+              dataPath: 'PriorityFactorName'
+              dataType: 'string'
+              index: 9
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityFactorGradingName
+            {
+              columnId: 'PriorityFactorGradingName'
+              dataPath: 'PriorityFactorGradingName'
+              dataType: 'string'
+              index: 10
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityTotalScore
+            {
+              columnId: 'PriorityTotalScore'
+              dataPath: 'PriorityTotalScore'
+              dataType: 'real'
+              index: 11
+              subtotals: ''
+              width: 150
+            }
+          }
+          FormPriorityResult_ListPriorityResultGroupDetails
+          {
+          }
+          FormPriorityResult_DataSetLevelPriorityResultDetails872
+          {
+            groupDepth: -1
+            column_SalesSegmentName
+            {
+              columnId: 'SalesSegmentName'
+              dataPath: 'SalesSegmentName'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_StockingPointID
+            {
+              columnId: 'StockingPointID'
+              dataPath: 'StockingPointID'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_Customer
+            {
+              columnId: 'Customer'
+              dataPath: 'Customer'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+            column_BusinessType
+            {
+              columnId: 'BusinessType'
+              dataPath: 'BusinessType'
+              dataType: 'string'
+              index: 3
+              subtotals: ''
+              width: 150
+            }
+            column_Quantity
+            {
+              columnId: 'Quantity'
+              dataPath: 'Quantity'
+              dataType: 'real'
+              index: 4
+              subtotals: ''
+              width: 150
+            }
+            column_UnitOfMeasureName
+            {
+              columnId: 'UnitOfMeasureName'
+              dataPath: 'UnitOfMeasureName'
+              dataType: 'string'
+              index: 5
+              subtotals: ''
+              width: 150
+            }
+            column_DemandDate
+            {
+              columnId: 'DemandDate'
+              dataPath: 'DemandDate'
+              dataType: 'date'
+              index: 6
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityResultScore
+            {
+              columnId: 'PriorityResultScore'
+              dataPath: 'PriorityResultScore'
+              dataType: 'real'
+              index: 7
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityPolicyName
+            {
+              columnId: 'PriorityPolicyName'
+              dataPath: 'PriorityPolicyName'
+              dataType: 'string'
+              index: 8
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityFactorName
+            {
+              columnId: 'PriorityFactorName'
+              dataPath: 'PriorityFactorName'
+              dataType: 'string'
+              index: 9
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityFactorGradingName
+            {
+              columnId: 'PriorityFactorGradingName'
+              dataPath: 'PriorityFactorGradingName'
+              dataType: 'string'
+              index: 10
+              subtotals: ''
+              width: 150
+            }
+            column_PriorityTotalScore
+            {
+              columnId: 'PriorityTotalScore'
+              dataPath: 'PriorityTotalScore'
+              dataType: 'real'
+              index: 11
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_FormPriorityFactor
+      {
+        title: 'QTIANMA_JITUAN::FormPriorityFactor'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPriorityFactor'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 37
+          rowSpan: 8
+          columnPosition: 1
+          columnSpan: 4
+        }
+        components
+        {
+          FormPriorityFactor_ListPriorityFactor
+          {
+          }
+          FormPriorityFactor_DataSetLevelPriorityFactor
+          {
+            groupDepth: -1
+            column_Name
+            {
+              columnId: 'Name'
+              dataPath: 'Name'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_Coefficient
+            {
+              columnId: 'Coefficient'
+              dataPath: 'Coefficient'
+              dataType: 'real'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_Desc
+            {
+              columnId: 'Desc'
+              dataPath: 'Desc'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
+      form_FormPriorityFactorGrading
+      {
+        title: 'QTIANMA_JITUAN::FormPriorityFactorGrading'
+        shown: true
+        componentID: 'QTIANMA_JITUAN::FormPriorityFactorGrading'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 32
+          rowSpan: 5
+          columnPosition: 1
+          columnSpan: 4
+        }
+        components
+        {
+          FormPriorityFactorGrading_ListPriorityFactorGrading
+          {
+          }
+          FormPriorityFactorGrading_DataSetLevelPriorityFactorGrading
+          {
+            groupDepth: -1
+            column_GradingName
+            {
+              columnId: 'GradingName'
+              dataPath: 'GradingName'
+              dataType: 'string'
+              index: 0
+              subtotals: ''
+              width: 150
+            }
+            column_GradeValueStr
+            {
+              columnId: 'GradeValueStr'
+              dataPath: 'GradeValueStr'
+              dataType: 'string'
+              index: 1
+              subtotals: ''
+              width: 150
+            }
+            column_GradeDesc
+            {
+              columnId: 'GradeDesc'
+              dataPath: 'GradeDesc'
+              dataType: 'string'
+              index: 2
+              subtotals: ''
+              width: 150
+            }
+          }
+        }
+      }
     }
     userconfigurableinformation
     {
diff --git "a/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw" "b/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw"
index 804f776..43ce5f1 100644
--- "a/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw"
+++ "b/_Main/UI/MacroPlannerWebApp/Views/\346\216\245\345\217\243\346\265\213\350\257\225.vw"
@@ -13,9 +13,9 @@
         {
           mode: 'open'
           rowPosition: 1
-          rowSpan: 16
+          rowSpan: 10
           columnPosition: 1
-          columnSpan: 7
+          columnSpan: 6
         }
         components
         {
@@ -120,10 +120,10 @@
         layout
         {
           mode: 'open'
-          rowPosition: 1
+          rowPosition: 11
           rowSpan: 6
-          columnPosition: 8
-          columnSpan: 4
+          columnPosition: 1
+          columnSpan: 6
         }
         components
         {
@@ -145,123 +145,29 @@
           }
         }
       }
-      form_FormOptimizerPuzzles
+      form_FormShowInterfaceData
       {
-        title: 'Optimizer Puzzles'
-        shown: false
-        componentID: 'FormOptimizerPuzzles'
-        layout
-        {
-          mode: 'dockright'
-          index: 0
-        }
-        components
-        {
-          FormOptimizerPuzzles_ListOptimizerPuzzles
-          {
-          }
-          FormOptimizerPuzzles_DataSetLevelOptimizerPuzzles
-          {
-            groupDepth: -1
-            column_All_constraints
-            {
-              columnId: 'All constraints'
-              dataPath: 'All constraints'
-              dataType: 'string'
-              title: 'All constraints'
-              index: 0
-              subtotals: ''
-              width: 32
-            }
-            column_Name
-            {
-              columnId: 'Name'
-              dataPath: 'Name'
-              dataType: 'string'
-              title: 'Name'
-              index: 1
-              subtotals: ''
-              width: 109
-            }
-            column_Description
-            {
-              columnId: 'Description'
-              dataPath: 'Description'
-              dataType: 'string'
-              title: 'Description'
-              index: 2
-              subtotals: ''
-              width: 207
-            }
-          }
-        }
-      }
-      form_FormKPI
-      {
-        title: 'KPI Dashboard'
+        title: 'QTIANMA_JITUAN::FormShowInterfaceData'
         shown: true
-        componentID: 'FormKPI'
+        componentID: 'QTIANMA_JITUAN::FormShowInterfaceData'
         layout
         {
-          mode: 'dockright'
-          index: 1
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 16
+          columnPosition: 7
+          columnSpan: 6
         }
-        components
-        {
-          FormKPI_PanelKPI
-          {
-            sizeRatio: 1
-            activeChild: 'PanelKPISelection'
-          }
-          FormKPI_PanelKPIDashboard
-          {
-            sizeRatio: 1
-          }
-          FormKPI_PanelKPISelection
-          {
-            sizeRatio: 1
-          }
-          FormKPI_ListKPISelection
-          {
-            QuillViewData
-            {
-              Food_KPISetting: 'Cost of sales;Fulfillment;Fulfillment target;Inventory holding cost;Labor cost;Margin;Safety stock;Sales;Sourcing cost;Total CO2 emission;Transportation cost;Volume'
-            }
-          }
-          FormKPI_DataSetLevelKPISelection
-          {
-            groupDepth: -1
-            column_All_constraints
-            {
-              columnId: 'All constraints'
-              dataPath: 'All constraints'
-              dataType: 'string'
-              title: 'All constraints'
-              index: 0
-              subtotals: ''
-              width: 32
-            }
-            column_Name
-            {
-              columnId: 'Name'
-              dataPath: 'Name'
-              dataType: 'string'
-              title: 'Name'
-              index: 1
-              subtotals: ''
-              width: 200
-            }
-          }
-        }
+        components: null
       }
     }
     userconfigurableinformation
     {
     }
+    image: 'SKIN_TIGER'
     page: ''
     group: ''
     index: 0
-    image: 'SKIN_TIGER'
     description: ''
   }
   formatversion: 2

--
Gitblit v1.9.3