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());
if (!Objects.equals(orgCode, "C034")) {
obmlog.debug("仅同步山东泰开电缆有限公司,当前组织:" + generalInVO.getHead().getPk_org());
return; // 仅操作山东泰开电缆有限公司
if (!HTTP_POST_OTHER_SYS.checkIfIncludeOrg(orgCode)) {
obmlog.debug("当前组织不在同步范围内,当前组织:" + generalInVO.getHead().getPk_org() + ", 组织编码:" + orgCode);
return; // 仅操作需要同步的组织
}
// // µ÷²¦Èë¿â

View File

@ -25,7 +25,6 @@ import java.util.Objects;
public class AfterSignRuleSyncOutToMesProcess implements IRule<GeneralOutVO> {
public static final IHttpPostOtherSys HTTP_POST_OTHER_SYS = NCLocator.getInstance().lookup(IHttpPostOtherSys.class);
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());
if (!Objects.equals(orgCode, "C034")) {
obmlog.debug("仅同步山东泰开电缆有限公司,当前组织:" + generalOutVO.getHead().getPk_org());
return; // 仅操作山东泰开电缆有限公司
if (!HTTP_POST_OTHER_SYS.checkIfIncludeOrg(orgCode)) {
obmlog.debug("当前组织不在同步范围内,当前组织:" + generalOutVO.getHead().getPk_org() + ", 组织编码:" + orgCode);
return; // 仅操作需要同步的组织
}
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.scmpub.pub.TransferCodeToPKTool;
import nccloud.openapi.scmpub.pub.TransferMapToVOTool;
import nccloud.pubift.commen.itf.utils.IHttpPostOtherSys;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
@ -48,6 +49,8 @@ import java.util.*;
public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{
private static final BaseDAO DAO = new BaseDAO();
private static final IHttpPostOtherSys HTTP_POST_OTHER_SYS = NCLocator.getInstance().lookup(IHttpPostOtherSys.class);
@Override
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 {
@ -296,8 +299,8 @@ public class APIMaterialOutMaintainImpl implements IAPIMaterialOutMaintain{
String pkOrg = head.getPk_org();
// ·­Òë³Écode
// String orgCode = transferCodeByPk(StockOrgVO.getDefaultTableName(), StockOrgVO.CODE, StockOrgVO.PK_ORG, pkOrg);
// 这是未翻译的传进来的原始数据转换的所以直接比较
if("C034".equals(pkOrg)){
// 使用统一的组织判断方法
if(HTTP_POST_OTHER_SYS.checkIfIncludeOrg(pkOrg)){
return true;
}
}

View File

@ -181,11 +181,11 @@ public class AfterApproveRuleSyncMes implements IRule<PMOAggVO> {
// String billmaker = aggvo.getParentVO().getBillmaker();
// 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);
// }
if ("C034".equals(orgCode)) {
if (HTTP_POST_OTHER_SYS.checkIfIncludeOrg(orgCode)) {
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.utils.QuerySchemeUtils;
import nccloud.api.rest.utils.ResultMessageUtil;
import nccloud.pubift.commen.itf.utils.IHttpPostOtherSys;
import nccloud.vo.bd.bom.bom0202.validate.BomSavingValidation;
import org.json.JSONString;
@ -54,6 +55,8 @@ public class APIBomBusinessServiceImpl implements IAPIBomBusinessService {
// 2025年5月28日 电缆组织金思维BOM版本号自动计算处理
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";
@ -1563,8 +1566,8 @@ public class APIBomBusinessServiceImpl implements IAPIBomBusinessService {
param.addParam(pk_org);
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("金思维");