流程生产订单审批后推送艾普MES

This commit is contained in:
mzr 2025-07-11 10:59:26 +08:00
parent 06fca63a3a
commit c1206a6bbe
1 changed files with 19 additions and 3 deletions

View File

@ -13,15 +13,18 @@ import nc.itf.arap.goldentax.SysParaInitQuery;
import nc.jdbc.framework.processor.MapListProcessor;
import nc.jdbc.framework.processor.MapProcessor;
import nc.vo.bc.pmpub.project.ProjectHeadVO;
import nc.vo.bd.bom.bom0202.entity.BomVO;
import nc.vo.bd.material.MaterialVO;
import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO;
import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO;
import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO;
import nc.vo.org.DeptVO;
import nc.vo.org.FactoryVO;
import nc.vo.pub.BusinessException;
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
import nc.vo.pubapp.pattern.pub.SqlBuilder;
import nc.vo.scmpub.util.ArrayUtil;
import nccloud.baseapp.core.log.NCCForUAPLogger;
import nccloud.commons.lang.StringUtils;
import java.util.ArrayList;
@ -117,10 +120,15 @@ public class AfterApproveSyncEpicMesRule implements IRule<PMOAggVO> {
String orgCode = MyHelper.transferField(FactoryVO.getDefaultTableName(), FactoryVO.CODE, FactoryVO.PK_FACTORY, pkOrg);
// 检查当前组织是否为电力电子
if (MyHelper.checkIfDldzOrg(orgCode)) {
// 按照部门筛选生产订单只传消弧车间电容车间成套车间部门是配置项
PMOItemVO[] childrenVO = aggVo.getChildrenVO();
for (PMOItemVO item : childrenVO) {
String cdeptid = item.getCdeptid();
String deptCode = MyHelper.transferField(DeptVO.getDefaultTableName(), DeptVO.CODE, DeptVO.PK_DEPT, cdeptid);
}
aggvoList.add(aggVo);
}
}
// 按照部门筛选生产订单只传消弧车间电容车间成套车间部门是配置项
return aggvoList;
}
@ -145,11 +153,17 @@ public class AfterApproveSyncEpicMesRule implements IRule<PMOAggVO> {
String cprojectid = pmoItem.getCprojectid();
selectFields = ProjectHeadVO.PROJECT_CODE + "," + ProjectHeadVO.PROJECT_NAME;
Map<String, Object> projectMap = MyHelper.transferFields(MaterialVO.getDefaultTableName(), selectFields, ProjectHeadVO.PK_PROJECT, cprojectid);
// 生产部门 cdeptid
String cdeptid = pmoItem.getCdeptid();
String deptCode = MyHelper.transferField(DeptVO.getDefaultTableName(), DeptVO.CODE, DeptVO.PK_DEPT, cdeptid);
// 生产BOM版本
String cbomversionid = pmoItem.getCbomversionid();
String bomCode = MyHelper.transferField(BomVO.TABLE_NAME, BomVO.HVERSION, BomVO.CBOMID, cbomversionid);
// 组装数据
JSONObject data = new JSONObject();
JSONObject orderParam = new JSONObject();
orderParam.put("id", null); // 唯一标识主键
orderParam.put("siteCode", null);// 工厂编码
orderParam.put("siteCode", deptCode);// 工厂编码
if (projectMap != null) {
orderParam.put("contractNo", projectMap.get(ProjectHeadVO.PROJECT_CODE));// 合同号
orderParam.put("contractName", projectMap.get(ProjectHeadVO.PROJECT_NAME)); // 合同名称
@ -161,7 +175,9 @@ public class AfterApproveSyncEpicMesRule implements IRule<PMOAggVO> {
orderParam.put("produName", goodsMap.get(MaterialVO.NAME)); // 产品名称
}
// cbomversionid 生产BOM版本
orderParam.put("bomCode", null); // BOM 编码
orderParam.put("bomCode", bomCode); // BOM 编码
NCCForUAPLogger.debug("计划开始时间:" + pmoItem.getTplanstarttime().getMillis());
NCCForUAPLogger.debug("计划完成时间:" + pmoItem.getTplanendtime().getMillis());
orderParam.put("planBeginDate", pmoItem.getTplanstarttime().getMillis()); // 计划开始时间毫秒级时间戳
orderParam.put("planEndDate", pmoItem.getTplanendtime()); // 计划完成时间毫秒级时间戳
// orderParam.put("endDate", null); // 试验结束时间毫秒级时间戳