From 4b5655eec16d6a6826705cceea46792a188272f7 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 01 十二月 2023 16:17:01 +0800
Subject: [PATCH] #盘点逻辑

---
 src/main/java/com/zy/common/utils/NyLiftUtils.java |   94 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/common/utils/NyLiftUtils.java b/src/main/java/com/zy/common/utils/NyLiftUtils.java
index acc99be..b5baaaa 100644
--- a/src/main/java/com/zy/common/utils/NyLiftUtils.java
+++ b/src/main/java/com/zy/common/utils/NyLiftUtils.java
@@ -1,6 +1,19 @@
 package com.zy.common.utils;
 
+import com.core.common.SpringUtils;
+import com.zy.asrs.utils.Utils;
+import com.zy.common.model.NavigateNode;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.LiftSlave;
 import com.zy.core.model.command.NyLiftCommand;
+import com.zy.core.model.protocol.LiftStaProtocol;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.LiftThread;
+
+import javax.swing.*;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 鐗涚溂鎻愬崌鏈哄伐鍏风被
@@ -20,4 +33,85 @@
         return command;
     }
 
+    /**
+     * 鑾峰彇鎻愬崌鏈哄浣嶅懡浠�
+     */
+    public static NyLiftCommand getLiftResetCommand(Integer liftNo) {
+        NyLiftCommand command = new NyLiftCommand();
+        command.setLiftNo(liftNo.shortValue());
+        command.setTaskNo((short) 0);
+        command.setTaskModel((short) 0);
+        command.setSourceSta((short) 0);
+        command.setTargetSta((short) 0);
+        return command;
+    }
+
+    //鑾峰彇鎻愬崌鏈虹珯鐐�
+    public static LiftStaProtocol getLiftStaByStaNo(Integer staNo) {
+        SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class);
+        for (LiftSlave liftSlave : slaveProperties.getLift()) {
+            LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, liftSlave.getId());
+            if (liftThread == null) {
+                return null;
+            }
+
+            for (LiftStaProtocol liftStaProtocol : liftThread.getLiftStaProtocols()) {
+                if (liftStaProtocol.getStaNo().equals(staNo)) {
+                    return liftStaProtocol;
+                }
+            }
+        }
+
+        return null;
+    }
+
+    //鑾峰彇鎻愬崌鏈虹珯鐐�
+    public static LiftStaProtocol getLiftStaByStaNo(Integer liftNo, Integer staNo) {
+        LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, liftNo);
+        if (liftThread == null) {
+            return null;
+        }
+
+        for (LiftStaProtocol liftStaProtocol : liftThread.getLiftStaProtocols()) {
+            if (liftStaProtocol.getStaNo().equals(staNo)) {
+                return liftStaProtocol;
+            }
+        }
+
+        return null;
+    }
+
+    //鑾峰彇鎻愬崌鏈虹珯鐐�
+    public static LiftStaProtocol getLiftStaByLev(Integer liftNo, Integer lev) {
+        LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, liftNo);
+        if (liftThread == null) {
+            return null;
+        }
+
+        for (LiftStaProtocol liftStaProtocol : liftThread.getLiftStaProtocols()) {
+            if (liftStaProtocol.getLev().equals(lev)) {
+                return liftStaProtocol;
+            }
+        }
+
+        return null;
+    }
+
+    //鑾峰彇鎻愬崌鏈鸿緭閫佺珯鍙婂叾鍓嶄竴绔欒妭鐐�
+    public static List<NavigateNode> getLiftStaNodes(Integer staNo) {
+        List<NavigateNode> targetNodes = new ArrayList<>();
+        //鑾峰彇鐩爣绔�
+        LiftStaProtocol targetLiftSta = NyLiftUtils.getLiftStaByStaNo(staNo);
+        if (targetLiftSta == null) {
+            return null;//鎵句笉鍒扮珯鐐�
+        }
+        NavigateNode targetNode = NavigatePositionConvert.locNoToNode(targetLiftSta.getLocNo());//鐩爣鑺傜偣
+        String targetLastLocNo = Utils.getLocNo(Utils.getRow(targetLiftSta.getLocNo()) - 1, Utils.getBay(targetLiftSta.getLocNo()), Utils.getLev(targetLiftSta.getLocNo()));//鐩爣鑺傜偣鍓嶄竴绔�
+        NavigateNode targetLastNode = NavigatePositionConvert.locNoToNode(targetLastLocNo);//鐩爣鑺傜偣鍓嶄竴绔�
+        targetNodes.add(targetNode);
+        targetNodes.add(targetLastNode);
+
+        return targetNodes;
+    }
+
 }

--
Gitblit v1.9.1