From 69e1880e5486ebc62da4806642ca817afda9c84c Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 05 十月 2023 14:09:45 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/Utils.java | 17 ++++++++++++++---
src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java | 15 +++++++++++++--
2 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 4a3c0a9..72821fa 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -4,7 +4,9 @@
import com.core.common.Arith;
import com.core.common.Cools;
import com.core.common.SpringUtils;
+import com.zy.asrs.entity.BasShuttle;
import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.service.BasShuttleService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.common.model.NavigateNode;
@@ -392,6 +394,7 @@
//鑾峰彇闄ょ櫧鍚嶅崟澶栫殑鎸囧畾妤煎眰鍏ㄩ儴绌挎杞y鍧愭爣鐐�
public static List<int[]> getShuttlePoints(Integer whiteShuttle, Integer lev) {
+ BasShuttleService basShuttleService = SpringUtils.getBean(BasShuttleService.class);
SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class);
ArrayList<int[]> list = new ArrayList<>();
for (ShuttleSlave slave : slaveProperties.getShuttle()) {
@@ -409,11 +412,19 @@
continue;
}
- if (shuttleProtocol.getCurrentLocNo() == null) {
- continue;
+ String currentLocNo = shuttleProtocol.getCurrentLocNo();
+
+ if (currentLocNo == null) {
+ //灏忚溅娌℃湁搴撲綅鍙锋暟鎹紝浠庢暟鎹簱涓彇
+ BasShuttle basShuttle = basShuttleService.selectById(slave.getId());
+ if (basShuttle == null || basShuttle.getPoint() == null) {
+ continue;
+ }
+ NyShuttleProtocol.NyShuttlePointClass shuttlePoint = JSON.parseObject(basShuttle.getPoint(), NyShuttleProtocol.NyShuttlePointClass.class);
+ currentLocNo = NavigatePositionConvert.nyXyzToLocNo(shuttlePoint.getX(), shuttlePoint.getY(), shuttlePoint.getZ());
}
- if (lev != Utils.getLev(shuttleProtocol.getCurrentLocNo())) {
+ if (lev != Utils.getLev(currentLocNo)) {
continue;//妤煎眰涓嶅悓
}
diff --git a/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java b/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java
index 7396b7e..b9ed6ba 100644
--- a/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java
+++ b/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java
@@ -1,14 +1,17 @@
package com.zy.common.utils;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.BasShuttle;
import com.zy.asrs.entity.WrkCharge;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.mapper.WrkChargeMapper;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.BasShuttleService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.NavigateNode;
@@ -281,6 +284,7 @@
* true: 灏忎簬鏈�澶ф暟閲� false: 澶т簬鎴栫瓑浜庢渶澶ф暟閲�
*/
public boolean checkDispatchMaxNum(Integer lev) {
+ BasShuttleService basShuttleService = SpringUtils.getBean(BasShuttleService.class);
ConfigService configService = SpringUtils.getBean(ConfigService.class);
EntityWrapper<Config> wrapper = new EntityWrapper<>();
wrapper.eq("code", "dispatchShuttleMaxNum");
@@ -298,11 +302,18 @@
continue;
}
+ NyShuttleProtocol.NyShuttlePointClass point = null;
if (shuttleProtocol.getPoint() == null) {
- continue;
+ BasShuttle basShuttle = basShuttleService.selectById(shuttle.getId());//灏忚溅濡傛灉娌℃湁鏁版嵁锛屼粠鏁版嵁搴撳彇鏁版嵁
+ if (basShuttle == null || basShuttle.getPoint() == null) {
+ continue;
+ }
+ point = JSON.parseObject(basShuttle.getPoint(), NyShuttleProtocol.NyShuttlePointClass.class);
+ }else {
+ point = shuttleProtocol.getPoint();
}
- if (shuttleProtocol.getPoint().getZ().equals(lev)) {
+ if (point.getZ().equals(lev)) {
levCount++;//鐩爣妤煎眰鏈夎溅锛屾暟閲忓鍔�
}
}
--
Gitblit v1.9.1