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