From 67ff28f43d635a3728bb7d39364a9c6f8345912b Mon Sep 17 00:00:00 2001
From: hongji.li <hongji.a.li@capgemini.com>
Date: 星期四, 07 九月 2023 11:34:34 +0800
Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_lhj

---
 _Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl |   61 +++++++++++++++++-------------
 1 files changed, 35 insertions(+), 26 deletions(-)

diff --git a/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
index c30b6bc..7295bad 100644
--- a/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_MappingExternalSupplyData.qbl
@@ -9,7 +9,8 @@
   [*
     // renhao Aug-14-2023 (created)
     
-    listtodeal := selectset( this,MappingExternalSupply,externalSupply, not isnull( StockingPoint_MP::FindById( this, externalSupply.StockingPointID() ) ) );
+    listtodeal := selectset( this,MappingExternalSupply,externalSupply, 
+                             not isnull( StockingPoint_MP::FindById( this, externalSupply.StockingPointID() ) ) and not isnull( Product_MP::FindById( this, externalSupply.ProductID() ) ) );
     totalcount := listtodeal.Size();
     info( "ExternalSupply has " + totalcount.AsQUILL() + " rows in total" );
     
@@ -19,32 +20,40 @@
       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)){
-    //    productMP :=  select( this,Product_MP,productMP,productMP.ID() = externalSupply.ProductID() ,true);
-    //    stockingpoint := select( this,StockingPoint_MP,st,st.ID() = externalSupply.StockingPointID(),true);
-    //    if( not isnull(businessTypes)){
-    //    
-    //      for( i :=0 ;i < businessTypes.Size();i++ ){
-    //        businessType := businessTypes.Element( i);
-    //        if( product.BusinessType() = businessType and not product.IsCommon()){
-    //          InventorySupply::Create(externalSupply.ID(),productMP,stockingpoint,externalSupply.Date(),externalSupply.ManufacturedDate(),externalSupply.UserQuantity(),"鍦ㄩ�斿湪鍒�",true);
-    //        }
-    //      }
-    //      
-    //    }else{
-      productMP :=  Product_MP::FindById( this, externalSupply.ProductID() );
-      stockingpoint := StockingPoint_MP::FindById( this, externalSupply.StockingPointID() );
-      if( not isnull( stockingpoint) and not isnull( productMP)){
-        InventorySupply::Create(externalSupply.ID(),productMP,stockingpoint,externalSupply.Date(),externalSupply.ManufacturedDate(),externalSupply.UserQuantity(),"鍦ㄩ�斿湪鍒�",true);
-      }
+      product := select( this,MappingProduct,product,product.ID() = externalSupply.ProductID() and product.KeyProduct() = nuclear,true);
       
-    //    }
-    //    
-    //  }else{
-    //    info( "Invaild product" );
-    //    }
+      if( not isnull( product)){
+        productMP :=  select( this,Product_MP,productMP,productMP.ID() = externalSupply.ProductID() ,true);
+        stockingpoint := select( this,StockingPoint_MP,st,st.ID() = externalSupply.StockingPointID(),true);
+        if( not isnull(businessTypes)){
+        
+          for( i :=0 ;i < businessTypes.Size();i++ ){
+            businessType := businessTypes.Element( i);
+            if( product.BusinessType() = businessType and not product.IsCommon()){
+              InventorySupply::CreateOrUpdate( externalSupply.ID(),
+                                               productMP,
+                                               stockingpoint,
+                                               externalSupply.Date(),
+                                               externalSupply.ManufacturedDate(),
+                                               externalSupply.UserQuantity(),"鍦ㄩ�斿湪鍒�");
+            }
+          }
+          
+        }else{
+        if( not isnull( stockingpoint) and not isnull( productMP)){
+          InventorySupply::CreateOrUpdate( externalSupply.ID(),
+                                           productMP,
+                                           stockingpoint,
+                                           externalSupply.Date(),
+                                           externalSupply.ManufacturedDate(),
+                                           externalSupply.UserQuantity(),"鍦ㄩ�斿湪鍒�");
+        }
+      
+        }
+        
+      }else{
+        info( "Invaild product" );
+        }
     }
   *]
 }

--
Gitblit v1.9.3