From 9d71f6ab34af641d5db830f1f2f23e64a0cbd4d0 Mon Sep 17 00:00:00 2001 From: houyi <1398559711@qq.com> Date: Fri, 17 Oct 2025 11:39:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=94=9F=E4=BA=A7=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=82=B9=E5=87=BB=E5=A4=87=E6=96=99=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E9=87=8D=E7=AE=97=E6=8E=A8=E9=80=81=E9=AB=98=E5=8E=8BMES=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rule/AfterPickmRuleHighpressureRule.java | 30 +++---------------- 1 file changed, 4 insertions(+), 26 deletions(-) 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();