renhao
2023-09-18 5ac4d4f977b27ee53ec4bc544cc2a6b4019c8fbd
_Main/BL/Type_MacroPlan/Method_MappingOperationBOMData.qbl
@@ -12,16 +12,17 @@
    
    keyProductList := construct( Strings );
    if( isKeyProduct ) {
        keyProductList := selectuniquevalues( this, MappingProduct, item, item.KeyProduct(), item.ID() );
        keyProductList := selectuniquevalues( this, MappingProduct, item, item.ProductMajorType()="成品" or item.ProductMajorType()="半成品", item.ID() );
    }
    bomList := selectsortedset(  this, MappingBOM, item,
                                 ifexpr( isnull( businessTypes ) or businessTypes.Size() = 0, 
                                         true, 
    //                                     businessTypes.Difference( businessTypes.Difference( item.BusinessType().Tokenize( ", " ) ) ).Size() > 0 )
                                         businessTypes.Find( item.BusinessType() ) >= 0 )
                                 and ifexpr( isKeyProduct,
                                             keyProductList.Size() > 0 and keyProductList.Find( item.ComponentCode() ) >= 0,
                                             true ),
    //                             and ifexpr( isKeyProduct,
    //                                         keyProductList.Size() > 0 and keyProductList.Find( item.ComponentCode() ) >= 0,
    //                                         true )
                                 ,
                                 item.OrganCode() + "_" + item.ProductCode() + "_" + item.ProcessSection() );
    // 按routing及routingStep分组
    routingIds := selectuniquevalues( bomList, Elements, item, true, item.OrganCode() + "_" + item.ProductCode() );
@@ -56,7 +57,13 @@
                  
                }
                if( not isnull( inputStockingPoint)){
                  this.MappingOperationBOMDataRouting( routing,routingRows,inputStockingPoint,keyProductList);
                  if( isKeyProduct){
                      keyRows := selectset( routingRows,Elements,routingrow,keyProductList.Find( routingrow.ComponentCode())>=0);
                      this.MappingOperationBOMDataRouting( routing,keyRows);
                    }else{
                      this.MappingOperationBOMDataRouting( routing,routingRows);
                    }
                }
              }
           }