From 2cfa8856fb1fd1ad7f642fd998d1644879abcdb5 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 25 七月 2024 10:02:24 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java | 33 +++++++++++++++++++++++++++++++--
1 files changed, 31 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 928c2e7..947937b 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
@@ -1,12 +1,14 @@
package com.zy.asrs.wcs.core.utils;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.wcs.core.domain.dto.BasLiftLevOffsetDto;
import com.zy.asrs.wcs.core.entity.BasLift;
import com.zy.asrs.wcs.core.entity.ShuttleStandby;
import com.zy.asrs.wcs.core.model.NavigateNode;
import com.zy.asrs.wcs.core.model.enums.DeviceCtgType;
import com.zy.asrs.wcs.core.model.enums.NavigationMapType;
-import com.zy.asrs.wcs.core.model.enums.WorkZoneType;
import com.zy.asrs.wcs.core.service.BasLiftService;
import com.zy.asrs.wcs.core.service.ShuttleStandbyService;
import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
@@ -35,8 +37,9 @@
/**
* 鏍规嵁鐩爣浣嶇疆鎼滅储绌洪棽鎻愬崌鏈�
+ * transfer: 鏄惁鍙崲灞�
*/
- public LiftThread searchIdleLift(String locNo, Long hostId) {
+ public LiftThread searchIdleLift(String locNo, Long hostId, Boolean transfer) {
LiftThread recentLiftThread = null;
Integer finalDistance = Integer.MAX_VALUE;
List<Device> list = deviceService.list(new LambdaQueryWrapper<Device>()
@@ -56,6 +59,16 @@
if (!liftThread.isIdle()) {
continue;
+ }
+
+ if (transfer) {
+ BasLift basLift = basLiftService.getOne(new LambdaQueryWrapper<BasLift>().eq(BasLift::getLiftNo, device.getDeviceNo()).eq(BasLift::getHostId, hostId));
+ if (basLift == null) {
+ continue;
+ }
+ if (basLift.getTransfer() != 1) {
+ continue;//鎻愬崌鏈鸿璁剧疆鎴愪笉鍙崲灞�
+ }
}
ShuttleStandby standby = shuttleStandbyService.getOne(new LambdaQueryWrapper<ShuttleStandby>()
@@ -112,4 +125,20 @@
return liftLocNo;
}
+ public Integer getLiftLevOffset(Integer deviceId,Integer lev) {
+ BasLift basLift = basLiftService.getOne(new LambdaQueryWrapper<BasLift>().eq(BasLift::getDeviceId, deviceId));
+ if (basLift != null) {
+ if(Cools.isEmpty(basLift.getLevOffset())) {
+ return lev;
+ }
+ List<BasLiftLevOffsetDto> levOffsetDtos = JSON.parseArray(basLift.getLevOffset(), BasLiftLevOffsetDto.class);
+ for (BasLiftLevOffsetDto offsetDto : levOffsetDtos) {
+ if(lev == offsetDto.getLogicLev()){
+ return offsetDto.getRealLev();
+ }
+ }
+ }
+ return lev;
+ }
+
}
--
Gitblit v1.9.1