From a5aa9503efd20103df066219c512b47b7f65e363 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期六, 02 八月 2025 11:57:49 +0800 Subject: [PATCH] art: 生产订单同步定时任务调试,问题修改 --- src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncCreationJob.java | 42 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 37 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncJob.java b/src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncCreationJob.java similarity index 75% rename from src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncJob.java rename to src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncCreationJob.java index f6db679..086a7b1 100644 --- a/src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncJob.java +++ b/src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncCreationJob.java @@ -1,10 +1,16 @@ package org.jeecg.modules.mes.job; import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.mdc.util.DateUtils; +import org.jeecg.modules.mdc.util.ThrowableUtil; import org.jeecg.modules.mes.entity.MesProductionOrder; import org.jeecg.modules.mes.service.IMesProductionOrderService; import org.jeecg.modules.pms.service.IPmsMaterialProcessService; import org.jeecg.modules.pms.service.IPmsProcessBillMaterialsService; +import org.jeecg.modules.quartz.entity.QuartzJob; +import org.jeecg.modules.quartz.entity.SysQuartzLog; +import org.jeecg.modules.quartz.service.IQuartzJobService; +import org.jeecg.modules.quartz.service.ISysQuartzLogService; import org.jeecg.modules.sap.dto.OrderBomDTO; import org.jeecg.modules.sap.dto.OrderProcessDTO; import org.jeecg.modules.sap.dto.ProductionOrderDTO; @@ -18,12 +24,13 @@ import org.springframework.stereotype.Component; import java.time.LocalDateTime; +import java.util.Date; import java.util.List; import java.util.Map; @Component @Slf4j -public class ProductionOrderSyncJob implements Job { +public class ProductionOrderSyncCreationJob implements Job { //宸ュ巶缂栫爜(鏂扮伀鐐� 2301) private static final String FACTORY_CODE = "2301"; /** @@ -75,13 +82,33 @@ private IPmsProcessBillMaterialsService processBillMaterialsService; @Autowired private IPmsMaterialProcessService materialProcessService; + @Autowired + private ISysQuartzLogService sysQuartzLogService; + @Autowired + private IQuartzJobService quartzJobService; @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + //浠诲姟鏃ュ織 + SysQuartzLog quartzLog = new SysQuartzLog(); + quartzLog.setCreateTime(new Date()); + List<QuartzJob> byJobClassName = quartzJobService.findByJobClassName(this.getClass().getName()); + if (byJobClassName != null && !byJobClassName.isEmpty()) { + quartzLog.setJobId(byJobClassName.get(0).getId()); + } + long startTime = System.currentTimeMillis(); //鑾峰彇涓婃鍚屾鏃堕棿 + String lastSyncDateLow = productionOrderService.getLastSyncCreateDate(); + String lastSyncDateHigh = null; + if(lastSyncDateLow != null) { + lastSyncDateHigh = DateUtils.format(new Date(), "yyyyMMdd"); + if(lastSyncDateLow.equals(lastSyncDateHigh)) { + lastSyncDateHigh = null; + } + } try { //璋冪敤SAP鎺ュ彛鑾峰彇鐢熶骇璁㈠崟 - Map<String, Object> productionOrderMap = productionOrderSync.syncProductionOrder(FACTORY_CODE, ORDER_TYPE_CODE, PRODUCTION_MANAGER, ORDER_STATUS, null, null); + Map<String, Object> productionOrderMap = productionOrderSync.syncProductionOrder(FACTORY_CODE, ORDER_TYPE_CODE, PRODUCTION_MANAGER, ORDER_STATUS, lastSyncDateLow, lastSyncDateHigh, null, null); if (productionOrderMap == null || !SUCCESS_CODE.equals(productionOrderMap.get("ztype"))) { log.error("鏈悓姝ュ埌璁㈠崟淇℃伅锛佹棩鏈燂細{}", LocalDateTime.now()); return; @@ -122,7 +149,7 @@ return; } //璋冪敤鎴愬姛锛岃幏鍙栬繑鍥炴暟鎹� - result = orderBomMap.get("result"); + result = orderProcessMap.get("result"); b = result instanceof List; if(!b) { log.error("杩斿洖绫诲瀷閿欒锛� class:{}", result == null ? null : result.getClass()); @@ -133,9 +160,14 @@ if(!b) { log.error("淇濆瓨璁㈠崟宸ュ簭澶辫触锛屾棩鏈燂細{}", LocalDateTime.now()); } + quartzLog.setIsSuccess(0); } catch (Exception e) { - throw new RuntimeException(e); + log.error("瀹氭椂浠诲姟澶辫触锛寋}", e.getMessage(), e); + quartzLog.setIsSuccess(-1); + quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); } - + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + sysQuartzLogService.save(quartzLog); } } -- Gitblit v1.9.3