From 291cc6c9a91be1ba5fde759e6c1ad100f49010f5 Mon Sep 17 00:00:00 2001
From: lihongji <3117313295@qq.com>
Date: 星期一, 12 八月 2024 16:27:48 +0800
Subject: [PATCH] 需求上传BUG修复

---
 _Main/BL/Type_CC_EngineRackCell/Attribute_TotalCost.qbl                                                                                   |    8 
 _Main/BL/Type_CC_EngineRackRow/Attribute_MLB_MQB.qbl                                                                                      |    7 
 _Main/BL/Relations/Relation_CC_EngineRackCell_CC_EngineRackColumn_CC_EngineRackColumn_CC_Engine.qbl                                       |   23 +
 _Main/BL/Type_CC_EngineRackCell/StaticMethod_CreateData.qbl                                                                               |   25 +
 _Main/BL/Type_CC_EngineRackRow/_ROOT_Type_CC_EngineRackRow.qbl                                                                            |    9 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bCC_EngineRackReport_OnClick.def |   16 +
 _Main/BL/Relations/Relation_CC_EngineRackColumn_MacroPlan_MacroPlan_CC_EngineRackColumn.qbl                                               |   23 +
 _Main/BL/Type_CC_EngineRackRow/Function_CalcName.qbl                                                                                      |   13 +
 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnCreated.def               |    2 
 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurve.def                                                        |    2 
 _Main/BL/Relations/Relation_CC_EngineRackRow_CC_EngineRackCell_CC_EngineRackCell_CC_EngineRackR.qbl                                       |   23 +
 _Main/BL/Type_CC_EngineRackCell/Attribute_NumberOfEmptyShelves.qbl                                                                        |    8 
 _Main/BL/Type_CC_EngineRackCell/Attribute_EstimatedTotalCost.qbl                                                                          |    8 
 _Main/BL/Type_CC_EngineRackCell/_ROOT_Type_CC_EngineRackCell.qbl                                                                          |    9 
 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurveEnable_cCurveEnable_OnChanged.def                            |    4 
 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/_ROOT_Component_FormCC_EngineRackReport.def                                 |   13 +
 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bRefresh_OnClick.def                                       |   20 +
 _Main/BL/Type_CC_EngineRackCell/Attribute_Coefficient.qbl                                                                                 |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnUserChanged.def           |    2 
 _Main/BL/Type_CC_EngineRackColumn/Attribute_StartDate.qbl                                                                                 |    7 
 _Main/BL/Type_CC_EngineRackColumn/_ROOT_Type_CC_EngineRackColumn.qbl                                                                      |    9 
 _Main/BL/Type_CC_EngineRackRow/Attribute_Generation.qbl                                                                                   |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pContent.def                                                      |   14 +
 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def                                                       |   26 ++
 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurveEnable.def                                                  |    1 
 _Main/BL/Type_CC_EngineRackCell/Attribute_TotalQuantityOfMaterialRacks.qbl                                                                |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_cPPA_OnCreated.def                                            |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixEditorActionBarPage178.def                                  |   10 
 _Main/BL/Type_CC_EngineRackCell/Attribute_CleaningCost.qbl                                                                                |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnCreated.def          |    2 
 _Main/BL/Type_CC_EngineRackCell/Attribute_RentalWarehouseStorageFees.qbl                                                                  |    8 
 _Main/BL/Type_CC_EngineRackCell/Attribute_StorageFeesForRentedWarehouses.qbl                                                              |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAEnable_cPPAEnable_OnChanged.def                                |    6 
 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_MatrixEditor531.def                                               |   98 +++++++
 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurve_bCurve_OnClick.def                                          |    4 
 _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def                                          |   11 
 _Main/UI/MacroPlannerWebApp/Views/CCEngineRackReport.vw                                                                                   |  206 +++++++++++++++
 _Main/BL/Relations/Relation_CC_EngineRackRow_MacroPlan_MacroPlan_CC_EngineRackRow.qbl                                                     |   23 +
 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pPPAEnable.def                                                    |    1 
 _Main/BL/Type_CC_EngineRackCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl                                                  |    8 
 _var/_Main/ProjSettings/EditorTC/Views/班次时间分析_[413988.0.1367211460].vw                                                                    |    2 
 _Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_bPPA_OnClick.def                                              |    4 
 _Main/BL/Type_CC_EngineRackCell/Attribute_OutboundExpensesForRentedWarehouses.qbl                                                         |    8 
 _Main/BL/Type_CC_EngineRackRow/Attribute_Name.qbl                                                                                         |    7 
 _Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixeditorContextMenu683.def                                    |   10 
 45 files changed, 708 insertions(+), 13 deletions(-)

diff --git a/_Main/BL/Relations/Relation_CC_EngineRackCell_CC_EngineRackColumn_CC_EngineRackColumn_CC_Engine.qbl b/_Main/BL/Relations/Relation_CC_EngineRackCell_CC_EngineRackColumn_CC_EngineRackColumn_CC_Engine.qbl
new file mode 100644
index 0000000..76d6e31
--- /dev/null
+++ b/_Main/BL/Relations/Relation_CC_EngineRackCell_CC_EngineRackColumn_CC_EngineRackColumn_CC_Engine.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation CC_EngineRackCell_CC_EngineRackColumn_CC_EngineRackColumn_CC_EngineRackCell
+{
+  #keys: '1[413988.0.1476832592]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide CC_EngineRackColumn
+  {
+    #keys: '3[413988.0.1476832594][413988.0.1476832593][413988.0.1476832595]'
+    Cardinality: '0to1'
+    ObjectDefinition: CC_EngineRackCell
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide CC_EngineRackCell
+  {
+    #keys: '3[413988.0.1476832597][413988.0.1476832596][413988.0.1476832598]'
+    Cardinality: '1toN'
+    ObjectDefinition: CC_EngineRackColumn
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_CC_EngineRackColumn_MacroPlan_MacroPlan_CC_EngineRackColumn.qbl b/_Main/BL/Relations/Relation_CC_EngineRackColumn_MacroPlan_MacroPlan_CC_EngineRackColumn.qbl
new file mode 100644
index 0000000..6ed391f
--- /dev/null
+++ b/_Main/BL/Relations/Relation_CC_EngineRackColumn_MacroPlan_MacroPlan_CC_EngineRackColumn.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation CC_EngineRackColumn_MacroPlan_MacroPlan_CC_EngineRackColumn
+{
+  #keys: '1[413988.0.1476832605]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide MacroPlan
+  {
+    #keys: '3[413988.0.1476832607][413988.0.1476832606][413988.0.1476832608]'
+    Cardinality: '0to1'
+    ObjectDefinition: CC_EngineRackColumn
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide CC_EngineRackColumn
+  {
+    #keys: '3[413988.0.1476832610][413988.0.1476832609][413988.0.1476832611]'
+    Cardinality: '1toN'
+    ObjectDefinition: MacroPlan
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_CC_EngineRackRow_CC_EngineRackCell_CC_EngineRackCell_CC_EngineRackR.qbl b/_Main/BL/Relations/Relation_CC_EngineRackRow_CC_EngineRackCell_CC_EngineRackCell_CC_EngineRackR.qbl
new file mode 100644
index 0000000..40f5ab7
--- /dev/null
+++ b/_Main/BL/Relations/Relation_CC_EngineRackRow_CC_EngineRackCell_CC_EngineRackCell_CC_EngineRackR.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation CC_EngineRackRow_CC_EngineRackCell_CC_EngineRackCell_CC_EngineRackRow
+{
+  #keys: '1[413988.0.1476832579]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide CC_EngineRackCell
+  {
+    #keys: '3[413988.0.1476832581][413988.0.1476832580][413988.0.1476832582]'
+    Cardinality: '1toN'
+    ObjectDefinition: CC_EngineRackRow
+    OwningSide: 'Owned'
+  }
+  RelationSide.RightSide CC_EngineRackRow
+  {
+    #keys: '3[413988.0.1476832584][413988.0.1476832583][413988.0.1476832585]'
+    Cardinality: '0to1'
+    ObjectDefinition: CC_EngineRackCell
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_CC_EngineRackRow_MacroPlan_MacroPlan_CC_EngineRackRow.qbl b/_Main/BL/Relations/Relation_CC_EngineRackRow_MacroPlan_MacroPlan_CC_EngineRackRow.qbl
new file mode 100644
index 0000000..f896813
--- /dev/null
+++ b/_Main/BL/Relations/Relation_CC_EngineRackRow_MacroPlan_MacroPlan_CC_EngineRackRow.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation CC_EngineRackRow_MacroPlan_MacroPlan_CC_EngineRackRow
+{
+  #keys: '1[413988.0.1476832566]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide MacroPlan
+  {
+    #keys: '3[413988.0.1476832568][413988.0.1476832567][413988.0.1476832569]'
+    Cardinality: '0to1'
+    ObjectDefinition: CC_EngineRackRow
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide CC_EngineRackRow
+  {
+    #keys: '3[413988.0.1476832571][413988.0.1476832570][413988.0.1476832572]'
+    Cardinality: '1toN'
+    ObjectDefinition: MacroPlan
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_CleaningCost.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_CleaningCost.qbl
new file mode 100644
index 0000000..6c17882
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_CleaningCost.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute CleaningCost
+{
+  #keys: '3[413988.0.1476832734][413988.0.1476832733][413988.0.1476832735]'
+  Description: '娓呮礂璐圭敤'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_Coefficient.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_Coefficient.qbl
new file mode 100644
index 0000000..759cfb1
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_Coefficient.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Coefficient
+{
+  #keys: '3[413988.0.1476832767][413988.0.1476832766][413988.0.1476832768]'
+  Description: '绯绘暟'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_EstimatedTotalCost.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_EstimatedTotalCost.qbl
new file mode 100644
index 0000000..492f6a1
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_EstimatedTotalCost.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute EstimatedTotalCost
+{
+  #keys: '3[413988.0.1476832744][413988.0.1476832743][413988.0.1476832745]'
+  Description: '棰勮鎬昏垂鐢�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl
new file mode 100644
index 0000000..5906af1
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_ExternalRentalWarehouseTransportationCosts.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ExternalRentalWarehouseTransportationCosts
+{
+  #keys: '3[413988.0.1476832711][413988.0.1476832710][413988.0.1476832712]'
+  Description: '澶栫搴撹繍杈撹垂鐢�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_NumberOfEmptyShelves.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_NumberOfEmptyShelves.qbl
new file mode 100644
index 0000000..932717f
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_NumberOfEmptyShelves.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute NumberOfEmptyShelves
+{
+  #keys: '3[413988.0.1476832678][413988.0.1476832677][413988.0.1476832679]'
+  Description: '绌烘枡鏋舵暟閲�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_OutboundExpensesForRentedWarehouses.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_OutboundExpensesForRentedWarehouses.qbl
new file mode 100644
index 0000000..4a5e80d
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_OutboundExpensesForRentedWarehouses.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute OutboundExpensesForRentedWarehouses
+{
+  #keys: '3[413988.0.1476832701][413988.0.1476832700][413988.0.1476832702]'
+  Description: '澶栫搴撳嚭搴撹垂鐢�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_RentalWarehouseStorageFees.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_RentalWarehouseStorageFees.qbl
new file mode 100644
index 0000000..09df526
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_RentalWarehouseStorageFees.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute RentalWarehouseStorageFees
+{
+  #keys: '3[413988.0.1476832724][413988.0.1476832723][413988.0.1476832725]'
+  Description: '澶栫搴撲粨鍌ㄨ垂鐢�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_StorageFeesForRentedWarehouses.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_StorageFeesForRentedWarehouses.qbl
new file mode 100644
index 0000000..fe287f9
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_StorageFeesForRentedWarehouses.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StorageFeesForRentedWarehouses
+{
+  #keys: '3[413988.0.1476832691][413988.0.1476832690][413988.0.1476832692]'
+  Description: '澶栫搴撳叆搴撹垂鐢�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_TotalCost.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_TotalCost.qbl
new file mode 100644
index 0000000..491e2a8
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_TotalCost.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute TotalCost
+{
+  #keys: '3[413988.0.1476832757][413988.0.1476832756][413988.0.1476832758]'
+  Description: '鎬昏垂鐢�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/Attribute_TotalQuantityOfMaterialRacks.qbl b/_Main/BL/Type_CC_EngineRackCell/Attribute_TotalQuantityOfMaterialRacks.qbl
new file mode 100644
index 0000000..9d71cb2
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/Attribute_TotalQuantityOfMaterialRacks.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute TotalQuantityOfMaterialRacks
+{
+  #keys: '3[413988.0.1476832665][413988.0.1476832664][413988.0.1476832666]'
+  Description: '鏂欐灦鎬绘暟閲�'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/StaticMethod_CreateData.qbl b/_Main/BL/Type_CC_EngineRackCell/StaticMethod_CreateData.qbl
new file mode 100644
index 0000000..51d54a2
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/StaticMethod_CreateData.qbl
@@ -0,0 +1,25 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod CreateData (
+  MacroPlan macroPlan
+)
+{
+  TextBody:
+  [*
+    macroPlan.CC_EngineRackRow( relflush );
+    macroPlan.CC_EngineRackColumn( relflush );
+    
+    // 鍒涘缓琛孍VO5 MLB, EVO5 MQB, GEN3 MLB, GEN3 MQB
+    macroPlan.CC_EngineRackRow( relnew, Generation := "EVO5", MLB_MQB := "MLB" );
+    macroPlan.CC_EngineRackRow( relnew, Generation := "EVO5", MLB_MQB := "MQB" );
+    macroPlan.CC_EngineRackRow( relnew, Generation := "GEN3", MLB_MQB := "MLB" );
+    macroPlan.CC_EngineRackRow( relnew, Generation := "GEN3", MLB_MQB := "MQB" );
+    
+    // 鍒涘缓鍒�
+    indexDate := macroPlan.StartOfPlanning().Date().StartOfMonth();
+    for ( i := 0; i < 12; i++ ) {
+      macroPlan.CC_EngineRackColumn( relnew, StartDate := indexDate );
+      indexDate := indexDate.StartOfNextMonth();
+    }
+  *]
+}
diff --git a/_Main/BL/Type_CC_EngineRackCell/_ROOT_Type_CC_EngineRackCell.qbl b/_Main/BL/Type_CC_EngineRackCell/_ROOT_Type_CC_EngineRackCell.qbl
new file mode 100644
index 0000000..c95d6fa
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackCell/_ROOT_Type_CC_EngineRackCell.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type CC_EngineRackCell
+{
+  #keys: '5[413988.0.1476832563][413988.0.1476832561][0.0.0][413988.0.1476832562][413988.0.1476832564]'
+  BaseType: Object
+  StructuredName: 'CC_EngineRackCells'
+}
diff --git a/_Main/BL/Type_CC_EngineRackColumn/Attribute_StartDate.qbl b/_Main/BL/Type_CC_EngineRackColumn/Attribute_StartDate.qbl
new file mode 100644
index 0000000..d9c6682
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackColumn/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+  #keys: '3[413988.0.1476832655][413988.0.1476832654][413988.0.1476832656]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_CC_EngineRackColumn/_ROOT_Type_CC_EngineRackColumn.qbl b/_Main/BL/Type_CC_EngineRackColumn/_ROOT_Type_CC_EngineRackColumn.qbl
new file mode 100644
index 0000000..99a2deb
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackColumn/_ROOT_Type_CC_EngineRackColumn.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type CC_EngineRackColumn
+{
+  #keys: '5[413988.0.1476832558][413988.0.1476832556][0.0.0][413988.0.1476832557][413988.0.1476832559]'
+  BaseType: Object
+  StructuredName: 'CC_EngineRackColumns'
+}
diff --git a/_Main/BL/Type_CC_EngineRackRow/Attribute_Generation.qbl b/_Main/BL/Type_CC_EngineRackRow/Attribute_Generation.qbl
new file mode 100644
index 0000000..8e44d15
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackRow/Attribute_Generation.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Generation
+{
+  #keys: '3[413988.0.1476832621][413988.0.1476832620][413988.0.1476832622]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_CC_EngineRackRow/Attribute_MLB_MQB.qbl b/_Main/BL/Type_CC_EngineRackRow/Attribute_MLB_MQB.qbl
new file mode 100644
index 0000000..b8c24e0
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackRow/Attribute_MLB_MQB.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MLB_MQB
+{
+  #keys: '3[413988.0.1476832631][413988.0.1476832630][413988.0.1476832632]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_CC_EngineRackRow/Attribute_Name.qbl b/_Main/BL/Type_CC_EngineRackRow/Attribute_Name.qbl
new file mode 100644
index 0000000..1fe00e4
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackRow/Attribute_Name.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Name
+{
+  #keys: '3[413988.0.1476832641][413988.0.1476832640][413988.0.1476832642]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_CC_EngineRackRow/Function_CalcName.qbl b/_Main/BL/Type_CC_EngineRackRow/Function_CalcName.qbl
new file mode 100644
index 0000000..cc3f7b8
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackRow/Function_CalcName.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcName
+{
+  TextBody:
+  [*
+    // lihongji Aug-12-2024 (created)
+    
+    value := this.Generation() + " " + this.MLB_MQB();
+    
+    this.Name( value );
+  *]
+}
diff --git a/_Main/BL/Type_CC_EngineRackRow/_ROOT_Type_CC_EngineRackRow.qbl b/_Main/BL/Type_CC_EngineRackRow/_ROOT_Type_CC_EngineRackRow.qbl
new file mode 100644
index 0000000..dd3f907
--- /dev/null
+++ b/_Main/BL/Type_CC_EngineRackRow/_ROOT_Type_CC_EngineRackRow.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type CC_EngineRackRow
+{
+  #keys: '5[413988.0.1476832553][413988.0.1476832551][0.0.0][413988.0.1476832552][413988.0.1476832554]'
+  BaseType: Object
+  StructuredName: 'CC_EngineRackRows'
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
index a385b33..4572beb 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
@@ -130,6 +130,17 @@
         Taborder: 9
       ]
     }
+    Component bCC_EngineRackReport
+    {
+      #keys: '[413988.0.1477120930]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'SATELLITE'
+        Label: '闀挎槬鍙戝姩鏈烘枡鏋舵姤琛�'
+        Taborder: 10
+      ]
+    }
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bCC_EngineRackReport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bCC_EngineRackReport_OnClick.def
new file mode 100644
index 0000000..1a91ad9
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_bCC_EngineRackReport_OnClick.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: ActionBarGroupReport/bCC_EngineRackReport
+Response OnClick () id:Response_MacroPlanner_ActionBarGroupReport_bCC_EngineRackReport_OnClick
+{
+  #keys: '[413988.0.1477121059]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      ApplicationScope.ViewManager().ResetUserViewById( "CCEngineRackReport", true);
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurve.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurve.def
index adffbb1..1f2d31d 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurve.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurve.def
@@ -11,7 +11,6 @@
       BaseType: 'WebEditField'
       Properties:
       [
-        Enabled: false
         NumberOfColumns: 60
         Taborder: 1
       ]
@@ -33,6 +32,7 @@
       BaseType: 'WebLabel'
       Properties:
       [
+        Label: 'Curve'
         NumberOfColumns: 0
         Taborder: 0
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurveEnable.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurveEnable.def
index e1fca08..7162d7b 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurveEnable.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pCurveEnable.def
@@ -32,5 +32,6 @@
     FixedSize: true
     Orientation: 'horizontal'
     Taborder: 7
+    Visible: false
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pPPAEnable.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pPPAEnable.def
index 914e317..6c66c50 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pPPAEnable.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Component_pPPAEnable.def
@@ -11,7 +11,6 @@
       BaseType: 'WebCheckbox'
       Properties:
       [
-        Checked: true
         Label: '涓婁紶PPA'
         Taborder: 1
       ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurveEnable_cCurveEnable_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurveEnable_cCurveEnable_OnChanged.def
index f23663f..97c1f53 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurveEnable_cCurveEnable_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurveEnable_cCurveEnable_OnChanged.def
@@ -9,8 +9,8 @@
   {
     Body:
     [*
-      efCurve.Enabled( this.Checked(), "" );
-      cPreviousEditionCurve.Enabled( this.Checked(), "" );
+      //efCurve.Enabled( this.Checked(), "" );
+      //cPreviousEditionCurve.Enabled( this.Checked(), "" );
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurve_bCurve_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurve_bCurve_OnClick.def
index 72eaf70..c88046e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurve_bCurve_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pCurve_bCurve_OnClick.def
@@ -7,7 +7,7 @@
   DefinitionID: 'Responsedef_WebButton_OnClick'
   Precondition:
   [*
-    return cCurveEnable.Checked();
+    //return cCurveEnable.Checked();
   *]
   QuillAction
   {
@@ -29,6 +29,8 @@
           efCurve.Text( fileName );
           dhBinaryDataCurve.Data( &webFileBinaryData );
           dhOriginalFileNameCurve.Data( fileName );
+          
+          cCurveEnable.Checked( true );
         }
       } onerror {
         WebMessageBox::Error( e.GeneralInformation() );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnCreated.def
index 49d9857..b1bd376 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      this.Enabled( cPPAEnable.Checked(), "" );
+      //this.Enabled( cPPAEnable.Checked(), "" );
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnUserChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnUserChanged.def
index 56212dd..6e59ccd 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnUserChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAArchiveEnable_cPPAPPAArchiveEnable_OnUserChanged.def
@@ -27,6 +27,8 @@
         dhBinaryDataPPA.Data( BinaryData::FromBase64EncodedString( dhLocalBinaryDataPPA.Data().AsBase64EncodedString() ) );
         dhOriginalFileNamePPA.Data( dhLocalOriginalFileNamePPA.Data() );
       }
+      
+      cPPAEnable.Checked( true );
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAEnable_cPPAEnable_OnChanged.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAEnable_cPPAEnable_OnChanged.def
index 2bafc54..33d8285 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAEnable_cPPAEnable_OnChanged.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPAEnable_cPPAEnable_OnChanged.def
@@ -9,9 +9,9 @@
   {
     Body:
     [*
-      efPPA.Enabled( this.Checked(), "" );
-      cPPA.Enabled( this.Checked(), "" );
-      cPPAPPAArchiveEnable.Enabled( this.Checked(), "" );
+      //efPPA.Enabled( this.Checked(), "" );
+      //cPPA.Enabled( this.Checked(), "" );
+      //cPPAPPAArchiveEnable.Enabled( this.Checked(), "" );
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_bPPA_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_bPPA_OnClick.def
index 0110168..46226c9 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_bPPA_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_bPPA_OnClick.def
@@ -7,7 +7,7 @@
   DefinitionID: 'Responsedef_WebButton_OnClick'
   Precondition:
   [*
-    return cPPAEnable.Checked();
+    //return cPPAEnable.Checked();
   *]
   QuillAction
   {
@@ -29,6 +29,8 @@
           efPPA.Text( fileName );
           dhBinaryDataPPA.Data( &webFileBinaryData );
           dhOriginalFileNamePPA.Data( fileName );
+          
+          cPPAEnable.Checked( true );
         }
       } onerror {
         WebMessageBox::Error( e.GeneralInformation() );
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_cPPA_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_cPPA_OnCreated.def
index 5b53a0b..6510f56 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_cPPA_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPPA_cPPA_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      this.Enabled( cPPAEnable.Checked(), "" );
+      //this.Enabled( cPPAEnable.Checked(), "" );
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnCreated.def
index 2a9aa8d..feb6b37 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnCreated.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogRequirementUpload/Response_pPreviousEditionCurve_cPreviousEditionCurve_OnCreated.def
@@ -9,7 +9,7 @@
   {
     Body:
     [*
-      this.Enabled( cCurveEnable.Checked(), "" );
+      //this.Enabled( cCurveEnable.Checked(), "" );
     *]
     GroupServerCalls: false
   }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_MatrixEditor531.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_MatrixEditor531.def
new file mode 100644
index 0000000..6179223
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_MatrixEditor531.def
@@ -0,0 +1,98 @@
+Quintiq file version 2.0
+Component MatrixEditor531
+{
+  #keys: '[413988.0.1478231769]'
+  BaseType: 'WebMatrixEditor'
+  Children:
+  [
+    Component MatrixEditorCell611
+    {
+      #keys: '[413988.0.1478231770]'
+      BaseType: 'WebMatrixEditorCell'
+      Children:
+      [
+        Component DataExtractor453
+        {
+          #keys: '[413988.0.1478231771]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'MacroPlan'
+            Source: 'MacroPlan'
+            Taborder: 0
+            Transformation: 'CC_EngineRackRow.CC_EngineRackCell'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Attributes: 'TotalQuantityOfMaterialRacks;NumberOfEmptyShelves;StorageFeesForRentedWarehouses;OutboundExpensesForRentedWarehouses;ExternalRentalWarehouseTransportationCosts;RentalWarehouseStorageFees;CleaningCost;EstimatedTotalCost;Coefficient;TotalCost'
+        Column: 'CC_EngineRackColumn'
+        Row: 'CC_EngineRackRow'
+        Taborder: 0
+      ]
+    }
+    Component MatrixEditorRows933
+    {
+      #keys: '[413988.0.1478231774]'
+      BaseType: 'WebMatrixEditorHeaderLevel'
+      Children:
+      [
+        Component DataExtractor852
+        {
+          #keys: '[413988.0.1478231775]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'MacroPlan'
+            Source: 'MacroPlan'
+            Taborder: 0
+            Transformation: 'CC_EngineRackRow'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Legend: 'Name'
+        SortCriteria: 'Name'
+        Taborder: 1
+      ]
+    }
+    Component MatrixEditorColumns163
+    {
+      #keys: '[413988.0.1478231778]'
+      BaseType: 'WebMatrixEditorHeaderLevel'
+      Children:
+      [
+        Component DataExtractor403
+        {
+          #keys: '[413988.0.1478231779]'
+          BaseType: 'WebDataExtractor'
+          Properties:
+          [
+            DataType: 'MacroPlan'
+            Source: 'MacroPlan'
+            Taborder: 0
+            Transformation: 'CC_EngineRackColumn'
+          ]
+        }
+      ]
+      Properties:
+      [
+        Legend: 'StartDate'
+        SortCriteria: 'StartDate'
+        Taborder: 2
+      ]
+    }
+    #child: matrixEditorActionBarPage178
+    #child: matrixeditorContextMenu683
+  ]
+  Properties:
+  [
+    AllowMultipleAttributes: true
+    Columns: 'MatrixEditorColumns163'
+    ContextMenu: 'matrixeditorContextMenu683'
+    Rows: 'MatrixEditorRows933'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixEditorActionBarPage178.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixEditorActionBarPage178.def
new file mode 100644
index 0000000..f3c1018
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixEditorActionBarPage178.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixEditorActionBarPage178
+{
+  #keys: '[413988.0.1478231782]'
+  BaseType: 'matrixEditorActionBarPage'
+  Properties:
+  [
+    Taborder: 3
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixeditorContextMenu683.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixeditorContextMenu683.def
new file mode 100644
index 0000000..8625d7e
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_matrixeditorContextMenu683.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component matrixeditorContextMenu683
+{
+  #keys: '[413988.0.1478231785]'
+  BaseType: 'matrixeditorContextMenu'
+  Properties:
+  [
+    Taborder: 4
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pContent.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pContent.def
new file mode 100644
index 0000000..565cb90
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pContent.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+Component pContent
+{
+  #keys: '[413988.0.1478230471]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    #child: MatrixEditor531
+  ]
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def
new file mode 100644
index 0000000..67e1268
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Component_pHeader.def
@@ -0,0 +1,26 @@
+Quintiq file version 2.0
+Component pHeader
+{
+  #keys: '[413988.0.1478230459]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component bRefresh
+    {
+      #keys: '[413988.0.1478230548]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'REFRESH'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Border: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bRefresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bRefresh_OnClick.def
new file mode 100644
index 0000000..f544dae
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/Response_pHeader_bRefresh_OnClick.def
@@ -0,0 +1,20 @@
+Quintiq file version 2.0
+#parent: pHeader/bRefresh
+Response OnClick () id:Response_pHeader_bRefresh_OnClick
+{
+  #keys: '[413988.0.1478230577]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      CC_EngineRackCell::CreateData( MacroPlan );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/_ROOT_Component_FormCC_EngineRackReport.def b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/_ROOT_Component_FormCC_EngineRackReport.def
new file mode 100644
index 0000000..4e8e307
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormCC_EngineRackReport/_ROOT_Component_FormCC_EngineRackReport.def
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent FormCC_EngineRackReport
+{
+  #keys: '[413988.0.1478230433]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pHeader
+    #child: pContent
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Views/CCEngineRackReport.vw b/_Main/UI/MacroPlannerWebApp/Views/CCEngineRackReport.vw
new file mode 100644
index 0000000..dbdb6c2
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Views/CCEngineRackReport.vw
@@ -0,0 +1,206 @@
+Quintiq file version 2.0
+{
+  viewcontents
+  {
+    forms
+    {
+      form_FormCC_EngineRackReport
+      {
+        title: 'QMacroPlanner::FormCC_EngineRackReport'
+        shown: true
+        componentID: 'QMacroPlanner::FormCC_EngineRackReport'
+        layout
+        {
+          mode: 'open'
+          rowPosition: 1
+          rowSpan: 14
+          columnPosition: 1
+          columnSpan: 12
+        }
+        components
+        {
+          FormCC_EngineRackReport_pHeader
+          {
+            sizeRatio: 1
+          }
+          FormCC_EngineRackReport_pContent
+          {
+            sizeRatio: 1
+          }
+          FormCC_EngineRackReport_MatrixEditor531
+          {
+            gridColor: '#c4c4c4'
+            totalHeaderWidth: 200
+            attributeHeaderWidthRatio: 0.6
+            nameHeaderWidthRatio: 0.4
+            columnWidth: 100
+            horizontalGrid: true
+            verticalGrid: true
+            backendState
+            {
+              componentId: 'QMacroPlanner::FormCC_EngineRackReport.MatrixEditor531'
+              state
+              {
+                cells
+                {
+                  attributes
+                  {
+                    attribute_TotalQuantityOfMaterialRacks
+                    {
+                      type: 'MatrixEditorWebApiCellDataModelInterest'
+                      index: 0
+                      rowsubtotal: ''
+                      columnsubtotal: ''
+                      attribute: 'TotalQuantityOfMaterialRacks'
+                    }
+                    attribute_NumberOfEmptyShelves
+                    {
+                      type: 'MatrixEditorWebApiCellDataModelInterest'
+                      index: 1
+                      rowsubtotal: ''
+                      columnsubtotal: ''
+                      attribute: 'NumberOfEmptyShelves'
+                    }
+                    attribute_StorageFeesForRentedWarehouses
+                    {
+                      type: 'MatrixEditorWebApiCellDataModelInterest'
+                      index: 2
+                      rowsubtotal: ''
+                      columnsubtotal: ''
+                      attribute: 'StorageFeesForRentedWarehouses'
+                    }
+                    attribute_OutboundExpensesForRentedWarehouses
+                    {
+                      type: 'MatrixEditorWebApiCellDataModelInterest'
+                      index: 3
+                      rowsubtotal: ''
+                      columnsubtotal: ''
+                      attribute: 'OutboundExpensesForRentedWarehouses'
+                    }
+                    attribute_ExternalRentalWarehouseTransportationCosts
+                    {
+                      type: 'MatrixEditorWebApiCellDataModelInterest'
+                      index: 4
+                      rowsubtotal: ''
+                      columnsubtotal: ''
+                      attribute: 'ExternalRentalWarehouseTransportationCosts'
+                    }
+                    attribute_RentalWarehouseStorageFees
+                    {
+                      type: 'MatrixEditorWebApiCellDataModelInterest'
+                      index: 5
+                      rowsubtotal: ''
+                      columnsubtotal: ''
+                      attribute: 'RentalWarehouseStorageFees'
+                    }
+                    attribute_CleaningCost
+                    {
+                      type: 'MatrixEditorWebApiCellDataModelInterest'
+                      index: 6
+                      rowsubtotal: ''
+                      columnsubtotal: ''
+                      attribute: 'CleaningCost'
+                    }
+                    attribute_EstimatedTotalCost
+                    {
+                      type: 'MatrixEditorWebApiCellDataModelInterest'
+                      index: 7
+                      rowsubtotal: ''
+                      columnsubtotal: ''
+                      attribute: 'EstimatedTotalCost'
+                    }
+                    attribute_Coefficient
+                    {
+                      type: 'MatrixEditorWebApiCellDataModelInterest'
+                      index: 8
+                      rowsubtotal: ''
+                      columnsubtotal: ''
+                      attribute: 'Coefficient'
+                    }
+                    attribute_TotalCost
+                    {
+                      type: 'MatrixEditorWebApiCellDataModelInterest'
+                      index: 9
+                      rowsubtotal: ''
+                      columnsubtotal: ''
+                      attribute: 'TotalCost'
+                    }
+                  }
+                }
+                columns
+                {
+                  sorting
+                  {
+                    criteria: "datamember:'StartDate'"
+                  }
+                }
+                rows
+                {
+                  sorting
+                  {
+                    criteria: "datamember:'Name'"
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+      form_FormGeneralSettings
+      {
+        title: 'General Settings'
+        shown: true
+        componentID: 'FormGeneralSettings'
+        layout
+        {
+          mode: 'dockright'
+          index: 0
+        }
+        components
+        {
+          FormGeneralSettings_PanelContent
+          {
+            sizeRatio: 1
+          }
+          FormGeneralSettings_PanelGeneralParameter
+          {
+            sizeRatio: 1
+          }
+          FormGeneralSettings_PanelLeadTimeDependent
+          {
+            sizeRatio: 1
+          }
+          FormGeneralSettings_PanelShelfLife
+          {
+            sizeRatio: 1
+          }
+          FormGeneralSettings_PanelSustainability
+          {
+            sizeRatio: 1
+          }
+          FormGeneralSettings_PanelForecastNetting
+          {
+            sizeRatio: 1
+          }
+          FormGeneralSettings_PanelActions
+          {
+            sizeRatio: 1
+          }
+        }
+      }
+    }
+    userconfigurableinformation
+    {
+    }
+    page: ''
+    group: ''
+    index: 0
+    image: 'SATELLITE'
+    description: ''
+  }
+  formatversion: 2
+  id: 'CCEngineRackReport'
+  name: 'CCEngineRackReport'
+  isglobal: false
+  isroot: true
+}
diff --git "a/_var/_Main/ProjSettings/EditorTC/Views/\347\217\255\346\254\241\346\227\266\351\227\264\345\210\206\346\236\220_\133413988.0.1367211460\135.vw" "b/_var/_Main/ProjSettings/EditorTC/Views/\347\217\255\346\254\241\346\227\266\351\227\264\345\210\206\346\236\220_\133413988.0.1367211460\135.vw"
index 9b27eac..2fa4484 100644
--- "a/_var/_Main/ProjSettings/EditorTC/Views/\347\217\255\346\254\241\346\227\266\351\227\264\345\210\206\346\236\220_\133413988.0.1367211460\135.vw"
+++ "b/_var/_Main/ProjSettings/EditorTC/Views/\347\217\255\346\254\241\346\227\266\351\227\264\345\210\206\346\236\220_\133413988.0.1367211460\135.vw"
@@ -17,7 +17,7 @@
   CREATIONUSER 'quintiq/lihongji'
   UPDATEDATETIME '2024-07-16T11:47:37'
   UPDATEUSER 'quintiq/lihongji'
-  LASTACCESSDATE '2024-08-07'
+  LASTACCESSDATE '2024-08-12'
   VIEWSCOPE 0
 }
 AUTHORIZATIONS

--
Gitblit v1.9.3