From c6c9b7d3baa822765768c110304d27623f946286 Mon Sep 17 00:00:00 2001
From: pjb <123456>
Date: 星期二, 15 七月 2025 14:29:09 +0800
Subject: [PATCH] `1`
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskLogTimer.java | 115 ++++++++++++++++++++++-----------------------------------
1 files changed, 45 insertions(+), 70 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskLogTimer.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskLogTimer.java
index db0edcf..fc9ad3c 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskLogTimer.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskLogTimer.java
@@ -48,6 +48,13 @@
@Autowired
private WaveService waveService;
+
+ /**
+ * @author Ryan
+ * @date 2025/6/20
+ * @description: 鍏ュ簱浠诲姟宸插畬鎴�
+ * @version 1.0
+ */
@Scheduled(cron = "0/15 * * * * ? ")
@Transactional(rollbackFor = Exception.class)
public void inExecute() {
@@ -73,61 +80,37 @@
if (taskDetls.isEmpty()) {
throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦�");
- } else { //XXX 鍏堟洿鏂拌鍗曪紝鍚庡垹闄や换鍔℃槑缁�
- if (task.getTaskType() == 53L) {
- List<Long> waveIds = taskDetls.stream().map(TaskDetl::getWaveId).collect(Collectors.toList());
- List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().in(Order::getWaveId, waveIds));
- orders.forEach(order -> {
-
- });
- } else {
-
- }
-
-
-
+ } else {
//浠诲姟绫诲瀷涓�53锛屾牴鎹甒aveId淇敼璁㈠崟鏄庣粏
for (TaskDetl taskDetl : taskDetls) {
- if (task.getTaskType() == 53L) {
- List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getWaveId, taskDetl.getWaveId()));
- orders.forEach(order -> {
- List<OrderDetl> detls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
- if (!detls.isEmpty()) {
- detls.forEach(detl -> {
- detl.setWorkQty(detl.getWorkQty() - taskDetl.getAnfme());//宸ヤ綔涓暟閲忓噺灏�
- detl.setQty(detl.getQty() + taskDetl.getAnfme());//宸插畬鎴愭暟閲忓鍔�
- detl.setUpdateTime(new Date());
- });
- }
- });
- } else {
- if (taskDetl.getDetlId() == null) {
- continue;
+ if (taskDetl.getDetlId() == null) {
+ continue;
+ }
+ OrderDetl orderDetl = orderDetlService.getById(taskDetl.getDetlId());
+ if (orderDetl == null) {
+ throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
+ orderDetl.setWorkQty(orderDetl.getWorkQty() - taskDetl.getAnfme());//宸ヤ綔涓暟閲忓噺灏�
+ orderDetl.setQty(orderDetl.getQty() + taskDetl.getAnfme());//宸插畬鎴愭暟閲忓鍔�
+ orderDetl.setUpdateTime(new Date());
+ if (!orderDetlService.updateById(orderDetl)) {
+ throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
+ }
+ //妫�娴嬭鍗曟槸鍚﹀畬鎴�
+ boolean checkOrderComplete = orderService.checkOrderComplete(orderDetl.getOrderId());
+
+ if (checkOrderComplete) {
+ //璁㈠崟宸茬粡瀹屾垚
+ Order order = orderService.getById(orderDetl.getOrderId());
+ if (order == null) {
+ throw new CoolException("璁㈠崟涓嶅瓨鍦�");
}
- OrderDetl orderDetl = orderDetlService.getById(taskDetl.getDetlId());
- if (orderDetl == null) {
- throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ order.setOrderSettle(OrderSettleType.COMPLETE.val());
+ order.setUpdateTime(new Date());
+ if (!orderService.updateById(order)) {
+ throw new CoolException("璁㈠崟鏇存柊澶辫触");
}
- orderDetl.setWorkQty(orderDetl.getWorkQty() - taskDetl.getAnfme());//宸ヤ綔涓暟閲忓噺灏�
- orderDetl.setQty(orderDetl.getQty() + taskDetl.getAnfme());//宸插畬鎴愭暟閲忓鍔�
- orderDetl.setUpdateTime(new Date());
- if (!orderDetlService.updateById(orderDetl)) {
- throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
- }
- //妫�娴嬭鍗曟槸鍚﹀畬鎴�
- boolean checkOrderComplete = orderService.checkOrderComplete(orderDetl.getOrderId());
- if (checkOrderComplete) {
- //璁㈠崟宸茬粡瀹屾垚
- Order order = orderService.getById(orderDetl.getOrderId());
- if (order == null) {
- throw new CoolException("璁㈠崟涓嶅瓨鍦�");
- }
- order.setOrderSettle(OrderSettleType.COMPLETE.val());
- order.setUpdateTime(new Date());
- if (!orderService.updateById(order)) {
- throw new CoolException("璁㈠崟鏇存柊澶辫触");
- }
- }
+
}
}
}
@@ -140,6 +123,7 @@
for (TaskDetl taskDetl : taskDetls) {
TaskDetlLog taskDetlLog = new TaskDetlLog();
taskDetlLog.sync(taskDetl);
+ taskDetlLog.setOrderId(taskDetl.getOrderId());
taskDetlLog.setId(null);
taskDetlLog.setTaskId(taskLog.getId());
if (!taskDetlLogService.save(taskDetlLog)) {
@@ -182,7 +166,14 @@
}
}
- @Scheduled(cron = "0/10 * * * * ? ")
+
+ /**
+ * @author Ryan
+ * @date 2025/6/20
+ * @description: 鍑哄簱浠诲姟瀹屾垚
+ * @version 1.0
+ */
+ @Scheduled(cron = "0/35 * * * * ? ")
@Transactional(rollbackFor = Exception.class)
public void outExecute() {
InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build());
@@ -190,55 +181,39 @@
//鑾峰彇鍑哄簱瀹屾垚浠诲姟
List<Task> list = taskService.list(new LambdaQueryWrapper<Task>()
.eq(Task::getTaskSts, TaskStsType.UPDATED_OUT.id)
- .in(Task::getTaskType, 101, 53, 57));
+ .ge(Task::getTaskType, 101));
if (list.isEmpty()) {
return;
}
- Dict dict = dictService.getOne(new LambdaQueryWrapper<Dict>().eq(Dict::getFlag, "taskLogDiffDays").eq(Dict::getStatus, 1));
- if(dict == null) {
- return;
- }
for (Task task : list) {
- int diff = DateUtils.diff(task.getCreateTime(), new Date());
- int taskLogDiffDays = Integer.parseInt(dict.getValue());
- if (diff < taskLogDiffDays) {
- continue;
- }
-
Long hostId = task.getHostId();
-
//淇濆瓨浠诲姟鏄庣粏鍘嗗彶妗�
List<TaskDetl> taskDetls = taskDetlService.getTaskDetlByTaskId(task.getId());
if (taskDetls.isEmpty()) {
throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦�");
}
-
boolean flag = false;
for (TaskDetl taskDetl : taskDetls) {
if (taskDetl.getWaveId() == null) {
continue;
}
-
Wave wave = waveService.getById(taskDetl.getWaveId());
if (wave != null) {
flag = true;//娉㈡鏈畬鎴�
break;
}
}
-
if (flag) {
continue;
}
-
-
//淇濆瓨浠诲姟鍘嗗彶妗�
TaskLog taskLog = new TaskLog();
taskLog.sync(task);
taskLog.setId(null);
if (!taskLogService.save(taskLog)) {
throw new CoolException("淇濆瓨浠诲姟鍘嗗彶妗eけ璐�");
- } else { //fixme 鍘嗗彶浠诲姟妗d繚瀛樺悗锛屼慨鏀硅鍗曠姸鎬佷俊鎭悗锛屽啀鍒犻櫎浠诲姟妗�
+ } else {
//鏇存柊璁㈠崟淇℃伅
taskDetls.forEach(taskDetl -> {
if (taskDetl.getDetlId() != null) {
--
Gitblit v1.9.1