From e89d0cdf971ecb56d4d323f17afff2e3e139a58d Mon Sep 17 00:00:00 2001 From: L <L@132> Date: 星期二, 15 七月 2025 13:00:00 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 68 ++++++++++++++++++++++++++++++++++ 1 files changed, 68 insertions(+), 0 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 73e31c8..6f9f172 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -941,6 +941,41 @@ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� if (taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()) != null) { + TaskWrk taskWrkNow3 = taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()); + if (taskWrkNow3.getWrkSts() == 3){ + try{ + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙� + crnCommand.setTaskNo(taskWrkNow3.getWrkNo().shortValue()); // 宸ヤ綔鍙� + crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 + crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰 + crnCommand.setDestinationPosX(Utils.getRowShort(taskWrkNow3.getTargetPoint())); // 鐩爣搴撲綅鍒� + int bay1 = Utils.getBayShort(taskWrkNow3.getTargetPoint()) + 1; + crnCommand.setDestinationPosY((short)bay1); // 鐩爣搴撲綅灞� + crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrkNow3.getTargetPoint())); // 鐩爣搴撲綅鎺� +// crnCommand.setCommand((short) 1); + try{ + DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); + deviceErrorService.addDeviceError("CrnErr", slave.getId(), "宸烽亾鍙�"+crnCommand.getLaneNo()+";鍫嗗灈鏈哄懡浠ゅ湴鍧�琛ヤ竵閲嶆柊鍐欏叆:"+JSON.toJSONString(crnCommand.getNowTask())); + } catch (Exception e2){ + } + 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("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); + } + } catch (Exception eNow3){ + + } + } + devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄瓨鍦ㄥ悐杞︿换鍔�"); CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄瓨鍦ㄦ墽琛屼腑鍚婅溅浠诲姟"); continue; @@ -1118,6 +1153,39 @@ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� if (taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()) != null) { + + TaskWrk taskWrkNow3 = taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()); + if (taskWrkNow3.getWrkSts() == 12){ + try{ + CrnCommand command = new CrnCommand(); + command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� + command.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo(taskWrkNow3.getWrkNo().shortValue()); // 宸ヤ綔鍙� + command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡 + command.setSourcePosX(Utils.getRowShort(taskWrkNow3.getStartPoint())); // 婧愬簱浣嶆帓 + int bayS = Utils.getBayShort(taskWrkNow3.getStartPoint()) + 1; + command.setSourcePosY((short)bayS); // 婧愬簱浣嶅垪 + command.setSourcePosZ(Utils.getLevShort(taskWrkNow3.getStartPoint())); // 婧愬簱浣嶅眰 + command.setDestinationPosX(crnStn.getRow().shortValue()); // 鐩爣搴撲綅鎺� + command.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒� + command.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞� +// command.setCommand((short) 1); + try{ + DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); + deviceErrorService.addDeviceError("CrnErr", slave.getId(), "宸烽亾鍙�"+command.getLaneNo()+";鍫嗗灈鏈哄懡浠ゅ湴鍧�琛ヤ竵閲嶆柊鍐欏叆:"+JSON.toJSONString(command.getNowTask())); + } catch (Exception e2){ + } + 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("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�"); + } + } catch (Exception eNow3){ + + } + } devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄瓨鍦ㄥ悐杞︿换鍔�"); CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄瓨鍦ㄦ墽琛屼腑鍚婅溅浠诲姟"); break; -- Gitblit v1.9.1