流程生产订单点击备料计划重算推送高压MES 优化
This commit is contained in:
parent
2e1795ce48
commit
9d71f6ab34
|
|
@ -47,14 +47,6 @@ public class AfterPickmRuleHighpressureRule implements IRule<PMOAggVO> {
|
|||
// 配置参数(同步目标组织等)
|
||||
private Map<String, String> configParams;
|
||||
|
||||
// -------------------------- 线程安全的日期格式化工具(解决SimpleDateFormat线程安全问题) --------------------------
|
||||
private static final ThreadLocal<SimpleDateFormat> DATETIME_FORMATTER = ThreadLocal.withInitial(
|
||||
() -> new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
|
||||
);
|
||||
private static final ThreadLocal<SimpleDateFormat> DATE_FORMATTER = ThreadLocal.withInitial(
|
||||
() -> new SimpleDateFormat("yyyy-MM-dd")
|
||||
);
|
||||
|
||||
|
||||
@Override
|
||||
public void process(PMOAggVO[] pmoAggVOS) {
|
||||
|
|
@ -73,7 +65,6 @@ public class AfterPickmRuleHighpressureRule implements IRule<PMOAggVO> {
|
|||
IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance()
|
||||
.lookup(IMDPersistenceQueryService.class);
|
||||
// 根据主键查询得到aggvo
|
||||
@SuppressWarnings("unchecked")
|
||||
ArrayList<AggPickmVO> aggVOs = null;
|
||||
try {
|
||||
aggVOs = (ArrayList<AggPickmVO>) aggvoQueryService
|
||||
|
|
@ -98,23 +89,10 @@ public class AfterPickmRuleHighpressureRule implements IRule<PMOAggVO> {
|
|||
ExceptionUtils.wrappException(new BusinessException("加载配置参数异常:" + e.getMessage(), e));
|
||||
return;
|
||||
}
|
||||
|
||||
// 4. 构建同步数据并执行同步(统一异常捕获)
|
||||
try {
|
||||
List<Map<String, Object>> mainDataList = new ArrayList<>(); // 主表数据
|
||||
List<Map<String, Object>> detailDataList = new ArrayList<>(); // 子表数据
|
||||
buildSyncData(aggPickmVOS, mainDataList, detailDataList);
|
||||
|
||||
// 5. 若有数据则执行同步(取第一个主表的cpickmid作为关键标识,若主表为空则不同步)
|
||||
// String targetCpickmid = mainDataList.isEmpty() ? null : (String) mainDataList.get(0).get("cpickmid");
|
||||
// pushIms(mainDataList, detailDataList, targetCpickmid);
|
||||
}
|
||||
// catch (BusinessException e) {
|
||||
// // 业务异常:直接包装抛出(NC框架会处理)
|
||||
// logger.error("备料计划同步IMS业务异常,关键备料单号:" + getCpickmidFromAgg(aggPickmVOS) + "");
|
||||
// ExceptionUtils.wrappException(e);
|
||||
// }
|
||||
catch (Exception e) {
|
||||
buildSyncData(aggPickmVOS);
|
||||
} catch (Exception e) {
|
||||
// 未知异常:转为业务异常,避免上游捕获到RuntimeException
|
||||
logger.error("同步备料计划到高压MES系统失败: " + e.getMessage(), e);
|
||||
ExceptionUtils.wrappException(e);
|
||||
|
|
@ -122,7 +100,7 @@ public class AfterPickmRuleHighpressureRule implements IRule<PMOAggVO> {
|
|||
}
|
||||
|
||||
|
||||
private void buildSyncData(AggPickmVO[] aggPickmVOS, List<Map<String, Object>> mainDataList, List<Map<String, Object>> detailDataList) throws BusinessException {
|
||||
private void buildSyncData(AggPickmVO[] aggPickmVOS) throws BusinessException {
|
||||
BaseDAO baseDAO = new BaseDAO();
|
||||
|
||||
HYPubBO hybo = new HYPubBO();
|
||||
|
|
|
|||
Loading…
Reference in New Issue