From 44de068cf2e04fc3e9c6fa7f44e0c1a4d241f989 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期四, 28 十一月 2024 20:30:23 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/domain/enums/LedErrorAreaType.java | 33 ++++++++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 146 ++++++++++++++++--------------------
src/main/java/com/zy/asrs/utils/LedErrorThreadUtil.java | 33 ++++++++
src/main/resources/application.yml | 9 ++
4 files changed, 140 insertions(+), 81 deletions(-)
diff --git a/src/main/java/com/zy/asrs/domain/enums/LedErrorAreaType.java b/src/main/java/com/zy/asrs/domain/enums/LedErrorAreaType.java
new file mode 100644
index 0000000..07692a3
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/enums/LedErrorAreaType.java
@@ -0,0 +1,33 @@
+package com.zy.asrs.domain.enums;
+
+import com.zy.core.enums.RgvModeType;
+
+/**
+ * RGV鐘舵�佹灇涓�
+ */
+public enum LedErrorAreaType {
+
+ // 鍏朵粬
+ ONE_OTHER("1"),
+ // 鍏ュ簱
+ TWO_PAKIN("2"),
+ // 鍑哄簱
+ THREE_PAKOUT("3"),
+ // 鎵爜
+ FOUR_BARCODE("4"),
+ ;
+
+ private String desc;
+ LedErrorAreaType(String desc){
+ this.desc = desc;
+ }
+
+ public String getDesc() {
+ return desc;
+ }
+
+ public void setDesc(String desc) {
+ this.desc = desc;
+ }
+
+}
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 92b7426..6a599af 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -8,6 +8,7 @@
import com.core.common.DateUtils;
import com.core.common.R;
import com.core.exception.CoolException;
+import com.zy.asrs.domain.enums.LedErrorAreaType;
import com.zy.asrs.domain.enums.WorkNoType;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.*;
@@ -193,13 +194,7 @@
// 閫�鍥�
if (back) {
// led 寮傚父鏄剧ず
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg(errMsg);
- errMsg1.setArea("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread(errMsg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc());
continue;
}
@@ -290,13 +285,7 @@
}
} else {
// led 寮傚父鏄剧ず
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鍏ュ簱璇锋眰澶辫触"+jsonObject.getInteger("code"));
- errMsg1.setArea("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread("鍏ュ簱璇锋眰澶辫触"+jsonObject.getInteger("code"),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
@@ -345,7 +334,7 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "寮傚父锛�";
+ String errMsg = inSta.getStaNo()+"绔欑偣锛�";
if (staProtocol.isFrontErr()) {
errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
@@ -377,13 +366,7 @@
// 閫�鍥�
if (back) {
// led 寮傚父鏄剧ず
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg(errMsg);
- errMsg1.setArea("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread(errMsg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc());
continue;
}
@@ -500,13 +483,7 @@
}
} else {
// led 寮傚父鏄剧ず
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鍏ュ簱璇锋眰澶辫触"+jsonObject.getInteger("code"));
- errMsg1.setArea("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread("鍏ュ簱璇锋眰澶辫触"+jsonObject.getInteger("code"),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
@@ -560,7 +537,7 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "寮傚父锛�";
+ String errMsg = inSta.getStaNo()+"绔欑偣锛�";
if (staProtocol.isFrontErr()) {
errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
@@ -592,13 +569,7 @@
// 閫�鍥�
if (back) {
// led 寮傚父鏄剧ず
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg(errMsg);
- errMsg1.setArea("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread(errMsg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc());
continue;
}
@@ -626,6 +597,8 @@
// if (!result) {
// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
// }
+ String msg =inSta.getStaNo()+"绔欑偣鏉$爜寮傚父,鏉$爜="+barcode;
+ LedErrorThreadUtil.ledErrorThread(msg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc());
continue;
}
@@ -634,15 +607,17 @@
if (wrkMast111 != null) {
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
barcodeThread.setBarcode("");
- staProtocol.setWorkNo(wrkMast111.getWrkNo());
- staProtocol.setStaNo(wrkMast111.getStaNo());
+ StaProtocol staProtocol1 = new StaProtocol();
+ staProtocol1.setSiteId(staProtocol.getSiteId());
+ staProtocol1.setWorkNo(wrkMast111.getWrkNo());
+ staProtocol1.setStaNo(wrkMast111.getStaNo());
- devpThread.setPakMk(staProtocol.getSiteId(), false,637);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ devpThread.setPakMk(staProtocol1.getSiteId(), false,637);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
if (!result) {
if (ledThread != null) {
ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣濂斤細"+inSta.getStaNo());
+ errMsg1.setErrMsg("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo());
errMsg1.setArea("1");
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
}
@@ -655,6 +630,8 @@
WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
if (wrkMast != null) {
log.error("宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+ String msg ="宸ヤ綔妗d腑宸插瓨鍦�"+inSta.getStaNo()+"绔欑偣鏁版嵁,宸ヤ綔鍙�="+wrkMast.getWrkNo();
+ LedErrorThreadUtil.ledErrorThread(msg,inSta.getLed(),LedErrorAreaType.TWO_PAKIN.getDesc());
continue;
}
// // 鑾峰彇鍏ュ簱閫氱煡妗�
@@ -684,43 +661,45 @@
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
-
+ StaProtocol staProtocol1 = new StaProtocol();
+ staProtocol1.setSiteId(staProtocol.getSiteId());
barcodeThread.setBarcode("");
- staProtocol.setWorkNo(dto.getWorkNo());
+ staProtocol1.setWorkNo(dto.getWorkNo());
if(Cools.isEmpty(dto.getRgvNo()) || dto.getRgvNo() <= 0) {
- staProtocol.setStaNo(dto.getStaNo());
+ staProtocol1.setStaNo(dto.getStaNo());
} else {//濡傛灉瀛樺湪RGV缂栧彿锛岃鏄庨渶瑕丷GV鎺ラ┏锛屽厛涓嬪彂浠诲姟鍒癛GV婧愮珯
- staProtocol.setStaNo(dto.getRgvSstaNo());
+ staProtocol1.setStaNo(dto.getRgvSstaNo());
}
- devpThread.setPakMk(staProtocol.getSiteId(), false,695);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ devpThread.setPakMk(staProtocol1.getSiteId(), false,695);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(),LedErrorAreaType.ONE_OTHER.getDesc());
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
+ try{
if (ledThread != null) {
ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣濂斤細"+inSta.getStaNo());
- errMsg1.setArea("1");
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
}
- throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ } catch (Exception e){
+ log.error("鍏ュ簱鎴愬姛!鐢佃鏈轰俊鎭洿鏂板け璐ワ紝灏忔枡绠卞叆搴擄紒锛侊紒request锛歿}锛況esponse锛歿}",JSON.toJSONString(param), response);
}
} else {
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/pair/station/single/loc/v1", JSON.toJSONString(param), response);
+ String msg = inSta.getStaNo()+"绔欑偣锛�"+jsonObject.getString("msg");
+ LedErrorThreadUtil.ledErrorThread(msg,inSta.getLed(), LedErrorAreaType.TWO_PAKIN.getDesc());
+ Thread.sleep(1000);
}
-
} catch (Exception e) {
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
-
}
-
-
}
}
-
}
/**
@@ -760,7 +739,7 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "寮傚父锛�";
+ String errMsg = inSta.getStaNo()+"绔欑偣锛�";
if (staProtocol.isFrontErr()) {
errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
@@ -796,7 +775,7 @@
if (ledThread != null) {
ErrMsg errMsg1 = new ErrMsg();
errMsg1.setErrMsg(errMsg);
- errMsg1.setArea("1");
+ errMsg1.setArea("4");
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
}
continue;
@@ -840,16 +819,18 @@
if (wrkMast != null) {
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
barcodeThread.setBarcode("");
- staProtocol.setWorkNo(wrkMast.getWrkNo());
- staProtocol.setStaNo(wrkMast.getStaNo());
+ StaProtocol staProtocol1 = new StaProtocol();
+ staProtocol1.setWorkNo(wrkMast.getWrkNo());
+ staProtocol1.setStaNo(wrkMast.getStaNo());
+ staProtocol1.setSiteId(staProtocol.getSiteId());
- devpThread.setPakMk(staProtocol.getSiteId(), false,843);
- log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol.getSiteId(),staProtocol.getWorkNo(),barcode);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ devpThread.setPakMk(staProtocol1.getSiteId(), false,843);
+ log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol1.getSiteId(),staProtocol1.getWorkNo(),barcode);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
if (!result) {
if (ledThread != null) {
ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣濂斤細"+inSta.getStaNo());
+ errMsg1.setErrMsg("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo());
errMsg1.setArea("1");
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
}
@@ -882,22 +863,33 @@
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject.getInteger("code").equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
+ StaProtocol staProtocol1 = new StaProtocol();
+ staProtocol1.setSiteId(staProtocol.getSiteId());
barcodeThread.setBarcode("");
- staProtocol.setWorkNo(dto.getWorkNo());
+ staProtocol1.setWorkNo(dto.getWorkNo());
if(Cools.isEmpty(dto.getRgvNo()) || dto.getRgvNo() <= 0) {
- staProtocol.setStaNo(dto.getStaNo());
+ staProtocol1.setStaNo(dto.getStaNo());
} else {//濡傛灉瀛樺湪RGV缂栧彿锛岃鏄庨渶瑕丷GV鎺ラ┏锛屽厛涓嬪彂浠诲姟鍒癛GV婧愮珯
- staProtocol.setStaNo(dto.getRgvSstaNo());
+ staProtocol1.setStaNo(dto.getRgvSstaNo());
}
- devpThread.setPakMk(staProtocol.getSiteId(), false,892);
- log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol.getStaNo(),staProtocol.getWorkNo(),barcode);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ devpThread.setPakMk(staProtocol1.getSiteId(), false,892);
+ log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol1.getStaNo(),staProtocol1.getWorkNo(),barcode);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
if (!result) {
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
+ try{
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ ErrMsg errMsg1 = new ErrMsg();
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
+ }
+ } catch (Exception e){
+ log.error("鍏ュ簱鎴愬姛!鐢佃鏈轰俊鎭洿鏂板け璐ワ紝澶ф枡绠卞叆搴擄紒锛侊紒request锛歿}锛況esponse锛歿}",JSON.toJSONString(param), response);
+ }
+
// } else if (jsonObject.getInteger("code").equals(700)){
// SearchLocParam param2 = new SearchLocParam();
// param2.setBarcode(barcode);
@@ -926,15 +918,9 @@
// }
} else {
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
- String msg = jsonObject.getString("msg");
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
-
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鍏ュ簱澶辫触!绔欑偣鍙凤細"+inSta.getStaNo()+"==銆嬪け璐ュ師鍥狅細"+msg);
- errMsg1.setArea("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ String msg = inSta.getStaNo()+"绔欑偣锛�"+jsonObject.getString("msg");
+ LedErrorThreadUtil.ledErrorThread(msg,inSta.getLed(),LedErrorAreaType.TWO_PAKIN.getDesc());
+ Thread.sleep(1000);
}
} catch (Exception e) {
diff --git a/src/main/java/com/zy/asrs/utils/LedErrorThreadUtil.java b/src/main/java/com/zy/asrs/utils/LedErrorThreadUtil.java
new file mode 100644
index 0000000..df13452
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/LedErrorThreadUtil.java
@@ -0,0 +1,33 @@
+package com.zy.asrs.utils;
+
+import com.alibaba.fastjson.JSON;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.ErrMsg;
+import com.zy.core.model.Task;
+import com.zy.core.thread.LedThread;
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+public class LedErrorThreadUtil {
+
+ /**
+ * 妫�娴嬭揣鏋剁爜
+ */
+ public static void ledErrorThread(String msg,Integer ledId,String area){
+ try{
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId);
+ if (ledThread != null) {
+ ErrMsg errMsg1 = new ErrMsg();
+ errMsg1.setErrMsg(msg);
+ errMsg1.setArea(area);
+ MessageQueue.offer(SlaveType.Led, ledId, new Task(5, errMsg1));
+ }
+ } catch (Exception e){
+ log.error("鍏ュ簱澶辫触!鐢佃鏈轰俊鎭洿鏂板け璐ワ紒锛侊紒ledId锛歿}锛沵sg锛歿}",ledId, msg);
+ }
+ }
+
+
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 9ebb7e9..7095cc6 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -257,13 +257,16 @@
# 灏忔枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�1
emptyInSingleSta[0]:
staNo: 104
+ led: ${wcs-slave.led[2].id}
# 灏忔枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�1
emptyInSingleSta[1]:
staNo: 126
+ led: ${wcs-slave.led[2].id}
# 灏忔枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�1
emptyInSingleSta[2]:
staNo: 131
-# # 灏忔枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�1
+ led: ${wcs-slave.led[2].id}
+ # # 灏忔枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�1
# emptyInSingleSta[1]:
# staNo: 173
# 澶ф枡绠� 鍙屽伐浣嶅崟浼� 鍏ュ簱鍙�1
@@ -281,15 +284,19 @@
# 澶ф枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�1
emptyInLargeSta[0]:
staNo: 292
+ led: ${wcs-slave.led[2].id}
# 澶ф枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�2
emptyInLargeSta[1]:
staNo: 281
+ led: ${wcs-slave.led[2].id}
# 澶ф枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�2
emptyInLargeSta[2]:
staNo: 310
+ led: ${wcs-slave.led[2].id}
# 澶ф枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�2
emptyInLargeSta[3]:
staNo: 312
+ led: ${wcs-slave.led[2].id}
# 杈撻�佺嚎
devp[1]:
id: 2
--
Gitblit v1.9.1