From c3434b1fe0132372b34ff0a46d84e6129a094bfc Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期四, 28 八月 2025 08:43:15 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 127 +++++++++++-------------------------------
1 files changed, 33 insertions(+), 94 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 e9205b7..035451e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -761,19 +761,25 @@
if (!taskWrks.isEmpty()) {
continue;
}
- List<TaskWrkLog> taskWrkLogs = taskWrkLogService.selectList(new EntityWrapper<TaskWrkLog>().eq("CRN_NO",crnProtocol.getLaneNo()).orderBy("COMPLETE_TIME",true));
+ List<TaskWrkLog> taskWrkLogs = taskWrkLogService.selectList(new EntityWrapper<TaskWrkLog>().eq("CRN_NO",crnProtocol.getLaneNo()).orderBy("COMPLETE_TIME",false));
if (!taskWrkLogs.isEmpty()) {
- TaskWrkLog taskWrkLog = taskWrkLogs.get(0);
- Date completeTime = taskWrkLog.getCompleteTime();
- if (completeTime==null){
- completeTime = taskWrkLog.getCancelTime();
+ boolean signT = false;
+ for (TaskWrkLog taskWrkLog : taskWrkLogs){
+ Date completeTime = taskWrkLog.getCompleteTime();
if (completeTime==null){
- completeTime = taskWrkLog.getModiTime();
+ continue;
+ }
+ long differenceInSeconds = TimeCalculatorUtils.differenceInMilliseconds(completeTime, new Date());
+ if (differenceInSeconds <= 60*2*1000) {
+ signT = true;
+ break;
+ } else {
+ signT = false;
+ break;
}
}
- long differenceInSeconds = TimeCalculatorUtils.differenceInMilliseconds(completeTime, new Date());
- if (differenceInSeconds <= 60*10*1000) {
- return;
+ if (signT){
+ continue;
}
}
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
@@ -783,10 +789,10 @@
crnCommand.setTaskNo((short)999); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
crnCommand.setTaskMode(CrnTaskModeType.SITE_MOVE); // 浠诲姟妯″紡: 绔欎綅绉昏浆4
- crnCommand.setSourcePosX((short) 0); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(crnProtocol.getBay()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(crnProtocol.getLevel()); // 婧愬簱浣嶅眰
int row = crnProtocol.getLaneNo() * 2;
+ crnCommand.setSourcePosX((short) row); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY((short) 1); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
crnCommand.setDestinationPosX((short) row); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY((short) 1); // 鐩爣搴撲綅灞�
crnCommand.setDestinationPosZ((short) 1); // 鐩爣搴撲綅鍒�
@@ -941,41 +947,6 @@
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
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;
@@ -1024,22 +995,22 @@
// }
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
- crnCommand.setTaskNo(taskWrk.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(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
+ CrnCommand crnCommand1 = new CrnCommand();
+ crnCommand1.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand1.setLaneNo(crnProtocol.getLaneNo()); // 鍫嗗灈鏈哄贩閬撶紪鍙�
+ crnCommand1.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand1.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand1.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand1.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommand1.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand1.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand1.setDestinationPosX(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒�
int bay1 = Utils.getBayShort(taskWrk.getTargetPoint()) + 1;
- crnCommand.setDestinationPosY((short)bay1); // 鐩爣搴撲綅灞�
- crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
+ crnCommand1.setDestinationPosY((short)bay1); // 鐩爣搴撲綅灞�
+ crnCommand1.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺�
// crnCommand.setCommand((short) 1);
- if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
+ if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand1))) {
+ log.error("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand1));
devpThread.setErrorDev(staProtocol.getSiteId(), crnProtocol.getLaneNo()+"宸烽亾鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "杩愯鍛戒护涓嬪彂澶辫触");
@@ -1153,39 +1124,6 @@
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
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;
@@ -1312,6 +1250,7 @@
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
if (taskWrkMapper.selectCrnWorking(crnProtocol.getLaneNo()) != null) {
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄瓨鍦ㄦ墽琛屼腑鍚婅溅浠诲姟");
continue;
}
--
Gitblit v1.9.1