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