From d2c0bccd2e6dde4cf2a614a67bbf0ed45e2bcbaf Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期五, 29 十一月 2024 13:59:22 +0800 Subject: [PATCH] # 213 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 354 ++++++++++++++++++++++++++++++---------------------------- 1 files changed, 184 insertions(+), 170 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 b58a285..486d852 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -7,7 +7,9 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; +import com.core.common.SpringUtils; 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.*; @@ -56,13 +58,9 @@ public class MainServiceImpl { public static final long COMMAND_TIMEOUT = 5 * 1000; -// private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{7,4},{8,4},{9,3},{10,4},{11,4}}; private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{7,4},{8,4},{9,3},{10,4},{11,4}}; -// private static final Integer jarMaxLoc1 = 7; private static Integer jarMaxLoc = 0; -// private static Integer signBigTurn = 0; -// private static Integer signSmallTurn = 0; private static final Float jarTemperature = 50F; @Autowired private CommonService commonService; @@ -193,13 +191,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; } @@ -241,6 +233,7 @@ devpThread.setPakMk(staProtocol.getSiteId(), false,238); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { + LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc()); throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } return; @@ -286,17 +279,12 @@ devpThread.setPakMk(staProtocol.getSiteId(), false,283); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { + LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc()); throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } } 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 +333,7 @@ // 灏哄妫�娴嬪紓甯� boolean back = false; - String errMsg = "寮傚父锛�"; + String errMsg = inSta.getStaNo()+"绔欑偣锛�"; if (staProtocol.isFrontErr()) { errMsg = errMsg+"鍓嶈秴闄愶紱"; back = true; @@ -377,13 +365,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; } @@ -425,6 +407,7 @@ devpThread.setPakMk(staProtocol.getSiteId(), false,422); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { + LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc()); throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } return; @@ -470,6 +453,7 @@ devpThread.setPakMk(staProtocol.getSiteId(), false,467); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { + LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc()); throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } } else if (jsonObject.getInteger("code").equals(700)){ @@ -500,13 +484,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 +538,7 @@ // 灏哄妫�娴嬪紓甯� boolean back = false; - String errMsg = "寮傚父锛�"; + String errMsg = inSta.getStaNo()+"绔欑偣锛�"; if (staProtocol.isFrontErr()) { errMsg = errMsg+"鍓嶈秴闄愶紱"; back = true; @@ -592,13 +570,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 +598,8 @@ // if (!result) { // throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); // } + String msg =inSta.getStaNo()+"绔欑偣鏉$爜寮傚父,鏉$爜="+barcode; + LedErrorThreadUtil.ledErrorThread(msg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc()); continue; } @@ -634,18 +608,15 @@ 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.setArea("1"); - MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1)); - } + LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc()); throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } return; @@ -655,6 +626,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 +657,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 +735,7 @@ // 灏哄妫�娴嬪紓甯� boolean back = false; - String errMsg = "寮傚父锛�"; + String errMsg = inSta.getStaNo()+"绔欑偣锛�"; if (staProtocol.isFrontErr()) { errMsg = errMsg+"鍓嶈秴闄愶紱"; back = true; @@ -792,13 +767,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; } @@ -840,19 +809,16 @@ 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.setArea("1"); - MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1)); - } + LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc()); throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } return; @@ -882,59 +848,65 @@ 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) { + LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc()); throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } - } else if (jsonObject.getInteger("code").equals(700)){ - SearchLocParam param2 = new SearchLocParam(); - param2.setBarcode(barcode); - param2.setSourceStaNo(inSta.getStaNo()); - param2.setLocType1(locTypeDto.getLocType1()); - String response2 = new HttpHandler.Builder() - .setUri(wmsUrl) - .setPath("/rpc/pakin/yx/loc/v33") - .setJson(JSON.toJSONString(param2)) - .build() - .doPost(); - JSONObject jsonObject2 = JSON.parseObject(response2); - if (jsonObject2.getInteger("code").equals(200)) { - log.info("澶ф枡绠辫嚜鍔ㄧ粍鎵樻垚鍔燂紒锛�"); - } else { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); - + try{ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); - if (ledThread != null) { ErrMsg errMsg1 = new ErrMsg(); - errMsg1.setErrMsg("鍏ュ簱澶辫触!绔欑偣鍙凤細"+inSta.getStaNo()); - errMsg1.setArea("1"); 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); +// param2.setSourceStaNo(inSta.getStaNo()); +// param2.setLocType1(locTypeDto.getLocType1()); +// String response2 = new HttpHandler.Builder() +// .setUri(wmsUrl) +// .setPath("/rpc/pakin/yx/loc/v33") +// .setJson(JSON.toJSONString(param2)) +// .build() +// .doPost(); +// JSONObject jsonObject2 = JSON.parseObject(response2); +// if (jsonObject2.getInteger("code").equals(200)) { +// log.info("澶ф枡绠辫嚜鍔ㄧ粍鎵樻垚鍔燂紒锛�"); +// } else { +// log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); +// +// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); +// +// if (ledThread != null) { +// ErrMsg errMsg1 = new ErrMsg(); +// errMsg1.setErrMsg("鍏ュ簱澶辫触!绔欑偣鍙凤細"+inSta.getStaNo()); +// errMsg1.setArea("1"); +// MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1)); +// } +// } } else { log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); - - LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); - - if (ledThread != null) { - ErrMsg errMsg1 = new ErrMsg(); - errMsg1.setErrMsg("鍏ュ簱澶辫触!绔欑偣鍙凤細"+inSta.getStaNo()); - 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) { @@ -2183,6 +2155,7 @@ log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNoOther()); continue; } + boolean signStanOther81 = false; if (staProtocolOther.getWorkNo()!=0){ WrkMast wrkMastOther = wrkMastMapper.selectPakInStep3(staProtocolOther.getWorkNo()); if (Cools.isEmpty(wrkMastOther)){ @@ -2284,29 +2257,33 @@ return; } } + return; } - return; + signStanOther81 = true; + crnStation=2; } - StaProtocol staProtocolOther1 = devpThread.getStation().get(crnStn.getStaNoOther1()); - if (staProtocolOther1 == null) { - continue; - } else { - staProtocolOther1 = staProtocolOther1.clone(); - } + if (!signStanOther81){ + StaProtocol staProtocolOther1 = devpThread.getStation().get(crnStn.getStaNoOther1()); + if (staProtocolOther1 == null) { + continue; + } else { + staProtocolOther1 = staProtocolOther1.clone(); + } - if (staProtocolOther1.isAutoing() && staProtocolOther1.getWorkNo()!=0){ - return; - } + if (staProtocolOther1.isLoading() || !staProtocolOther1.getWorkNo().equals(0)){ + return; + } - StaProtocol staProtocolOther2 = devpThread.getStation().get(crnStn.getStaNoOther2()); - if (staProtocolOther2 == null) { - continue; - } else { - staProtocolOther2 = staProtocolOther2.clone(); - } - if (staProtocolOther2.isAutoing() && staProtocolOther2.getWorkNo()!=0){ - return; + StaProtocol staProtocolOther2 = devpThread.getStation().get(crnStn.getStaNoOther2()); + if (staProtocolOther2 == null) { + continue; + } else { + staProtocolOther2 = staProtocolOther2.clone(); + } + if (staProtocolOther2.isLoading() || !staProtocolOther2.getWorkNo().equals(0)){ + return; + } } crnStation = 2; // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- @@ -3118,12 +3095,20 @@ continue; } + Integer turnBigInt = 0; if (wrkMast.booleanStaNoSign()){ RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("LineUp"+wrkMast.getStaNo()); if (Cools.isEmpty(rgvOneSign)){ continue; } - if (rgvOneSign.getRgvOneSign()>=2){ + RgvOneSign trunBig = rgvOneSignMapper.selectOneSign("TrunBig"+wrkMast.getStaNo()); + if (Cools.isEmpty(trunBig)){ + continue; + } + turnBigInt = trunBig.getRgvOneSign(); + int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).eq("wrk_sts",12L)); + + if (trunBig.getRgvOneSign()+wrkCount+rgvOneSign.getRgvOneSign()>2){ continue; } // int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).gt("sta_no", 309).lt("sta_no", 314).gt("wrk_sts",11L)); @@ -3286,6 +3271,9 @@ crnCommand.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺� crnCommand.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒� crnCommand.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞� + if (wrkMast.booleanStaNoSign()){ + updateRgvOneSign("TrunBig"+wrkMast.getStaNo(),turnBigInt+1); + } if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) { log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand)); } else { @@ -3367,6 +3355,24 @@ // signBigTurn = 0; // } + } + + public void updateRgvOneSign(String signType,Integer oneSign){ + RgvOneSignMapper rgvOneSignMapper = SpringUtils.getBean(RgvOneSignMapper.class); + + try{ + RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType); + if (!Cools.isEmpty(rgvOneSign)){ + rgvOneSign.setRgvOneSign(oneSign); + rgvOneSignMapper.updateById(rgvOneSign); + } + } catch (Exception e){ + RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType); + if (!Cools.isEmpty(rgvOneSign)){ + rgvOneSign.setRgvOneSign(999); + rgvOneSignMapper.updateById(rgvOneSign); + } + } } /** @@ -4042,7 +4048,7 @@ } else { staProtocol = staProtocol.clone(); } - if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==0 && staProtocol.getWorkNo()==0 + if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==0 && staProtocol.getWorkNo().equals(0) && staProtocol.isLoading() && staProtocol.isAutoing() && staProtocol.isInEnable()){ String barcode = staProtocol.getBarcode(); if (!Cools.isEmpty(barcode)) { @@ -4124,6 +4130,7 @@ devpThread.setPakMk(staProtocol.getSiteId(), false,4087); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { + LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc()); throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } } else { @@ -4187,6 +4194,7 @@ devpThread.setPakMk(staProtocol.getSiteId(), false,4150); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { + LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc()); throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } } else { @@ -4250,6 +4258,7 @@ devpThread.setPakMk(staProtocol.getSiteId(), false,4213); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { + LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc()); throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } } else { @@ -8437,6 +8446,13 @@ /** * ste鍏呯數浠诲姟鍒涘缓 //瀹屾垚 */ + public synchronized void signTrunBig() { + updateRgvOneSign("TrunSma126",0); + updateRgvOneSign("TrunSma131",0); + updateRgvOneSign("TrunBig310",0); + updateRgvOneSign("TrunBig312",0); + } + public synchronized boolean jarChargeGenerate() { try{ //80%鐢甸噺 鏃犱换鍔� 鍏呯數 >50鐢甸噺 鏈変换鍔� 鏂數 @@ -8723,36 +8739,34 @@ } } - try{ - for (int idi = 1;idi<5;idi++){ - LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, idi); - - if (ledThread != null) { - ErrMsg errMsg1 = new ErrMsg(); - errMsg1.setErrMsg("娴嬭瘯锛�"+idi); - errMsg1.setArea("1"); - MessageQueue.offer(SlaveType.Led, idi, new Task(5, errMsg1)); - } try { - Thread.sleep(500); - } catch (Exception e){ - - } - } - LedThread ledThread3 = (LedThread) SlaveConnection.get(SlaveType.Led, 3); - - if (ledThread3 != null) { - ErrMsg errMsg1 = new ErrMsg(); - errMsg1.setErrMsg("娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯锛�"+3); - errMsg1.setArea("1"); - MessageQueue.offer(SlaveType.Led, 3, new Task(5, errMsg1)); - } try { - Thread.sleep(500); - } catch (Exception e){ - - } - } catch (Exception e){ - - } +// try{ +// for (int idi = 1;idi<5;idi++){ +// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, idi); +// +// if (ledThread != null) { +// ErrMsg errMsg1 = new ErrMsg(); +// errMsg1.setErrMsg("娴嬭瘯锛�"+idi); +// errMsg1.setArea("1"); +// MessageQueue.offer(SlaveType.Led, idi, new Task(5, errMsg1)); +// } try { +// Thread.sleep(500); +// } catch (Exception e){ +// +// } +// } +// LedThread ledThread3 = (LedThread) SlaveConnection.get(SlaveType.Led, 3); +// +// if (ledThread3 != null) { +// ErrMsg errMsg1 = new ErrMsg(); +// errMsg1.setErrMsg("娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯锛�"+3); +// errMsg1.setArea("1"); +// MessageQueue.offer(SlaveType.Led, 3, new Task(5, errMsg1)); +// } try { +// Thread.sleep(500); +// } catch (Exception e){ +// +// } +// } catch (Exception e){ } } -- Gitblit v1.9.1