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