From 23a38baa92ff6b9a971b289df0ea988a34a28906 Mon Sep 17 00:00:00 2001 From: pjb <pjb123456> Date: 星期一, 04 八月 2025 14:47:22 +0800 Subject: [PATCH] 异常口任务冲突异常修复 --- src/main/java/com/zy/service/impl/MainServiceImpl.java | 78 +++++++++++++++++++++------------------ 1 files changed, 42 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java index 870fe75..86c7f4d 100644 --- a/src/main/java/com/zy/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java @@ -180,34 +180,34 @@ // 灏哄妫�娴嬪紓甯� boolean back = false; String errMsg = ""; -// if (staProtocol.isFrontErr()) { -// errMsg = "鍓嶈秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isBackErr()) { -// errMsg = "鍚庤秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isHighErr()) { -// errMsg = "楂樿秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isLeftErr()) { -// errMsg = "宸﹁秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isRightErr()) { -// errMsg = "鍙宠秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isWeightErr()) { -// errMsg = "瓒呴噸"; -// back = true; -// } -// if (!back && staProtocol.isBarcodeErr()) { -// errMsg = "鎵爜澶辫触"; -// back = true; -// } + if (staProtocol.isFrontErr()) { + errMsg = "鍓嶈秴闄�"; + back = true; + } + if (!back && staProtocol.isBackErr()) { + errMsg = "鍚庤秴闄�"; + back = true; + } + if (!back && staProtocol.isHighErr()) { + errMsg = "楂樿秴闄�"; + back = true; + } + if (!back && staProtocol.isLeftErr()) { + errMsg = "宸﹁秴闄�"; + back = true; + } + if (!back && staProtocol.isRightErr()) { + errMsg = "鍙宠秴闄�"; + back = true; + } + if (!back && staProtocol.isWeightErr()) { + errMsg = "瓒呴噸"; + back = true; + } + if (!back && staProtocol.isBarcodeErr()) { + errMsg = "鎵爜澶辫触"; + back = true; + } // 閫�鍥� if (back && staProtocol.isInEnable() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0) { MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); @@ -827,11 +827,16 @@ if (config != null && config.getStatus() == 1) { crnAvailableOut = true; } + // 闄愬埗鍘绘崋缁戞満鍣ㄤ换鍔℃暟 + int kbWrks = wrkMastMapper.selectCountByKb(); for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗� List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep11(slave.getId(), crnStn.getStaNo()); for (WrkMast wrkMast : wrkMasts) { if (wrkMast == null) { + continue; + } + if (wrkMast.getStaNo() == 1031 && kbWrks > 1) { continue; } // 宸ヤ綔妗g姸鎬佸垽鏂� @@ -1247,7 +1252,7 @@ basCrnpService.updateById(basCrnp); // 璁剧疆鏇存柊鏃堕棿锛岄伩鍏嶉噸澶嶄笅鍙戝洖鍘熺偣 log.info("{}鍙峰爢鍨涙満鍥炲師鐐逛换鍔′笅鍙戞垚鍔燂細{}", crn.getId(), JSON.toJSON(crnCommand)); } - Thread.sleep(2000); + Thread.sleep(3000); } } } @@ -1801,12 +1806,12 @@ DevpThread devpThread2 = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); StaProtocol staProtocol2 = devpThread2.getStation().get(1090); if(!staProtocol2.isAutoing() || staProtocol2.isLoading() || staProtocol2.getWorkNo() != 0) { - log.info("鍘诲紓甯稿彛鐩爣绔欑偣锛岄潪鑷姩锛屾湁鐗╋紝宸ヤ綔鍙蜂负锛歿}",staProtocol2.getWorkNo()); + log.info("{}鍘诲紓甯稿彛鐩爣绔欑偣锛岃嚜鍔�:{}锛屾湁鐗�:{}锛屽伐浣滃彿涓猴細{}",wrkMast.getWrkNo(),staProtocol2.isAutoing(),staProtocol2.isLoading(),staProtocol2.getWorkNo()); continue; } - int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().where("sta_no = 1090 and wrk_sts in (9,10)")); + int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().where("sta_no = 1090 AND (wrk_sts IN (9,10) OR (wrk_sts = 2 AND rgv_finish_time IS NOT NULL))")); if (count > 0) { - log.info("鍘诲紓甯稿彛锛屼絾鏄墠闈㈡湁鍘诲紓甯稿彛浠诲姟鏁帮細{}",count); + log.info("{}鍘诲紓甯稿彛锛屼絾鏄墠闈㈡湁鍘诲紓甯稿彛浠诲姟鏁帮細{}",wrkMast.getWrkNo(),count); continue; } } @@ -1825,7 +1830,7 @@ /** * rgv鏀捐揣瀹屾垚锛岀粰杈撻�佺嚎涓嬪彂浠诲姟 */ - public synchronized void rgvToDev() { + public synchronized void rgvToDev() throws InterruptedException { for (Integer site : rgvConnectionSiteList) { // 杈撻�佺嚎plc缂栧彿 Integer devpPlcId = site < 1044 ? 1 : site <= 1090 ? 2 : 3; @@ -1863,7 +1868,7 @@ wrkMast.setWrkSts(15L); wrkMast.setModiTime(new Date()); wrkMastService.updateById(wrkMast); - } else if(wrkMast.getIoType() == 110 && (wrkMast.getStaNo() == 1002 || wrkMast.getStaNo() == 1020 ||wrkMast.getStaNo() == 1035)) { + } else if(wrkMast.getIoType() == 110 && (wrkMast.getStaNo() == 1002 || wrkMast.getStaNo() == 1020 ||wrkMast.getStaNo() == 1035 || wrkMast.getStaNo() == 1024)) { if(wrkMast.getWrkSts() != 2 ){ log.warn("rgv鏀捐揣瀹屾垚110锛宺gv鏈浣�:rgv鍙穥}锛屼换鍔″彿锛歿}锛屼换鍔$姸鎬亄}",wrkMast.getRgvNo(),wrkMast.getWrkNo(),wrkMast.getWrkSts()); continue; @@ -1877,10 +1882,11 @@ staProtocol.setWorkNo(staProtocol.getHideWorkNo()); staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); if (!MessageQueue.offer(SlaveType.Devp, devpPlcId, new Task(2, staProtocol))) { - log.info("rgv鎼繍瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护澶辫触!,plc id:{},绔欑偣{}锛屼换鍔″彿锛歿}锛岀洰鏍囩珯锛歿}", devpPlcId,staProtocol.getStaNo(), staProtocol.getWorkNo(), staProtocol.getStaNo()); + log.info("rgv鎼繍瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护澶辫触!,plc id:{},绔欑偣{}锛屼换鍔″彿锛歿}锛岀洰鏍囩珯锛歿}", devpPlcId,staProtocol.getSiteId(), staProtocol.getWorkNo(), staProtocol.getStaNo()); } else { - log.info("rgv鎼繍瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护鎴愬姛plc id:{}!,绔欑偣{}锛屼换鍔″彿锛歿}锛岀洰鏍囩珯锛歿}", devpPlcId,staProtocol.getStaNo(), staProtocol.getWorkNo(), staProtocol.getStaNo()); + log.info("rgv鎼繍瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护鎴愬姛plc id:{}!,绔欑偣{}锛屼换鍔″彿锛歿}锛岀洰鏍囩珯锛歿}", devpPlcId,staProtocol.getSiteId(), staProtocol.getWorkNo(), staProtocol.getStaNo()); } + Thread.sleep(300); } } } -- Gitblit v1.9.1