| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @author Ryan |
| | | * @description 波次定时任务 |
| | | * @param |
| | | * @return |
| | | * @time 2025/6/23 13:49 |
| | | */ |
| | | * @param |
| | | * @author Ryan |
| | | * @description 波次定时任务 |
| | | * @return |
| | | * @time 2025/6/23 13:49 |
| | | */ |
| | | @Component |
| | | public class WaveSchedules { |
| | | |
| | |
| | | |
| | | |
| | | /** |
| | | * @author Ryan |
| | | * @description 自动下发波次任务 |
| | | * @param |
| | | * @return |
| | | * @time 2025/6/23 13:52 |
| | | */ |
| | | * @param |
| | | * @return |
| | | * @author Ryan |
| | | * @description 自动下发波次任务 |
| | | * @time 2025/6/23 13:52 |
| | | */ |
| | | @Scheduled(cron = "0/15 * * * * ?") |
| | | // @Transactional(rollbackFor = Exception.class) |
| | | public void autoGenerateTask() { |
| | |
| | | if (Objects.isNull(config) || !Boolean.parseBoolean(config.getVal())) { |
| | | return; |
| | | } |
| | | // 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::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()) { |
| | | 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()); |
| | | |
| | | waveItemService.update(new LambdaUpdateWrapper<WaveItem>() |
| | | .in(WaveItem::getWaveId, longs) |
| | | .set(WaveItem::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val) |
| | | .apply("anfme > work_qty")); |
| | | |
| | | 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, loginUserId); |
| | | }); |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("ids", longs); |
| | | waveService.waveToTask(params, loginUserId); |
| | | |
| | | } |
| | | |
| | | } |