From 96c87053c9646462cb85af73fe01a3cae4ed1848 Mon Sep 17 00:00:00 2001 From: chaiyunying <chaiyunying> Date: 星期一, 30 十月 2023 14:25:51 +0800 Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev' --- _Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl | 16 ++++++++++++++-- 1 files changed, 14 insertions(+), 2 deletions(-) diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl index 43f35a0..b575592 100644 --- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl +++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl @@ -65,8 +65,11 @@ true, trash ); mainBOM.Quantity( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() ); mainBOM.MaxQuantityInGroup( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() ); + mainBOM.MinQuantityInGroup(0); mainQty := mainBOM.Quantity(); Transaction::Transaction().Propagate(); + + altersize := alterRows.Size(); // 娣诲姞杈呮枡 traverse( alterRows, Elements, alterRow ) { alterProd := Product_MP::FindById( this, alterRow.AlternativeMaterialCode() ); @@ -84,14 +87,23 @@ trash := construct( OperationBOMs ); if( not isnull( mainInput ) ) { alterBom := mainInput.Operation().LinkPISP( pispAlter, true, mainInput.OperationLinkGroupID(), trash ); - alterBom.Quantity( mainBOM.MaxQuantityInGroup() * alterRow.AlternativeRate() ); + //alterBom.Quantity( mainBOM.MaxQuantityInGroup() * alterRow.AlternativeRate() ); + //alterBom.MaxQuantityInGroup( mainBOM.MaxQuantityInGroup() ); + alterBom.Quantity( mainBOM.MaxQuantityInGroup() / altersize ); alterBom.MaxQuantityInGroup( mainBOM.MaxQuantityInGroup() ); + alterBom.MinQuantityInGroup(0); // info( "Quantity" + [String]alterBom.Quantity() ) // info( "MaxQuantityInGroup" + [String]alterBom.MaxQuantityInGroup() ) mainQty := mainQty - alterBom.Quantity(); } } - mainBOM.Quantity( mainQty ); + + Transaction::Transaction().Propagate( relation( OperationBOM, OperationInputGroup)); + if( not isnull( mainBOM.OperationInputGroup())){ + mainBOM.OperationInputGroup().InputGroupQuantity(mainBOM.MaxQuantityInGroup()); + mainBOM.Quantity( mainBOM.MaxQuantityInGroup() / altersize ); + } + } } } -- Gitblit v1.9.3