From 7de56ab8061601614a9c29af42acadfcddcafdce Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期五, 27 六月 2025 13:22:09 +0800 Subject: [PATCH] no message --- rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java | 44 ++++++++++++++++++++++++++++---------------- 1 files changed, 28 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 418a8fa..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,17 +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; /** @@ -42,7 +43,8 @@ @Autowired private ConfigService configService; - + @Autowired + private TaskItemServiceImpl taskItemService; /** @@ -53,32 +55,42 @@ * @time 2025/6/23 13:52 */ @Scheduled(cron = "0/15 * * * * ?") +// @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::getId, 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("waveItems", waveItems); - waveService.waveToTask(params, waveId); + params.put("waveItem", itemIds); + waveService.waveToTask(params, loginUserId); }); } + } -- Gitblit v1.9.1