From de4f2b6569689626176abfef75be69e72eba8ed8 Mon Sep 17 00:00:00 2001 From: cpT <1@123> Date: 星期一, 30 六月 2025 10:38:16 +0800 Subject: [PATCH] #改造 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 48 insertions(+), 11 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 386ba0c..2884f0d 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; +import com.core.common.SpringUtils; import com.core.exception.CoolException; import com.zy.asrs.controller.CrnController; import com.zy.asrs.domain.enums.TaskStatusType; @@ -106,6 +107,7 @@ private TaskWrkLogServiceImpl taskWrkLogService; @Autowired private BasPlcerrorLogServiceImpl basPlcerrorLogService; + public Long currentTimeMilliConnectCrnAuto= 0L; public void generateStoreWrkFile() { try { @@ -721,26 +723,61 @@ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); continue; } - - if (crnProtocol.getLaneNo()!=0 && (crnProtocol.getBay()!=1 || crnProtocol.getLevel()!=1)){ - if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.statusType == CrnStatusType.IDLE && crnProtocol.getTaskNo() != 0) { + if (System.currentTimeMillis()-currentTimeMilliConnectCrnAuto<1000*60*10){ + continue; + } + if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.statusType == CrnStatusType.IDLE && crnProtocol.getLoaded().equals((short)0) && crnProtocol.getLaneNo()!=0 && crnProtocol.getTaskNo() == 0 ) { + if (crnProtocol.getBay()!=1 || crnProtocol.getLevel()!=1){ //鑾峰彇宸ヤ綔妗� List<TaskWrk> taskWrks = taskWrkMapper.selectByLaneNo(crnProtocol.getLaneNo()); if (!taskWrks.isEmpty()) { continue; } List<TaskWrkLog> taskWrkLogs = taskWrkLogService.selectList(new EntityWrapper<TaskWrkLog>().eq("CRN_NO",crnProtocol.getLaneNo()).orderBy("COMPLETE_TIME",true)); - if (taskWrkLogs.isEmpty()) { - CrnCommand command = new CrnCommand(); - if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(4, command))) { - log.error("鍫嗗灈鏈鸿嚜鍔ㄥ洖婧愮偣澶辫触锛屽爢鍨涙満鍙�={}", crnProtocol.getCrnNo()); + if (!taskWrkLogs.isEmpty()) { + TaskWrkLog taskWrkLog = taskWrkLogs.get(0); + Date completeTime = taskWrkLog.getCompleteTime(); + if (completeTime==null){ + completeTime = taskWrkLog.getCancelTime(); + if (completeTime==null){ + completeTime = taskWrkLog.getModiTime(); + } + } + long differenceInSeconds = TimeCalculatorUtils.differenceInMilliseconds(completeTime, new Date()); + if (differenceInSeconds <= 60*10*1000) { + return; } } -// long differenceInSeconds = TimeCalculatorUtils.differenceInMilliseconds(taskWrkLogs.get(0).getCompleteTime(), new Date()); -// if (differenceInSeconds <= 1000) { -// return; -// } + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setCrnNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙� + crnCommand.setTaskNo((short)999); // 宸ヤ綔鍙� + crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡: 搴撲綅绉昏浆 + crnCommand.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰 + int row = crnProtocol.getLaneNo() * 2; + crnCommand.setDestinationPosX((short) row); // 鐩爣搴撲綅鎺� + crnCommand.setDestinationPosY((short) 1); // 鐩爣搴撲綅灞� + crnCommand.setDestinationPosZ((short) 1); // 鐩爣搴撲綅鍒� + if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, crnCommand))) { + log.error("鍫嗗灈鏈鸿嚜鍔ㄥ洖婧愮偣澶辫触锛屽爢鍨涙満鍙�={}", crnProtocol.getCrnNo()); + if (System.currentTimeMillis()-currentTimeMilliConnectCrnAuto>1000*60*10){ + try{ + DeviceErrorService deviceErrorService = SpringUtils.getBean(DeviceErrorService.class); + deviceErrorService.addDeviceError("CrnErr", crnProtocol.getCrnNo(), "鍫嗗灈鏈鸿嚜鍔ㄥ洖婧愮偣澶辫触"); + } catch (Exception e2){ + } + if (currentTimeMilliConnectCrnAuto == 0){ + currentTimeMilliConnectCrnAuto = System.currentTimeMillis()-1000*60*10-1; + } else { + currentTimeMilliConnectCrnAuto = System.currentTimeMillis(); + } + } + } } } } catch (Exception e){ -- Gitblit v1.9.1