diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveRuleSyncMes.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveRuleSyncMes.java index a22d28a..84aa02e 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveRuleSyncMes.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveRuleSyncMes.java @@ -8,6 +8,7 @@ import nc.bs.framework.common.NCLocator; import nc.bs.logging.Log; import nc.impl.pubapp.pattern.rule.IRule; import nc.jdbc.framework.processor.ColumnProcessor; +import nc.vo.bc.pmpub.project.ProjectHeadVO; import nc.vo.bd.bom.bom0202.entity.BomVO; import nc.vo.bd.material.MaterialVO; import nc.vo.bd.material.MaterialVersionVO; @@ -28,6 +29,7 @@ import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * 流程生产订单审批后推送MES @@ -72,7 +74,7 @@ public class AfterApproveRuleSyncMes implements IRule { for (PMOItemVO item : bodys) { obmlog.debug("处理生产订单行 " + item.getVrowno()); obmlog.debug(item); - if (!item.getVsrctype().equals("55A2")) { + if (!Objects.equals(item.getVsrctype(),"55A2")) { syncOrderItemToMes(head, item); }else { obmlog.warn("生产订单 " + head.getVbillcode() + " 行 " + item.getVrowno() + " 跳过同步:不是成品"); @@ -268,8 +270,12 @@ public class AfterApproveRuleSyncMes implements IRule { throw new BusinessException("生产订单 " + vbillcode + " 行 : MES系统要求" + itemRow + " 工厂信息不能为空。"); } - // productNum String 制令号 vsalebillcode - data.put("productNum", item.getVsalebillcode()); + // productNum String 制令号 vsalebillcode 2025年6月13日刘成&程猛:流程生产订单制令号取明细中的cprojectid的编码 + + if(!StringUtils.isEmpty(item.getCprojectid())){ + data.put("productNum", transferCodeByPk(ProjectHeadVO.getDefaultTableName(), ProjectHeadVO.PROJECT_CODE, ProjectHeadVO.PK_PROJECT, item.getCprojectid())); + } + // saleOrderNo String 销售订单号 vsalebillcode data.put("saleOrderNo", item.getVsalebillcode());