From c179ab5f3f347b5b6acd6066dadd23c8031a486b Mon Sep 17 00:00:00 2001
From: yanyuan <yuan.yan@capgemini.com>
Date: 星期二, 05 九月 2023 17:58:09 +0800
Subject: [PATCH] Merge branch 'dev_yy' into dev

---
 _Main/BL/Type_BaseConversionFactor/StaticMethod_DoSync.qbl              |    4 
 _Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl                        |   75 +++++++++++-------
 _Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl             |   23 ++++-
 _Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting#576.qbl   |    4 
 _Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl            |    7 +
 _Main/BL/Type_UnitOfMeasure_MP/StaticMethod_DoSync.qbl                  |    2 
 _Main/BL/Type_Forecast/StaticMethod_DoSync.qbl                          |    2 
 _Main/BL/Type_CustomerOrder/StaticMethod_DoSync.qbl                     |    2 
 _Main/BL/Type_MacroPlan/Method_MappingProductInLaneData.qbl             |    7 +
 _Main/BL/Type_Product_MP/StaticMethod_CreateOrUpdate.qbl                |    2 
 _Main/BL/Type_SalesSegment_MP/StaticMethod_DoSync.qbl                   |    4 
 _Main/BL/Type_MacroPlan/Method_MappingProductData.qbl                   |    8 +
 _Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl              |    9 ++
 _Main/BL/Type_MacroPlan/Method_MappingForecastData.qbl                  |   17 +++-
 _Main/BL/Type_MacroPlan/Method_MappingInventoryValueAndCostData.qbl     |    7 +
 _Main/BL/Type_Operation/StaticMethod_FindFinalOperationsByRoutingId.qbl |    2 
 _Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl             |    8 ++
 _Main/BL/Type_InventoryValueAndCost/StaticMethod_DoSync.qbl             |    2 
 18 files changed, 134 insertions(+), 51 deletions(-)

diff --git a/_Main/BL/Type_BaseConversionFactor/StaticMethod_DoSync.qbl b/_Main/BL/Type_BaseConversionFactor/StaticMethod_DoSync.qbl
index 360f73a..0ee5894 100644
--- a/_Main/BL/Type_BaseConversionFactor/StaticMethod_DoSync.qbl
+++ b/_Main/BL/Type_BaseConversionFactor/StaticMethod_DoSync.qbl
@@ -8,9 +8,9 @@
   TextBody:
   [*
     // yypsybs Aug-17-2023 (created)
-    info( "Start data broker of base conversion" );
+    info( "Product Finished, Start BaseConversionFactor Data Broker" )
     macroPlan.Broker_OTD_BaseConversionFactor().Execute();
-    info( "Start data mapping of base conversion" );
+    info( "BaseConversionFactor Data Broker Finished, Start BaseConversionFactor Mapping" )
     macroPlan.MappingBaseConversionFactorData();
   *]
 }
diff --git a/_Main/BL/Type_CustomerOrder/StaticMethod_DoSync.qbl b/_Main/BL/Type_CustomerOrder/StaticMethod_DoSync.qbl
index f5db6a0..ece7264 100644
--- a/_Main/BL/Type_CustomerOrder/StaticMethod_DoSync.qbl
+++ b/_Main/BL/Type_CustomerOrder/StaticMethod_DoSync.qbl
@@ -8,7 +8,9 @@
   TextBody:
   [*
     // yypsybs Aug-17-2023 (created)
+    info( "Forecast Finished, Start CustomerOrder Data Broker" );
     macroPlan.Broker_OTD_CustomerOrder().Execute();
+    info( "CustomerOrder Data Broker Finished, Start CustomerOrder Mapping" );
     macroPlan.MappingCustomerOrderData( businessTypes );
   *]
 }
diff --git a/_Main/BL/Type_Forecast/StaticMethod_DoSync.qbl b/_Main/BL/Type_Forecast/StaticMethod_DoSync.qbl
index 44e83da..401e158 100644
--- a/_Main/BL/Type_Forecast/StaticMethod_DoSync.qbl
+++ b/_Main/BL/Type_Forecast/StaticMethod_DoSync.qbl
@@ -8,7 +8,9 @@
   TextBody:
   [*
     // yypsybs Aug-17-2023 (created)
+    info( "OperationCost Finished, Start Forecast Data Broker" );
     macroPlan.Broker_OTD_Forecast().Execute();
+    info( "Forecast Data Broker Finished, Start Forecast Mapping" );
     macroPlan.MappingForecastData( businessTypes );
   *]
 }
diff --git a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoSync.qbl b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoSync.qbl
index e350b92..574ecd5 100644
--- a/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoSync.qbl
+++ b/_Main/BL/Type_InventoryValueAndCost/StaticMethod_DoSync.qbl
@@ -7,7 +7,9 @@
   TextBody:
   [*
     // yypsybs Aug-17-2023 (created)
+    info( "ActualPISPIP Finished, Start InventoryCost Data Broker" );
     macroPlan.Broker_OTD_InventoryCost().Execute();
+    info( "InventoryCost Data Broker Finished, Start InventoryCost Mapping" );
     macroPlan.MappingInventoryValueAndCostData();
   *]
 }
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingActualPISPIPData.qbl
index 3ec2377..d4b8493 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,true );
+    totalcount := listtodeal.Size();
+    info( "ActualPISPIP has " + totalcount.AsQUILL() + " rows in total" );
     
+    count := 0;
     traverse( this,MappingActualPISPIP,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)){
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl
index 9ede09f..873ed35 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingCustomerOrderData.qbl
@@ -18,16 +18,25 @@
     queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date();
     queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
     listToDeal := selectset( listToDeal, Elements, item, item.OrderDate() >= queryStartDate and item.OrderDate() <= queryEndDate, not isnull( Product_MP::FindById( this, item.ProductID() ) ) and not isnull( StockingPoint_MP::FindById( this, item.StockPointID() ) ) and not isnull( SalesSegment_MP::FindByName( this, item.SalesSegmentName() ) ) );
+    
+    totalcount := listToDeal.Size();
+    info( "CustomerOrder has " + totalcount.AsQUILL() + " rows in total" );
+    
+    count := 0;
     // 澶勭悊
     traverse( listToDeal, Elements, item ) {
+      count := count + 1;
+      if( count - [Number](count/100) * 100 = 0 or count = totalcount ){
+        info( "Now is dealing with the " + count.AsQUILL() + "CustomerOrder " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
+        }
     //  if( not isnull( Product_MP::FindById( this, item.ProductID() ) ) ){
-        info( item.ProductID().AsQUILL() );
-        CustomerOrder::CreateOrUpdate( this, item.CurrencyID(), item.Customer(), item.CustomerID(), item.ID(), 
-                                       item.OrderDate(), item.OrderID(), item.OrderLineID(), item.Price(), 
-                                       item.PriorityName(), item.ProductID(), 
-                                       item.StockPointID(), 
-                                       item.SalesSegmentName(), 
-                                       item.Quantity(), item.UnitOfMeasureName(), item.OrderType(), item.IsAvailable());
+    //    info( item.ProductID().AsQUILL() );
+      CustomerOrder::CreateOrUpdate( this, item.CurrencyID(), item.Customer(), item.CustomerID(), item.ID(), 
+                                     item.OrderDate(), item.OrderID(), item.OrderLineID(), item.Price(), 
+                                     item.PriorityName(), item.ProductID(), 
+                                     item.StockPointID(), 
+                                     item.SalesSegmentName(), 
+                                     item.Quantity(), item.UnitOfMeasureName(), item.OrderType(), item.IsAvailable());
     //  }else{
     //    info( "invaild product: " + item.ProductID().AsQUILL() );
     //    }
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
index c04e1ba..c30b6bc 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
@@ -10,8 +10,15 @@
     // renhao Aug-14-2023 (created)
     
     listtodeal := selectset( this,MappingExternalSupply,externalSupply, not isnull( StockingPoint_MP::FindById( this, externalSupply.StockingPointID() ) ) );
+    totalcount := listtodeal.Size();
+    info( "ExternalSupply has " + totalcount.AsQUILL() + " rows in total" );
     
+    count := 0;
     traverse( listtodeal,Elements,externalSupply){
+      count := count + 1;
+      if( count - [Number](count/100) * 100 = 0 or count = totalcount ){
+        info( "Now is dealing with the " + count.AsQUILL() + "ExternalSupply " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
+        }
     //  product := select( this,MappingProduct,product,product.ID() = externalSupply.ProductID() and product.KeyProduct() = nuclear,true);
     //  
     //  if( not isnull( product)){
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingForecastData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingForecastData.qbl
index 492b35d..903aea0 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingForecastData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingForecastData.qbl
@@ -18,13 +18,22 @@
     queryStartDate := guard( min( this, Period_MP, item, true, item.StartDate() ) - Duration::Days( 30 ), DateTime::MinDateTime() ).Date();
     queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() );
     listToDeal := selectset( listToDeal, Elements, item, item.StartDate() >= queryStartDate and item.EndDate() <= queryEndDate, not isnull( Product_MP::FindById( this, item.ProductID() ) ) and not isnull( StockingPoint_MP::FindById( this, item.StockingPointID() ) ) and not isnull( SalesSegment_MP::FindByName( this, item.SalesSegmentName() ) ) );
+    
+    totalcount := listToDeal.Size();
+    info( "Forecast has " + totalcount.AsQUILL() + " rows in total" );
+    
+    count := 0;
     // 澶勭悊
     traverse( listToDeal, Elements, item ) {
+      count := count + 1;
+      if( count - [Number](count/100) * 100 = 0 or count = totalcount ){
+        info( "Now is dealing with the " + count.AsQUILL() + "Forecast " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
+        }
     //  if( not isnull( Product_MP::FindById( this, item.ProductID() ) ) ){
-        Forecast::CreateOrUpdate( this, 
-                                  item.ProductID(), item.SalesSegmentName(), item.StockingPointID(), item.PriorityName(),
-                                  item.CurrencyID(), item.UnitOfMeasureName(),
-                                  item.ID(), item.StartDate(), item.EndDate(), item.Quantity(), item.Price());
+      Forecast::CreateOrUpdate( this, 
+                                item.ProductID(), item.SalesSegmentName(), item.StockingPointID(), item.PriorityName(),
+                                item.CurrencyID(), item.UnitOfMeasureName(),
+                                item.ID(), item.StartDate(), item.EndDate(), item.Quantity(), item.Price());
     //  }else{
     //    info( "invaild product" + item.ProductID().AsQUILL() );
     //    }
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingInventoryValueAndCostData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingInventoryValueAndCostData.qbl
index e3c9634..2138aae 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingInventoryValueAndCostData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingInventoryValueAndCostData.qbl
@@ -6,8 +6,15 @@
   [*
     // yypsybs Aug-15-2023 (created)
     listtodeal := selectset( this,MappingInventoryValueAndCost,item,not isnull( Product_MP::FindById( this, item.ProductID() ) ), not isnull( StockingPoint_MP::FindById( this, item.StockingPointID() ) ) );
+    totalcount := listtodeal.Size();
+    info( "InventoryCost has " + totalcount.AsQUILL() + " rows in total" );
     
+    count := 0;
     traverse( listtodeal, Elements, item ) {
+      count := count + 1;
+      if( count - [Number](count/100) * 100 = 0 or count = totalcount ){
+        info( "Now is dealing with the " + count.AsQUILL() + "InventoryCost " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
+        }
       if( not isnull( Product_MP::FindById( this, item.ProductID() ) ) ){
           InventoryValueAndCost::CreateOrUpdate( this, item.ID(), item.ProductID(), 
                                                  item.StockingPointID(), 
diff --git "a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting\043576.qbl" "b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting\043576.qbl"
index 6d1861c..03a3858 100644
--- "a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting\043576.qbl"
+++ "b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting\043576.qbl"
@@ -79,8 +79,8 @@
                               alterBom := mainInput.Operation().LinkPISP( pispAlter, true, mainInput.OperationLinkGroupID(), trash );
                               alterBom.Quantity( mainBOM.MaxQuantityInGroup() * alterRow.AlternativeRate() );
                               alterBom.MaxQuantityInGroup( mainBOM.MaxQuantityInGroup() );
-                              info( "Quantity" + [String]alterBom.Quantity() )
-                              info( "MaxQuantityInGroup" + [String]alterBom.MaxQuantityInGroup() )
+    //                          info( "Quantity" + [String]alterBom.Quantity() )
+    //                          info( "MaxQuantityInGroup" + [String]alterBom.MaxQuantityInGroup() )
                               mainQty := mainQty - alterBom.Quantity();
                           }
                       }
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl
index cf1f22c..3a315d0 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingOperationCostData.qbl
@@ -31,8 +31,16 @@
         }
       }
     
+    totalcount := listtodealwithmaxsn.Size();
+    info( "OperationCost has " + totalcount.AsQUILL() + " rows in total" );
+    
+    count := 0;
     // Get the operation cost data
     traverse( listtodealwithmaxsn, Elements, item ){
+      count := count + 1;
+      if( count - [Number](count/100) * 100 = 0 or count = totalcount ){
+        info( "Now is dealing with the " + count.AsQUILL() + "OperationCost " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
+        }
       id := item.OrganCode() + "_" + item.ProductID() + "_" + item.ProcessSection() + "_" + item.Line();
       operation := Operation::FindOperationTypeIndex( id );
       account := Account_MP::FindByName( this, "Operation cost" );
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl
index 88399b7..cb6a99d 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingProductData.qbl
@@ -28,6 +28,8 @@
         listToDeal := selectset( this, MappingProduct, item, businesstypes.Difference( businesstypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 );
         }
     }
+    totalcount := listToDeal.Size();
+    info( "Product has " + totalcount.AsQUILL() + " rows in total" );
     
     // Get the root data
     Product_MP::CreateOrUpdate( this, 
@@ -38,9 +40,13 @@
                                 "鍏ㄩ儴鐗╂枡浜у搧",
                                 0.0
                                 );
-    
+    count := 0;
     // Get the ProductMajorType list & ProductSubclassType list
     traverse( listToDeal, Elements, item ){
+      count := count + 1;
+      if( count - [Number](count/100) * 100 = 0 or count = totalcount ){
+        info( "Now is dealing with the " + count.AsQUILL() + "Product " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
+        }
       if( not item.ProductMajorType() = "" ){
         Product_MP::CreateOrUpdate( this, 
                                     item.ProductMajorType(), 
diff --git a/_Main/BL/Type_MacroPlan/Method_MappingProductInLaneData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingProductInLaneData.qbl
index 6be8dad..2bd20a4 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingProductInLaneData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingProductInLaneData.qbl
@@ -8,9 +8,16 @@
     // Administrator Aug-17-2023 (created)
     // list to deal
     listtodeal := selectset( this, MappingProductInLane, item, not isnull( Product_MP::FindById( this, item.ProductID() ) ), not isnull( Lane::FindLaneTypeIndex( item.LineID() ) ) );
+    totalcount := listtodeal.Size();
+    info( "ProductInLane has " + totalcount.AsQUILL() + " rows in total" );
     
+    count := 0;
     // Create ProductInLane
     traverse( listtodeal, Elements, item ){
+      count := count + 1;
+      if( count - [Number](count/100) * 100 = 0 or count = totalcount ){
+        info( "Now is dealing with the " + count.AsQUILL() + "ProductInLane " + "( " + count.AsQUILL() + "/" + totalcount.AsQUILL() + " ) " + (count/totalcount*100).Round( 1 ).AsQUILL() + "%" );
+        }
       ProductInLane::CreateOrUpdate( this, item.ProductID(), item.LineID() );
       }
   *]
diff --git a/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl b/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
index 5b22e41..dc5d8d6 100644
--- a/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
+++ b/_Main/BL/Type_MacroPlan/StaticMethod_DoSync0.qbl
@@ -21,17 +21,19 @@
     }
     info( "KeyProduct : " + [String]isKeyProduct )
     info( "Create purchase supply material : " + [String]createPurchaseSupplyMaterial )
+    
     // 鍒濆鎹�-0
-    info( "Initial" );
+    info( "Start Initial" );
     macroPlan.InitialUnitAndStockingPoint();
+    
     // 鍗曚綅-1
-    info( "UnitOfMeasure_MP::DoSync" )
     UnitOfMeasure_MP::DoSync( macroPlan );
+    
     // 閿�鍞儴闂�-2
-    info( "SalesSegment::DoSync" )
     SalesSegment_MP::DoSync( macroPlan, businessTypes );
+    
     // 搴撳瓨鐐�-3
-    info( "StockingPoint::DoSync" )
+    info( "Sales Segment Finished, Start Get StockingPoint From Api" )
     bodynumber := "2";
     postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber );
     address := "api-uat-sgc.tianma.cn";
@@ -39,8 +41,9 @@
     port := 443;
     data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
     macroPlan.ApiStockingPointData( data );
+    
     // 璐у竵淇℃伅-4
-    info( "Currencies::DoSync" )
+    info( "Get StockingPoint From Api Finished, Start Get CurrencyInfo From Api" )
     bodynumber := "1";
     postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber );
     address := "api-uat-sgc.tianma.cn";
@@ -48,8 +51,9 @@
     port := 443;
     data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
     macroPlan.ApiCurenciesData( data );
+    
     //璐у竵姹囩巼淇℃伅-5
-    info( "CurrencyRates::DoSync" )
+    info( "Get CurrencyInfo From Api Finished, Start Get CurrencyRates From Api" )
     bodynumber := "5";
     postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber );
     address := "api-uat-sgc.tianma.cn";
@@ -59,29 +63,32 @@
     macroPlan.ApiCurencyRatesData( data );
     
     // 浜у搧鐗╂枡-6
-    info( "Product::DoSync" )
-    //todo: 鏁版嵁鏈夐噸澶嶏紝鍏堢暐杩�
+    info( "Get CurrencyRates From Api Finished, Start Product Data Broker" )
     macroPlan.Broker_OTD_Product().Execute();
-    info( "Start data mapping of product" );
+    info( "Product Data Broker Finished, Start Product Mapping" );
     //testproduct := construct( Strings );
     macroPlan.MappingProductData( businessTypes, false );
+    
     //鍗曚綅杞崲-7
-    info( "BaseConversionFactor::DoSync" )
     BaseConversionFactor::DoSync( macroPlan );
+    
     // Unit-9 
     // 涓嶰peration涓�鍚屽鐞�
-    info( "Unit::DoSync" )
-    info( "Start data broker of operation" );
+    info( "BaseConversionFactor Finished, Start Operation Data Broker" );
     macroPlan.Broker_OTD_Operation().Execute();
+    info( "Operation Data Broker Finished, Start Unit Mapping" );
     macroPlan.MappingUnitData( businessTypes );
+    
     // 宸ヨ壓璺嚎 + BOM-9
-    info( "Operation&BOM::DoSync" )
-    info( "Start data mapping of operation" );
+    info( "Unit Finished, Start Operation Mapping" );
     macroPlan.MappingOperationData( businessTypes );  
+    info( "Operation Finished, Start BOM Data Broker" );
     macroPlan.Broker_OTD_BOM().Execute();
+    info( "BOM Data Broker Finished, Start BOM Mapping" );
     macroPlan.MappingOperationBOMData( businessTypes, isKeyProduct, createPurchaseSupplyMaterial );
+    
     //杞﹂亾淇℃伅-10
-    info( "Lanes::DoSync" )
+    info( "BOM Finished, Start Get Lanes From Api" );
     bodynumber := "3";
     postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber );
     address := "api-uat-sgc.tianma.cn";
@@ -89,8 +96,9 @@
     port := 443;
     data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
     macroPlan.ApiLanesData( data );
+    
     //杞﹂亾杩愯緭娈�-11
-    info( "LaneLegs::DoSync" )
+    info( "Get Lanes From Api Finished, Start Get LaneLegs From Api" );
     bodynumber := "4";
     postrequestbody := macroPlan.ApiBuildPostRequestBody( bodynumber );
     address := "api-uat-sgc.tianma.cn";
@@ -98,36 +106,43 @@
     port := 443;
     data := macroPlan.ApiResponesCheck( address, url, port, postrequestbody );
     macroPlan.ApiLaneLegsData( data );
-    // 渚涘簲缃戠粶锛堣溅閬擄級-12
-    info( "ProductInLane::DoSync" )
-    macroPlan.Broker_OTD_ProductInLane().Execute();
-    macroPlan.MappingProductInLaneData();
+    
+    //// 渚涘簲缃戠粶锛堣溅閬擄級-12
+    //info( "Get Lanelegs From Api Finished, Start ProductInLane Data Broker" );
+    //macroPlan.Broker_OTD_ProductInLane().Execute();
+    //info( "ProductInLane Data Broker Finished, Start ProductInLane Mapping" );
+    //macroPlan.MappingProductInLaneData();
+    
     // 鍦ㄥ簱搴撳瓨鏁版嵁-13
-    info( "ActualPISPIP::DoSync" )
+    info( "ProductInLane Finished, Start ActualPISPIP Data Broker" );
     macroPlan.Broker_OTD_ActualPISPIP().Execute();
+    info( "ActualPISPIP Data Broker Finished, Start ActualPISPIP Mapping" );
     //macroPlan.MappingActualPISPIPData( businessTypes, true );
     macroPlan.MappingActualPISPIPData( businessTypes, false );
+    
     // 鍦ㄩ�斿簱瀛�-14
-    info( "ExternalSupply::DoSync" )
-    info( "Start data broker of External supply" );
+    info( "ActualPISPIP Finished, Start ExternalSupply Data Broker" );
     macroPlan.Broker_OTD_ExternalSupply().Execute();
     //macroPlan.MappingExternalSupplyData( businessTypes, true );
-    info( "Start data mapping of External supply" );
+    info( "ExternalSupply Data Broker Finished, Start ExternalSupply Mapping" );
     macroPlan.MappingExternalSupplyData( businessTypes, false );
+    
     // 搴撳瓨鎴愭湰-15
-    info( "InventoryCost::DoSync" );
     InventoryValueAndCost::DoSync( macroPlan );
-    // todo 鍒堕�犳垚鏈�-16
-    info( "OperationCost::DoSync" );
-    macroPlan.MappingOperationCostData( businessTypes );
+    
+    //// todo 鍒堕�犳垚鏈�-16
+    //info( "InventoryCost Finished, Start OperationCost Mapping" );
+    //macroPlan.MappingOperationCostData( businessTypes );
+    
     // 璁㈠崟棰勬祴-17
-    info( "Forecast::DoSync" );
     Forecast::DoSync( macroPlan, businessTypes );
+    
     // 璁㈠崟闇�姹�-18
-    info( "CustomerOrder::DoSync" );
     CustomerOrder::DoSync( macroPlan, businessTypes );
+    
     //// todo 渚涘簲鍟嗚兘鍔�
     //info( "ProviderCapacity::DoSync" )
+    
     //// todo 渚涘簲鍟嗗洖澶�
     //info( "ProviderReply::DoSync" )
   *]
diff --git a/_Main/BL/Type_Operation/StaticMethod_FindFinalOperationsByRoutingId.qbl b/_Main/BL/Type_Operation/StaticMethod_FindFinalOperationsByRoutingId.qbl
index 80c9795..1dc0035 100644
--- a/_Main/BL/Type_Operation/StaticMethod_FindFinalOperationsByRoutingId.qbl
+++ b/_Main/BL/Type_Operation/StaticMethod_FindFinalOperationsByRoutingId.qbl
@@ -13,7 +13,7 @@
     result := construct( Operations );
     if( not isnull( routing ) and not isnull( routing.LastStep() ) ) {
         result := selectset( routing.LastStep(), Operation, op, true );
-        info( 'routingID: '+routingId+isnull( result).AsQUILL());
+    //    info( 'routingID: '+routingId+isnull( result).AsQUILL());
     }
     return &result;
   *]
diff --git a/_Main/BL/Type_Product_MP/StaticMethod_CreateOrUpdate.qbl b/_Main/BL/Type_Product_MP/StaticMethod_CreateOrUpdate.qbl
index 809cc63..7d60ea3 100644
--- a/_Main/BL/Type_Product_MP/StaticMethod_CreateOrUpdate.qbl
+++ b/_Main/BL/Type_Product_MP/StaticMethod_CreateOrUpdate.qbl
@@ -25,7 +25,7 @@
     
     // Find the product
     product := Product_MP::FindById( owner, productid );
-    info( productid );
+    //info( productid );
     
     if( isnull( product ) ){
       Product_MP::Create( owner, 
diff --git a/_Main/BL/Type_SalesSegment_MP/StaticMethod_DoSync.qbl b/_Main/BL/Type_SalesSegment_MP/StaticMethod_DoSync.qbl
index bf475d4..ef1ffae 100644
--- a/_Main/BL/Type_SalesSegment_MP/StaticMethod_DoSync.qbl
+++ b/_Main/BL/Type_SalesSegment_MP/StaticMethod_DoSync.qbl
@@ -8,9 +8,9 @@
   TextBody:
   [*
     // yypsybs Aug-17-2023 (created)
-    info( "Start data broker of sales segment" );
+    info( "UnitOfMeasure_MP Finished, Start Sales Segment Data Broker" )
     macroPlan.Broker_OTD_SalesSegment().Execute();
-    info( "Start data mapping of sales segment" );
+    info( "Sales Segment Data Broker Finished, Start Sales Segment Mapping" )
     macroPlan.MappingSalesSegmentData( businessTypes );
   *]
 }
diff --git a/_Main/BL/Type_UnitOfMeasure_MP/StaticMethod_DoSync.qbl b/_Main/BL/Type_UnitOfMeasure_MP/StaticMethod_DoSync.qbl
index d03927b..f5ea0a0 100644
--- a/_Main/BL/Type_UnitOfMeasure_MP/StaticMethod_DoSync.qbl
+++ b/_Main/BL/Type_UnitOfMeasure_MP/StaticMethod_DoSync.qbl
@@ -8,7 +8,9 @@
   TextBody:
   [*
     // yypsybs Aug-17-2023 (created)
+    info( "Inital Finished, Start UnitOfMeasure_MP Data Broker" )
     macroPlan.Broker_OTD_UnitOfMeasure().Execute();
+    info( "UnitOfMeasure_MP Data Broker Finished, Start UnitOfMeasure_MP Mapping" )
     macroPlan.MappingUnitOfMeasureData();
   *]
 }

--
Gitblit v1.9.3