From b262ab5a8021b0a3b9bb4bab78c52981ac39e35e Mon Sep 17 00:00:00 2001
From: yanyuan <yuan.yan@capgemini.com>
Date: 星期二, 05 九月 2023 16:00:50 +0800
Subject: [PATCH] Merge branch 'dev_yy' into dev

---
 _Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting#576.qbl |   75 +++++++++++++++++++------------------
 1 files changed, 38 insertions(+), 37 deletions(-)

diff --git "a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting\043576.qbl" "b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting\043576.qbl"
index 237e007..6d1861c 100644
--- "a/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting\043576.qbl"
+++ "b/_Main/BL/Type_MacroPlan/Method_MappingOperationBOMDataRouting\043576.qbl"
@@ -49,43 +49,44 @@
               firstAlterRow := alterRows.Element( 0 );
               // 妫�鏌ヤ富鏂�
               component := Product_MP::FindById( this, firstAlterRow.ComponentCode() );
-              if( isnull( component ) ) {
-                  error( "component : " + firstAlterRow.ComponentCode() + " not found" );
-              }
-              traverse( routingStep, Operation, toLink ) {
-                  // 杩炴帴浜у搧涓巓peration
-                  pisp := ProductInStockingPoint_MP::CreateIfNotFound( component, stockingPoint );
-                  trash := construct( OperationBOMs );
-                  mainBOM := toLink.LinkProduct( component, true, BaseOperationLink::GetGroupID( toLink, true, false ), pisp, 
-                                                      true, trash );
-                  mainBOM.Quantity( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() );
-                  mainBOM.MaxQuantityInGroup( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() );
-                  mainQty := mainBOM.Quantity();
-                  Transaction::Transaction().Propagate();
-                  // 娣诲姞杈呮枡
-                  traverse( alterRows, Elements, alterRow ) {
-                      alterProd := Product_MP::FindById( this, alterRow.AlternativeMaterialCode() );
-                      if( not isnull( alterProd ) ) {
-      //                    error( "alterProd : " + alterRow.AlternativeMaterialCode() + " not found" );
-                        stockingPointIdAlter := alterRow.OrganCode()  + "_" + alterRow.ProductType() + "_STOCK";
-                        stockingPointAlter := StockingPoint_MP::FindById( this, stockingPointIdAlter );
-                        if( isnull( stockingPointAlter ) ) {
-                            error( "stockingPoint : " + stockingPointIdAlter + " not found" );
-                        }
-                        pispAlter := ProductInStockingPoint_MP::CreateIfNotFound( alterProd, stockingPointAlter );
-                        mainInput := toLink.LastOperationInput();
-                        trash := construct( OperationBOMs );
-                        if( not isnull( mainInput ) ) {
-                            alterBom := mainInput.Operation().LinkPISP( pispAlter, true, mainInput.OperationLinkGroupID(), trash );
-                            alterBom.Quantity( mainBOM.MaxQuantityInGroup() * alterRow.AlternativeRate() );
-                            alterBom.MaxQuantityInGroup( mainBOM.MaxQuantityInGroup() );
-                            info( "Quantity" + [String]alterBom.Quantity() )
-                            info( "MaxQuantityInGroup" + [String]alterBom.MaxQuantityInGroup() )
-                            mainQty := mainQty - alterBom.Quantity();
-                        }
-                    }
-                    mainBOM.Quantity( mainQty );
-                 }
+              if( not isnull( component ) ) {
+    //              error( "component : " + firstAlterRow.ComponentCode() + " not found" );
+    //          }
+                traverse( routingStep, Operation, toLink ) {
+                    // 杩炴帴浜у搧涓巓peration
+                    pisp := ProductInStockingPoint_MP::CreateIfNotFound( component, stockingPoint );
+                    trash := construct( OperationBOMs );
+                    mainBOM := toLink.LinkProduct( component, true, BaseOperationLink::GetGroupID( toLink, true, false ), pisp, 
+                                                        true, trash );
+                    mainBOM.Quantity( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() );
+                    mainBOM.MaxQuantityInGroup( firstAlterRow.UnitUsageOfComponents() / firstAlterRow.ComponentOutputRate() );
+                    mainQty := mainBOM.Quantity();
+                    Transaction::Transaction().Propagate();
+                    // 娣诲姞杈呮枡
+                    traverse( alterRows, Elements, alterRow ) {
+                        alterProd := Product_MP::FindById( this, alterRow.AlternativeMaterialCode() );
+                        if( not isnull( alterProd ) ) {
+        //                    error( "alterProd : " + alterRow.AlternativeMaterialCode() + " not found" );
+                          stockingPointIdAlter := alterRow.OrganCode()  + "_" + alterRow.ProductType() + "_STOCK";
+                          stockingPointAlter := StockingPoint_MP::FindById( this, stockingPointIdAlter );
+                          if( isnull( stockingPointAlter ) ) {
+                              error( "stockingPoint : " + stockingPointIdAlter + " not found" );
+                          }
+                          pispAlter := ProductInStockingPoint_MP::CreateIfNotFound( alterProd, stockingPointAlter );
+                          mainInput := toLink.LastOperationInput();
+                          trash := construct( OperationBOMs );
+                          if( not isnull( mainInput ) ) {
+                              alterBom := mainInput.Operation().LinkPISP( pispAlter, true, mainInput.OperationLinkGroupID(), trash );
+                              alterBom.Quantity( mainBOM.MaxQuantityInGroup() * alterRow.AlternativeRate() );
+                              alterBom.MaxQuantityInGroup( mainBOM.MaxQuantityInGroup() );
+                              info( "Quantity" + [String]alterBom.Quantity() )
+                              info( "MaxQuantityInGroup" + [String]alterBom.MaxQuantityInGroup() )
+                              mainQty := mainQty - alterBom.Quantity();
+                          }
+                      }
+                      mainBOM.Quantity( mainQty );
+                   }
+                }
               }
           }
        }

--
Gitblit v1.9.3