From e826b2ba77a95a0412ae6bb5c8a9c1e37afca291 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 31 三月 2025 15:25:12 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java |   58 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 39 insertions(+), 19 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
index 2b00511..c3ea2f0 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
@@ -185,20 +185,6 @@
                         if (!Cools.isEmpty(barcode)) {
                             News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", deviceBarcode.getId(), barcode);
 
-                            if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode) || "00000000".equals(barcode)) {
-                                staProtocol.setWorkNo((short) 32002);
-                                staProtocol.setStaNo(inSta.getBackSta().shortValue());
-                                devpThread.setPakMk(staProtocol.getSiteId(), false);
-                                devpThread.writeWorkSta(staProtocol.getSiteId(), (short) 32002, inSta.getBackSta().shortValue());
-
-                                // led 寮傚父鏄剧ず
-                                LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
-                                if (ledThread != null) {
-                                    String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
-                                    ledThread.error(errorMsg);
-                                }
-                                continue;
-                            }
                         }
 
                         // 鍒ゆ柇閲嶅宸ヤ綔妗�
@@ -246,14 +232,13 @@
                                 int row = Integer.parseInt(wmsLocNo.substring(0, 2));
                                 int bay = Integer.parseInt(wmsLocNo.substring(2, 5));
                                 int lev = Integer.parseInt(wmsLocNo.substring(5, 7));
-                                row -= 16;
                                 String wcsLocNo = Utils.getLocNo(row, bay, lev);
 
                                 CreateInTaskParam createInTaskParam = new CreateInTaskParam();
                                 createInTaskParam.setTaskNo(String.valueOf(dto.getWorkNo()));
                                 createInTaskParam.setDestLoc(wcsLocNo);
-                                createInTaskParam.setOriginSite("31002");
-                                createInTaskParam.setDestSite("31004");
+                                createInTaskParam.setOriginSite(dto.getSourceStaNo().toString());
+                                createInTaskParam.setDestSite(dto.getStaNo().toString());
                                 createInTaskParam.setPriority(11);
                                 createInTaskParam.setBarcode(barcode);
 
@@ -263,7 +248,7 @@
                                     String msg = "";
                                     HashMap<String, String> hashMap = new HashMap<>();
                                     hashMap.put("msg", msg);
-                                    hashMap.put("sta", "31001");
+                                    hashMap.put("sta", inSta.getStaNo().toString());
                                     new HttpHandler.Builder()
                                             .setUri(wmsUrl)
                                             .setPath("/rpc/led/getError")
@@ -278,7 +263,7 @@
                                 String msg = jsonObject.getString("msg");
                                 HashMap<String, String> hashMap = new HashMap<>();
                                 hashMap.put("msg", msg);
-                                hashMap.put("sta", "31001");
+                                hashMap.put("sta", inSta.getStaNo().toString());
                                 new HttpHandler.Builder()
                                         .setUri(wmsUrl)
                                         .setPath("/rpc/led/getError")
@@ -1290,4 +1275,39 @@
         }
     }
 
+    // 瑙f瀽灏忚溅杞借揣绉诲姩宸ヤ綔妗�
+    public synchronized void analyzeLadenMoveTask() {
+        for (Task task : taskService.selectWaitAnalyzeLadenMoveTask()) {
+            if (Cools.isEmpty(task.getShuttleNo())) {
+                //鍒嗛厤灏忚溅
+                //鎼滅储绌洪棽杞�
+                ShuttleThread shuttleThread = shuttleDispatcher.searchIdleShuttle(task);
+                if (shuttleThread == null) {
+                    News.info("{}浠诲姟鏈壘鍒扮┖闂茬┛姊溅", task.getTaskNo());
+                    continue;
+                }
+
+                task.setShuttleNo(Integer.valueOf(shuttleThread.getDevice().getDeviceNo()));//淇濆瓨绌挎杞﹀彿
+                task.setUpdateTime(new Date());
+                if (!taskService.updateById(task)) {
+                    News.info("{}浠诲姟鏇存柊绌挎杞﹀彿澶辫触", task.getTaskNo());
+                }
+                continue;
+            }
+
+            // generate motion list
+            List<Motion> motionList = analyzeService.generateShuttleLadenMoveMotion(task);
+            if (motionList.isEmpty()) {
+                continue;
+            }
+            motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId());
+
+            // 鏇存柊宸ヤ綔涓绘。
+            task.setTaskSts(TaskStsType.ANALYZE_LADEN_MOVE.sts); // 宸ヤ綔鐘舵��
+            task.setUpdateTime(new Date());
+            if (!taskService.updateById(task)) {
+                News.error("鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", task.getTaskNo());
+            }
+        }
+    }
 }

--
Gitblit v1.9.1