From f3dec8f5b480474c9a3b2ea0fabb0f6b9fdc0423 Mon Sep 17 00:00:00 2001
From: renhao <renhui.hao@capgemini.com>
Date: 星期五, 13 十月 2023 17:11:34 +0800
Subject: [PATCH] Merge branch 'dev'
---
_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl | 40 ++++++++++++++++++++++++++++++----------
1 files changed, 30 insertions(+), 10 deletions(-)
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
index 3ec2377..a8db6ce 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
@@ -2,31 +2,51 @@
#parent: #root
Method MappingActualPISPIPData (
Strings businessTypes,
- Boolean nuclear
+ GlobalOTDTable globalOTDTable,
+ Boolean nuclear,
+ Strings organcodelist
)
{
TextBody:
[*
// renhao Aug-14-2023 (created)
- date := Date :: Today();
- //listtodeal := selectset( this,MappingActualPISPIP,actual, not isnull( Product_MP::FindById( this, actual.ProductID() ) ) );
+ listtodeal := selectset( globalOTDTable,
+ Global_MappingActualProductInStockingPointInPeriod,
+ actual,
+ ( actual.ActualInventoryLevelEnd() > 0 ) and
+ ( organcodelist.Find( actual.StockingPointID().SubString( 0, 3 ) ) >= 0 ) );
+ totalcount := listtodeal.Size();
+ info( "ActualPISPIP has " + totalcount.AsQUILL() + " rows in total" );
- traverse( this,MappingActualPISPIP,actual){
- product := select( this,MappingProduct,product,product.ID() = actual.ProductID() and product.KeyProduct() = nuclear,true);
+ count := 0;
+ traverse( listtodeal,Elements,actual){
+ count := count + 1;
+ if( count - [Number](count/1000) * 1000 = 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( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = actual.ProductID() and product.KeyProduct() = nuclear,true);
if( not isnull( product)){
if( not isnull(businessTypes)){
for( i :=0 ;i < businessTypes.Size();i++ ){
- businessType := businessTypes.Element( 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