From 137bad5e5923531309fa139e1cce41ecf3d65cc9 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Thu, 27 Nov 2025 09:42:10 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=20=20=E6=BC=8F=E7=BB=84=E6=89=B9?= =?UTF-8?q?=E6=AC=A1=E6=89=AB=E6=8F=8F=E6=94=B9=E4=B8=BA=E6=8C=89=E7=BA=BF?= =?UTF-8?q?=E8=B7=AF=E5=88=86=E6=89=B9=E6=89=AB=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/web/emis/EmisCommonController.java | 44 +++++++++++++++++-- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java index 114df9f00..a4aa217b8 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java @@ -137,6 +137,9 @@ public class EmisCommonController extends EmisBaseController @Autowired private IEmisWaybillExternalService emisWaybillExternalService; + @Autowired + private IEmisTransLineService emisTransLineService; + /** * 在线支付回调 * @param method @@ -923,11 +926,44 @@ public class EmisCommonController extends EmisBaseController // 这样即使异步任务没有正确清除状态,也会在30分钟后自动过期 redissonService.setStr(statusKey, "RUNNING", 1800); - // 异步执行任务 - emisTmsSiteBatchMissService.autoScanSiteBatch(lineCode); - log.info("autoScanSiteBatch async task started"); + // 如果lineCode为空,查询所有线路的lineCode,去重后循环调用 + if (StringUtils.isEmpty(lineCode)) { + log.info("lineCode is empty, querying all line codes"); + EmisTransLine queryLine = new EmisTransLine(); +// queryLine.setStatus(1); // 只查询启用的线路 + List lineList = emisTransLineService.selectEmisTransLineList(queryLine); - return AjaxResult.success("异步任务已启动,请稍后查看执行结果"); + // 提取lineCode并去重 + Set lineCodeSet = new LinkedHashSet<>(); + if (!CollectionUtils.isEmpty(lineList)) { + for (EmisTransLine line : lineList) { + if (StringUtils.isNotEmpty(line.getLineCode())) { + lineCodeSet.add(line.getLineCode()); + } + } + } + + log.info("Found {} unique line codes, starting batch processing", lineCodeSet.size()); + + // 循环调用 + for (String code : lineCodeSet) { + try { + emisTmsSiteBatchMissService.autoScanSiteBatch(code); + log.info("autoScanSiteBatch processed for lineCode: {}", code); + } catch (Exception e) { + log.error("autoScanSiteBatch failed for lineCode: {}, error: {}", code, e.getMessage()); + // 继续处理下一个,不中断整个流程 + } + } + + log.info("autoScanSiteBatch async task started for all line codes"); + return AjaxResult.success("异步任务已启动,共处理 " + lineCodeSet.size() + " 个线路,请稍后查看执行结果"); + } else { + // 异步执行任务 + emisTmsSiteBatchMissService.autoScanSiteBatch(lineCode); + log.info("autoScanSiteBatch async task started for lineCode: {}", lineCode); + return AjaxResult.success("异步任务已启动,请稍后查看执行结果"); + } } catch (Exception ex) { ex.printStackTrace();