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