From 5ae534ab606e6f2ba5ea60914224d665b0447d5a Mon Sep 17 00:00:00 2001 From: Kevin Kok Khah Whey <khahwhey.kok@3ds.com> Date: 星期二, 07 十一月 2023 22:48:31 +0800 Subject: [PATCH] Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_Kevin --- _Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl | 36 +++++++++++++++++++++++++----------- 1 files changed, 25 insertions(+), 11 deletions(-) diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl index e8950bc..6b2f316 100644 --- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingExternalSupplyData.qbl @@ -11,13 +11,27 @@ [* // renhao Aug-14-2023 (created) 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( globalOTDTable, - Global_MappingInventorySupply, - externalSupply, - ( externalSupply.UserQuantity()>0 ) and - ( externalSupply.Date() >= queryStartDate ) and - ( organcodelist.Find( externalSupply.StockingPointID().SubString( 0, 3 ) ) >= 0 )/*and externalSupply.Date() <= queryEndDate*/); + //queryEndDate := guard( max( this, Period_MP, item, true, item.EndDate() ), Date::MaxDate() ); + + listtodeal := construct( Global_MappingInventorySupplys, constcontent ); + if ( businessTypes.Size() > 0 ) { + targetGlobal_ProductCategory := selectset( globalOTDTable, Global_ProductCategory, tempGPC, + exists( businessTypes, Elements, tempBTN, tempBTN = tempGPC.BusinessTypeName() ) ); + listtodeal := selectset( targetGlobal_ProductCategory, + Elements.Global_MappingProduct_MP.Global_InventorySupplyCategory.Global_MappingInventorySupply, + tempGMIS, + ( tempGMIS.UserQuantity()>0 ) and + ( tempGMIS.Date() >= queryStartDate ) and + ( organcodelist.Find( tempGMIS.StockingPointID().SubString( 0, 3 ) ) >= 0 ) ); + } else { + listtodeal := selectset( globalOTDTable, + Global_MappingInventorySupply, + externalSupply, + ( externalSupply.UserQuantity()>0 ) and + ( externalSupply.Date() >= queryStartDate ) and + ( organcodelist.Find( externalSupply.StockingPointID().SubString( 0, 3 ) ) >= 0 )/*and externalSupply.Date() <= queryEndDate*/); + } + totalcount := listtodeal.Size(); description := "鍦ㄩ�斿湪鍒�"; info( "ExternalSupply has " + totalcount.AsQUILL() + " rows in total" ); @@ -28,18 +42,18 @@ if( count - [Number](count/1000) * 1000 = 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( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = externalSupply.ProductID(),true); + //product := select( globalOTDTable,Global_MappingProduct_MP,product,product.ID() = externalSupply.ProductID(),true); - if( not isnull( product)){ + if( /*not isnull( product)*/ not isnull( externalSupply.Global_InventorySupplyCategory() ) ){ productMP := Product_MP :: FindProductTypeIndex( externalSupply.ProductID()); stockingpoint := select( this,StockingPoint_MP,st,st.ID() = externalSupply.StockingPointID(),true); if( not isnull( stockingpoint) and not isnull( productMP)){ if( not isnull(businessTypes)){ for( i :=0 ;i < businessTypes.Size();i++ ){ - businessType := businessTypes.Element( i ); - if( product.BusinessType() = businessType and not product.IsCommon()){ + //businessType := businessTypes.Element( i ); + if( /*product.BusinessType() = businessType and not product.IsCommon()*/ not externalSupply.Global_InventorySupplyCategory().IsCommon() ){ InventorySupply::CreateOrUpdate( externalSupply.ID(), productMP, stockingpoint, -- Gitblit v1.9.3