From b757ac18d7aab051f72c8f52c546c7fd715a8196 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期二, 03 十二月 2024 15:53:18 +0800
Subject: [PATCH] #算法优化
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java | 25 +++++++++++++++++++++++--
1 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java
index 947937b..50f9538 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java
@@ -34,6 +34,8 @@
private BasLiftService basLiftService;
@Autowired
private ShuttleStandbyService shuttleStandbyService;
+ @Autowired
+ private NavigateUtils navigateUtils;
/**
* 鏍规嵁鐩爣浣嶇疆鎼滅储绌洪棽鎻愬崌鏈�
@@ -80,8 +82,11 @@
}
String liftLocNo = Utils.getLocNo(Utils.getRow(standby.getDeviceStandbyLoc()), Utils.getBay(standby.getDeviceStandbyLoc()), Utils.getLev(locNo));
- List<NavigateNode> nodeList = NavigateUtils.calc(locNo, liftLocNo, NavigationMapType.NONE.id, null);
- Integer originPathAllDistance = NavigateUtils.getOriginPathAllDistance(nodeList);//鎬昏窛绂�
+ List<NavigateNode> nodeList = navigateUtils.calc(locNo, liftLocNo, NavigationMapType.NONE.id, null);
+ if (nodeList == null) {
+ continue;
+ }
+ Integer originPathAllDistance = navigateUtils.getOriginPathAllDistance(nodeList);//鎬昏窛绂�
if (originPathAllDistance < finalDistance) {
finalDistance = originPathAllDistance;
recentLiftThread = liftThread;
@@ -125,6 +130,22 @@
return liftLocNo;
}
+ /**
+ * 鑾峰彇鎹㈠眰闇�瑕侀攣瀹氱殑璺緞
+ */
+ public List<String> getLockPathByLocNo(LiftThread liftThread, Integer lev) {
+ Device device = liftThread.getDevice();
+ ShuttleStandby standby = shuttleStandbyService.getOne(new LambdaQueryWrapper<ShuttleStandby>()
+ .eq(ShuttleStandby::getDeviceId, device.getId())
+ .eq(ShuttleStandby::getDeviceLev, lev)
+ .eq(ShuttleStandby::getStatus, 1));
+ if (standby == null) {
+ return null;
+ }
+
+ return standby.getLockPath$();
+ }
+
public Integer getLiftLevOffset(Integer deviceId,Integer lev) {
BasLift basLift = basLiftService.getOne(new LambdaQueryWrapper<BasLift>().eq(BasLift::getDeviceId, deviceId));
if (basLift != null) {
--
Gitblit v1.9.1