From 92fa1ca619f8f93c42243737195c1f5ff2aa7ba1 Mon Sep 17 00:00:00 2001
From: haorenhui <renhui.hao@capgemini.com>
Date: 星期五, 27 十月 2023 15:04:58 +0800
Subject: [PATCH] 替代料比例

---
 _Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl
index 43f35a0..de459dd 100644
--- a/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl
+++ b/_Main/BL/Type_MacroPlan/Method_DoASyncMappingOperationBOMDataRouting.qbl
@@ -67,6 +67,8 @@
                     mainBOM.MaxQuantityInGroup( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() );
                     mainQty := mainBOM.Quantity();
                     Transaction::Transaction().Propagate();
+                    
+                    altersize := alterRows.Size();
                     // 娣诲姞杈呮枡
                     traverse( alterRows, Elements, alterRow ) {
                         alterProd := Product_MP::FindById( this, alterRow.AlternativeMaterialCode() );
@@ -84,14 +86,16 @@
                           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() );
     //                          info( "Quantity" + [String]alterBom.Quantity() )
     //                          info( "MaxQuantityInGroup" + [String]alterBom.MaxQuantityInGroup() )
                               mainQty := mainQty - alterBom.Quantity();
                           }
                       }
-                      mainBOM.Quantity( mainQty );
+                      mainBOM.Quantity( mainBOM.MaxQuantityInGroup() / altersize );
                    }
                 }
               }

--
Gitblit v1.9.3