ic,mmpac,uapbd: 使用统一的组织判断逻辑

- 将原有的硬编码组织代码比较逻辑替换为调用 IHttpPostOtherSys 接口的 checkIfIncludeOrg 方法
- 优化了组织判断逻辑,提高了代码的可维护性和扩展性
- 修改了日志输出内容,使其更加通用和准确
This commit is contained in:
maolei 2025-06-03 19:01:57 +08:00
parent e15ef4f523
commit 13fbf46634
5 changed files with 19 additions and 14 deletions

View File

@ -123,9 +123,9 @@ public class AfterSignRuleSyncInToMesProcess implements IRule<GeneralInVO> {
String orgCode = transferCodeByPk(StockOrgVO.getDefaultTableName(), StockOrgVO.CODE, StockOrgVO.PK_STOCKORG, head.getPk_org()); String orgCode = transferCodeByPk(StockOrgVO.getDefaultTableName(), StockOrgVO.CODE, StockOrgVO.PK_STOCKORG, head.getPk_org());
if (!Objects.equals(orgCode, "C034")) { if (!HTTP_POST_OTHER_SYS.checkIfIncludeOrg(orgCode)) {
obmlog.debug("仅同步山东泰开电缆有限公司,当前组织:" + generalInVO.getHead().getPk_org()); obmlog.debug("当前组织不在同步范围内,当前组织:" + generalInVO.getHead().getPk_org() + ", 组织编码:" + orgCode);
return; // 仅操作山东泰开电缆有限公司 return; // 仅操作需要同步的组织
} }
// // µ÷²¦Èë¿â // // µ÷²¦Èë¿â

View File

@ -25,7 +25,6 @@ import java.util.Objects;
public class AfterSignRuleSyncOutToMesProcess implements IRule<GeneralOutVO> { public class AfterSignRuleSyncOutToMesProcess implements IRule<GeneralOutVO> {
public static final IHttpPostOtherSys HTTP_POST_OTHER_SYS = NCLocator.getInstance().lookup(IHttpPostOtherSys.class); public static final IHttpPostOtherSys HTTP_POST_OTHER_SYS = NCLocator.getInstance().lookup(IHttpPostOtherSys.class);
private static final String logginfo = "OALOG"; private static final String logginfo = "OALOG";
@ -107,9 +106,9 @@ public class AfterSignRuleSyncOutToMesProcess implements IRule<GeneralOutVO> {
String orgCode = transferCodeByPk(StockOrgVO.getDefaultTableName(), StockOrgVO.CODE, StockOrgVO.PK_STOCKORG, generalOutVO.getHead().getPk_org()); String orgCode = transferCodeByPk(StockOrgVO.getDefaultTableName(), StockOrgVO.CODE, StockOrgVO.PK_STOCKORG, generalOutVO.getHead().getPk_org());
if (!Objects.equals(orgCode, "C034")) { if (!HTTP_POST_OTHER_SYS.checkIfIncludeOrg(orgCode)) {
obmlog.debug("仅同步山东泰开电缆有限公司,当前组织:" + generalOutVO.getHead().getPk_org()); obmlog.debug("当前组织不在同步范围内,当前组织:" + generalOutVO.getHead().getPk_org() + ", 组织编码:" + orgCode);
return; // 仅操作山东泰开电缆有限公司 return; // 仅操作需要同步的组织
} }
String trantypecode = generalOutVO.getHead().getVtrantypecode(); String trantypecode = generalOutVO.getHead().getVtrantypecode();

View File

@ -31,6 +31,7 @@ import nccloud.api.impl.ic.pub.check.CheckProhibitUpdateFields;
import nccloud.openapi.ic.util.ICAPILocationVOUtils; import nccloud.openapi.ic.util.ICAPILocationVOUtils;
import nccloud.openapi.scmpub.pub.TransferCodeToPKTool; import nccloud.openapi.scmpub.pub.TransferCodeToPKTool;
import nccloud.openapi.scmpub.pub.TransferMapToVOTool; import nccloud.openapi.scmpub.pub.TransferMapToVOTool;
import nccloud.pubift.commen.itf.utils.IHttpPostOtherSys;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -48,6 +49,8 @@ import java.util.*;
public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{
private static final BaseDAO DAO = new BaseDAO(); private static final BaseDAO DAO = new BaseDAO();
private static final IHttpPostOtherSys HTTP_POST_OTHER_SYS = NCLocator.getInstance().lookup(IHttpPostOtherSys.class);
@Override @Override
public MaterialOutVO[] save(List<Map<String, Object>> paramList) throws BusinessException { public MaterialOutVO[] save(List<Map<String, Object>> paramList) throws BusinessException {
@ -278,7 +281,7 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{
} }
/** /**
* 检查是否满足特殊条件C034组织 * 检查是否满足特殊条件需要同步的组织
*/ */
private boolean checkSpecialCondition(List<Map<String, Object>> materialOutVOS) throws BusinessException { private boolean checkSpecialCondition(List<Map<String, Object>> materialOutVOS) throws BusinessException {
@ -296,8 +299,8 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{
String pkOrg = head.getPk_org(); String pkOrg = head.getPk_org();
// ·­Òë³Écode // ·­Òë³Écode
// String orgCode = transferCodeByPk(StockOrgVO.getDefaultTableName(), StockOrgVO.CODE, StockOrgVO.PK_ORG, pkOrg); // String orgCode = transferCodeByPk(StockOrgVO.getDefaultTableName(), StockOrgVO.CODE, StockOrgVO.PK_ORG, pkOrg);
// 这是未翻译的传进来的原始数据转换的所以直接比较 // 使用统一的组织判断方法
if("C034".equals(pkOrg)){ if(HTTP_POST_OTHER_SYS.checkIfIncludeOrg(pkOrg)){
return true; return true;
} }
} }

View File

@ -181,11 +181,11 @@ public class AfterApproveRuleSyncMes implements IRule<PMOAggVO> {
// String billmaker = aggvo.getParentVO().getBillmaker(); // String billmaker = aggvo.getParentVO().getBillmaker();
// String userCode = transferCodeByPk("sm_user", UserVO.USER_CODE, UserVO.CUSERID, billmaker); // String userCode = transferCodeByPk("sm_user", UserVO.USER_CODE, UserVO.CUSERID, billmaker);
// //
// if ("C034".equals(orgCode)&&(!"gaoning".equals(userCode))) { // if (HTTP_POST_OTHER_SYS.checkIfIncludeOrg(orgCode)&&(!"gaoning".equals(userCode))) {
// aggvoList.add(aggvo); // aggvoList.add(aggvo);
// } // }
if ("C034".equals(orgCode)) { if (HTTP_POST_OTHER_SYS.checkIfIncludeOrg(orgCode)) {
aggvoList.add(aggvo); aggvoList.add(aggvo);
} }
} }

View File

@ -43,6 +43,7 @@ import nc.vo.pubapp.pattern.model.entity.bill.AbstractBill;
import nccloud.api.mmbd.bom.IAPIBomBusinessService; import nccloud.api.mmbd.bom.IAPIBomBusinessService;
import nccloud.api.mmbd.utils.QuerySchemeUtils; import nccloud.api.mmbd.utils.QuerySchemeUtils;
import nccloud.api.rest.utils.ResultMessageUtil; import nccloud.api.rest.utils.ResultMessageUtil;
import nccloud.pubift.commen.itf.utils.IHttpPostOtherSys;
import nccloud.vo.bd.bom.bom0202.validate.BomSavingValidation; import nccloud.vo.bd.bom.bom0202.validate.BomSavingValidation;
import org.json.JSONString; import org.json.JSONString;
@ -54,6 +55,8 @@ public class APIBomBusinessServiceImpl implements IAPIBomBusinessService {
// 2025年5月28日 电缆组织金思维BOM版本号自动计算处理 // 2025年5月28日 电缆组织金思维BOM版本号自动计算处理
private static final BaseDAO DAO = new BaseDAO(); private static final BaseDAO DAO = new BaseDAO();
private static final IHttpPostOtherSys HTTP_POST_OTHER_SYS = NCLocator.getInstance().lookup(IHttpPostOtherSys.class);
private static String HEADTABLE = "bd_bom"; private static String HEADTABLE = "bd_bom";
@ -1563,8 +1566,8 @@ public class APIBomBusinessServiceImpl implements IAPIBomBusinessService {
param.addParam(pk_org); param.addParam(pk_org);
String orgCode = (String) DAO.executeQuery(sql, param, new ColumnProcessor()); String orgCode = (String) DAO.executeQuery(sql, param, new ColumnProcessor());
// 判断组织编码是否为C034 // 使用统一的组织判断方法
boolean isCableOrg = "C034".equals(orgCode); boolean isCableOrg = HTTP_POST_OTHER_SYS.checkIfIncludeOrg(orgCode);
// 判断备注是否包含"金思维" // 判断备注是否包含"金思维"
boolean containsJinSiWei = MMValueCheck.isNotEmpty(hvnote) && hvnote.contains("金思维"); boolean containsJinSiWei = MMValueCheck.isNotEmpty(hvnote) && hvnote.contains("金思维");