From b003a49794f49a329e2702918ecfc8d14b371d0d Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期三, 04 三月 2026 14:51:25 +0800
Subject: [PATCH] 云仓WMS接口流程

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java |   41 ++++++++++++++++++++++++++++++-----------
 1 files changed, 30 insertions(+), 11 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 39d5ac4..07a4621 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
@@ -104,10 +104,11 @@
 
 
     /**
-     * @param
-     * @return
+     * 瀹屾垚鍏ュ簱锛屾洿鏂板簱浣嶆槑缁嗐�佺粍鎵樼姸鎬侊紝骞跺湪姝ょ粺涓�鎵ц 9.1 鍏�/鍑哄簱缁撴灉涓婃姤浜戜粨銆�
+     * 涓� RCS 鍥炶皟褰㈡垚闂幆锛歊CS 涓婃姤浠诲姟缁撴潫鍚庝粎灏嗕换鍔$姸鎬佺疆涓� COMPLETE_IN锛堣 WcsServiceImpl.receiveExMsg锛夛紝
+     * 鏈畾鏃朵换鍔℃壂鎻� COMPLETE_IN 骞舵墽琛� complateInTask锛堝簱浣嶃�佺粍鎵樸��9.1 涓婃姤浜戜粨锛夈��
+     *
      * @author Ryan
-     * @description 瀹屾垚鍏ュ簱锛屾洿鏂板簱瀛�
      * @time 2025/4/2 12:37
      */
     @Scheduled(cron = "0/3 * * * * ?")
@@ -122,10 +123,12 @@
     }
 
     /**
+     * 瀹屾垚鍑哄簱浠诲姟锛屾洿鏂板簱浣�/鍑哄簱鍗曪紝骞跺湪姝ょ粺涓�鎵ц 9.1 鍏�/鍑哄簱缁撴灉涓婃姤浜戜粨銆�
+     * 涓� RCS 鍥炶皟褰㈡垚闂幆锛歊CS 涓婃姤 END 鍚庝粎灏嗗嚭搴撲换鍔$姸鎬佺疆涓� COMPLETE_OUT锛堣 WcsServiceImpl.receiveExMsg锛夛紝
+     * 鏈畾鏃朵换鍔℃壂鎻� COMPLETE_OUT 骞舵墽琛� completeTask锛堟墸搴撲綅銆佹洿鏂板嚭搴撳崟銆�9.1 涓婃姤浜戜粨锛夈��
+     *
      * @author Ryan
      * @date 2025/5/20
-     * @description: 瀹屾垚鍑哄簱浠诲姟锛屾洿鏂板簱瀛�
-     * @version 1.0
      */
     @Scheduled(cron = "0/5 * * * * ?  ")
     @Transactional(rollbackFor = Exception.class)
@@ -248,15 +251,25 @@
     /**
      * 闈炲厜鐢电珯鐐逛换鍔′笅鍙�
      */
-    @Scheduled(cron = "0/55 * * * * ?  ")
+    @Scheduled(cron = "0/35 * * * * ?  ")
     @Transactional(rollbackFor = Exception.class)
     public void pubTaskToWcs() {
         log.info("瀹氭椂浠诲姟寮�濮嬫墽琛岋細浠诲姟涓嬪彂鍒癛CS");
         Long loginUserId = SystemAuthUtils.getLoginUserId();
-        List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type, TaskType.TASK_TYPE_LOC_MOVE.type, TaskType.TASK_TYPE_EMPITY_IN.type
-                , TaskType.TASK_TYPE_CHECK_IN.type, TaskType.TASK_TYPE_MERGE_IN.type, TaskType.TASK_TYPE_EMPITY_OUT.type, TaskType.TASK_TYPE_PICK_IN.type,
-                TaskType.TASK_TYPE_PICK_AGAIN_OUT.type, TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_MERGE_OUT.type);
-        List<Integer> integers = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id);
+        List<Integer> list = Arrays.asList(
+                 TaskType.TASK_TYPE_LOC_MOVE.type
+                ,TaskType.TASK_TYPE_OUT.type
+                ,TaskType.TASK_TYPE_EMPITY_OUT.type
+                ,TaskType.TASK_TYPE_CHECK_OUT.type
+                ,TaskType.TASK_TYPE_MERGE_OUT.type
+                ,TaskType.TASK_TYPE_PICK_AGAIN_OUT.type
+                ,TaskType.TASK_TYPE_IN.type
+                ,TaskType.TASK_TYPE_EMPITY_IN.type
+                ,TaskType.TASK_TYPE_CHECK_IN.type
+                ,TaskType.TASK_TYPE_MERGE_IN.type
+                ,TaskType.TASK_TYPE_PICK_IN.type
+        );
+        List<Integer> integers = Arrays.asList(/*TaskStsType.GENERATE_IN.id,*/ TaskStsType.GENERATE_OUT.id);
         List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
                 .in(Task::getTaskType, list)
                 .in(Task::getTaskStatus, integers)
@@ -362,7 +375,7 @@
 
     /**
      * 姣忎簲绉掓牎楠屾繁搴撲綅鏄惁涓虹┖锛屽鏋滄祬搴撲綅鏈夎揣锛屽皢娴呭簱浣嶇Щ鑷虫繁搴撲綅
-     *///TODO 鐢熸垚绉诲簱浠诲姟鍓嶏紝闇�瑕佹鏌ユ槸鍚︽湁浠诲姟鍓嶅線褰撳墠鎵樼洏
+     *///TODO 鐢熸垚绉诲簱浠诲姟鍓嶏紝闇�瑕佹鏌ユ槸鍚︽湁浠诲姟鍓嶅線褰撳墠鏂欑
 //    @Scheduled(cron = "0/35 * * * * ?  ")
 //    @Transactional(rollbackFor = Exception.class)
 //    public void shallocToDeep() throws Exception {
@@ -638,6 +651,9 @@
                                         if (!Boolean.parseBoolean(allowChang.getVal())) {
                                             if (order.getAnfme().compareTo(order.getQty()) == 0) {
                                                 order.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val);
+                                                if (order.getQty() == null || order.getQty().compareTo(0.0) == 0) {
+                                                    order.setQty(order.getWorkQty() != null ? order.getWorkQty() : 0.0);
+                                                }
                                                 if (!asnOrderService.updateById(order)) {
                                                     logger.error("鍑哄簱鍗曟洿鏂扮姸鎬佸け璐ャ�傝鍗旾D锛歿}锛岃鍗曠紪鐮侊細{}", order.getId(), order.getCode());
                                                 }
@@ -645,6 +661,9 @@
                                         } else {
                                             if (order.getAnfme().compareTo(order.getQty()) <= 0) {
                                                 order.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val);
+                                                if (order.getQty() == null || order.getQty().compareTo(0.0) == 0) {
+                                                    order.setQty(order.getWorkQty() != null ? order.getWorkQty() : 0.0);
+                                                }
                                                 if (!asnOrderService.updateById(order)) {
                                                     logger.error("鍑哄簱鍗曟洿鏂扮姸鎬佸け璐ャ�傝鍗旾D锛歿}锛岃鍗曠紪鐮侊細{}", order.getId(), order.getCode());
                                                 }

--
Gitblit v1.9.1