From f2833c7f3e01c997e94a66bd5dd9be738b5c6cc7 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 26 六月 2025 13:31:08 +0800
Subject: [PATCH] 波次任务下发功能优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java |   38 +++++++++++++++++++++++---------------
 1 files changed, 23 insertions(+), 15 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 165262d..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,6 +11,7 @@
 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;
@@ -19,10 +21,7 @@
 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;
 
 /**
@@ -44,7 +43,8 @@
 
     @Autowired
     private ConfigService configService;
-
+    @Autowired
+    private TaskItemServiceImpl taskItemService;
 
 
     /**
@@ -55,23 +55,30 @@
     * @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;
         }
@@ -85,4 +92,5 @@
             waveService.waveToTask(params, loginUserId);
         });
     }
+
 }

--
Gitblit v1.9.1