From 6f5c384b7f838f35e3da4db129a57c76cd54d508 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 04 十一月 2024 10:51:51 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 17 +++++++++++++----
zy-acs-common/src/main/java/com/zy/acs/common/constant/RedisConstant.java | 2 ++
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java | 19 ++++++++++++-------
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java | 4 ++++
4 files changed, 31 insertions(+), 11 deletions(-)
diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/constant/RedisConstant.java b/zy-acs-common/src/main/java/com/zy/acs/common/constant/RedisConstant.java
index 7256a12..4d8f80c 100644
--- a/zy-acs-common/src/main/java/com/zy/acs/common/constant/RedisConstant.java
+++ b/zy-acs-common/src/main/java/com/zy/acs/common/constant/RedisConstant.java
@@ -15,6 +15,8 @@
public static final String AGV_DATA_FLAG = "AGV_DATA_FLAG";
+ public static final String AGV_TO_STANDBY_FLAG = "AGV_TO_STANDBY_FLAG";
+
public static final String AGV_FAULT_REPORT_FLAG = "AGV_FAULT_REPORT_FLAG";
public static final String DIGITAL_AGV_FLAG = "DIGITAL_AGV_FLAG";
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java
index 53943f5..a0769c3 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.acs.common.enums.AgvStatusType;
+import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.framework.common.DateUtils;
import com.zy.acs.manager.core.service.MainService;
import com.zy.acs.manager.manager.entity.*;
@@ -24,6 +25,8 @@
@Slf4j
@Component
public class MaintainScheduler {
+
+ private final RedisSupport redis = RedisSupport.defaultRedisSupport;
@Autowired
private AgvService agvService;
@@ -122,14 +125,16 @@
continue;
}
// the time between the latest task and now that be must more that 10 seconds
- Integer intervalOfAutoStandby = configService.getVal("intervalOfAutoStandby", Integer.class);
- if (null != intervalOfAutoStandby && intervalOfAutoStandby > 0) {
- Task latestTask = taskService.findLatestTask(agv.getId(), null);
- if (null != latestTask) {
- long seconds = DateUtils.diffToSeconds(latestTask.getUpdateTime(), new Date());
- if (seconds < intervalOfAutoStandby) { continue; }
+// if (!Optional.ofNullable((Boolean) redis.getObject(RedisConstant.AGV_TO_STANDBY_FLAG, agv.getUuid())).orElse(false)) {
+ Integer intervalOfAutoStandby = configService.getVal("intervalOfAutoStandby", Integer.class);
+ if (null != intervalOfAutoStandby && intervalOfAutoStandby > 0) {
+ Task latestTask = taskService.findLatestTask(agv.getId(), null);
+ if (null != latestTask) {
+ long seconds = DateUtils.diffToSeconds(latestTask.getUpdateTime(), new Date());
+ if (seconds < intervalOfAutoStandby) { continue; }
+ }
}
- }
+// }
mainService.buildMinorTask(agv, agvDetail, TaskTypeType.TO_STANDBY, null);
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index ba7f2b2..cb6fd28 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -3,9 +3,6 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zy.acs.framework.common.Cools;
-import com.zy.acs.framework.common.SnowflakeIdWorker;
-import com.zy.acs.framework.exception.CoolException;
import com.zy.acs.common.domain.AgvAction;
import com.zy.acs.common.domain.AgvActionItem;
import com.zy.acs.common.domain.AgvProtocol;
@@ -14,8 +11,15 @@
import com.zy.acs.common.domain.protocol.AGV_70_UP;
import com.zy.acs.common.domain.protocol.IMessageBody;
import com.zy.acs.common.domain.protocol.action.*;
-import com.zy.acs.common.enums.*;
+import com.zy.acs.common.enums.AgvBackpackType;
+import com.zy.acs.common.enums.AgvCompleteType;
+import com.zy.acs.common.enums.AgvDirectionType;
+import com.zy.acs.common.enums.AgvSpeedType;
+import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.common.utils.Utils;
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.common.SnowflakeIdWorker;
+import com.zy.acs.framework.exception.CoolException;
import com.zy.acs.manager.common.domain.TaskDto;
import com.zy.acs.manager.common.exception.BusinessException;
import com.zy.acs.manager.common.utils.CommonUtil;
@@ -46,6 +50,7 @@
@Component("mainService")
public class MainService {
+ private final RedisSupport redis = RedisSupport.defaultRedisSupport;
private static final int LOCK_TIMEOUT = 5;
private final ReentrantLock lock = new ReentrantLock(Boolean.TRUE);
@@ -650,6 +655,10 @@
break;
}
+// if (taskType.equals(TaskTypeType.TO_STANDBY)) {
+// redis.setObject(RedisConstant.AGV_TO_STANDBY_FLAG, agv.getUuid(), false);
+// }
+
return true;
} catch (Exception e) {
log.error("mainService.buildMinorTask[task]", e);
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java
index d643bfb..2e41211 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java
@@ -1,5 +1,6 @@
package com.zy.acs.manager.core.service.astart;
+import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.manager.common.utils.MapDataUtils;
import com.zy.acs.manager.core.domain.Lane;
@@ -22,6 +23,8 @@
*/
@Service
public class AStarNavigateService {
+
+ private final RedisSupport redis = RedisSupport.defaultRedisSupport;
public static final boolean OPEN_TURN_COST_WEIGHT = Boolean.FALSE;
@@ -131,6 +134,7 @@
if (!laneVehicle.equals(DynamicNodeType.ACCESS.val)) {
if (!laneVehicle.equals(agvNo)) {
otherVehicleCount++;
+// redis.setObject(RedisConstant.AGV_TO_STANDBY_FLAG, laneVehicle, true, 30);
}
}
}
--
Gitblit v1.9.1