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