From 7c5a2e3430f3c0f9e6c4ba9dcdb025e59c1953cb Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 01 十月 2023 10:06:50 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   98 ++++++++++++++++++++++++++++++------------------
 1 files changed, 61 insertions(+), 37 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 8520b78..8d279d6 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -236,8 +236,8 @@
                         Integer code = jsonObject.getInteger("code");
                         if (code.equals(200)) {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-//                            // plc 澶勭悊
-//                            barcodeThread.setBarcode("");
+                            // plc 澶勭悊
+                            barcodeThread.setBarcode("");
 //                            staProtocol.setWorkNo(dto.getWorkNo().shortValue());
 //                            staProtocol.setStaNo(dto.getStaNo().shortValue());
 //                            devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -1196,6 +1196,17 @@
 
         //23.灏忚溅鎼繍瀹屾垚 ==> 24.鎻愬崌鏈烘惉杩愪腑
         if (wrkMast.getWrkSts() == 23) {
+            NyShuttleThread shuttleThread = (NyShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo());
+            if (shuttleThread == null) {
+                return false;
+            }
+
+            //璋冨害灏忚溅閬胯
+            boolean result = Utils.searchEmptyGroupToMoveShuttle(Utils.getLev(wrkMast.getSourceLocNo()), wrkMast.getShuttleNo(), shuttleThread);
+            if (!result) {
+                return false;
+            }
+
             //鑾峰彇鍑哄簱绔欑偣(鐩爣绔�)
             BasDevp basDevp = basDevpService.selectById(wrkMast.getStaNo());
             if (basDevp == null) {
@@ -1293,7 +1304,7 @@
                         case 3://3.鎻愬崌鏈烘惉杩愪腑 ==> 4.鎻愬崌鏈烘惉杩愬畬鎴�
                             wrkMast.setWrkSts(4L);
                             wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈�
-                            if (liftProtocol.getToken() == wrkMast.getWrkNo()) {
+                            if (liftProtocol.getToken().equals(wrkMast.getWrkNo())) {
                                 //閲婃斁鎻愬崌鏈轰护鐗�
                                 liftProtocol.setToken(0);
                             }
@@ -1307,6 +1318,12 @@
                                 //閲婃斁鎻愬崌鏈轰护鐗�
                                 liftProtocol.setToken(0);
                             }
+
+                            if (wrkMast.getMk() == null || !wrkMast.getMk().equals("Y")) {
+                                //涓嶉渶瑕佺敤鍒版満姊拌噦锛岀洿鎺ヨ浆29.鍑哄簱瀹屾垚
+                                wrkMast.setWrkSts(29L);
+                            }
+
                             break;
                         case 106://106.鎻愬崌鏈烘惉杩愪腑 ==> 107.鎻愬崌鏈烘惉杩愬畬鎴�
                             wrkMast.setWrkSts(107L);
@@ -1915,7 +1932,7 @@
                         Integer code = jsonObject.getInteger("code");
                         if (code.equals(200)) {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
+                            barcodeThread.setBarcode("");
 //                            // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
 //                            staProtocol.setWorkNo(dto.getWorkNo().shortValue());
 //                            staProtocol.setStaNo(dto.getStaNo().shortValue());
@@ -1954,6 +1971,9 @@
             // 鑾峰彇鍏ュ簱绔欎俊鎭�
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
             StaProtocol staProtocol = devpThread.getStation().get(300);
+            if (staProtocol == null) {
+                continue;
+            }
             if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() != 0) {
                 //鏌ヨ鏄惁鏈夊伐浣滄。
                 WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol.getWorkNo().intValue());
@@ -1965,7 +1985,7 @@
                     continue;
                 }
 
-                if (wrkMast.getMk().equals("Y")) {//鏍囪涓篩琛ㄧず闇�瑕佺敤鍒版満姊拌噦鎷f枡
+                if (wrkMast.getMk() != null && wrkMast.getMk().equals("Y")) {//鏍囪涓篩琛ㄧず闇�瑕佺敤鍒版満姊拌噦鎷f枡
                     Short targetSta = null;//鐩爣绔�
                     //鍒ゆ柇鏈烘鑷傛嫞鏂欑珯鏄惁绌洪棽
                     StaProtocol staProtocol303 = devpThread.getStation().get(303);
@@ -1982,19 +2002,21 @@
 
                     targetSta = (short) 317;
 
-                    //瑕嗙洊宸ヤ綔妗g洰鏍囩珯
-                    wrkMast.setStaNo(targetSta.intValue());
-                    if (wrkMastMapper.updateById(wrkMast) > 0) {
-                        //鍚�300绔欏啓鍏ョ洰鏍囩珯
-                        staProtocol = staProtocol.clone();
-                        staProtocol.setStaNo(targetSta);//绉诲姩鍒扮洰鏍囩珯
-                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                        try {
-                            Thread.sleep(500);
-                        } catch (Exception e) {
-                            e.printStackTrace();
+                    if (wrkMast.getStaNo() != 303 && wrkMast.getStaNo() != 317) {
+                        //瑕嗙洊宸ヤ綔妗g洰鏍囩珯
+                        wrkMast.setStaNo(targetSta.intValue());
+                        if (wrkMastMapper.updateById(wrkMast) > 0) {
+                            //鍚�300绔欏啓鍏ョ洰鏍囩珯
+                            staProtocol = staProtocol.clone();
+                            staProtocol.setStaNo(targetSta);//绉诲姩鍒扮洰鏍囩珯
+                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                            try {
+                                Thread.sleep(500);
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                            }
+                            continue;
                         }
-                        continue;
                     }
                 }
             }
@@ -2003,28 +2025,30 @@
             StaProtocol staProtocol317 = devpThread.getStation().get(317);
             if (staProtocol303.isAutoing() && staProtocol303.isLoading() && staProtocol303.getWorkNo() != 0) {
                 //璋冨害鏈烘鑷�
-                //鏌ヨ鏄惁鏈夊伐浣滄。
-                WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol303.getWorkNo().intValue());
-                if (wrkMast == null) {
-                    continue;
-                }
-                WrkDetl wrkDetl = wrkDetlService.selectById(wrkMast.getWrkNo());
-                if (wrkDetl == null) {
-                    continue;
-                }
-                RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetl.getAnfme().intValue(), "303");
+//                //鏌ヨ鏄惁鏈夊伐浣滄。
+//                WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol303.getWorkNo().intValue());
+//                if (wrkMast == null) {
+//                    continue;
+//                }
+//                WrkDetl wrkDetl = wrkDetlService.selectById(wrkMast.getWrkNo());
+//                if (wrkDetl == null) {
+//                    continue;
+//                }
+//                RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetl.getAnfme().intValue(), "303");
+                RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), -1, "303");
             }else if (staProtocol317.isAutoing() && staProtocol317.isLoading() && staProtocol317.getWorkNo() != 0) {
                 //璋冨害鏈烘鑷�
-                //鏌ヨ鏄惁鏈夊伐浣滄。
-                WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol317.getWorkNo().intValue());
-                if (wrkMast == null) {
-                    continue;
-                }
-                WrkDetl wrkDetl = wrkDetlService.selectById(wrkMast.getWrkNo());
-                if (wrkDetl == null) {
-                    continue;
-                }
-                RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetl.getAnfme().intValue(), "317");
+//                //鏌ヨ鏄惁鏈夊伐浣滄。
+//                WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol317.getWorkNo().intValue());
+//                if (wrkMast == null) {
+//                    continue;
+//                }
+//                WrkDetl wrkDetl = wrkDetlService.selectById(wrkMast.getWrkNo());
+//                if (wrkDetl == null) {
+//                    continue;
+//                }
+//                RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetl.getAnfme().intValue(), "317");
+                RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), -1, "317");
             }
         }
     }

--
Gitblit v1.9.1