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