| | |
| | | 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; |
| | |
| | | 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(); |
| | |
| | | //切换出库模式 |
| | | 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); |
| | | } |
| | | |
| | | }catch (Exception e){ |
| | |
| | | //读取状态 |
| | | 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); |
| | |
| | | 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")); |