From aa3c9ac419172653802b7cba7cf57f91f3cad5c6 Mon Sep 17 00:00:00 2001
From: zy <zy@123>
Date: 星期四, 21 八月 2025 16:04:10 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/fake/FakeNyLiftThread.java |   48 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 38 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/fake/FakeNyLiftThread.java b/src/main/java/com/zy/core/thread/fake/FakeNyLiftThread.java
index f09a59e..83d6f94 100644
--- a/src/main/java/com/zy/core/thread/fake/FakeNyLiftThread.java
+++ b/src/main/java/com/zy/core/thread/fake/FakeNyLiftThread.java
@@ -28,7 +28,7 @@
 public class FakeNyLiftThread implements FakeThread {
 
     private RedisUtil redisUtil;
-    private JSONObject fakeStatusDemo = JSONObject.parseObject("{\"model\":2,\"plcTaskNo\":0,\"lev\":1,\"protocolStatus\":0,\"taskMode\":0,\"pick\":0,\"put\":0,\"iOMode\":0,\"errorCode\":0,\"hasTray\":0,\"hasCar\":0,\"trayList\":[0,0,0,0],\"carList\":[0,0,0,0],\"extend\":{\"frontOverrun\":false,\"backOverrun\":false,\"leftOverrun\":false,\"rightOverrun\":false,\"overHeight\":false,\"overWeight\":false}}");
+    private JSONObject fakeStatusDemo = JSONObject.parseObject("{\"model\":2,\"plcTaskNo\":0,\"lev\":1,\"deviceStatus\":0,\"taskMode\":0,\"pick\":0,\"put\":0,\"iOMode\":0,\"errorCode\":0,\"hasTray\":0,\"hasCar\":0,\"trayList\":[0,0,0,0],\"carList\":[0,0,0,0],\"extend\":{\"frontOverrun\":false,\"backOverrun\":false,\"leftOverrun\":false,\"rightOverrun\":false,\"overHeight\":false,\"overWeight\":false}}");
     private ConcurrentHashMap<String, Thread> fakeThreadMap = new ConcurrentHashMap();
     private ConcurrentHashMap<String, JSONObject> fakeStatusMap = new ConcurrentHashMap();
     private ConcurrentHashMap<String, JSONObject> fakeCommandMap = new ConcurrentHashMap();
@@ -53,9 +53,37 @@
                     if(fakeDeviceUtils == null){
                         continue;
                     }
+
+                    FakeThread fakeThread1 = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 1);
+
                     List<DeviceConfig> deviceConfigs = fakeDeviceUtils.getFakeDeviceConfig();
                     for (DeviceConfig device : deviceConfigs) {
-                        excuteFakeCommand(String.valueOf(SlaveType.Lift) + device.getDeviceNo());
+                        if (!device.getDeviceType().equals(String.valueOf(SlaveType.Lift))) {
+                            continue;
+                        }
+
+                        String key = String.valueOf(SlaveType.Lift) + device.getDeviceNo();
+
+                        if(fakeThread1 != null){
+                            int hasCar = 0;
+                            ConcurrentHashMap<String, JSONObject> shuttleFakeStatusMap1 = fakeThread1.getFakeStatusMap();
+                            for (Map.Entry<String, JSONObject> entry : shuttleFakeStatusMap1.entrySet()) {
+                                JSONObject statusData = entry.getValue();
+                                String currentCode = statusData.getString("currentCode");
+                                JSONObject point = JSON.parseObject(currentCode);
+                                String currentPoint = point.getInteger("x") + "-" + point.getInteger("y");
+                                if (device.getOtherData().toString().equals(currentPoint)) {
+                                    hasCar = 1;
+                                    break;
+                                }
+                            }
+
+                            JSONObject fakeStatus = fakeStatusMap.get(key);
+                            fakeStatus.put("hasCar", hasCar);
+                            fakeStatusMap.put(key, fakeStatus);
+                        }
+
+                        excuteFakeCommand(key);
                     }
                 }catch (Exception e){
                     e.printStackTrace();
@@ -140,7 +168,7 @@
                 if (commandType == 1) {
                     //鍙栨斁璐�
                     fakeStatus.put("plcTaskNo", commandBody.getInteger("taskNo"));//浠诲姟鍙�
-                    fakeStatus.put("protocolStatus", 1);//鍙栬揣涓�
+                    fakeStatus.put("deviceStatus", 1);//鍙栬揣涓�
                     fakeStatus.put("taskMode", commandType);//浠诲姟绫诲瀷
                     fakeStatus.put("pick", commandBody.getInteger("pick"));//鍙栬揣鏁版嵁
                     fakeStatus.put("put", commandBody.getInteger("put"));//鏀捐揣鏁版嵁
@@ -149,7 +177,7 @@
                     //delay
                     Thread.sleep(5000);
 
-                    fakeStatus.put("protocolStatus", 0);
+                    fakeStatus.put("deviceStatus", 0);
                     fakeStatus.put("taskMode", 0);//浠诲姟绫诲瀷
                     fakeStatus.put("pick", 0);//鍙栬揣鏁版嵁
                     fakeStatus.put("put", 0);//鏀捐揣鏁版嵁
@@ -158,7 +186,7 @@
                 } else if (commandType == 2) {
                     //灏忚溅鎹㈠眰
                     fakeStatus.put("plcTaskNo", commandBody.getInteger("taskNo"));//浠诲姟鍙�
-                    fakeStatus.put("protocolStatus", 1);//鍙栬揣涓�
+                    fakeStatus.put("deviceStatus", 1);//鍙栬揣涓�
                     fakeStatus.put("taskMode", commandType);//浠诲姟绫诲瀷
                     fakeStatus.put("pick", commandBody.getInteger("pick"));//鍙栬揣鏁版嵁
                     fakeStatus.put("put", commandBody.getInteger("put"));//鏀捐揣鏁版嵁
@@ -167,7 +195,7 @@
                     //delay
                     Thread.sleep(5000);
 
-                    fakeStatus.put("protocolStatus", 0);
+                    fakeStatus.put("deviceStatus", 0);
                     fakeStatus.put("taskMode", 0);//浠诲姟绫诲瀷
                     fakeStatus.put("pick", 0);//鍙栬揣鏁版嵁
                     fakeStatus.put("put", 0);//鏀捐揣鏁版嵁
@@ -176,7 +204,7 @@
                 } else if (commandType == 3) {
                     //鎻愬崌鏈虹Щ鍔�
                     fakeStatus.put("plcTaskNo", commandBody.getInteger("taskNo"));//浠诲姟鍙�
-                    fakeStatus.put("protocolStatus", 1);//绉诲姩涓�
+                    fakeStatus.put("deviceStatus", 1);//绉诲姩涓�
                     fakeStatus.put("taskMode", commandType);//浠诲姟绫诲瀷
                     fakeStatus.put("pick", commandBody.getInteger("pick"));//鍙栬揣鏁版嵁
                     fakeStatus.put("put", commandBody.getInteger("put"));//鏀捐揣鏁版嵁
@@ -185,7 +213,7 @@
                     //delay
                     Thread.sleep(5000);
 
-                    fakeStatus.put("protocolStatus", 0);
+                    fakeStatus.put("deviceStatus", 0);
                     fakeStatus.put("taskMode", 0);//浠诲姟绫诲瀷
                     fakeStatus.put("pick", 0);//鍙栬揣鏁版嵁
                     fakeStatus.put("put", 0);//鏀捐揣鏁版嵁
@@ -194,7 +222,7 @@
                 } else if (commandType == 9996) {
                     //澶嶄綅
                     fakeStatus.put("plcTaskNo", 0);//浠诲姟鍙�
-                    fakeStatus.put("protocolStatus", 0);
+                    fakeStatus.put("deviceStatus", 0);
                     fakeStatus.put("taskMode", 0);//浠诲姟绫诲瀷
                     fakeStatus.put("pick", 0);//鍙栬揣鏁版嵁
                     fakeStatus.put("put", 0);//鏀捐揣鏁版嵁
@@ -321,7 +349,7 @@
 
         device.put("model", fakeStatus.getInteger("model"));
         device.put("plcTaskNo", fakeStatus.getInteger("plcTaskNo"));
-        device.put("protocolStatus", fakeStatus.getInteger("protocolStatus"));
+        device.put("deviceStatus", fakeStatus.getInteger("deviceStatus"));
         device.put("taskMode", fakeStatus.getInteger("taskMode"));
         device.put("pick", fakeStatus.getInteger("pick"));
         device.put("put", fakeStatus.getInteger("put"));

--
Gitblit v1.9.1