From 234415a381da98992240dc7c673614f49d1dee32 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 21 六月 2025 10:00:30 +0800
Subject: [PATCH] Merge branch 'ycds-wms-dev' of http://47.97.1.152:5880/r/zy-asrs-master into ycds-wms-dev
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskWaveTimer.java | 86 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 79 insertions(+), 7 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 bf8d372..9572fb5 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锛�
@@ -63,7 +130,8 @@
}
//鏌ヨ鐘舵�佷负RCS浠诲姟瀹屾垚鎵�鏈変换鍔″崟鎹�
// List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskSts, TaskStsType.WAVE_SEED.id));
- List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskSts, TaskStsType.WCS_EXECUTE_OUT.id)); HashSet<String> sycMatnrs = new HashSet<>();
+ List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskSts, TaskStsType.WCS_EXECUTE_OUT.id));
+ HashSet<String> sycMatnrs = new HashSet<>();
if (taskList.isEmpty()) {
// throw new CoolException("娌℃湁鍙挱绉嶄换鍔★紒锛�");
} else {
@@ -84,7 +152,7 @@
//鍒嗛厤璁㈠崟
Long waveId = taskDetl.getWaveId();
//鍚屼竴涓墿鏂欏彧娣诲姞涓�娆℃挱绉嶄换鍔�
- if(sycMatnrs.contains(taskDetl.getMatnr())) {
+ if (sycMatnrs.contains(taskDetl.getMatnr())) {
continue;
}
sycMatnrs.add(taskDetl.getMatnr());
@@ -104,7 +172,7 @@
.in(OrderDetl::getOrderId, orderIds)
.eq(OrderDetl::getStockIndex, matUniqueKey)
.eq(OrderDetl::getHostId, hostId));
- if(orderDetls.isEmpty()){
+ if (orderDetls.isEmpty()) {
throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
}
@@ -112,11 +180,15 @@
for (OrderDetl orderDetl : orderDetls) {
//fixme 浣滀笟涓暟閲忚皟鏁存斁鑷筹紝鐢熸垚鍑哄簱浠诲姟鎴愬姛鍚�
double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty() - orderDetl.getWorkQty()).orElse(0.0D);
- if (issued <= 0.0D) { continue; }
- if (anfme <= 0.0D) { break; }
+ if (issued <= 0.0D) {
+ continue;
+ }
+ if (anfme <= 0.0D) {
+ break;
+ }
double workQty = issued;
- if(anfme - issued < 0){
+ if (anfme - issued < 0) {
workQty = anfme;
}
anfme -= workQty;
@@ -168,7 +240,7 @@
} catch (Exception e) {
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }finally {
+ } finally {
InterceptorIgnoreHelper.clearIgnoreStrategy();
}
}
--
Gitblit v1.9.1