From 8a4bae16c2e6397251e0f9c58521aa9be363eb8e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 05 十一月 2024 16:37:05 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java | 23 +++++++++++++----------
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java | 12 ++++++++++++
zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/BlockVehicleDto.java | 15 +++++++++++++++
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/JamService.java | 5 +++++
4 files changed, 45 insertions(+), 10 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/BlockVehicleDto.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/BlockVehicleDto.java
new file mode 100644
index 0000000..d5a8730
--- /dev/null
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/BlockVehicleDto.java
@@ -0,0 +1,15 @@
+package com.zy.acs.manager.core.domain;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 11/5/2024
+ */
+@Data
+public class BlockVehicleDto {
+
+ private String vehicle;
+
+ private boolean avoidable;
+
+}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
index e10ba16..c2ed10b 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -7,7 +7,6 @@
import com.zy.acs.framework.exception.CoolException;
import com.zy.acs.manager.common.utils.MapDataUtils;
import com.zy.acs.manager.core.domain.TaskPosDto;
-import com.zy.acs.manager.core.service.astart.DynamicNodeType;
import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
import com.zy.acs.manager.core.service.astart.RetreatNavigateNode;
import com.zy.acs.manager.core.service.astart.WaveNodeType;
@@ -237,7 +236,7 @@
if (!Cools.isEmpty(pathList)) {
- if (!Cools.isEmpty(blockVehicleList) && !pathList.get(pathList.size() - 1).equals(endCode.getData())) {
+ if (!pathList.get(pathList.size() - 1).equals(endCode.getData()) && !Cools.isEmpty(blockVehicleList)) {
String blockAgvNo = blockVehicleList.get(0);
if (mapDataDispatcher.queryCodeListFromDynamicNode(null, blockAgvNo).size() > 1 && pathList.size() <= MIN_SLICE_PATH_LENGTH) {
pathList.clear();
@@ -431,18 +430,22 @@
List<String> waveNodeList = MapDataUtils.parseWaveNode(waveNode);
List<String> otherWaveList = MapDataUtils.hasOtherWave(waveNodeList, agvNo);
if (!Cools.isEmpty(otherWaveList)) {
- blockVehicleList.addAll(otherWaveList);
+ for (String otherWave : otherWaveList) {
+ if (mapDataDispatcher.queryCodeListFromDynamicNode(lev, otherWave).size() <= 1) {
+ blockVehicleList.add(otherWave);
+ }
+ }
break;
}
}
- DynamicNode dynamicNode = dynamicMatrix[node[0]][node[1]];
- String vehicle = dynamicNode.getVehicle();
- assert !vehicle.equals(DynamicNodeType.BLOCK.val);
- if (!vehicle.equals(DynamicNodeType.ACCESS.val) && !vehicle.equals(agvNo)) {
- blockVehicleList.add(vehicle);
- break;
- }
+// DynamicNode dynamicNode = dynamicMatrix[node[0]][node[1]];
+// String vehicle = dynamicNode.getVehicle();
+// assert !vehicle.equals(DynamicNodeType.BLOCK.val);
+// if (!vehicle.equals(DynamicNodeType.ACCESS.val) && !vehicle.equals(agvNo)) {
+// blockVehicleList.add(vehicle);
+// break;
+// }
pathList.add(code);
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/JamService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/JamService.java
index 5eeeec4..14d09ac 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/JamService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/JamService.java
@@ -2,11 +2,16 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.acs.manager.manager.entity.Jam;
+import com.zy.acs.manager.manager.enums.JamStateType;
+
+import java.util.List;
public interface JamService extends IService<Jam> {
Jam getJam(Long agvId, Long jamCode, Long jamSeg);
+ List<Jam> queryByAvoid(Long avoAgv, JamStateType jamState);
+
Boolean checkIfFinish(Long avoAgv, String currCodeData);
boolean deprecate(Long id, Long loginUserId);
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java
index 9abba73..c0c7504 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java
@@ -38,6 +38,18 @@
}
@Override
+ public List<Jam> queryByAvoid(Long avoAgv, JamStateType jamState) {
+ if (null == avoAgv) {
+ return null;
+ }
+ LambdaQueryWrapper<Jam> wrapper = new LambdaQueryWrapper<Jam>().eq(Jam::getAvoAgv, avoAgv);
+ if (null != jamState) {
+ wrapper.eq(Jam::getState, jamState.toString());
+ }
+ return this.list(wrapper);
+ }
+
+ @Override
public Boolean checkIfFinish(Long avoAgv, String currCodeData) {
if (Cools.isEmpty(avoAgv, currCodeData)) {
return null;
--
Gitblit v1.9.1