Quintiq file version 2.0
|
#parent: #root
|
Method MappingExternalSupplyData (
|
Strings businessTypes,
|
Boolean nuclear
|
)
|
{
|
TextBody:
|
[*
|
// renhao Aug-14-2023 (created)
|
|
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" );
|
|
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)){
|
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);
|
}
|
|
}
|
|
}else{
|
info( "Invaild product" );
|
}
|
}
|
*]
|
}
|