From 110846d23e6d86ad6fb883836640dc32b39ea86e Mon Sep 17 00:00:00 2001 From: renhao <renhui.hao@capgemini.com> Date: 星期三, 20 九月 2023 13:55:59 +0800 Subject: [PATCH] Merge branch 'dev_release' --- _Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl | 31 ++++++++++++++++++++----------- 1 files changed, 20 insertions(+), 11 deletions(-) diff --git a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl index 892f5ef..b807827 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl @@ -12,16 +12,17 @@ keyProductList := construct( Strings ); if( isKeyProduct ) { - keyProductList := selectuniquevalues( this, MappingProduct, item, item.KeyProduct(), item.ID() ); + keyProductList := selectuniquevalues( this, MappingProduct, item, item.ProductMajorType()="鎴愬搧" or item.ProductMajorType()="鍗婃垚鍝�", item.ID() ); } bomList := selectsortedset( this, MappingBOM, item, ifexpr( isnull( businessTypes ) or businessTypes.Size() = 0, true, // businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 ) businessTypes.Find( item.BusinessType() ) >= 0 ) - and ifexpr( isKeyProduct, - keyProductList.Size() > 0 and keyProductList.Find( item.ComponentCode() ) >= 0, - true ), + // and ifexpr( isKeyProduct, + // keyProductList.Size() > 0 and keyProductList.Find( item.ComponentCode() ) >= 0, + // true ) + , item.OrganCode() + "_" + item.ProductCode() + "_" + item.ProcessSection() ); // 鎸塺outing鍙妑outingStep鍒嗙粍 routingIds := selectuniquevalues( bomList, Elements, item, true, item.OrganCode() + "_" + item.ProductCode() ); @@ -29,14 +30,16 @@ routingRows := selectset( bomList, Elements, item, true, routingId = item.OrganCode() + "_" + item.ProductCode() ); if( routingRows.Size() > 0 ) { firstRow := routingRows.Element( 0 ); - stockingPointId := firstRow.OrganCode() + "_" + firstRow.ProductType() + "_Stock"; - inputStockingPointId := firstRow.OrganCode() + "_" + firstRow.ComponentType() + "_Stock"; + // stockingPointId := firstRow.OrganCode() + "_" + firstRow.ProductType() + "_Stock"; + // inputStockingPointId := firstRow.OrganCode() + "_" + firstRow.ComponentType() + "_Stock"; + stockingPointId := firstRow.OrganCode() + "_Stock"; + // ========妫�鏌�======== product := Product_MP::FindProductTypeIndex( firstRow.ProductCode() ); if( not isnull( product ) ) { // error( "product : " + firstRow.ProductCode() + " not found" ); stockingPoint := StockingPoint_MP::FindStockingPointTypeIndex( stockingPointId ); - inputStockingPoint := StockingPoint_MP::FindStockingPointTypeIndex( inputStockingPointId ); + // info( stockingPointId.AsQUILL() ); // if( isnull( stockingPoint ) ) { // error( "stockingPoint : " + stockingPointId + " not found" ); @@ -55,8 +58,14 @@ // ========鍒嗙粍澶勭悊杈撳叆======== } - if( not isnull( inputStockingPoint)){ - this.MappingOperationBOMDataRouting( routing,routingRows,inputStockingPoint,keyProductList); + if( not isnull( stockingPoint)){ + if( isKeyProduct){ + keyRows := selectset( routingRows,Elements,routingrow,keyProductList.Find( routingrow.ComponentCode())>=0); + this.MappingOperationBOMDataRouting( routing,keyRows); + }else{ + this.MappingOperationBOMDataRouting( routing,routingRows); + } + } } } @@ -64,9 +73,9 @@ } if( createPurchaseSupplyMaterial ) { toCreateBomList := selectuniquevalues( bomList, Elements, item, - item.ProductType() = "P", item.OrganCode() + item.ComponentCode()); + item.ComponentType() = "P", item.OrganCode() + item.ComponentCode()); traverse( toCreateBomList, Elements, key ) { - boms := selectset( bomList, Elements, item, item.ProductType() = "P" and item.OrganCode() + item.ComponentCode() = key ); + boms := selectset( bomList, Elements, item, item.ComponentType() = "P" and item.OrganCode() + item.ComponentCode() = key ); bom := boms.First(); this.MappingOperationBOMDataSupplyPurchase( bom.OrganCode(), bom.ComponentCode(), bom.ComponentType()); } -- Gitblit v1.9.3