From ce511a3d55e5f349b1647172e562c1659bbc8172 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期五, 09 一月 2026 15:27:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/fake/FakeNyLiftThread.java |   58 +++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 15 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 5a910f6..c59965d 100644
--- a/src/main/java/com/zy/core/thread/fake/FakeNyLiftThread.java
+++ b/src/main/java/com/zy/core/thread/fake/FakeNyLiftThread.java
@@ -1,6 +1,7 @@
 package com.zy.core.thread.fake;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.zy.common.Cools;
 import com.zy.common.SpringUtils;
@@ -28,7 +29,7 @@
 public class FakeNyLiftThread implements FakeThread {
 
     private RedisUtil redisUtil;
-    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 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,\"stationList\":[{\"siteId\":101,\"model\":1,\"busy\":0,\"hasTray\":0,\"deviceError\":0,\"taskNo\":0,\"staNo\":0,\"allowShuttleTake\":0,\"allowShuttlePut\":0,\"barcode\":\"\"},{\"siteId\":102,\"model\":1,\"busy\":0,\"hasTray\":0,\"deviceError\":0,\"taskNo\":0,\"staNo\":0,\"allowShuttleTake\":0,\"allowShuttlePut\":0,\"barcode\":\"\"},{\"siteId\":103,\"model\":1,\"busy\":0,\"hasTray\":0,\"deviceError\":0,\"taskNo\":0,\"staNo\":0,\"allowShuttleTake\":0,\"allowShuttlePut\":0,\"barcode\":\"\"},{\"siteId\":1001,\"model\":1,\"busy\":0,\"hasTray\":0,\"deviceError\":0,\"taskNo\":0,\"staNo\":0,\"allowShuttleTake\":0,\"allowShuttlePut\":0,\"barcode\":\"\"},{\"siteId\":1002,\"model\":1,\"busy\":0,\"hasTray\":0,\"deviceError\":0,\"taskNo\":0,\"staNo\":0,\"allowShuttleTake\":0,\"allowShuttlePut\":0,\"barcode\":\"\"},{\"siteId\":1003,\"model\":1,\"busy\":0,\"hasTray\":0,\"deviceError\":0,\"taskNo\":0,\"staNo\":0,\"allowShuttleTake\":0,\"allowShuttlePut\":0,\"barcode\":\"\"}],\"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();
@@ -185,6 +186,9 @@
                     fakeStatus.put("pick", 0);//鍙栬揣鏁版嵁
                     fakeStatus.put("put", 0);//鏀捐揣鏁版嵁
                     fakeStatus.put("lev", lev);
+
+                    JSONObject extend = fakeStatus.getJSONObject("extend");
+                    extend.put("plcTaskNoComplete", commandBody.getInteger("taskNo"));
                     fakeStatusMap.put(key, fakeStatus);
                 } else if (commandType == 2) {
                     //灏忚溅鎹㈠眰
@@ -206,6 +210,9 @@
                     fakeStatus.put("pick", 0);//鍙栬揣鏁版嵁
                     fakeStatus.put("put", 0);//鏀捐揣鏁版嵁
                     fakeStatus.put("lev", lev);
+
+                    JSONObject extend = fakeStatus.getJSONObject("extend");
+                    extend.put("plcTaskNoComplete", commandBody.getInteger("taskNo"));
                     fakeStatusMap.put(key, fakeStatus);
                 } else if (commandType == 3) {
                     //鎻愬崌鏈虹Щ鍔�
@@ -227,6 +234,9 @@
                     fakeStatus.put("pick", 0);//鍙栬揣鏁版嵁
                     fakeStatus.put("put", 0);//鏀捐揣鏁版嵁
                     fakeStatus.put("lev", lev);
+
+                    JSONObject extend = fakeStatus.getJSONObject("extend");
+                    extend.put("plcTaskNoComplete", commandBody.getInteger("taskNo"));
                     fakeStatusMap.put(key, fakeStatus);
                 } else if (commandType == 9996) {
                     //澶嶄綅
@@ -235,6 +245,9 @@
                     fakeStatus.put("taskMode", 0);//浠诲姟绫诲瀷
                     fakeStatus.put("pick", 0);//鍙栬揣鏁版嵁
                     fakeStatus.put("put", 0);//鏀捐揣鏁版嵁
+
+                    JSONObject extend = fakeStatus.getJSONObject("extend");
+                    extend.put("plcTaskNoComplete", 0);
                     fakeStatusMap.put(key, fakeStatus);
                 } else if (commandType == 9997) {
                     //鍒囨崲鍏ュ簱妯″紡
@@ -243,6 +256,27 @@
                 } else if (commandType == 9998) {
                     //鍒囨崲鍑哄簱妯″紡
                     fakeStatus.put("iOMode", 2);//鍑哄叆搴撴ā寮�
+                    fakeStatusMap.put(key, fakeStatus);
+                } else if (commandType == 10000) {
+                    //鍐欏叆杈撻�佺嚎鏁版嵁
+                    Integer siteId = commandBody.getInteger("siteId");
+                    Integer staNo = commandBody.getInteger("staNo");
+                    Integer taskNo = commandBody.getInteger("taskNo");
+                    String address = commandBody.getString("address");
+
+                    short[] array = new short[2];
+                    array[0] = staNo.shortValue();//鐩爣绔�
+                    array[1] = taskNo.shortValue();//浠诲姟鍙�
+
+                    JSONArray stationList = fakeStatus.getJSONArray("stationList");
+                    for (int i = 0; i < stationList.size(); i++) {
+                        JSONObject staObj = stationList.getJSONObject(i);
+                        if (staObj.getInteger("siteId").equals(siteId)) {
+                            staObj.put("taskNo", taskNo);
+                            staObj.put("staNo", staNo);
+                        }
+                    }
+
                     fakeStatusMap.put(key, fakeStatus);
                 }
 
@@ -333,6 +367,10 @@
             //璇诲彇鐘舵��
             response = genereateFakeStatusResponse(fakeStatus);
             deviceMsgType = "status";
+        } else if (mode == 10000) {
+            //鍐欏叆杈撻�佺嚎鏁版嵁
+            fakeCommandMap.put(String.valueOf(SlaveType.Lift) + device.getDeviceNo(), fakeCommand);
+            response = genereateFakeCommandResponse();
         }
 
         fakeStatusMap.put(String.valueOf(SlaveType.Lift) + device.getDeviceNo(), fakeStatus);
@@ -368,20 +406,8 @@
         device.put("hasCar", fakeStatus.getInteger("hasCar"));
         device.put("lev", fakeStatus.getInteger("lev"));
 
-        Object trayListObj = fakeStatus.get("trayList");
-        List<Integer> trayList = new ArrayList<>();
-        if (trayListObj != null) {
-            trayList = JSON.parseArray(JSON.toJSONString(trayListObj), Integer.class);
-        }
-
-        Object carListObj = fakeStatus.get("carList");
-        List<Integer> carList = new ArrayList<>();
-        if (carListObj != null) {
-            carList = JSON.parseArray(JSON.toJSONString(carListObj), Integer.class);
-        }
-
-        device.put("trayList", trayList);
-        device.put("carList", carList);
+        JSONArray stationList = fakeStatus.getJSONArray("stationList");
+        device.put("stationList", stationList);
 
         JSONObject extend = fakeStatus.getJSONObject("extend");
         device.put("frontOverrun", extend.getBoolean("frontOverrun"));
@@ -390,6 +416,8 @@
         device.put("rightOverrun", extend.getInteger("rightOverrun"));
         device.put("overHeight", extend.getInteger("overHeight"));
         device.put("overWeight", extend.getInteger("overWeight"));
+        device.put("plcTaskNoComplete", extend.getInteger("plcTaskNoComplete"));
+        device.put("extend", extend);
         return resultData;
     }
 

--
Gitblit v1.9.1