From 258f0142619bb02db69c0f7006ca5bcc75d7a2e4 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期三, 04 三月 2026 15:35:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/devlop-phyz' into devlop-phyz

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java |   37 ++++++++++++++++++++++++++++++-------
 1 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index fe84af7..d3baceb 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -988,8 +988,14 @@
                     //110.绌烘澘鍑哄簱
                     complateOutStockEmpty(task, loginUserId);
                 } else if (task.getTaskType().equals(TaskType.TASK_TYPE_CROSS_DOCKING_OUT.type)) {
-                    //110.绌烘澘鍑哄簱
+                    //109.瓒婂簱
                     complateOutStockDocking(task, loginUserId);
+                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)) {
+                    //107.鐩�
+                    pickOrCheckTask(task.getId(), Constants.TASK_TYPE_OUT_CHECK);
+                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)) {
+                    //103.鎷i��
+                    pickOrCheckTask(task.getId(), Constants.TASK_TYPE_OUT_PICK);
                 } else {
                     complateOutStock(task, loginUserId);
                 }
@@ -1093,10 +1099,22 @@
             throw new CoolException("搴撲綅淇℃伅鏇存柊澶辫触锛侊紒");
         }
 
+
+
         List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
         if (taskItems.isEmpty()) {
             throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦紒锛�");
         }
+
+        List<LocItem> list = locItemService.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, loc.getId()));
+        list.forEach(item -> {
+            item.setOrderId(taskItems.get(0).getSourceId());
+            item.setType(taskItems.get(0).getOrderType());
+            item.setOrderItemId(taskItems.get(0).getSource());
+            item.setPlatOrderCode(taskItems.get(0).getSourceCode());
+        });
+
+        locItemService.updateBatchById(list);
 
         TaskItem taskItem = taskItems.stream().findFirst().get();
         //淇濆瓨鍏ュ嚭搴撴祦姘�
@@ -1331,7 +1349,7 @@
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Task pickOrCheckTask(Long id, String oType) throws Exception {
+    public synchronized Task pickOrCheckTask(Long id, String oType) throws Exception {
         Task task = this.getById(id);
         if (Objects.isNull(task)) {
             throw new CoolException("褰撳墠浠诲姟涓嶅瓨鍦紒锛�");
@@ -1362,14 +1380,19 @@
         task.setTaskCode(ruleCode)
                 .setTaskType(type)
                 .setBarcode(task.getBarcode())
-                .setTaskStatus(TaskStsType.GENERATE_IN.id);
+                .setTaskStatus(TaskStsType.MISSION_INITIAL.id);
 
         TaskInParam param = new TaskInParam();
         param.setSourceStaNo(task.getTargSite())
                 .setIoType(type)
                 .setLocType1(Integer.parseInt(loc.getType()));
         //鑾峰彇鏂板簱浣�
-        InTaskMsgDto locInfo = wcsService.getLocNo(param);
+        InTaskMsgDto locInfo = null;
+        try{
+            locInfo = wcsService.getLocNo(param);
+        } catch (Exception e) {
+            throw new CoolException("鑾峰彇搴撲綅澶辫触锛侊紒"+e.getMessage());
+        }
 
         if (Objects.isNull(locInfo)) {
             throw new CoolException("鑾峰彇搴撲綅澶辫触锛侊紒");
@@ -1586,7 +1609,7 @@
                 .eq(Task::getId, task.getId())
                 .set(Task::getUpdateBy, loginUserId)
                 .set(Task::getUpdateTime, new Date())
-                .set(Task::getTaskStatus, TaskStsType.WAVE_SEED.id))) {
+                .set(Task::getTaskStatus, TaskStsType.UPDATED_OUT.id))) {
             throw new CoolException("搴撳瓨鐘舵�佹洿鏂板け璐ワ紒锛�");
         }
 
@@ -1617,7 +1640,7 @@
     /**
      * @author Ryan
      * @date 2025/5/20
-     * @description: 瀹屾垚鍑哄簱浠诲姟锛屾洿鏂板嚭搴撳簱瀛樹俊鎭�
+     * @description: 瀹屾垚瓒婂簱浠诲姟锛屾洿鏂板嚭搴撳簱瀛樹俊鎭�
      * @version 1.0
      */
     @Synchronized
@@ -1742,7 +1765,7 @@
                 .eq(Task::getId, task.getId())
                 .set(Task::getUpdateBy, loginUserId)
                 .set(Task::getUpdateTime, new Date())
-                .set(Task::getTaskStatus, TaskStsType.WAVE_SEED.id))) {
+                .set(Task::getTaskStatus, TaskStsType.UPDATED_OUT.id))) {
             throw new CoolException("搴撳瓨鐘舵�佹洿鏂板け璐ワ紒锛�");
         }
     }

--
Gitblit v1.9.1