电力MES-物料和流程生产订单推送调整

This commit is contained in:
mzr 2025-07-12 08:26:09 +08:00
parent c314edf509
commit 2e3b7b6329
2 changed files with 38 additions and 9 deletions

View File

@ -119,16 +119,18 @@ public class AfterApproveSyncEpicMesRule implements IRule<PMOAggVO> {
String pkOrg = aggVo.getParentVO().getPk_org();
String orgCode = MyHelper.transferField(FactoryVO.getDefaultTableName(), FactoryVO.CODE, FactoryVO.PK_FACTORY, pkOrg);
// 检查当前组织是否为电力电子
if (MyHelper.checkIfDldzOrg(orgCode)) {
if (!MyHelper.checkIfDldzOrg(orgCode)) {
continue;
}
// 按照部门筛选生产订单只传消弧车间电容车间成套车间部门是配置项
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;
}
@ -179,7 +181,7 @@ public class AfterApproveSyncEpicMesRule implements IRule<PMOAggVO> {
NCCForUAPLogger.debug("计划开始时间:" + pmoItem.getTplanstarttime().getMillis());
NCCForUAPLogger.debug("计划完成时间:" + pmoItem.getTplanendtime().getMillis());
orderParam.put("planBeginDate", pmoItem.getTplanstarttime().getMillis()); // 计划开始时间毫秒级时间戳
orderParam.put("planEndDate", pmoItem.getTplanendtime()); // 计划完成时间毫秒级时间戳
orderParam.put("planEndDate", pmoItem.getTplanendtime().getMillis()); // 计划完成时间毫秒级时间戳
// orderParam.put("endDate", null); // 试验结束时间毫秒级时间戳
orderParam.put("type", "I"); // 类型I:新增 U:修改 D:删除
orderParam.put("auditCode", "Y"); // 审核状态Y:已审核 N:未审核

View File

@ -15,6 +15,8 @@ import nc.vo.bd.material.measdoc.MeasdocVO;
import nc.vo.org.FactoryVO;
import nc.vo.pub.BusinessException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.HashMap;
import java.util.Map;
@ -107,4 +109,29 @@ public class MaterialToEpicMesListener implements IBusinessListener {
return map.getOrDefault(eventType, "I");
}
/**
* 转换特殊字段 1/1 转换为小数 1.0
*/
private String transferSpecialField(String field) {
if (field == null || field.trim().isEmpty()) {
return null;
}
String[] split = field.split("/");
if (split.length == 2) {
String numStr = split[0].trim();
String denStr = split[1].trim();
if (denStr.equals("0")) {
return "0.00"; // 分母不能为零
}
try {
BigDecimal numerator = new BigDecimal(numStr);
BigDecimal denominator = new BigDecimal(denStr);
return numerator.divide(denominator, 2, RoundingMode.HALF_UP).toString();
} catch (NumberFormatException e) {
return field; // 非法数字返回原字段
}
}
return field;
}
}