diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncImsRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncImsRule.java index 403a8ddd..be620a08 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncImsRule.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncImsRule.java @@ -25,7 +25,7 @@ import java.util.*; * @date 2025/9/27 */ public class AfterApproveSyncImsRule implements IRule { - + private String auditFlag; private static final String LOG_INFO_NAME = "gymeslog"; private static final Log logger = Log.getInstance(LOG_INFO_NAME); private Map configParams; @@ -34,6 +34,10 @@ public class AfterApproveSyncImsRule implements IRule { // IMS数据源 public BaseDAO imsDao; + public AfterApproveSyncImsRule(String auditFlag) { + this.auditFlag = auditFlag; + } + /** * 获取IMS数据源 */ @@ -106,9 +110,8 @@ public class AfterApproveSyncImsRule implements IRule { String pkOrg = pmoHeadVO.getPk_org(); String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg); if (checkIfOrg(orgCode, configParams)) { - // continue; + continue; } - // 获取主键值 String headPrimaryKeyValue = (String) pmoHeadVO.getAttributeValue("cpmohid"); @@ -226,8 +229,12 @@ public class AfterApproveSyncImsRule implements IRule { headParams.addParam(value); } } - // status C=创建U=修改2=处理完成 - headParams.addParam("U"); // 更新状态为U(修改) + // status 同步状态:BIP:C-创建;U-修改D-删除 IMS:2-MES单据接收完成 + if ("N".equals(auditFlag)) { + headParams.addParam("D"); + } else { + headParams.addParam("U"); // 更新状态为U(修改) + } // 添加主键作为WHERE条件 headParams.addParam(pmoHeadVO.getAttributeValue("cpmohid")); } else { @@ -239,12 +246,14 @@ public class AfterApproveSyncImsRule implements IRule { Object value = pmoHeadVO.getAttributeValue(column); if (headNumFields.contains(column)) { value = skipNullForNumber(value); + } else if (headTransferFields.contains(column)) { + value = transferHeadFields(column, value); } else { value = skipNull(value); } headParams.addParam(value); } - // status C=创建U=修改2=处理完成 + // status 同步状态:BIP:C-创建;U-修改D-删除 IMS:2-MES单据接收完成 headParams.addParam("C"); // 默认状态为C(新增) } @@ -410,7 +419,7 @@ public class AfterApproveSyncImsRule implements IRule { String sql = " select code from bd_measdoc where nvl(dr,0) = 0 and pk_measdoc = '[value]' "; sql = sql.replace("[value]", value.toString()); result = (String) baseDAO.executeQuery(sql, new ColumnProcessor()); - } else if ("cdeptid".equals(column)) { + } else if ("cdeptid".equals(column)) { String sql = " select code from org_dept where nvl(dr,0) = 0 and pk_dept = '[value]' "; sql = sql.replace("[value]", value.toString()); result = (String) baseDAO.executeQuery(sql, new ColumnProcessor());