From 9fb7c7678174c0fea9bf7c96dca8c24b165d0a48 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 04 一月 2025 13:20:57 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java | 3
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java | 5
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java | 6
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/ActionServiceImpl.java | 5
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java | 11 +-
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNode.java | 41 ----------
/dev/null | 69 -----------------
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java | 12 +-
zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/MapDataUtils.java | 5
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/JamServiceImpl.java | 11 +-
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java | 9 +-
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvService.java | 5
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java | 35 +++++++-
13 files changed, 66 insertions(+), 151 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/MapDataUtils.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/MapDataUtils.java
index 8afc00d..979dfa9 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/MapDataUtils.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/MapDataUtils.java
@@ -1,7 +1,6 @@
package com.zy.acs.manager.common.utils;
import com.alibaba.fastjson.JSON;
-import com.zy.acs.common.utils.GsonUtils;
import com.zy.acs.framework.common.Cools;
import java.util.*;
@@ -36,10 +35,10 @@
}
public static String generateWaveNode(String originStr, String waveNode) {
- List<String> originNode = GsonUtils.fromJsonToList(originStr, String.class);
+ List<String> originNode = JSON.parseArray(originStr, String.class);
Set<String> set = new HashSet<>(originNode);
set.add(waveNode);
- return GsonUtils.toJson(set);
+ return JSON.toJSONString(set);
}
public static Double getVehicleWaveSafeDistance(Integer diameter, Double factor) {
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java
index d6805f7..4918fd8 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java
@@ -12,7 +12,6 @@
import com.zy.acs.manager.core.constant.MapDataConstant;
import com.zy.acs.manager.core.domain.BackpackDto;
import com.zy.acs.manager.core.domain.VehicleFaultDto;
-import com.zy.acs.manager.manager.entity.Agv;
import com.zy.acs.manager.manager.entity.AgvDetail;
import com.zy.acs.manager.manager.entity.Code;
import com.zy.acs.manager.manager.service.*;
@@ -64,15 +63,15 @@
IMessageBody msgBody = protocol.getMessageBody();
assert msgBody != null;
- Agv agv = agvService.selectByUuid(protocol.getAgvNo());
- if (null == agv) {
+ Long agvId = agvService.getAgvId(protocol.getAgvNo());
+ if (null == agvId) {
log.warn("Agv [{}] 灏氭湭閴存潈 锛侊紒锛�", protocol.getAgvNo());
return;
}
- AgvDetail detail = agvDetailService.selectByAgvId(agv.getId());
+ AgvDetail detail = agvDetailService.selectByAgvId(agvId);
if (null == detail) {
detail = new AgvDetail();
- detail.setAgvId(agv.getId());
+ detail.setAgvId(agvId);
if (!agvDetailService.save(detail)) {
log.error("Agv [{}] 璇︽儏鏇存柊澶辫触 锛侊紒锛�", protocol.getAgvNo());
return;
@@ -89,7 +88,7 @@
mapService.unlockPath(protocol.getAgvNo(), agv_12_up.getQrCode());
});
// finish jam
- threadPoolRegulator.getInstance().execute(() -> jamService.checkIfFinish(agv.getId(), agv_12_up.getQrCode()));
+ threadPoolRegulator.getInstance().execute(() -> jamService.checkIfFinish(agvId, agv_12_up.getQrCode()));
// websocketService.agvInfoBroadcastOnPos(new WebsocketDto<AGV_12_UP>("agv", agv.getUuid(), agv_12_up));
this.sync(agv_12_up, detail);
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
index 69163e1..b389fe9 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
@@ -187,17 +187,17 @@
// calculate wight = backpack + distance
private int calcAllocateWeight(String agvNo, Task task) {
int weight = 0;
- Agv agv = agvService.selectByUuid(agvNo);
+ Long agvId = agvService.getAgvId(agvNo);
// backpack
- List<Task> transportTasks = taskService.findTransportTasksByAgv(agv.getId());
+ List<Task> transportTasks = taskService.findTransportTasksByAgv(agvId);
if (!Cools.isEmpty(transportTasks)) {
weight = weight + transportTasks.size() * 100000;
}
// distance
// from
- AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId());
+ AgvDetail agvDetail = agvDetailService.selectByAgvId(agvId);
Code agvCurrCode = codeService.getById(agvDetail.getRecentCode());
Double[] fromPosition = new Double[]{agvCurrCode.getX(), agvCurrCode.getY()};
// to
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java
index 3a76b5a..00eed5b 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/FaultProcessor.java
@@ -7,7 +7,6 @@
import com.zy.acs.framework.common.RadixTools;
import com.zy.acs.framework.common.SnowflakeIdWorker;
import com.zy.acs.manager.core.domain.VehicleFaultDto;
-import com.zy.acs.manager.manager.entity.Agv;
import com.zy.acs.manager.manager.entity.VehFaultRec;
import com.zy.acs.manager.manager.service.AgvDetailService;
import com.zy.acs.manager.manager.service.AgvService;
@@ -44,11 +43,11 @@
AgvErrorType errorType = AgvErrorType.query(agv_04_up.getHexFaultId());
- Agv agv = agvService.selectByUuid(vehicle);
+ Long agvId = agvService.getAgvId(vehicle);
VehFaultRec vehFaultRec = new VehFaultRec();
vehFaultRec.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3));
- vehFaultRec.setAgvId(agv.getId());
+ vehFaultRec.setAgvId(agvId);
vehFaultRec.setFaultNo(String.valueOf(agv_04_up.getFaultId()));
vehFaultRec.setFaultHex(agv_04_up.getHexFaultId());
vehFaultRec.setFaultName(null != errorType ? errorType.desc : "undefined");
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java
index d213f35..bbc1028 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java
@@ -66,17 +66,18 @@
}
private void patrolOfMove(String agvNo) {
- Agv agv = agvService.selectByUuid(agvNo);
- AgvDetail agvDetail = agvDetailService.selectMajorByAgvId(agv.getId());
+ Long agvId = agvService.getAgvId(agvNo);
+ AgvDetail agvDetail = agvDetailService.selectMajorByAgvId(agvId);
if (taskService.count(new LambdaQueryWrapper<Task>()
- .eq(Task::getAgvId, agv.getId())
+ .eq(Task::getAgvId, agvId)
.in(Task::getTaskSts, TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val())
) > 0) {
return;
}
- if (!agvService.judgeEnable(agv.getId())) {
+ if (!agvService.judgeEnable(agvId)) {
return;
}
+ Agv agv = agvService.getById(agvId);
Code destinationCode = this.getDestinationCode(agv, agvDetail);
if (null == destinationCode) {
return;
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 8f7ed9f..e556498 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
@@ -304,25 +304,25 @@
} else {
// block vehicle info
- Agv blockAgv = agvService.selectByUuid(blockAgvNo);
- String blockAgvCode = codeService.getById(agvDetailService.selectByAgvId(blockAgv.getId()).getRecentCode()).getData();
+ Long blockAgvId = agvService.getAgvId(blockAgvNo);
+ String blockAgvCode = codeService.getById(agvDetailService.selectByAgvId(blockAgvId).getRecentCode()).getData();
// create new jam if already notify the avoid vehicle
- if (!Cools.isEmpty(jam.getAvoAgv(), jam.getAvoSeg()) && !blockAgv.getId().equals(jam.getAvoAgv())) {
+ if (!Cools.isEmpty(jam.getAvoAgv(), jam.getAvoSeg()) && !blockAgvId.equals(jam.getAvoAgv())) {
jam = this.setupNewJam(jam, agv, startCode, segment, draftPath);
}
do {
// 闃诲杞﹁締姝e湪鍘熷湴浣滀笟锛岀瓑寰� ===>> 瓒呰繃绛夊緟鏃堕棿锛岀粫璺�
- List<Segment> runningSegList = segmentService.getByAgvAndState(blockAgv.getId(), SegmentStateType.RUNNING.toString());
+ List<Segment> runningSegList = segmentService.getByAgvAndState(blockAgvId, SegmentStateType.RUNNING.toString());
if (!Cools.isEmpty(runningSegList)) {
maxJamTimeoutFactor = 1;
break;
}
// 鍒ゆ柇涓嬩釜浠诲姟鏄惁涓哄師鍦颁换鍔★紝濡傛灉鏄垯绛夊緟 ===>> 瓒呰繃绛夊緟鏃堕棿锛岀粫璺紱濡傛灉涓嶆槸锛岃闃诲杞﹁締閬胯
- List<Segment> waitingSegList = segmentService.getJustWaitingSeg(blockAgv.getId());
+ List<Segment> waitingSegList = segmentService.getJustWaitingSeg(blockAgvId);
if (null != waitingSegList
&& waitingSegList.stream().anyMatch(
waitingSeg -> waitingSeg.getEndNode().equals(codeService.selectByData(blockAgvCode).getId())
@@ -336,7 +336,7 @@
if (jam.getCycleAvo() == 1) {
jam.setCycleCode(endCode.getId());
}
- jam.setAvoAgv(blockAgv.getId());
+ jam.setAvoAgv(blockAgvId);
jam.setNotifyTime(new Date());
if (!jamService.updateById(jam)) {
throw new CoolException(jam.getUuid() + "-jam failed to update锛侊紒锛�");
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNode.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNode.java
index 0210277..d202df8 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNode.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNode.java
@@ -4,10 +4,9 @@
import java.io.Serializable;
import java.util.Objects;
-import java.util.Optional;
/**
- * A*瀵昏矾绠楁硶Node鑺傜偣
+ * Node鑺傜偣
*/
@Data
public class NavigateNode implements Comparable<NavigateNode>, Cloneable, Serializable {
@@ -19,14 +18,8 @@
private int z; //鍧愭爣z(楂樺害)
private int F; //缁煎悎鑺辫垂鐨勬鏁�
- private int G; //宸茬粡鑺辫垂鐨勬鏁�
- private int H; //灏嗚鑺辫垂鐨勬鏁�
private NavigateNode parent; //鐖惰妭鐐�
- private Boolean turningPoint; //鏄惁涓烘嫄鐐�
- private String direction; //琛岃蛋鏂瑰悜
- private Integer lastDistance; // 璺濈涓婁釜鑺傜偣璺濈
- private Integer moveDistance; // 鎬昏璧拌窛绂�
private Integer weight; // G 鏉冮噸
private String codeData;
@@ -40,25 +33,6 @@
this.x = x;
this.y = y;
this.codeData = codeData;
- }
-
- //閫氳繃缁撶偣鐨勫潗鏍囧拰鐩爣缁撶偣鐨勫潗鏍囧彲浠ヨ绠楀嚭F锛� G锛� H涓変釜灞炴��
- //闇�瑕佷紶鍏ヨ繖涓妭鐐圭殑涓婁竴涓妭鐐瑰拰鏈�缁堢殑缁撶偣
- public void initNode(NavigateNode father, NavigateNode end) {
- this.parent = father;
- if (this.parent != null) {
- //璧拌繃鐨勬鏁扮瓑浜庣埗鑺傜偣璧拌繃鐨勬鏁板姞涓�
- this.G = father.G
- + Optional.ofNullable(this.lastDistance).orElse(0)
- + Optional.ofNullable(this.weight).orElse(0);
- } else { //鐖惰妭鐐逛负绌轰唬琛ㄥ畠鏄涓�涓粨鐐�
- this.G = 0;
- }
-
- //浠ヤ笅璁$畻鏂规涓虹畻娉曞師濮嬫柟妗堬紝娌℃湁鍘绘嫄鐐规柟妗堛�傚凡琚玈olution璁$畻鏃惰嚜鍔ㄨ鐩栥��
- //璁$畻閫氳繃鐜板湪鐨勭粨鐐圭殑浣嶇疆鍜屾渶缁堢粨鐐圭殑浣嶇疆璁$畻H鍊�(鏇煎搱椤挎硶锛氬潗鏍囧垎鍒彇宸�肩浉鍔�)
- this.H = Math.abs(this.x - end.x) + Math.abs(this.y - end.y);
- this.F = this.G + this.H;
}
@Override
@@ -87,19 +61,6 @@
@Override
public int hashCode() {
return Objects.hash(x, y);
- }
-
- public void reset() {
- this.F = 0;
- this.G = 0;
- this.H = 0;
- this.parent = null;
- this.turningPoint = null;
- this.direction = null;
- this.lastDistance = null;
- this.moveDistance = null;
- this.weight = null;
- this.codeData = null;
}
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNodeFactory.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNodeFactory.java
deleted file mode 100644
index 9834a0a..0000000
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNodeFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.zy.acs.manager.core.service.astart;
-
-import org.apache.commons.pool2.BasePooledObjectFactory;
-import org.apache.commons.pool2.PooledObject;
-import org.apache.commons.pool2.impl.DefaultPooledObject;
-
-public class NavigateNodeFactory extends BasePooledObjectFactory<NavigateNode> {
-
- @Override
- public NavigateNode create() throws Exception {
- // 鍒涘缓涓�涓粯璁ょ殑 NavigateNode 瀹炰緥锛屽潗鏍囧皢鍦ㄤ娇鐢ㄦ椂璁剧疆
- return new NavigateNode(0, 0);
- }
-
- @Override
- public PooledObject<NavigateNode> wrap(NavigateNode node) {
- return new DefaultPooledObject<>(node);
- }
-
- @Override
- public void passivateObject(PooledObject<NavigateNode> p) throws Exception {
- // 鍦ㄥ璞¤褰掕繕鍒版睜涓椂閲嶇疆鍏剁姸鎬�
- p.getObject().reset();
- }
-}
\ No newline at end of file
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNodePool.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNodePool.java
deleted file mode 100644
index 7a51eb7..0000000
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/NavigateNodePool.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.zy.acs.manager.core.service.astart;
-
-import com.alibaba.fastjson.JSON;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.pool2.ObjectPool;
-import org.apache.commons.pool2.impl.GenericObjectPool;
-import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.PostConstruct;
-
-@Slf4j
-@Component
-public class NavigateNodePool {
-
- private ObjectPool<NavigateNode> pool;
-
- @PostConstruct
- public void init() {
- GenericObjectPoolConfig<NavigateNode> config = new GenericObjectPoolConfig<>();
- config.setMaxTotal(30000); // 閰嶇疆姹犵殑鏈�澶у璞℃暟閲�
- config.setMinIdle(30000); // 鏈�灏忕┖闂插璞℃暟锛屽彲浠ユ牴鎹渶姹傝皟鏁�
- config.setMaxIdle(30000); // 鏈�澶х┖闂插璞℃暟锛屽彲浠ユ牴鎹渶姹傝皟鏁�
- config.setBlockWhenExhausted(true); // 姹犺�楀敖鏃堕樆濉�
- config.setMaxWaitMillis(1000); // 姹犺�楀敖鏃舵渶澶х瓑寰呮椂闂�
- pool = new GenericObjectPool<>(new NavigateNodeFactory(), config);
- }
-
-
- // 鑾峰彇瀵硅薄
- public NavigateNode borrowObject() {
- try {
-// System.out.println("numActive:" + pool.getNumActive());
-// System.out.println("numIdle:" + pool.getNumIdle());
- return pool.borrowObject();
- } catch (Exception e) {
- log.error("borrowObject", e);
- throw new RuntimeException("Failed to borrow NavigateNode from pool", e);
- }
- }
-
- // 褰掕繕瀵硅薄
- public void returnObject(NavigateNode node) {
- if (node != null) {
- try {
- pool.returnObject(node);
- System.out.println("numIdle:" + pool.getNumIdle());
- } catch (Exception e) {
- log.error("returnObject", e);
- // 濡傛灉褰掕繕澶辫触锛屽彲浠ラ�夋嫨閿�姣佸璞�
- try {
- pool.invalidateObject(node);
- } catch (Exception ex) {
- throw new RuntimeException(ex);
- }
- }
- }
- }
-
-
- // 閿�姣佸璞℃睜
- public void close() {
- try {
- pool.close();
- } catch (Exception e) {
- log.error("close", e);
- }
- }
-}
\ No newline at end of file
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvService.java
index 82a11cc..521c282 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/AgvService.java
@@ -7,7 +7,6 @@
import com.zy.acs.manager.core.domain.VehicleDto;
import com.zy.acs.manager.manager.controller.result.AgvResult;
import com.zy.acs.manager.manager.entity.Agv;
-import com.zy.acs.manager.manager.entity.Task;
import java.util.List;
@@ -23,7 +22,9 @@
Agv selectByUuid(String uuid);
- Agv queryIdle(Task task);
+ Long getAgvId(String uuid);
+
+ String getAgvNo(Long agvId);
Boolean judgeEnable(Long agvId);
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/ActionServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/ActionServiceImpl.java
index 80c01df..b65be67 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/ActionServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/ActionServiceImpl.java
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zy.acs.manager.manager.entity.Action;
-import com.zy.acs.manager.manager.entity.Agv;
import com.zy.acs.manager.manager.enums.ActionStsType;
import com.zy.acs.manager.manager.enums.ActionTypeType;
import com.zy.acs.manager.manager.mapper.ActionMapper;
@@ -108,8 +107,8 @@
@Override
public List<String> getPathListByAgv(String agvNo) {
- Agv agv = agvService.selectByUuid(agvNo);
- return this.baseMapper.selectSortCodeByAgv(agv.getId());
+ Long agvId = agvService.getAgvId(agvNo);
+ return this.baseMapper.selectSortCodeByAgv(agvId);
}
@Override
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java
index ee09499..df6f396 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvDetailServiceImpl.java
@@ -32,8 +32,7 @@
@Override
public AgvDetail selectByAgvNo(String agvNo) {
- Agv agv = agvService.selectByUuid(agvNo);
- return this.selectByAgvId(agv.getId());
+ return this.selectByAgvId(agvService.getAgvId(agvNo));
}
@Override
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java
index 296f944..d30882b 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvServiceImpl.java
@@ -11,7 +11,10 @@
import com.zy.acs.manager.common.domain.PageResult;
import com.zy.acs.manager.core.domain.VehicleDto;
import com.zy.acs.manager.manager.controller.result.AgvResult;
-import com.zy.acs.manager.manager.entity.*;
+import com.zy.acs.manager.manager.entity.Agv;
+import com.zy.acs.manager.manager.entity.AgvDetail;
+import com.zy.acs.manager.manager.entity.AgvModel;
+import com.zy.acs.manager.manager.entity.Segment;
import com.zy.acs.manager.manager.enums.SegmentStateType;
import com.zy.acs.manager.manager.mapper.AgvMapper;
import com.zy.acs.manager.manager.service.*;
@@ -20,8 +23,11 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.PostConstruct;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* 瀛楀吀鏁版嵁Service瀹炵幇
@@ -34,6 +40,10 @@
public class AgvServiceImpl extends ServiceImpl<AgvMapper, Agv> implements AgvService {
private final RedisSupport redis = RedisSupport.defaultRedisSupport;
+
+ private static final Map<String, Long> AGV_ID_MAP = new HashMap<>();
+
+ private static final Map<Long, String> AGV_NO_MAP = new HashMap<>();
@Autowired
private AgvDetailService agvDetailService;
@@ -48,6 +58,14 @@
@Autowired
private TaskService taskService;
+ @PostConstruct
+ public void init() {
+ for (Agv agv : this.list()) {
+ AGV_ID_MAP.put(agv.getUuid(), agv.getId());
+ AGV_NO_MAP.put(agv.getId(), agv.getUuid());
+ }
+ }
+
@Override
public PageResult<AgvResult> pageRel(PageParam<Agv, BaseParam> pageParam) {
return new PageResult<>(this.baseMapper.selectPageRel(pageParam, pageParam.checkoutMap()), pageParam.getTotal());
@@ -59,14 +77,23 @@
}
@Override
- public Agv queryIdle(Task task) {
- if (Cools.isEmpty(task)) {
+ public Long getAgvId(String uuid) {
+ if (Cools.isEmpty(uuid)) {
return null;
}
- return null;
+ return AGV_ID_MAP.get(uuid);
}
@Override
+ public String getAgvNo(Long agvId) {
+ if (Cools.isEmpty(agvId)) {
+ return null;
+ }
+ return AGV_NO_MAP.get(agvId);
+ }
+
+
+ @Override
public Boolean judgeEnable(Long agvId) {
return this.judgeEnable(agvId, false);
}
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 137f08f..7f37644 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
@@ -3,7 +3,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zy.acs.framework.common.Cools;
-import com.zy.acs.manager.manager.entity.Agv;
import com.zy.acs.manager.manager.entity.Code;
import com.zy.acs.manager.manager.entity.Jam;
import com.zy.acs.manager.manager.entity.Segment;
@@ -56,7 +55,7 @@
List<Jam> jams = this.list(new LambdaQueryWrapper<Jam>()
.eq(Jam::getJamAgv, jamAgv)
.eq(Jam::getJamSeg, jamSeg)
- .eq(Jam::getAvoAgv, agvService.selectByUuid(avoAgvNo).getId())
+ .eq(Jam::getAvoAgv, agvService.getAgvId(avoAgvNo))
.eq(Jam::getCycleAvo, 1)
.ne(Jam::getState, JamStateType.DEPRECATED.toString())
// .eq(Jam::getState, JamStateType.RUNNING.toString())
@@ -69,14 +68,14 @@
@Override
public List<Jam> getJamFromSegmentByAvo(Segment jamSeg, String avoAgvNo) {
- Agv avoAgv = agvService.selectByUuid(avoAgvNo);
- return this.baseMapper.selectJamFromSegmentByAvo(jamSeg.getId(), avoAgv.getId());
+ Long avoAgvId = agvService.getAgvId(avoAgvNo);
+ return this.baseMapper.selectJamFromSegmentByAvo(jamSeg.getId(), avoAgvId);
}
@Override
public List<Jam> getUnfinishedAvoSegByAvo(String avoAgvNo, Segment currSeg) {
- Agv avoAgv = agvService.selectByUuid(avoAgvNo);
- return this.baseMapper.selectUnfinishedAvoSegByAvo(avoAgv.getId(), null);
+ Long agvId = agvService.getAgvId(avoAgvNo);
+ return this.baseMapper.selectUnfinishedAvoSegByAvo(agvId, null);
}
@Override
--
Gitblit v1.9.1