From 25579b7079f5fab8fc660358644deb5aea633ed2 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 10 七月 2025 12:46:13 +0800
Subject: [PATCH] no message

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/apis/wcs/services/Impl/WcsApiServiceImpl.java |  119 +++++++++++++++++++++++++++++++----------------------------
 1 files changed, 62 insertions(+), 57 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 26cfdd1..42c74aa 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
@@ -84,7 +84,7 @@
         if (task == null) {
             return R.error("浠诲姟涓嶅瓨鍦紒锛�");
         }
-        log.info("瀹瑰櫒鍒拌揪鎺ユ敹锛屼换鍔″彿锛歿}锛屽綋鍓嶇姸鎬侊細{}锛屼笂鎶ョ姸鎬侊細{}",task.getTaskNo(),task.getTaskSts$(),TaskStsType.WCS_CONTAINER_RECEIVE.desc);
+        log.info("瀹瑰櫒鍒拌揪鎺ユ敹锛屼换鍔″彿锛歿}锛屽綋鍓嶇姸鎬侊細{}锛屼笂鎶ョ姸鎬侊細{}, 鎺ユ敹鍙傛暟锛歿}",task.getTaskNo(),task.getTaskSts$(),TaskStsType.WCS_CONTAINER_RECEIVE.desc, JSONObject.toJSONString(arrivedParam));
 
         taskType = task.getTaskType() > 100 ? "outStock":"inStock";
 
@@ -107,32 +107,36 @@
             if (task.getTaskSts() == TaskStsType.WCS_EXECUTE_OUT_ARRIVED.id
             || task.getTaskSts() == TaskStsType.WCS_EXECUTE_OUT_TASK_DONE.id ) {
                 // 鍒拌揪鎷i�変綅锛屾帶鍒舵挱绉嶅浜伅
-                    List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getBarcode, task.getBarcode()));
-                    if(cacheSites.size() == 0) {
+                CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>()
+                        .eq(CacheSite::getChannel, task.getTargetSite())
+                        .isNull(CacheSite::getOrderId).orderByAsc(CacheSite::getId));
+//                List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>()
+//                            .eq(CacheSite::getBarcode, task.getBarcode()));
+                    if(Objects.isNull(cacheSite)) {
                         log.error("鏉$爜锛歿}锛屾湭鎵惧埌鎾澧欎寒鐏�",task.getBarcode());
                         throw new CoolException("鏈壘鍒版挱绉嶅");
                     }
-                    for (CacheSite cacheSite:cacheSites) {
-                        // 鑾峰彇浠诲姟鏄庣粏鏁伴噺
-                        List<TaskDetl> taskDetlByTaskId = taskDetlService.getTaskDetlByTaskId(task.getId());
-                        int sum = (int)taskDetlByTaskId.stream().mapToDouble(TaskDetl::getAnfme).sum();
-                        SlapLightControlParam slapLightControlParam = new SlapLightControlParam();
-                        slapLightControlParam
-                                .setControllerCode(cacheSite.getMemo())
-                                .setTagCode(cacheSite.getSiteNo())
-                                .setColor("GREEN")
-                                .setIndex(cacheSite.getIndex())
-                                .setMode("LIGHT")
-                                .setDisplay(sum + "");
-                        // 鍙戣捣浜伅璇锋眰
-                        log.info("浠诲姟{}鍒拌揪鎷i�変綅锛屾挱绉嶅浜伅涓嬪彂",task.getTaskNo(), JSONObject.toJSONString(slapLightControlParam));
-                        CommonReponse response = HttpEssUtils.post("鍒拌揪鎷i�変綅锛屾挱绉嶅浜伅", HttpEssUtils.PLT_SEND_COMMAND, slapLightControlParam);
-                        if (response.getCode().equals(0)) {
-                            log.info("浠诲姟{}鍒拌揪鎷i�変綅锛屾挱绉嶅{}浜伅鎴愬姛",task.getTaskNo(),cacheSite.getSiteNo());
-                        } else {
-                            log.info("浠诲姟{}鍒拌揪鎷i�変綅锛屾挱绉嶅{}浜伅澶辫触",task.getTaskNo(),cacheSite.getSiteNo());
-                        }
-                    }
+
+                // 鑾峰彇浠诲姟鏄庣粏鏁伴噺
+                List<TaskDetl> taskDetlByTaskId = taskDetlService.getTaskDetlByTaskId(task.getId());
+                int sum = (int)taskDetlByTaskId.stream().mapToDouble(TaskDetl::getAnfme).sum();
+                SlapLightControlParam slapLightControlParam = new SlapLightControlParam();
+                slapLightControlParam
+                        .setControllerCode(cacheSite.getMemo())
+                        .setTagCode(cacheSite.getSiteNo())
+                        .setColor("GREEN")
+                        .setIndex(cacheSite.getIndex())
+                        .setMode("LIGHT")
+                        .setDisplay(sum + "");
+                // 鍙戣捣浜伅璇锋眰
+                log.info("浠诲姟{}鍒拌揪鎷i�変綅锛屾挱绉嶅浜伅涓嬪彂",task.getTaskNo(), JSONObject.toJSONString(slapLightControlParam));
+                CommonReponse response = HttpEssUtils.post("鍒拌揪鎷i�変綅锛屾挱绉嶅浜伅", HttpEssUtils.PLT_SEND_COMMAND, slapLightControlParam);
+                if (response.getCode().equals(0)) {
+                    log.info("浠诲姟{}鍒拌揪鎷i�変綅锛屾挱绉嶅{}浜伅鎴愬姛",task.getTaskNo(),cacheSite.getSiteNo());
+                } else {
+                    log.info("浠诲姟{}鍒拌揪鎷i�変綅锛屾挱绉嶅{}浜伅澶辫触",task.getTaskNo(),cacheSite.getSiteNo());
+                }
+
                 boolean update = taskService.update(new LambdaUpdateWrapper<Task>()
                         .set(Task::getTaskSts, TaskStsType.WAVE_SEED.id)
                         .set(Task::getOriginSite, arrivedParam.getSlotCode())
@@ -140,7 +144,6 @@
                 if (!update) {
                     throw new CoolException("瀹瑰櫒鍒拌揪浠诲姟鏇存柊澶辫触锛侊紒");
                 }
-
             } else if(task.getTaskSts().equals(TaskStsType.UPDATED_OUT.id)) {
                 ConveyorStarParam conveyorStarParam = new ConveyorStarParam();
                 conveyorStarParam.setSlotCode(task.getOriginSite())
@@ -345,9 +348,9 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R slapLightLogic(Map<String, Object> request) {
-        String taskNo = request.get("taskNo").toString();
+        List<String> taskNos = (List<String>)request.get("taskNo");
         String orderNo = request.get("orderNo").toString();
-
+        String siteNo = Objects.isNull(request.get("siteNo")) ? null : request.get("siteNo").toString();
         List<CacheSite> performs = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderNo, orderNo));
         if (Objects.isNull(performs.stream().findFirst().get().getPlatformId())) {
             throw new CoolException("璇锋墦鍗版槑缁嗭紝骞剁粦瀹氱洰鏍囬泦璐у尯");
@@ -356,29 +359,32 @@
         //* 1. 鍒ゆ柇褰撳墠瀹瑰櫒鏄惁杩樻湁鐗╂枡鏈嫞锛屾湭鎷e畬闂伅锛屾嫞瀹岄�氱煡瀹瑰櫒娴佸姩锛屽苟鐏伅
         SlapLightControlParam slapParam = new SlapLightControlParam();
         MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-        //鍒ゆ柇褰撳墠浠诲姟鏄惁杩樻湁鐗╂枡鏈嫞
-        if (!checked(orderNo, taskNo)) {
-            log.info("鏈畬鎴愰棯鐏姹傚湴鍧�锛歿}锛岃姹傚弬鏁帮細{}", SystemProperties.SLAP_LIGHT, JSONObject.toJSONString(slapParam));
-            //璋冪敤涓夋柟鎺ュ彛,闂伅涓嶅仛鎿嶄綔
-            // 璁剧疆璇锋眰鍙傛暟
-            throw new CoolException("褰撳墠浠诲姟鏈畬鎴愶紝涓嶈兘鎵ц姝ゆ搷浣滐紒锛�");
+
+        taskNos.forEach(taskNo -> {
+            //鍒ゆ柇褰撳墠浠诲姟鏄惁杩樻湁鐗╂枡鏈嫞
+            if (!checked(orderNo, taskNo)) {
+                log.info("鏈畬鎴愰棯鐏姹傚湴鍧�锛歿}锛岃姹傚弬鏁帮細{}", SystemProperties.SLAP_LIGHT, JSONObject.toJSONString(slapParam));
+                //璋冪敤涓夋柟鎺ュ彛,闂伅涓嶅仛鎿嶄綔
+                // 璁剧疆璇锋眰鍙傛暟
+                throw new CoolException("褰撳墠浠诲姟鏈畬鎴愶紝涓嶈兘鎵ц姝ゆ搷浣滐紒锛�");
 //            params.add("params", JSONObject.toJSONString(slapParam));
-        } else {
-            //璋冪敤涓夋柟鎺ュ彛,鐏伅閫氱煡瀹瑰櫒娴佸姩锛� 浼犵伃鐏弬鏁�
-            //todo 鍒ゆ柇褰撳墠璁㈠崟鏄惁瀹屾垚锛屽畬鎴愮伃鐏紝鏈畬鎴愪繚鎸佹嫞璐х姸鎬佷寒鐏�
-            Order one = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, orderNo));
-            if (Objects.isNull(one)) {
-                throw new CoolException("褰撳墠璁㈠崟鏄庣粏涓嶅瓨鍦紒锛�");
-            }
+            } else {
+                //璋冪敤涓夋柟鎺ュ彛,鐏伅閫氱煡瀹瑰櫒娴佸姩锛� 浼犵伃鐏弬鏁�
+                //todo 鍒ゆ柇褰撳墠璁㈠崟鏄惁瀹屾垚锛屽畬鎴愮伃鐏紝鏈畬鎴愪繚鎸佹嫞璐х姸鎬佷寒鐏�
+                Order one = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, orderNo));
+                if (Objects.isNull(one)) {
+                    throw new CoolException("褰撳墠璁㈠崟鏄庣粏涓嶅瓨鍦紒锛�");
+                }
 //            //鑾峰彇鎾宸插畬鎴愮殑璁㈠崟鏄庣粏
 //            List<OrderDetl> detlList = orderDetls.stream().filter(detl -> {
 //                return detl.getPickStatus() == OrderPickStatus.ORDER_PICK_STATUS_DONE.val;
 //            }).collect(Collectors.toList());
 
-            //鍒ゆ柇鏁伴噺鏄惁涓庤鍗曟槑缁嗙殑闇�姹傞噺鐩稿悓锛岀浉鍚屽垯璁㈠崟瀹屾垚
-            if (one.getPickStatus() == OrderPickStatus.ORDER_PICK_STATUS_DONE.val) {
+                //鍒ゆ柇鏁伴噺鏄惁涓庤鍗曟槑缁嗙殑闇�姹傞噺鐩稿悓锛岀浉鍚屽垯璁㈠崟瀹屾垚
                 //鎾瀹屾垚锛岄噴鏀剧粦瀹氱珯鐐�
-                List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderNo, orderNo));
+                List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>()
+                        .eq(!Objects.isNull(siteNo), CacheSite::getSiteNo, siteNo)
+                        .eq(CacheSite::getOrderNo, orderNo));
                 for (CacheSite cacheSite : cacheSites) {
                     if (!cacheSite.getSiteStatus().equals(CacheSiteStatusType.O.id)) {
                         cacheSite.setSiteStatus(CacheSiteStatusType.O.id);
@@ -393,22 +399,21 @@
                         }
                     }
                 }
+                params.add("params", JSONObject.toJSONString(slapParam));
+                log.info("瀹屾垚鐏伅璇锋眰鍦板潃锛歿}锛岃姹傚弬鏁帮細{}", SystemProperties.SLAP_LIGHT, JSONObject.toJSONString(slapParam));
             }
-            params.add("params", JSONObject.toJSONString(slapParam));
-            log.info("瀹屾垚鐏伅璇锋眰鍦板潃锛歿}锛岃姹傚弬鏁帮細{}", SystemProperties.SLAP_LIGHT, JSONObject.toJSONString(slapParam));
-        }
 
-        Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskNo, request.get("taskNo")));
-        if (Objects.isNull(task)) {
-            throw new CoolException("浠诲姟涓嶅瓨鍦紒锛�");
-        }
-        try {
-            containerConveryor(task.getBarcode());
-        } catch (Exception e) {
-            log.error("鎵ц寮傚父:UNK",  e);
-            throw new CoolException(e.getMessage());
-        }
-
+            Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskNo, request.get("taskNo")));
+            if (Objects.isNull(task)) {
+                throw new CoolException("浠诲姟涓嶅瓨鍦紒锛�");
+            }
+            try {
+                containerConveryor(task.getBarcode());
+            } catch (Exception e) {
+                log.error("鎵ц寮傚父:UNK",  e);
+                throw new CoolException(e.getMessage());
+            }
+        });
         return R.ok();
     }
 

--
Gitblit v1.9.1