From 1b9f41e12e3ee8ac8bbc388eab7585300bdab75a Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期二, 27 五月 2025 16:57:35 +0800 Subject: [PATCH] #ZH --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 78 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 73 insertions(+), 5 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 7ab88ac..585322f 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -128,7 +128,7 @@ // 灏哄妫�娴嬪紓甯� boolean back = false; - String errMsg = ""; + String errMsg = "-"; if (staProtocol.getGrossWt()>=600){ errMsg = "瓒呴噸"; back = true; @@ -177,6 +177,7 @@ staProtocol.setWorkNo(9999); staProtocol.setStaNo(inSta.getBackSta()); devpThread.setPakMk(staProtocol.getSiteId(), false); + devpThread.setErrorDev(staProtocol.getSiteId(), errMsg); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo)); if (taskWrk != null) { @@ -217,6 +218,7 @@ staProtocol.setWorkNo(taskWrk1.getWrkNo()); staProtocol.setStaNo(staProtocol.getSiteId()); devpThread.setPakMkWalk(staProtocol.getSiteId(), false); + devpThread.setErrorDev(staProtocol.getSiteId(), errMsg); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); } } @@ -252,6 +254,7 @@ staProtocol.setStaNo(inSta.getBackSta()); devpThread.setPakMk(staProtocol.getSiteId(), false); devpThread.setPakMkWalk(staProtocol.getSiteId(), false); + devpThread.setErrorDev(staProtocol.getSiteId(), e.getMessage()); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); continue; } @@ -270,6 +273,8 @@ if (!Cools.isEmpty(jsonObject.getInteger("code")) && jsonObject.getInteger("code").equals(200)) { try { devpThread.setPakMk(staProtocol.getSiteId(), false); + devpThread.setErrorDev(staProtocol.getSiteId(), "涓婃姤鎴愬姛绛夊緟浠诲姟"); + } catch (Exception e) { // 閫�鍥� log.error("鎵爜妫�娴嬬▼搴忓紓甯�" + inSta.getStaNo() + errMsg); @@ -278,9 +283,18 @@ staProtocol.setWorkNo(9999); staProtocol.setStaNo(inSta.getBackSta()); devpThread.setPakMk(staProtocol.getSiteId(), false); + devpThread.setErrorDev(staProtocol.getSiteId(), "涓婃姤鎴愬姛閿佸畾澶辫触"); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); } + } else { + // 閫�鍥� + staProtocol.setWorkNo(9999); + staProtocol.setStaNo(inSta.getBackSta()); + devpThread.setPakMk(staProtocol.getSiteId(), false); + devpThread.setErrorDev(staProtocol.getSiteId(), jsonObject.getString("msg")); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); } } else { // 閫�鍥� @@ -289,6 +303,7 @@ staProtocol.setWorkNo(9999); staProtocol.setStaNo(inSta.getBackSta()); devpThread.setPakMk(staProtocol.getSiteId(), false); + devpThread.setErrorDev(staProtocol.getSiteId(), "鎵爜鍏ュ簱鎵爜澶辫触锛侊紒锛佹壂鐮佸�硷細"+barcode); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo)); if (taskWrk != null) { @@ -558,6 +573,7 @@ staProtocol.setWorkNo(taskWrk1.getWrkNo()); staProtocol.setStaNo(BarcodeUtils.getStaNo(staProtocol.getSiteId())); devpThread.setPakMkWalk(staProtocol.getSiteId(), false); + devpThread.setErrorDev(staProtocol.getSiteId(), "-"); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); Date now = new Date(); @@ -721,8 +737,19 @@ crnProtocol.setLastIo("O"); } } + } else { + if (crnProtocol.getModeType() == CrnModeType.AUTO && crnProtocol.getStatusType() == CrnStatusType.IDLE){ + if (crnProtocol.getTaskNo() != 0){ + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "宸ヤ綔鍙蜂笉涓�0"); + } + if (crnProtocol.getLoaded() != 0){ + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "杞借揣鍙版湁鐗�"); + } + if (crnProtocol.getForkPos() != 0){ + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "璐у弶浣嶇疆涓嶅湪涓綅"); + } + } } - } } @@ -765,12 +792,20 @@ } // 鍫嗗灈鏈烘帶鍒惰繃婊� - if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { + if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE)) { + devpThread.setErrorDev(staProtocol.getSiteId(), "鍫嗗灈鏈洪潪绌洪棽"); + continue; + } + if (crnProtocol.getTaskNo() != 0) { + devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄伐浣滃彿涓嶄负0"); + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "宸ヤ綔鍙蜂笉涓�0"); continue; } // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� if (taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()) != null) { + devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄瓨鍦ㄥ悐杞︿换鍔�"); + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄瓨鍦ㄦ墽琛屼腑鍚婅溅浠诲姟"); continue; } @@ -832,9 +867,15 @@ // crnCommand.setCommand((short) 1); if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) { log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); + devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "杩愯鍛戒护涓嬪彂澶辫触"); + throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); } else { try { + devpThread.setErrorDev(staProtocol.getSiteId(), "-"); + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "-"); + taskWrkService.updateById(taskWrk); } catch (Exception e) { log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); @@ -923,12 +964,21 @@ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- // 鍫嗗灈鏈烘帶鍒惰繃婊� - if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { - break; + if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE)) { + devpThread.setErrorDev(staProtocol.getSiteId(), "鍫嗗灈鏈洪潪绌洪棽"); + continue; + } + if (crnProtocol.getTaskNo() != 0) { + devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄伐浣滃彿涓嶄负0"); + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "宸ヤ綔鍙蜂笉涓�0"); + + continue; } // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� if (taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()) != null) { + devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄瓨鍦ㄥ悐杞︿换鍔�"); + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄瓨鍦ㄦ墽琛屼腑鍚婅溅浠诲姟"); break; } @@ -947,6 +997,8 @@ command.setCommand((short) 1); if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command))) { log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屽贩閬�={}锛屼换鍔℃暟鎹�={}", slave.getId(), taskWrk.getCrnNo(), JSON.toJSON(command)); + devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "杩愯鍛戒护涓嬪彂澶辫触"); throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); } else { try { @@ -956,6 +1008,9 @@ taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id); taskWrk.setModiTime(now); taskWrk.setExecuteTime(now); + devpThread.setErrorDev(staProtocol.getSiteId(), "-"); + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "-"); + if (taskWrkMapper.updateById(taskWrk) == 0) { log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); } @@ -994,6 +1049,19 @@ // throw new CoolException("wcs娲惧彂鍏ュ簱浠诲姟涓婃姤wms澶辫触"); } } + } else { + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "-"); + if (staProtocol.isAutoing()){ + if (staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")){ + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鑳藉嚭锛氭湭鎵撳紑"); + } + if (staProtocol.getWorkNo() == 0){ + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "宸ヤ綔鍙蜂笉涓�0"); + } + if (staProtocol.isOutEnable()){ + CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "娌℃湁鍙嚭"); + } + } } } } -- Gitblit v1.9.1