diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/BeforePmoBomRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/BeforePmoBomRule.java index c996c11a..bd303296 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/BeforePmoBomRule.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/BeforePmoBomRule.java @@ -45,13 +45,16 @@ public class BeforePmoBomRule implements IRule { // vsrctype 来源单据类型 来源销售订单的需要赋值 if ("30".equals(pmoItemVO.getVsrctype())) { // BOM状态 (FBomBillstatusEnum) 是否需要判断BOM的状态 + String cmaterialvid = pmoItemVO.getCmaterialvid(); // 根据bom版本号查询BOM(销售订单号+行号) String bomVersion = pmoItemVO.getVsrccode() + "-" + pmoItemVO.getVsrcrowno(); - String whereSql = BomVO.PK_ORG + " = '" + pkOrg + "' AND " + BomVO.HVERSION + " = '" + bomVersion + "'"; + String whereSql = BomVO.PK_ORG + " = '" + pkOrg + "'" + + " AND " + BomVO.HVERSION + " = '" + bomVersion + "'" + + " AND " + BomVO.HCMATERIALID + " = '" + cmaterialvid + "'"; // NCCForUAPLogger.debug("whereSql:" + whereSql); String bomId = MyHelper.getStrValByCondition(BomVO.TABLE_NAME, BomVO.CBOMID, whereSql); if (StringUtils.isEmpty(bomId)) { - throw new BusinessException("未找到版本号(" + bomVersion + ")对应的BOM"); + throw new BusinessException("未找到版本号(" + bomVersion + ")对应的BOM,whereSql = " + whereSql); } pmoItemVO.setVbomversion(bomVersion); // 生产BOM版本号 pmoItemVO.setCbomversionid(bomId); // 生产BOM版本