From 44ea5356e5e498ac47fccb25321122ab81412b86 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 26 六月 2025 16:19:27 +0800
Subject: [PATCH] 取消任务档功能优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java | 42 ++++++++++++++++++++++++++----------------
1 files changed, 26 insertions(+), 16 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java
index 765055c..a571ee6 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.common.constant.Constants;
import com.vincent.rsf.server.manager.entity.Wave;
@@ -10,18 +11,17 @@
import com.vincent.rsf.server.manager.enums.WaveItemExceStatus;
import com.vincent.rsf.server.manager.service.WaveItemService;
import com.vincent.rsf.server.manager.service.WaveService;
+import com.vincent.rsf.server.manager.service.impl.TaskItemServiceImpl;
import com.vincent.rsf.server.system.constant.GlobalConfigCode;
import com.vincent.rsf.server.system.entity.Config;
import com.vincent.rsf.server.system.service.ConfigService;
+import com.vincent.rsf.server.system.utils.SystemAuthUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -43,7 +43,8 @@
@Autowired
private ConfigService configService;
-
+ @Autowired
+ private TaskItemServiceImpl taskItemService;
/**
@@ -54,33 +55,42 @@
* @time 2025/6/23 13:52
*/
@Scheduled(cron = "0/15 * * * * ?")
- @Transactional(rollbackFor = Exception.class)
+// @Transactional(rollbackFor = Exception.class)
public void autoGenerateTask() {
Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.WAVE_AUTO_EXCE_TASK));
if (Objects.isNull(config) || !Boolean.parseBoolean(config.getVal())) {
return;
}
- List<Wave> list = waveService.list(new LambdaQueryWrapper<Wave>()
- .select(Wave::getId)
- .eq(Wave::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_INIT.val));
- if (list.isEmpty()) {
- return;
- }
- List<Long> longs = list.stream().map(Wave::getId).collect(Collectors.toList());
+// List<Wave> list = waveService.list(new LambdaQueryWrapper<Wave>()
+// .select(Wave::getId)
+// .in(Wave::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_INIT.val
+// , WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val));
+// if (list.isEmpty()) {
+// return;
+// }
+// List<Long> longs = list.stream().map(Wave::getId).collect(Collectors.toList());
List<WaveItem> waveItems = waveItemService.list(new LambdaQueryWrapper<WaveItem>()
- .in(WaveItem::getWaveId, longs)
- .eq(WaveItem::getExceStatus, WaveItemExceStatus.WAVE_ITEM_EXCE_STATUS_UN.val));
+ .in(WaveItem::getExceStatus, Arrays.asList(WaveItemExceStatus.WAVE_ITEM_EXCE_STATUS_UN.val
+ , WaveItemExceStatus.WAVE_EXCE_STATUS_ING.val)));
+
+ waveItemService.update(new LambdaUpdateWrapper<WaveItem>()
+ .set(WaveItem::getExceStatus, WaveItemExceStatus.WAVE_EXCE_STATUS_ING.val)
+ .apply("anfme > work_qty")
+ );
+
if (waveItems.isEmpty()) {
return;
}
+ Long loginUserId = SystemAuthUtils.getLoginUserId();
Map<Long, List<WaveItem>> listMap = waveItems.stream().collect(Collectors.groupingBy(WaveItem::getWaveId));
listMap.keySet().forEach(waveId -> {
List<Long> itemIds = listMap.get(waveId).stream().map(WaveItem::getId).collect(Collectors.toList());
Map<String, Object> params = new HashMap<>();
params.put("wave", waveId);
params.put("waveItem", itemIds);
- waveService.waveToTask(params, waveId);
+ waveService.waveToTask(params, loginUserId);
});
}
+
}
--
Gitblit v1.9.1