From 46ba954e2b86a7e5f3f8b6624bc800a0a5cef844 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 04 九月 2025 16:55:03 +0800
Subject: [PATCH] 波次任务功能优化 不同站点类型状态变更优化

---
 rsf-admin/src/page/orders/wave/WaveItemList.jsx                                           |    4 ++--
 rsf-admin/src/page/orders/wave/WaveList.jsx                                               |    4 ++--
 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java       |    2 +-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java |    3 ++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java            |    1 -
 rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java          |    5 +++--
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java      |    1 -
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java      |   37 +++++++++++++++++++++++++------------
 8 files changed, 35 insertions(+), 22 deletions(-)

diff --git a/rsf-admin/src/page/orders/wave/WaveItemList.jsx b/rsf-admin/src/page/orders/wave/WaveItemList.jsx
index e5c302b..c7a9dcf 100644
--- a/rsf-admin/src/page/orders/wave/WaveItemList.jsx
+++ b/rsf-admin/src/page/orders/wave/WaveItemList.jsx
@@ -114,7 +114,7 @@
                     rowClick={(id, resource, record) => false}
                     expand={false}
                     expandSingle={false}
-                    omit={['id', 'createTime', 'matnrId', 'waveId', 'batch', 'orderItemId', 'fieldsIndex', 'createBy', 'memo']}
+                    omit={['id', 'createTime', 'matnrId', 'waveId', 'batch', 'orderItemId', 'fieldsIndex', 'createBy']}
                 >
                     <NumberField source="id" />
                     <NumberField source="waveId" label="table.field.waveItem.waveId" />
@@ -132,8 +132,8 @@
                     <DateField source="updateTime" label="common.field.updateTime" showTime />
                     <TextField source="createBy$" label="common.field.createBy" />
                     <DateField source="createTime" label="common.field.createTime" showTime />
-                    <TextField source="memo" label="common.field.memo" sortable={false} />
                     <TextField source="exceStatus$" label="table.field.waveItem.exceStatus" />
+                    <TextField source="memo" label="common.field.memo" sortable={false} />
                 </StyledDatagrid>
             </List>
             <WaveItemEdit
diff --git a/rsf-admin/src/page/orders/wave/WaveList.jsx b/rsf-admin/src/page/orders/wave/WaveList.jsx
index 9717a8a..a37fce6 100644
--- a/rsf-admin/src/page/orders/wave/WaveList.jsx
+++ b/rsf-admin/src/page/orders/wave/WaveList.jsx
@@ -152,7 +152,7 @@
                     rowClick={(id, resource, record) => false}
                     expand={<WavePannel />}
                     expandSingle={true}
-                    omit={['id', 'createTime', 'createBy', 'createBy$','memo']}
+                    omit={['id', 'createTime', 'createBy', 'createBy$', 'memo']}
                 >
                     <NumberField source="id" />
                     <TextField source="code" label="table.field.wave.code" />
@@ -166,8 +166,8 @@
                     <DateField source="updateTime" label="common.field.updateTime" showTime />
                     <TextField source="createBy$" label="common.field.createBy" />
                     <CustomProcess source="progress" label="table.field.wave.progress" />
-                    <TextField source="memo" label="common.field.memo" sortable={false} />
                     <TextField source="exceStatus$" label="table.field.wave.exceStatus" sortable={false} />
+                    <TextField source="memo" label="common.field.memo" sortable={false} />
                     <WrapperField cellClassName="opt" label="common.field.opt">
                         <PauseButton />
                         <ContinueButton />
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java
index a298394..30a6c32 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java
@@ -9,7 +9,7 @@
 public enum CallBackEvent {
     /**浠诲姟鍥炶皟浜嬩欢*/
     CALL_BACK_EVENT_START("START", "鍙栫瀹屾垚"),
-    CALL_BACK_EVENT_OBIT("OBIT", "鎼繍涓�"),
+    CALL_BACK_EVENT_OBIT("OTBIN", "鎼繍涓�"),
     CALL_BACK_EVENT_END("END", "鏀剧瀹屾垚"),
     ;
 
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
index 40d4c5d..72ca59f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -469,19 +469,15 @@
         if (Objects.isNull(task)) {
             throw new CoolException("浠诲姟涓嶅瓨鍦ㄥ彲宸茬粨鏉燂紒锛�");
         }
-        /**鍙栫瀹屾垚*/
-        if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_END.event)) {
+
+        /**鏂欑鎼繍涓紝 淇敼绔欑偣鐘舵��*/
+        if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_OBIT.event)) {
             if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
-                if (!taskService.update(new LambdaUpdateWrapper<Task>().eq(Task::getTaskCode, task.getTaskCode())
-                        .set(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id))) {
-                    throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
-                }
-
                 if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
                     BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getOrgSite()));
                     if (Objects.isNull(station)) {
@@ -499,10 +495,6 @@
                     || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_OUT.type)) {
-                if (!taskService.update(new LambdaUpdateWrapper<Task>().eq(Task::getTaskCode, task.getTaskCode())
-                        .set(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id))) {
-                    throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
-                }
                 /**淇敼鍑哄簱绔欑偣鐘舵��*/
                 BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
                         .eq(BasStation::getStationName, task.getTargSite()));
@@ -516,8 +508,29 @@
                     }
                 }
             }
+            /**鍙栫瀹屾垚锛� 淇敼浠诲姟鐘舵��*/
+        } else if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_END.event)) {
+            if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
+                if (!taskService.update(new LambdaUpdateWrapper<Task>().eq(Task::getTaskCode, task.getTaskCode())
+                        .set(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id))) {
+                    throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                }
+            } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)
+                    || 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.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_OUT.type)) {
+                if (!taskService.update(new LambdaUpdateWrapper<Task>().eq(Task::getTaskCode, task.getTaskCode())
+                        .set(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id))) {
+                    throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                }
+            }
         }
-
         log.info(JSONObject.toJSONString(params));
         return R.ok(JSONObject.toJSONString(params));
     }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java
index 08f92e4..4bcac1f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskStsType.java
@@ -1,7 +1,6 @@
 package com.vincent.rsf.server.manager.enums;
 
 public enum TaskStsType {
-
     //浠诲姟鐘舵��
     GENERATE_IN("1", "鍒涘缓鍏ュ簱浠诲姟"),
     WCS_EXECUTE_IN("2", "RCS浠诲姟宸蹭笅鍙�"),
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 198d13d..7c4d065 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
@@ -80,7 +80,6 @@
         Map<String, Object> params = new HashMap<>();
         params.put("ids", longs);
         waveService.waveToTask(params, loginUserId);
-
     }
 
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
index b833343..f721dff 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -129,7 +129,7 @@
             throw new CoolException("鏁版嵁閿欒锛� 娉㈡涓嶅瓨鍦紒锛�");
         }
         for (Wave wave : waves) {
-            if (wave.getExceStatus() >= WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val) {
+            if (wave.getExceStatus() > WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val) {
                 throw new CoolException("褰撳墠鐘舵�佹棤娉曚笅鍙戞墽琛岋紒锛�");
             }
 
@@ -207,6 +207,7 @@
                     .set(Wave::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_TASK.val)
                     .set(Wave::getWorkQty, taskItems.stream().mapToDouble(TaskItem::getAnfme).sum())
                     .set(Wave::getUpdateBy, loginUserId)
+                    .set(Wave::getMemo, null)
                     .set(Wave::getUpdateTime, new Date())
                     .eq(Wave::getId, wave.getId()))) {
                 throw new CoolException("娉㈡鐘舵�佷慨鏀瑰け璐ワ紒锛�");
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
index 5bda303..aca7d0c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
@@ -96,7 +96,7 @@
     public static List<LocItem> getFirstInFirstOutItemList(String matnrCode, String splrBatch, Double anfme) {
         LambdaQueryWrapper<LocItem> locItemQueryWrapper = new LambdaQueryWrapper<>();
         locItemQueryWrapper.eq(LocItem::getMatnrCode, matnrCode);
-        locItemQueryWrapper.eq(LocItem::getBatch, splrBatch);
+        locItemQueryWrapper.eq(StringUtils.isNotEmpty(splrBatch), LocItem::getBatch, splrBatch);
         locItemQueryWrapper.orderByAsc(LocItem::getCreateTime);
         String applySql = String.format(
                 "EXISTS (SELECT 1 FROM man_loc ml " +
@@ -175,7 +175,8 @@
                             orderOutItemDto.setSiteNo(deviceSite.getSite());
                         }
 
-                        orderOutItemDto.setSource(item.getItemId()).setSourceId(item.getWaveId());
+                        orderOutItemDto.setSource(item.getItemId())
+                                .setSourceId(item.getWaveId());
 
                         list.add(orderOutItemDto);
 

--
Gitblit v1.9.1