From bc2de42011e9f28a3741bc0e340a9eef53e375d1 Mon Sep 17 00:00:00 2001
From: yypsybs <yypsybs@foxmail.com>
Date: 星期四, 07 九月 2023 17:31:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev_yx

---
 _Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
index 3ec2377..87cbdf3 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
@@ -9,9 +9,16 @@
   [*
     // renhao Aug-14-2023 (created)
     date := Date :: Today();
-    //listtodeal := selectset( this,MappingActualPISPIP,actual, not isnull( Product_MP::FindById( this, actual.ProductID() ) ) );
+    listtodeal := selectset( this,MappingActualPISPIP,actual,not isnull( Product_MP::FindById( this, actual.ProductID() ) ) );
+    totalcount := listtodeal.Size();
+    info( "ActualPISPIP has " + totalcount.AsQUILL() + " rows in total" );
     
-    traverse( this,MappingActualPISPIP,actual){
+    count := 0;
+    traverse( listtodeal,Elements,actual){
+      count := count + 1;
+      if( count - [Number](count/100) * 100 = 0 or count = totalcount ){
+        info( "Now is dealing with the " + count.AsQUILL() + "ActualPISPIP " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
+        }
       product := select( this,MappingProduct,product,product.ID() = actual.ProductID() and product.KeyProduct() = nuclear,true);
       if( not isnull( product)){
       if( not isnull(businessTypes)){
@@ -19,14 +26,22 @@
         for( i :=0 ;i < businessTypes.Size();i++ ){
           businessType := businessTypes.Element( i);
           if( product.BusinessType() = businessType and not product.IsCommon()){
-            ActualProductInStockingPointInPeriod::Create( this,actual.ProductID(),actual.StockingPointID(),actual.Description(),actual.ActualInventoryLevelEnd(),
-                                                  date,actual.ManufacturedDate(),true);
+            ActualProductInStockingPointInPeriod::CreateOrUpdate( this,
+                                                                  actual.ProductID(),
+                                                                  actual.StockingPointID(),
+                                                                  actual.Description(),
+                                                                  actual.ActualInventoryLevelEnd(),
+                                                                  actual.ManufacturedDate());
           }
         }
         
       }else{
-        ActualProductInStockingPointInPeriod::Create( this,actual.ProductID(),actual.StockingPointID(),actual.Description(),actual.ActualInventoryLevelEnd(),
-                                                  date,actual.ManufacturedDate(),true);
+        ActualProductInStockingPointInPeriod::CreateOrUpdate( this,
+                                                              actual.ProductID(),
+                                                              actual.StockingPointID(),
+                                                              actual.Description(),
+                                                              actual.ActualInventoryLevelEnd(),
+                                                              actual.ManufacturedDate());
       }
         
       }

--
Gitblit v1.9.3