From 6e695903059e82c1c376bf2926ffb8b209c0dc3e Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期三, 11 三月 2026 15:45:57 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java |   49 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 40 insertions(+), 9 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index 1b9f428..97e66fe 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -454,14 +454,37 @@
                         || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
                         || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
                     task.setTaskStatus(TaskStsType.COMPLETE_IN.id);
-                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)
-                        || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)
+                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)){
+                    if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_WAVE_TYPE.val)){
+                        task.setTaskStatus(TaskStsType.AWAIT.id);
+                    } else {
+                        task.setTaskStatus(TaskStsType.COMPLETE_OUT.id);
+                    }
+                    String targSite = task.getTargSite();
+                    BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, targSite));
+                    basStation.setUseStatus("F");
+                    basStation.setBarcode(task.getBarcode());
+                    basStationService.updateById(basStation);
+                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)
                         || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type)
                         || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)) {
-                    task.setTaskStatus(TaskStsType.AWAIT.id);
-                } else if ( task.getTaskType().equals(TaskType.TASK_TYPE_CROSS_DOCKING_OUT.type)
-                        || task.getTaskType().equals(TaskType.TASK_TYPE_EMPTY_OUT.type)) {//澶囪揣
+                    if (!Cools.isEmpty(task.getResource()) && task.getResource().equals(TaskResouceType.TASK_RESOUCE_WAVE_TYPE.val)){
+                        task.setTaskStatus(TaskStsType.AWAIT.id);
+                    } else {
+                        task.setTaskStatus(TaskStsType.WAVE_SEED.id);
+                    }
+                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_CROSS_DOCKING_OUT.type)){//澶囪揣
                     task.setTaskStatus(TaskStsType.COMPLETE_OUT.id);
+                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_EMPTY_OUT.type)){
+                    task.setTaskStatus(TaskStsType.COMPLETE_OUT.id);
+                    String targSite = task.getTargSite();
+                    BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, targSite));
+                    basStation.setUseStatus("D");
+                    basStation.setBarcode(task.getBarcode());
+                    basStationService.updateById(basStation);
+                } else {
+                    log.error(task.getTaskCode()+":浠诲姟鏃犳硶瀹屾垚");
+                    continue;
                 }
                 taskService.updateById(task);
             }
@@ -820,7 +843,9 @@
 //                if (!station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) {
 //                    throw new CoolException( "褰撳墠绔欑偣涓嶆槸F.鍦ㄥ簱鐘舵�佺姸鎬侊紒锛�");
 //                }
-                station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
+                if (!station.getType().equals(0)){
+                    station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
+                }
                 if (!basStationService.updateById(station)) {
                     throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�");
                 }
@@ -828,7 +853,9 @@
                 if (!station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
                     throw new CoolException("鐩爣绔欑偣涓嶅O.绌洪棽鐘舵�侊紝鏃犳硶棰勭害鍑哄簱銆�");
                 }
-                station.setUseStatus(LocStsType.LOC_STS_TYPE_S.type);
+                if (!station.getType().equals(0)){
+                    station.setUseStatus(LocStsType.LOC_STS_TYPE_S.type);
+                }
                 if (!basStationService.updateById(station)) {
                     throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�");
                 }
@@ -914,7 +941,9 @@
                         if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
                             /**濡傛灉鏄櫘閫氱珯鐐癸紝淇敼绔欑偣鐘舵�佷负鍑哄簱棰勭害*/
                             if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) {
-                                station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
+                                if (!station.getType().equals(0)){
+                                    station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
+                                }
                                 if (!basStationService.updateById(station)) {
                                     throw new CoolException("绔欑偣棰勭害澶辫触锛侊紒");
                                 }
@@ -931,7 +960,9 @@
                         }
                         /**濡傛灉鏄櫘閫氱珯鐐癸紝淇敼绔欑偣鐘舵�佷负鍏ュ簱棰勭害*/
                         if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) {
-                            station.setUseStatus(LocStsType.LOC_STS_TYPE_S.type);
+                            if (!station.getType().equals(0)){
+                                station.setUseStatus(LocStsType.LOC_STS_TYPE_S.type);
+                            }
                             if (!basStationService.updateById(station)) {
                                 throw new CoolException("绔欑偣棰勭害澶辫触锛侊紒");
                             }

--
Gitblit v1.9.1