From f9d10cc34dbb1aa029cb3304c2c1f2c4de328d08 Mon Sep 17 00:00:00 2001
From: lazhen <17772815105@139.com>
Date: 星期四, 26 九月 2024 17:10:22 +0800
Subject: [PATCH] 财务产量报表数据误差处理

---
 _Main/BL/Type_FinancialProductionRow/Method_Initialize.qbl          |    7 ++++---
 _Main/BL/Type_FinancialProductionRow/Method_Initialize#110.qbl      |    2 +-
 _Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl |   10 +++++-----
 _Main/BL/Type_FinancialProductionSource/Method_AfterImport.qbl      |    8 +++++---
 _Main/BL/Type_FinancialProductionCell/Attribute_Quantity.qbl        |    8 ++++++++
 _Main/BL/Type_FinancialProductionReport/Method_Generate.qbl         |   10 ++++++++--
 6 files changed, 31 insertions(+), 14 deletions(-)

diff --git a/_Main/BL/Type_FinancialProductionCell/Attribute_Quantity.qbl b/_Main/BL/Type_FinancialProductionCell/Attribute_Quantity.qbl
new file mode 100644
index 0000000..a34b687
--- /dev/null
+++ b/_Main/BL/Type_FinancialProductionCell/Attribute_Quantity.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+  #keys: '3[415136.0.1167140019][415136.0.1167140018][415136.0.1167140020]'
+  Description: '鏁伴噺'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_FinancialProductionReport/Method_Generate.qbl b/_Main/BL/Type_FinancialProductionReport/Method_Generate.qbl
index c7c7b0d..2812b85 100644
--- a/_Main/BL/Type_FinancialProductionReport/Method_Generate.qbl
+++ b/_Main/BL/Type_FinancialProductionReport/Method_Generate.qbl
@@ -29,16 +29,22 @@
           
           sumcell  := selectobject( column, FinancialProductionCell, c, c.FinancialProductionRow() = sumrow );
           if( isnull( sumcell ) ){
-            sumcell := column.FinancialProductionCell( relnew, Value := '0' );
+            sumcell := column.FinancialProductionCell( relnew, Quantity := 0 );
             sumrow.FinancialProductionCell( relinsert, sumcell );
           }
           
-          showcell := column.FinancialProductionCell( relnew, Value := cell.Value() );
+          showcell := column.FinancialProductionCell( relnew, Quantity := cell.Quantity() );
           showrow.FinancialProductionCell( relinsert, showcell );
           value := [Real]cell.Value() + [Real]sumcell.Value();
           sumcell.Value( [String]value );
         }
       }
     }
+    
+    traverse( this, FinancialProductionRow, row ){
+      traverse( row, FinancialProductionCell, cell ){
+        cell.Value( [String]([Number]cell.Quantity()) );
+      }
+    }
   *]
 }
diff --git "a/_Main/BL/Type_FinancialProductionRow/Method_Initialize\043110.qbl" "b/_Main/BL/Type_FinancialProductionRow/Method_Initialize\043110.qbl"
index 9f6d003..bdd6e85 100644
--- "a/_Main/BL/Type_FinancialProductionRow/Method_Initialize\043110.qbl"
+++ "b/_Main/BL/Type_FinancialProductionRow/Method_Initialize\043110.qbl"
@@ -10,7 +10,7 @@
   TextBody:
   [*
     // 鐢勫叞楦� Jun-24-2024 (created)
-    cell := column.FinancialProductionCell( relnew, Value := '' );
+    cell := column.FinancialProductionCell( relnew, Quantity := 0 );
     
     this.FinancialProductionCell( relinsert, cell );
     if( unit <> FinancialProductionReport::GetDefaultAllUnit() ){
diff --git a/_Main/BL/Type_FinancialProductionRow/Method_Initialize.qbl b/_Main/BL/Type_FinancialProductionRow/Method_Initialize.qbl
index da223ae..e2695ab 100644
--- a/_Main/BL/Type_FinancialProductionRow/Method_Initialize.qbl
+++ b/_Main/BL/Type_FinancialProductionRow/Method_Initialize.qbl
@@ -2,7 +2,7 @@
 #parent: #root
 Method Initialize (
   FinancialProductionColumn column,
-  Number quantity
+  Real quantity
 )
 {
   TextBody:
@@ -10,7 +10,8 @@
     // 鐢勫叞楦� Jun-24-2024 (created)
     cell := selectobject( this, FinancialProductionCell, cell, cell.FinancialProductionColumn() = column );
           
-    value := [Number]cell.Value() + quantity;
-    cell.Value( [String]value );
+    //value := [Number]cell.Value() + quantity;
+    //cell.Value( [String]value );
+    cell.Quantity( cell.Quantity() + quantity );
   *]
 }
diff --git a/_Main/BL/Type_FinancialProductionSource/Method_AfterImport.qbl b/_Main/BL/Type_FinancialProductionSource/Method_AfterImport.qbl
index 3d1ed85..bb784f2 100644
--- a/_Main/BL/Type_FinancialProductionSource/Method_AfterImport.qbl
+++ b/_Main/BL/Type_FinancialProductionSource/Method_AfterImport.qbl
@@ -28,11 +28,13 @@
           allcell  := selectobject( allrow, FinancialProductionCell, allcell, allcell.FinancialProductionColumn().Name() = column.Name() );
     //      info( isnull( unitcell ), isnull( allcell ), cell.Value(), unitcell.Value(), allcell.Value() );
           if( not isnull( unitcell ) ){
-            unitcell.Value( cell.Value() );
+    //        unitcell.Value( cell.Value() );
+            unitcell.Quantity( [Real]cell.Value() );
           }
           if( not isnull( allcell ) ){
-            value := [Real]cell.Value() + [Real]allcell.Value();
-            allcell.Value( [String]value );
+    //        value := [Real]cell.Value() + [Real]allcell.Value();
+    //        allcell.Value( [String]value );
+            allcell.Quantity( allcell.Quantity() + [Real]allcell.Value() );
           }
         }
       }
diff --git a/_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl b/_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl
index dec7ca1..0aa4ae5 100644
--- a/_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl
+++ b/_Main/BL/Type_FinancialProductionSource/StaticMethod_Initialize.qbl
@@ -36,7 +36,7 @@
     table.GenerateColumn( owner );
     //鍙栧綋鍓嶇増鏈殑product planning閲宯ew supply瀛楁锛屽垎澶ц繛鍜岄暱鏄ュ伐鍘傜殑浜х嚎锛岃繘琛屽姞鎬�
     //traverse( owner, StockingPoint_MP, stockingpoint ){
-    traverse( owner, StockingPoint_MP, stockingpoint, stockingpoint.ID().EndsWith( '鍘傚唴搴�' ) ){
+    traverse( owner, StockingPoint_MP, stockingpoint, stockingpoint.ID().EndsWith( '鍘傚唴搴�' ) or stockingpoint.ID() = '澶ц繛澶栫搴�' ){
       iscc                    := stockingpoint.ID().StartsWith( 'CC' ) or stockingpoint.ID().StartsWith( '闀挎槬' );
       isdl                    := stockingpoint.ID().StartsWith( 'DL' ) or stockingpoint.ID().StartsWith( '澶ц繛' );
     //  unit                    := stockingpoint.Unit();
@@ -59,12 +59,12 @@
             dayperiodname     := dayperiodtime.Format( "M2/D2/Y" );
             periodtime        := pispip.Start().StartOfMonth().Date();
             periodname        := periodtime.Format( "M2/D2/Y" );
-            quantity          := [Number]pispip.NewSupplyQuantity();//鍥涜垗浜斿叆
+    //        quantity          := [Number]pispip.NewSupplyQuantity();//鍥涜垗浜斿叆
             daycolumn         := selectobject( table, FinancialProductionColumn, column, column.Name() = dayperiodname and column.Period() = dayperiodtime and column.IsDay() );
             column            := selectobject( table, FinancialProductionColumn, column, column.Name() = periodname and column.Period() = periodtime and not column.IsDay() );
-            factoryrow.Initialize( daycolumn, quantity );
-            factoryrow.Initialize( column, quantity );
-            allrow.Initialize( column, quantity );
+            factoryrow.Initialize( daycolumn, pispip.NewSupplyQuantity() );
+            factoryrow.Initialize( column, pispip.NewSupplyQuantity() );
+            allrow.Initialize( column, pispip.NewSupplyQuantity() );
           }    
         }
       }

--
Gitblit v1.9.3