haorenhui
2023-10-27 92fa1ca619f8f93c42243737195c1f5ff2aa7ba1
_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 );
                   }
                }
              }