From 6697e99226c38fef91e1cf28a7b89c127705c55b Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 02 三月 2023 09:21:16 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/DevpSlave.java              |    4 ++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   55 +++++++++++++++++++--------
 src/main/resources/application.yml                          |   32 ++++++++++++++++
 3 files changed, 74 insertions(+), 17 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 c910394..64db69b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -110,7 +110,7 @@
 
 
                 //101绔欐湁3涓壂鐮佸櫒锛屽綋0鎵爜鍣ㄦ病鏈夋暟鎹椂锛岃幏鍙�9銆�10涓や釜鎵爜鍣ㄦ暟鎹�
-                    if((inSta.getStaNo().equals(101) || inSta.getStaNo().equals(104)) && ( "NoRead".equals(barcode) || Cools.isEmpty(barcode) )){
+                if((inSta.getStaNo().equals(101) || inSta.getStaNo().equals(104)) && ( "NoRead".equals(barcode) || Cools.isEmpty(barcode) )){
                     BarcodeThread barcodeThread1 = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode1());
                     if (barcodeThread1 != null) {
                         barcode = barcodeThread1.getBarcode();
@@ -125,12 +125,19 @@
                     }
                 }
 
+
                 if (!Cools.isEmpty(barcode)) {
                     log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
                     if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
                         continue;
                     }
                 } else {
+                    // led 寮傚父鏄剧ず
+                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+                    if (ledThread != null) {
+                        String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
+                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+                    }
                     continue;
                 }
 
@@ -222,6 +229,8 @@
                                 .build()
                                 .doPost();
                         JSONObject jsonObject = JSON.parseObject(response);
+                        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+                        Integer code = jsonObject.getInteger("code");
                         if (jsonObject.getInteger("code").equals(200)) {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
 
@@ -229,12 +238,32 @@
                             staProtocol.setWorkNo(dto.getWorkNo().shortValue());
                             staProtocol.setStaNo(dto.getStaNo().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
+
+                            ledThread.errorReset();
+
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             if (!result) {
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
-                        } else {
+                        } else if(code == 500){
+                            if (ledThread != null) {
+                                String errorMsg = jsonObject.getString("msg");
+                                if (!Cools.isEmpty(errorMsg)) {
+                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+                                }
+                            }
                             log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+                        } else if (code == 700) {
+                            staProtocol.setWorkNo((short) 9995);
+                            staProtocol.setStaNo(inSta.getBackSta().shortValue());
+                            devpThread.setPakMk(staProtocol.getSiteId(), false);
+                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+
+                            // led 寮傚父鏄剧ず
+                            if (ledThread != null) {
+                                String errorMsg = barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒";
+                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+                            }
                         }
 
 
@@ -418,10 +447,6 @@
 
                         }
                     }
-//                    if("NoRead".equals(barcode) || Cools.isEmpty(barcode)) {
-//                        barcode = "";
-//                        continue;
-//                    }
                 }
 
                 if (!Cools.isEmpty(barcode) && "NoRead".equals(barcode)) {
@@ -442,33 +467,29 @@
                     staProtocol = staProtocol.clone();
                 }
 
-//                // 鍏ュ嚭搴撴ā寮忓垽鏂�
-//                if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
 
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) {
 //                    WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
                     WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
+                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
                     if (wrkMast == null) {
                         wrkMast = wrkMastMapper.selectPickStep(barcode);
                     }
                     if (wrkMast == null) {
                         // 鏃犳嫞鏂欐暟鎹�
+
+                        if (ledThread != null) {
+                            String errorMsg = "鏆傛棤鎷f枡淇℃伅锛侊紒锛�";
+                            MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
+                        }
                         continue;
                     }
                     if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107)
                             || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
                         continue;
                     }
+                    ledThread.errorReset();
 
-                    // 鎷c�佺洏銆佸苟 浣滀笟绔欒浆鎹�
-//                    int stnNo = 0;
-//                    if (wrkMast.getStaNo() == 109) {
-//                        stnNo = 127;
-//                    } else if (wrkMast.getStaNo() == 113) {
-//                        stnNo = 128;
-//                    } else {
-//                        log.error("{}鍙蜂换鍔℃暟鎹紓甯革紒", wrkMast.getWrkNo());
-//                    }
                     // 鑾峰彇鐩爣绔�
                     Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                             .eq("type_no", wrkMast.getIoType() - 50)
diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java
index df80422..923ef10 100644
--- a/src/main/java/com/zy/core/model/DevpSlave.java
+++ b/src/main/java/com/zy/core/model/DevpSlave.java
@@ -38,6 +38,10 @@
 
         private Integer barcode2;
 
+        private Integer backSta;
+
+        private Integer led;
+
     }
 
 }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 18fbecc..13e806f 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -190,12 +190,16 @@
       barcode: ${wcs-slave.barcode[6].id}
       barcode1: ${wcs-slave.barcode[7].id}
       barcode2: ${wcs-slave.barcode[8].id}
+      backSta: 100
+      led: ${wcs-slave.led[0].id}
     # 鍏ュ簱鍙�2
     inSta[1]:
       staNo: 104
       barcode: ${wcs-slave.barcode[9].id}
       barcode1: ${wcs-slave.barcode[10].id}
       barcode2: ${wcs-slave.barcode[11].id}
+      backSta: 103
+      led: ${wcs-slave.led[0].id}
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[0]:
       staNo: 101
@@ -214,12 +218,16 @@
       barcode: ${wcs-slave.barcode[6].id}
       barcode1: ${wcs-slave.barcode[7].id}
       barcode2: ${wcs-slave.barcode[8].id}
+      backSta: 100
+      led: ${wcs-slave.led[0].id}
     # 鎷f枡鍏ュ簱鍙�2
     pickSta[1]:
       staNo: 104
       barcode: ${wcs-slave.barcode[9].id}
       barcode1: ${wcs-slave.barcode[10].id}
       barcode2: ${wcs-slave.barcode[11].id}
+      backSta: 103
+      led: ${wcs-slave.led[0].id}
   # 杈撻�佺嚎2
   devp[1]:
     id: 2
@@ -231,26 +239,38 @@
     inSta[0]:
       staNo: 111
       barcode: ${wcs-slave.barcode[0].id}
+      backSta: 110
+      led: ${wcs-slave.led[0].id}
     # 鍏ュ簱鍙�2
     inSta[1]:
       staNo: 114
       barcode: ${wcs-slave.barcode[1].id}
+      backSta: 113
+      led: ${wcs-slave.led[0].id}
     # 鍏ュ簱鍙�3
     inSta[2]:
       staNo: 201
       barcode: ${wcs-slave.barcode[2].id}
+      backSta: 200
+      led: ${wcs-slave.led[0].id}
     # 鍏ュ簱鍙�4
     inSta[3]:
       staNo: 204
       barcode: ${wcs-slave.barcode[3].id}
+      backSta: 203
+      led: ${wcs-slave.led[0].id}
     # 鍏ュ簱鍙�5
     inSta[4]:
       staNo: 301
       barcode: ${wcs-slave.barcode[4].id}
+      backSta: 300
+      led: ${wcs-slave.led[0].id}
     # 鍏ュ簱鍙�6
     inSta[5]:
       staNo: 304
       barcode: ${wcs-slave.barcode[5].id}
+      backSta: 303
+      led: ${wcs-slave.led[0].id}
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[0]:
       staNo: 111
@@ -291,26 +311,38 @@
     pickSta[0]:
       staNo: 111
       barcode: ${wcs-slave.barcode[0].id}
+      backSta: 110
+      led: ${wcs-slave.led[0].id}
     # 鎷f枡鍏ュ簱鍙�2
     pickSta[1]:
       staNo: 114
       barcode: ${wcs-slave.barcode[1].id}
+      backSta: 113
+      led: ${wcs-slave.led[0].id}
     # 鎷f枡鍏ュ簱鍙�3
     pickSta[2]:
       staNo: 201
       barcode: ${wcs-slave.barcode[2].id}
+      backSta: 200
+      led: ${wcs-slave.led[0].id}
     # 鎷f枡鍏ュ簱鍙�4
     pickSta[3]:
       staNo: 204
       barcode: ${wcs-slave.barcode[3].id}
+      backSta: 203
+      led: ${wcs-slave.led[0].id}
     # 鎷f枡鍏ュ簱鍙�5
     pickSta[4]:
       staNo: 301
       barcode: ${wcs-slave.barcode[4].id}
+      backSta: 300
+      led: ${wcs-slave.led[0].id}
     # 鎷f枡鍏ュ簱鍙�6
     pickSta[5]:
       staNo: 304
       barcode: ${wcs-slave.barcode[5].id}
+      backSta: 303
+      led: ${wcs-slave.led[0].id}
 
 
   # 鏉$爜鎵弿浠�1 宸︿笅 1妤煎紑濮�,111

--
Gitblit v1.9.1