From 3a93886bb6f34ce1aa9b292dafc5f723a235981e Mon Sep 17 00:00:00 2001
From: lsh <lsh>
Date: 星期三, 24 七月 2024 19:35:29 +0800
Subject: [PATCH] #自动组托

---
 src/main/java/com/zy/core/model/DevpSlave.java              |    1 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   39 +++++++++++++++++++
 src/main/java/com/zy/common/model/SearchLocParam.java       |    1 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |   16 ++++++++
 src/main/resources/application.yml                          |   18 +++++++++
 5 files changed, 75 insertions(+), 0 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 60607bd..64e5db0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -112,6 +112,7 @@
             for (DevpSlave.Sta inSta : devp.getInSta()) {
                 // 鑾峰彇鏉$爜鎵弿浠俊鎭�
                 BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
+                BarcodeThread barcodeThreadMat = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcodeMat());
                 LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                 StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
@@ -124,7 +125,14 @@
                 if (barcodeThread == null) {
                     continue;
                 }
+
+                if (barcodeThreadMat == null) {
+                    continue;
+                }
+
                 String barcode = barcodeThread.getBarcode();
+
+                String barcodeMat = barcodeThreadMat.getBarcode();
                 // 灏哄妫�娴嬪紓甯�
                 boolean back = false;
                 String errMsg = "";
@@ -184,6 +192,18 @@
                         && staProtocol.isPakMk()) {
                     if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) {
                         News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+
+                        staProtocol.setWorkNo(wrkNo);
+                        News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
+                        wrkNo++;
+                        staProtocol.setStaNo(inSta.getBackSta().shortValue());
+                        devpThread.setPakMk(staProtocol.getSiteId(), false);
+                        MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                        log.error("杈撻�佺嚎涓嬪彂1锛�"+wrkNo+","+inSta.getBackSta());
+                        continue;
+                    }
+                    if(Cools.isEmpty(barcodeMat) || "NG".endsWith(barcodeMat) || "NoRead".equals(barcodeMat) || "00000000".equals(barcodeMat)) {
+                        News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcodeMat(), barcodeMat);
 
                         staProtocol.setWorkNo(wrkNo);
                         News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
@@ -263,6 +283,25 @@
 
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
+                        } else if (jsonObject.getInteger("code").equals(700)) {
+                            SearchLocParam param2 = new SearchLocParam();
+                            param2.setBarcode(barcode);
+                            param2.setBarcodeMat(barcodeMat);
+                            param2.setSourceStaNo(inSta.getStaNo());
+                            param2.setLocType1(locTypeDto.getLocType1());
+                            String response2 = new HttpHandler.Builder()
+                                    .setUri(wmsUrl)
+                                    .setPath("/rpc/pakin/yk/loc/v33")
+                                    .setJson(JSON.toJSONString(param2))
+                                    .build()
+                                    .doPost();
+                            JSONObject jsonObject2 = JSON.parseObject(response2);
+                            if (jsonObject2.getInteger("code").equals(200)) {
+                                log.info("鑷姩缁勬墭鎴愬姛锛侊紒");
+                            } else {
+                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, "鑷姩缁勬墭澶辫触锛侊紒锛乥arcodeMat==>"+barcodeMat));
+                                News.error(methodName + "==>缁勬墭澶辫触:璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/yk/loc/v33", JSON.toJSONString(param), response);
+                            }
                         } else {
                             staProtocol.setWorkNo(wrkNo);
                             wrkNo++;
diff --git a/src/main/java/com/zy/common/model/SearchLocParam.java b/src/main/java/com/zy/common/model/SearchLocParam.java
index 159024e..286906f 100644
--- a/src/main/java/com/zy/common/model/SearchLocParam.java
+++ b/src/main/java/com/zy/common/model/SearchLocParam.java
@@ -14,6 +14,7 @@
     private Integer sourceStaNo;
 
     private String barcode;
+    private String barcodeMat;
 
     // 搴撲綅瑙勬牸锛� 0:鏈煡, 1:浣庡簱浣�, 2:涓簱浣�, 3:楂樺簱浣� 锛�
     private Short locType1;
diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java
index e327301..3a79437 100644
--- a/src/main/java/com/zy/core/model/DevpSlave.java
+++ b/src/main/java/com/zy/core/model/DevpSlave.java
@@ -33,6 +33,7 @@
         private Integer staNo;
 
         private Integer barcode;
+        private Integer barcodeMat;
 
         private Integer backSta;
 
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 4cad002..8e12740 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -74,6 +74,9 @@
     public static final ArrayList<Integer> BarcodeList = new ArrayList<Integer>() {{
         add(0); add(1); add(2);
     }};
+    public static final ArrayList<Integer> BarcodeListMat = new ArrayList<Integer>() {{
+        add(3); add(4); add(5);
+    }};
     public static final ArrayList<Integer> staNosErrList = new ArrayList<Integer>() {{
         add(106); add(107); add(159);
     }};
@@ -299,6 +302,19 @@
                 }
             }
         }
+        //鏉$爜鎵弿鍣�
+        ArrayList<Integer> barcodeListMat = BarcodeListMat;
+        OperateResultExOne<byte[]> result2Mat = siemensS7Net.Read("DB101.840", (short) (barcodeListMat.size() * 8));
+        if (result2Mat.IsSuccess) {
+            for (int i = 0; i < barcodeListMat.size(); i++) {
+                Integer barcodeId = barcodeListMat.get(i);
+                String barcode = siemensS7Net.getByteTransform().TransString(result2Mat.Content,i*8,8, "UTF-8");
+                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId + 1);
+                if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
+                    barcodeThread.setBarcode(barcode);
+                }
+            }
+        }
         //澶栧舰妫�娴�
         ArrayList<Integer> staNoErrs = staNosErrList;
         int staNoErrsSize = staNoErrs.size();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index b2b590b..249dbe0 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -236,6 +236,7 @@
     inSta[0]:
       staNo: 106
       barcode: ${wcs-slave.barcode[0].id}
+      barcodeMat: ${wcs-slave.barcode[3].id}
       backSta: 105
       led: ${wcs-slave.led[1].id}
     # 绌烘澘鍏ュ簱鍙�1
@@ -254,6 +255,7 @@
     inSta[1]:
       staNo: 107
       barcode: ${wcs-slave.barcode[1].id}
+      barcodeMat: ${wcs-slave.barcode[4].id}
       backSta: 108
       led: ${wcs-slave.led[2].id}
     # 绌烘澘鍏ュ簱鍙�1
@@ -265,6 +267,7 @@
     inSta[2]:
       staNo: 159
       barcode: ${wcs-slave.barcode[2].id}
+      barcodeMat: ${wcs-slave.barcode[5].id}
       backSta: 160
       led: ${wcs-slave.led[5].id}
 #    # 鎷f枡鍏ュ簱鍙�1
@@ -299,6 +302,21 @@
     id: 3
     ip: 10.10.10.123
     port: 51236
+  # 鏉$爜鎵弿浠�1mat
+  barcode[3]:
+    id: 4
+    ip: 10.10.10.121
+    port: 51236
+  # 鏉$爜鎵弿浠�2mat
+  barcode[4]:
+    id: 5
+    ip: 10.10.10.122
+    port: 51236
+  # 鏉$爜鎵弿浠�3mat
+  barcode[5]:
+    id: 6
+    ip: 10.10.10.123
+    port: 51236
    # LED1
   led[0]:
     id: 1

--
Gitblit v1.9.1