From 95c47daa719eb68fb55a0e75eac37ec97eae7642 Mon Sep 17 00:00:00 2001
From: pjb <123456>
Date: 星期日, 22 六月 2025 11:07:16 +0800
Subject: [PATCH] 大屏显示优化
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java | 67 +++++++++++++++++++++++++++++++++
1 files changed, 67 insertions(+), 0 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java
index 704f4c3..504d6cc 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java
@@ -10,6 +10,10 @@
import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
import com.zy.asrs.wms.asrs.entity.enums.TaskStsType;
import com.zy.asrs.wms.asrs.service.*;
+import com.zy.asrs.wms.asrs.service.impl.WaveDetlLogServiceImpl;
+import com.zy.asrs.wms.asrs.service.impl.WaveDetlServiceImpl;
+import com.zy.asrs.wms.asrs.service.impl.WaveLogServiceImpl;
+import com.zy.asrs.wms.asrs.service.impl.WaveServiceImpl;
import com.zy.asrs.wms.system.entity.Dict;
import com.zy.asrs.wms.system.service.DictService;
import com.zy.asrs.wms.utils.OrderUtils;
@@ -42,6 +46,69 @@
private WaveSeedService waveSeedService;
@Autowired
private DictService dictService;
+ @Autowired
+ private WaveServiceImpl waveService;
+ @Autowired
+ private WaveLogServiceImpl waveLogService;
+ @Autowired
+ private WaveDetlServiceImpl waveDetlService;
+ @Autowired
+ private WaveDetlLogServiceImpl waveDetlLogService;
+
+
+ /**
+ * @author Ryan
+ * @date 2025/6/20
+ * @description: 鏇存柊娉㈡鏄庣粏锛屽姞鍏ュ巻鍙叉。
+ * @version 1.0
+ */
+ @Scheduled(cron = "0/30 * * * * ? ")
+ @Transactional(rollbackFor = Exception.class)
+ public void addWaveHistories() {
+ List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskSts, TaskStsType.COMPLETE_OUT.id));
+ if (tasks.isEmpty()) {
+ return;
+ }
+ for (Task task : tasks) {
+ List<TaskDetl> detls = taskDetlService.list(new LambdaQueryWrapper<TaskDetl>().eq(TaskDetl::getTaskId, task.getId()));
+ if (detls.isEmpty()) {
+ continue;
+ }
+ Set<Long> waveIds = detls.stream().map(TaskDetl::getWaveId).collect(Collectors.toSet());
+
+ if (waveIds.isEmpty()) {
+ throw new CoolException("娉㈡淇℃伅涓虹┖锛侊紒");
+ }
+ List<Wave> waves = waveService.list(new LambdaQueryWrapper<Wave>().in(Wave::getId, waveIds));
+ for (Wave wave : waves) {
+ WaveLog waveLog = new WaveLog();
+ waveLog.sync(wave);
+ waveLog.setId(null);
+ if (!waveLogService.save(waveLog)) {
+ throw new CoolException("娉㈡杞巻鍙插け璐�");
+ }
+
+ List<WaveDetl> waveDetls = waveDetlService.list(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, wave.getId()));
+ for (WaveDetl waveDetl : waveDetls) {
+ WaveDetlLog waveDetlLog = new WaveDetlLog();
+ waveDetlLog.sync(waveDetl);
+ waveDetlLog.setId(null);
+ waveDetlLog.setWaveId(waveLog.getId());
+ if (!waveDetlLogService.save(waveDetlLog)) {
+ throw new CoolException("娉㈡鏄庣粏杞巻鍙插け璐�");
+ }
+ if (!waveDetlService.removeById(waveDetl.getId())) {
+ throw new CoolException("娉㈡鏄庣粏鍒犻櫎澶辫触");
+ }
+ }
+ if (!waveService.removeById(wave.getId())) {
+ throw new CoolException("娉㈡鍒犻櫎澶辫触");
+ }
+ }
+ }
+ }
+
+
/**
* modifty锛�
--
Gitblit v1.9.1