From 85fb8fdf8bdef29cbe8a1f64bc27e049454e7142 Mon Sep 17 00:00:00 2001 From: yunchai <yunying.chai@capgemini.com> Date: 星期一, 25 九月 2023 22:15:28 +0800 Subject: [PATCH] 合并DEV并且更新了冲减到订单 --- _Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataSupplyPurchase.qbl | 42 +++++++++++++++++++++++++----------------- 1 files changed, 25 insertions(+), 17 deletions(-) diff --git a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataSupplyPurchase.qbl b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataSupplyPurchase.qbl index ab499a8..7ea305b 100644 --- a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataSupplyPurchase.qbl +++ b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataSupplyPurchase.qbl @@ -8,38 +8,46 @@ { TextBody: [* - routingId := "PR_"+orgCode + "_" + productId; - unitId := "渚涘簲鍟�"; - routingStepName := "Purchase"; - operationId := orgCode + "_PR_" + productId; - routing := Routing::CreateOrUpdate( this, routingId ); - toDeleteSteps := selectset( routing, RoutingStep, routingStep, true ); - RoutingStep::Delete( toDeleteSteps ); - routingStep := RoutingStep::Create( routing, routingStepName, "", true ); + product := Product_MP::FindById( this, productId ); if( isnull( product ) ) { - error( "product : " + productId + " not found" ); + info( "product : " + productId + " not found" ); } - stockingPointId := orgCode + "_" + productType + "_Stock"; + stockingPointId := orgCode + "_Stock"; stockingPoint := StockingPoint_MP::FindById( this, stockingPointId ); if( isnull( stockingPoint ) ) { - error( "stockingPoint : " + stockingPointId + " not found" ); + info( "stockingPoint : " + stockingPointId + " not found" ); } - unit := Unit::FindById( this, unitId ); - if( isnull( unit ) ) { + + if( not isnull( product) and not isnull( stockingPoint)){ + routingId := "PR_"+orgCode + "_" + productId; + unitId := "渚涘簲鍟�"; + routingStepName := "Purchase"; + operationId := orgCode + "_PR_" + productId; + routing := Routing::CreateOrUpdate( this, routingId ); + toDeleteSteps := selectset( routing, RoutingStep, routingStep, true ); + RoutingStep::Delete( toDeleteSteps ); + routingStep := RoutingStep::Create( routing, routingStepName, "", true ); + unit := Unit::FindById( this, unitId ); + if( isnull( unit ) ) { unit := this.Unit( relnew, ID := unitId, Name := unitId, CapacityType := "Infinite", DefaultGridX := 0, DefaultGridY := 0, IsManuallyConfigured := false, Currency_MP := this.BaseCurrency(), UnitOfMeasure_MP := this.DefaultUnitOfMeasure() ); - } + } // Operation - operation := Operation::Create( operationId, unit, operationId, routingStep, + operation := Operation::FindOperationTypeIndex( operationId); + if( isnull( operation)){ + operation := Operation::Create( operationId, unit, operationId, routingStep, Duration::Zero(), Duration::Zero(), 1.0, false, Real::MinReal(), false, Real::MaxReal(), 0.0, 0.0, false, true ); // OperaionBom - operation.CreateOperationBOM( product, stockingPoint, false, true ); - operation.GetOperationBOM( product.ID(), stockingPoint.ID(), false ).Quantity( 1 ); + operation.CreateOperationBOM( product, stockingPoint, false, true ); + operation.GetOperationBOM( product.ID(), stockingPoint.ID(), false ).Quantity( 1 ); + } + + } *] } -- Gitblit v1.9.3