From 820c8a6a21bdc8c16e7f30ba77d6d2851ee1e9c8 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期四, 08 八月 2024 16:57:17 +0800
Subject: [PATCH] 财务产量报表添加二维表

---
 _Main/BL/Type_FinancialProductionImportData/Attribute_Power.qbl                                     |    7 ++
 _Main/BL/Type_FinancialProductionImportData/Attribute_Quantity.qbl                                  |    7 ++
 _Main/BL/Type_FinancialProductionImportData/_ROOT_Type_FinancialProductionImportData.qbl            |   10 +++
 _Main/BL/Type_FinancialProductionImportData/Attribute_StartDate.qbl                                 |    7 ++
 _Main/BL/Type_FinancialProductionImportData/DefaultValue_Power.qbl                                  |    6 ++
 _Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl                                 |    5 +
 _Main/BL/Type_FinancialProductionImportData/DefaultValue_Generation.qbl                             |    6 ++
 _Main/BL/Type_FinancialProductionImportData/DefaultValue_MqbMlb.qbl                                 |    6 ++
 _Main/BL/Type_FinancialProductionImportData/Attribute_MqbMlb.qbl                                    |    7 ++
 _Main/BL/Relations/Relation_FinancialProductionImportData_Cell_FinancialProductionCell_ImportDa.qbl |   23 +++++++
 _Main/BL/Type_FinancialProductionImportData/Attribute_Generation.qbl                                |    7 ++
 _Main/BL/Type_FinancialProductionImportData/Function_CalcQuantity.qbl                               |   13 ++++
 _Main/BL/Type_FinancialProductionRow/Method_Initialize#110.qbl                                      |   10 +++
 _Main/BL/Type_FinancialProductionReport/Method_GetRowByUnit.qbl                                     |    8 +-
 _Main/BL/Type_FinancialProductionImportData/Attribute_Unit.qbl                                      |    8 ++
 _Main/BL/Relations/Relation_FinancialProductionImportData_MacroPlan_MacroPlan_FPImportData.qbl      |   23 +++++++
 _Main/BL/Type_FinancialProductionImportData/Attribute_ProductID.qbl                                 |    8 ++
 17 files changed, 155 insertions(+), 6 deletions(-)

diff --git a/_Main/BL/Relations/Relation_FinancialProductionImportData_Cell_FinancialProductionCell_ImportDa.qbl b/_Main/BL/Relations/Relation_FinancialProductionImportData_Cell_FinancialProductionCell_ImportDa.qbl
new file mode 100644
index 0000000..f518aa0
--- /dev/null
+++ b/_Main/BL/Relations/Relation_FinancialProductionImportData_Cell_FinancialProductionCell_ImportDa.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation FinancialProductionImportData_Cell_FinancialProductionCell_ImportData
+{
+  #keys: '1[415136.0.978940064]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide Cell
+  {
+    #keys: '3[415136.0.978940066][415136.0.978940065][415136.0.978940067]'
+    Cardinality: '0to1'
+    ObjectDefinition: FinancialProductionImportData
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide ImportData
+  {
+    #keys: '3[415136.0.978940069][415136.0.978940068][415136.0.978940070]'
+    Cardinality: '0to1'
+    ObjectDefinition: FinancialProductionCell
+    OwningSide: 'Reference'
+  }
+}
diff --git a/_Main/BL/Relations/Relation_FinancialProductionImportData_MacroPlan_MacroPlan_FPImportData.qbl b/_Main/BL/Relations/Relation_FinancialProductionImportData_MacroPlan_MacroPlan_FPImportData.qbl
new file mode 100644
index 0000000..ae0cc0a
--- /dev/null
+++ b/_Main/BL/Relations/Relation_FinancialProductionImportData_MacroPlan_MacroPlan_FPImportData.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation FinancialProductionImportData_MacroPlan_MacroPlan_FPImportData
+{
+  #keys: '1[415136.0.978920031]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide MacroPlan
+  {
+    #keys: '3[415136.0.978920033][415136.0.978920032][415136.0.978920034]'
+    Cardinality: '0to1'
+    ObjectDefinition: FinancialProductionImportData
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide FPImportData
+  {
+    #keys: '3[415136.0.978920036][415136.0.978920035][415136.0.978920037]'
+    Cardinality: '1toN'
+    ObjectDefinition: MacroPlan
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_Generation.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_Generation.qbl
new file mode 100644
index 0000000..e13e182
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_Generation.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Generation
+{
+  #keys: '3[415136.0.978920071][415136.0.978920070][415136.0.978920072]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_MqbMlb.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_MqbMlb.qbl
new file mode 100644
index 0000000..ebd546f
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_MqbMlb.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute MqbMlb
+{
+  #keys: '3[415136.0.978920068][415136.0.978920067][415136.0.978920069]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_Power.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_Power.qbl
new file mode 100644
index 0000000..c34c582
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_Power.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Power
+{
+  #keys: '3[415136.0.978920065][415136.0.978920064][415136.0.978920066]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_ProductID.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_ProductID.qbl
new file mode 100644
index 0000000..a8b2d86
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_ProductID.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[415136.0.978920045][415136.0.978920044][415136.0.978920046]'
+  Description: '浜у搧ID'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_Quantity.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_Quantity.qbl
new file mode 100644
index 0000000..cc92bcf
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+  #keys: '3[415136.0.978920075][415136.0.978920074][415136.0.978920076]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_StartDate.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_StartDate.qbl
new file mode 100644
index 0000000..dc1960d
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_StartDate.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute StartDate
+{
+  #keys: '3[415136.0.978920085][415136.0.978920084][415136.0.978920086]'
+  ValueType: Date
+}
diff --git a/_Main/BL/Type_FinancialProductionImportData/Attribute_Unit.qbl b/_Main/BL/Type_FinancialProductionImportData/Attribute_Unit.qbl
new file mode 100644
index 0000000..03cce08
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionImportData/Attribute_Unit.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Unit
+{
+  #keys: '3[415136.0.978920055][415136.0.978920054][415136.0.978920056]'
+  Description: '宸ュ巶鍚嶇О'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_FinancialProductionImportData/DefaultValue_Generation.qbl b/_Main/BL/Type_FinancialProductionImportData/DefaultValue_Generation.qbl
new file mode 100644
index 0000000..9e5b51e
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionImportData/DefaultValue_Generation.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: Generation
+}
diff --git a/_Main/BL/Type_FinancialProductionImportData/DefaultValue_MqbMlb.qbl b/_Main/BL/Type_FinancialProductionImportData/DefaultValue_MqbMlb.qbl
new file mode 100644
index 0000000..78982c5
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionImportData/DefaultValue_MqbMlb.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: MqbMlb
+}
diff --git a/_Main/BL/Type_FinancialProductionImportData/DefaultValue_Power.qbl b/_Main/BL/Type_FinancialProductionImportData/DefaultValue_Power.qbl
new file mode 100644
index 0000000..4922731
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionImportData/DefaultValue_Power.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+DefaultValue
+{
+  TargetAttribute: Power
+}
diff --git a/_Main/BL/Type_FinancialProductionImportData/Function_CalcQuantity.qbl b/_Main/BL/Type_FinancialProductionImportData/Function_CalcQuantity.qbl
new file mode 100644
index 0000000..eb3e7a1
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionImportData/Function_CalcQuantity.qbl
@@ -0,0 +1,13 @@
+Quintiq file version 2.0
+#parent: #root
+Function CalcQuantity
+{
+  TextBody:
+  [*
+    // 鐢勫叞楦� Aug-8-2024 (created)
+    
+    value := guard( [Number]this.Cell().Value(), 0 );
+    
+    this.Quantity( value );
+  *]
+}
diff --git a/_Main/BL/Type_FinancialProductionImportData/_ROOT_Type_FinancialProductionImportData.qbl b/_Main/BL/Type_FinancialProductionImportData/_ROOT_Type_FinancialProductionImportData.qbl
new file mode 100644
index 0000000..b278a5d
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionImportData/_ROOT_Type_FinancialProductionImportData.qbl
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type FinancialProductionImportData
+{
+  #keys: '5[415136.0.978920028][415136.0.978920026][0.0.0][415136.0.978920027][415136.0.978920029]'
+  BaseType: Object
+  Description: '璐㈠姟浜ч噺鎶ヨ〃浜岀淮琛�'
+  StructuredName: 'FinancialProductionImportDatas'
+}
diff --git a/_Main/BL/Type_FinancialProductionReport/Method_GetRowByUnit.qbl b/_Main/BL/Type_FinancialProductionReport/Method_GetRowByUnit.qbl
index 8de3af4..daa564b 100644
--- a/_Main/BL/Type_FinancialProductionReport/Method_GetRowByUnit.qbl
+++ b/_Main/BL/Type_FinancialProductionReport/Method_GetRowByUnit.qbl
@@ -1,7 +1,7 @@
 Quintiq file version 2.0
 #parent: #root
 Method GetRowByUnit (
-  String product,
+  Product_MP product,
   String unit
 ) as FinancialProductionRow
 {
@@ -9,12 +9,12 @@
   TextBody:
   [*
     // 鐢勫叞楦� Aug-2-2024 (created)
-    row := selectobject( this, FinancialProductionRow, row, row.Name() = product and row.Unit() = unit );
+    row := selectobject( this, FinancialProductionRow, row, row.Name() = product.ID() and row.Unit() = unit );
     if( isnull( row ) ){
       //鍒濆鍖栧崟鍏冩牸
-      row := this.FinancialProductionRow( relnew, Name := product, Unit := unit );
+      row := this.FinancialProductionRow( relnew, Name := product.ID(), Unit := unit );
       traverse( this, FinancialProductionColumn, column ){
-        row.Initialize( column, unit );
+        row.Initialize( column, product, unit );
       }
     }
     return row;
diff --git "a/_Main/BL/Type_FinancialProductionRow/Method_Initialize\043110.qbl" "b/_Main/BL/Type_FinancialProductionRow/Method_Initialize\043110.qbl"
index ca0352d..f4e5b45 100644
--- "a/_Main/BL/Type_FinancialProductionRow/Method_Initialize\043110.qbl"
+++ "b/_Main/BL/Type_FinancialProductionRow/Method_Initialize\043110.qbl"
@@ -2,6 +2,7 @@
 #parent: #root
 Method Initialize (
   FinancialProductionColumn column,
+  Product_MP product,
   String unit
 )
 {
@@ -11,5 +12,14 @@
     cell := column.FinancialProductionCell( relnew, Value := '' );
     
     this.FinancialProductionCell( relinsert, cell );
+    if( unit <> FinancialProductionReport::GetDefaultAllUnit() ){
+      importdata := product.MacroPlan().FPImportData( relnew, Generation := product.Generation()
+                                                      , MqbMlb := product.MQBMLB()
+                                                      , Power := product.Power()
+                                                      , ProductID := product.ID()
+                                                      , StartDate := column.Period()
+                                                      , Unit := unit );
+      importdata.Cell( relset, cell );
+    }
   *]
 }
diff --git a/_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl b/_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl
index 63d3a59..90d0b02 100644
--- a/_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl
+++ b/_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl
@@ -8,6 +8,7 @@
   [*
     // 鐢勫叞楦� Jun-24-2024 (created)
     owner.FinancialProductionSource( relflush );
+    owner.FPImportData( relflush );
     ccunit                    := FinancialProductionReport::GetDefaultCCUnit();
     dlunit                    := FinancialProductionReport::GetDefaultDLUnit();
     allunit                   := FinancialProductionReport::GetDefaultAllUnit();
@@ -40,9 +41,9 @@
       if( iscc or isdl ){
         traverse( stockingpoint, ProductInStockingPoint_MP, pisp,  pisp.Product_MP().IsLeaf() ){
           //鑾峰彇宸ュ巶琛�
-          factoryrow := table.GetRowByUnit( pisp.ProductID(), ifexpr( iscc, ccunit, dlunit ) );
+          factoryrow := table.GetRowByUnit( pisp.Product_MP(), ifexpr( iscc, ccunit, dlunit ) );
           //鑾峰彇鍚堣琛�
-          allrow     := table.GetRowByUnit( pisp.ProductID(), allunit );
+          allrow     := table.GetRowByUnit( pisp.Product_MP(), allunit );
           products.Add( pisp.Product_MP() );
           //褰損roduct planning鐨勬棩鏈熷尯闂村湪闇�瑕佺殑鏃ユ湡鍖洪棿鍐� 
           traverse( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().StartDate() < startofnextyear

--
Gitblit v1.9.3