diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterPickmRuleHighpressureRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterPickmRuleHighpressureRule.java index f76b7250..afa0f3f7 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterPickmRuleHighpressureRule.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterPickmRuleHighpressureRule.java @@ -47,14 +47,6 @@ public class AfterPickmRuleHighpressureRule implements IRule { // 配置参数(同步目标组织等) private Map configParams; - // -------------------------- 线程安全的日期格式化工具(解决SimpleDateFormat线程安全问题) -------------------------- - private static final ThreadLocal DATETIME_FORMATTER = ThreadLocal.withInitial( - () -> new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") - ); - private static final ThreadLocal DATE_FORMATTER = ThreadLocal.withInitial( - () -> new SimpleDateFormat("yyyy-MM-dd") - ); - @Override public void process(PMOAggVO[] pmoAggVOS) { @@ -73,7 +65,6 @@ public class AfterPickmRuleHighpressureRule implements IRule { IMDPersistenceQueryService aggvoQueryService = NCLocator.getInstance() .lookup(IMDPersistenceQueryService.class); // 根据主键查询得到aggvo - @SuppressWarnings("unchecked") ArrayList aggVOs = null; try { aggVOs = (ArrayList) aggvoQueryService @@ -98,31 +89,18 @@ public class AfterPickmRuleHighpressureRule implements IRule { ExceptionUtils.wrappException(new BusinessException("加载配置参数异常:" + e.getMessage(), e)); return; } - // 4. 构建同步数据并执行同步(统一异常捕获) try { - List> mainDataList = new ArrayList<>(); // 主表数据 - List> 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); } } - - private void buildSyncData(AggPickmVO[] aggPickmVOS, List> mainDataList, List> detailDataList) throws BusinessException { + + private void buildSyncData(AggPickmVO[] aggPickmVOS) throws BusinessException { BaseDAO baseDAO = new BaseDAO(); HYPubBO hybo = new HYPubBO();