From 5a06c9a6923fde7889ac33d84de74f5e64b67bb8 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 27 二月 2025 19:21:46 +0800
Subject: [PATCH] #修改 集货区绑定可流动问题修复

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WcsApiServiceImpl.java |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WcsApiServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WcsApiServiceImpl.java
index 9d767e8..25d3db8 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WcsApiServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WcsApiServiceImpl.java
@@ -169,8 +169,7 @@
                     }
                 } else { //鍑哄簱浠诲姟
                     if (callbackParam.getEventType().equals(EssTaskStatus.TASK_EVENT_TOTE_LOAD.event)) { //涓婃姤鍙栫鐘舵��
-                        //TODO 瀹氭椂鍣ㄥ紑鍚悗锛岃鍒犻櫎 || task.getTaskType() == TaskStsType.GENERATE_OUT.id
-                        if (task.getTaskSts() == TaskStsType.WCS_EXECUTE_OUT.id || task.getTaskSts() == TaskStsType.GENERATE_OUT.id) {
+                        if (task.getTaskSts() == TaskStsType.WCS_EXECUTE_OUT.id ) {
                             taskStsType = TaskStsType.WCS_EXECUTE_OUT_TOTE_LOAD;
                         } else {
                             String errMsg = "浠诲姟缂栧彿锛�" + task.getTaskNo() + "鐘舵�佷负涓嶅尮閰嶏紝" + "涓嶈兘鎵ц锛�" + TaskStsType.WCS_EXECUTE_OUT_TOTE_LOAD.desc + "浠诲姟";
@@ -197,7 +196,7 @@
                     }
 
                     //鏇存柊鍑哄簱鐘舵�佸強鐩稿叧瀛楁
-                    taskService.update(new LambdaUpdateWrapper<Task>()
+                    boolean update = taskService.update(new LambdaUpdateWrapper<Task>()
                             .set(Task::getRobotCode, callbackParam.getRobotCode())
                             .set(Task::getSysTaskCode, callbackParam.getSysTaskCode())
                             .set(Task::getTaskSts, taskStsType.id)
@@ -205,6 +204,10 @@
                             .set(Task::getTaskDesc, callbackParam.getMessage())
                             .eq(Task::getBarcode, callbackParam.getContainerCode())
                             .eq(Task::getTaskNo, callbackParam.getTaskCode()));
+
+                    if (!update) {
+                        throw new CoolException("浠诲姟鏇存柊澶辫触锛侊紒");
+                    }
 
                 }
 
@@ -300,9 +303,15 @@
      * @param request
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void slapLightLogic(Map<String, Object> request) {
         String taskNo = request.get("taskNo").toString();
         String orderNo = request.get("orderNo").toString();
+
+        List<CacheSite> performs = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderNo, orderNo));
+        if (Objects.isNull(performs.stream().findFirst().get().getPlatformId())) {
+            throw new CoolException("璇锋墦鍗版槑缁嗭紝骞剁粦瀹氱洰鏍囬泦璐у尯");
+        }
 
         //* 1. 鍒ゆ柇褰撳墠瀹瑰櫒鏄惁杩樻湁鐗╂枡鏈嫞锛屾湭鎷e畬闂伅锛屾嫞瀹岄�氱煡瀹瑰櫒娴佸姩锛屽苟鐏伅
         SlapLightControlParam slapParam = new SlapLightControlParam();
@@ -333,6 +342,9 @@
                 //鎾瀹屾垚锛岄噴鏀剧粦瀹氱珯鐐�
                 List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderNo, orderNo));
                 for (CacheSite cacheSite : cacheSites) {
+                    if (Objects.isNull(cacheSite.getPlatformId())) {
+                        throw new CoolException("");
+                    }
                     if (!cacheSite.getSiteStatus().equals(CacheSiteStatusType.O.id)) {
                         cacheSite.setSiteStatus(CacheSiteStatusType.O.id);
                         cacheSite.setOrderId(null);

--
Gitblit v1.9.1