流程生产订单点击备料计划重算推送高压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,31 +89,18 @@ 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); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|      | ||||
|     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