From 7dc70e3dab66f0d467af8e85287fedeb603d558e Mon Sep 17 00:00:00 2001
From: zy <zy@123>
Date: 星期五, 22 八月 2025 10:43:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/fake/FakeNyLiftThread.java |   63 +++++++++++++++++++++++++------
 1 files changed, 50 insertions(+), 13 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..5a910f6 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,16 +177,19 @@
                     //delay
                     Thread.sleep(5000);
 
-                    fakeStatus.put("protocolStatus", 0);
+                    Integer put = commandBody.getInteger("put");
+                    int lev = put % 100;
+
+                    fakeStatus.put("deviceStatus", 0);
                     fakeStatus.put("taskMode", 0);//浠诲姟绫诲瀷
                     fakeStatus.put("pick", 0);//鍙栬揣鏁版嵁
                     fakeStatus.put("put", 0);//鏀捐揣鏁版嵁
-                    fakeStatus.put("lev", commandBody.getInteger("put"));
+                    fakeStatus.put("lev", lev);
                     fakeStatusMap.put(key, fakeStatus);
                 } 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,16 +198,19 @@
                     //delay
                     Thread.sleep(5000);
 
-                    fakeStatus.put("protocolStatus", 0);
+                    Integer put = commandBody.getInteger("put");
+                    int lev = put % 100;
+
+                    fakeStatus.put("deviceStatus", 0);
                     fakeStatus.put("taskMode", 0);//浠诲姟绫诲瀷
                     fakeStatus.put("pick", 0);//鍙栬揣鏁版嵁
                     fakeStatus.put("put", 0);//鏀捐揣鏁版嵁
-                    fakeStatus.put("lev", commandBody.getInteger("put"));
+                    fakeStatus.put("lev", lev);
                     fakeStatusMap.put(key, fakeStatus);
                 } 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,16 +219,19 @@
                     //delay
                     Thread.sleep(5000);
 
-                    fakeStatus.put("protocolStatus", 0);
+                    Integer put = commandBody.getInteger("put");
+                    int lev = put % 100;
+
+                    fakeStatus.put("deviceStatus", 0);
                     fakeStatus.put("taskMode", 0);//浠诲姟绫诲瀷
                     fakeStatus.put("pick", 0);//鍙栬揣鏁版嵁
                     fakeStatus.put("put", 0);//鏀捐揣鏁版嵁
-                    fakeStatus.put("lev", commandBody.getInteger("put"));
+                    fakeStatus.put("lev", lev);
                     fakeStatusMap.put(key, fakeStatus);
                 } 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 +358,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