From d835d1b51f832889929cdf69010034a30ef44d02 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 17 十月 2024 13:57:29 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 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 783237e..cc41792 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,6 +1,9 @@
 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;
@@ -122,4 +125,36 @@
         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) {
+            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