From 3a56af8205d3bc571a115855b475237022c74caf Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期一, 14 七月 2025 14:57:22 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/impl/NyShuttleThread.java | 127 +++++++++++++++--------------------------- 1 files changed, 45 insertions(+), 82 deletions(-) diff --git a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java index 68771e5..bb2eaf3 100644 --- a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java +++ b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java @@ -9,10 +9,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.zy.asrs.entity.BasShuttle; import com.zy.asrs.entity.DeviceConfig; -import com.zy.asrs.entity.DeviceDataLog; import com.zy.asrs.entity.LocMast; import com.zy.asrs.service.BasShuttleService; -import com.zy.asrs.service.DeviceDataLogService; import com.zy.asrs.service.LocMastService; import com.zy.asrs.utils.Utils; import com.zy.common.ExecuteSupport; @@ -25,7 +23,6 @@ import com.zy.core.News; import com.zy.core.model.DeviceCommandMsgModel; import com.zy.core.utils.DeviceMsgUtils; -import com.zy.core.action.ShuttleAction; import com.zy.core.cache.OutputQueue; import com.zy.core.enums.*; import com.zy.core.model.CommandResponse; @@ -78,6 +75,9 @@ listenInit();//鐩戝惉鍒濆鍖栦簨浠� readStatus(); Thread.sleep(100); + +// //灏忚溅绌洪棽涓旀湁璺戝簱绋嬪簭 +// shuttleAction.moveLoc(deviceConfig.getDeviceNo()); } catch (Exception e) { log.error("ShuttleThread Fail", e); } @@ -85,85 +85,38 @@ }); readThread.start(); - //璁惧鎵ц - Thread executeThread = new Thread(() -> { - while (true) { - try { - ShuttleAction shuttleAction = null; - try { - shuttleAction = SpringUtils.getBean(ShuttleAction.class); - }catch (Exception e){ - continue; - } - - if (shuttleAction == null) { - continue; - } - - Object object = redisUtil.get(RedisKeyType.SHUTTLE_FLAG.key + deviceConfig.getDeviceNo()); - if (object == null) { - continue; - } - - Integer taskNo = Integer.valueOf(String.valueOf(object)); - if (taskNo != 0) { - //瀛樺湪浠诲姟闇�瑕佹墽琛� - boolean result = shuttleAction.executeWork(deviceConfig.getDeviceNo(), taskNo); - } - -// //灏忚溅绌洪棽涓旀湁璺戝簱绋嬪簭 -// shuttleAction.moveLoc(deviceConfig.getDeviceNo()); - - //婕旂ず妯″紡 - shuttleAction.demo(deviceConfig.getDeviceNo()); - - Thread.sleep(200); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - executeThread.start(); - - //鍏朵粬浠诲姟 - Thread otherThread = new Thread(() -> { - while (true) { - try { - saveLog();//淇濆瓨鏁版嵁 - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - otherThread.start(); - } - - private void saveLog() { - if (shuttleProtocol == null) { - return; - } - - if (System.currentTimeMillis() - shuttleProtocol.getDeviceDataLog() > 1000 * 5) { - if (this.originDeviceData != null) { - //閲囬泦鏃堕棿瓒呰繃5s锛屼繚瀛樹竴娆℃暟鎹褰� - //淇濆瓨鏁版嵁璁板綍 - DeviceDataLogService deviceDataLogService = SpringUtils.getBean(DeviceDataLogService.class); - if (deviceDataLogService == null) { - return; - } - DeviceDataLog deviceDataLog = new DeviceDataLog(); - deviceDataLog.setOriginData(JSON.toJSONString(this.originDeviceData)); - deviceDataLog.setWcsData(JSON.toJSONString(shuttleProtocol)); - deviceDataLog.setType(String.valueOf(SlaveType.Shuttle)); - deviceDataLog.setDeviceNo(deviceConfig.getDeviceNo()); - deviceDataLog.setCreateTime(new Date()); - deviceDataLogService.insert(deviceDataLog); - - //鏇存柊閲囬泦鏃堕棿 - shuttleProtocol.setDeviceDataLog(System.currentTimeMillis()); - OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), deviceConfig.getDeviceNo())); - } - } +// //璁惧鎵ц +// Thread executeThread = new Thread(() -> { +// while (true) { +// try { +// ShuttleAction shuttleAction = null; +// try { +// shuttleAction = SpringUtils.getBean(ShuttleAction.class); +// }catch (Exception e){ +// continue; +// } +// +// if (shuttleAction == null) { +// continue; +// } +// +// Object object = redisUtil.get(RedisKeyType.SHUTTLE_FLAG.key + deviceConfig.getDeviceNo()); +// if (object == null) { +// continue; +// } +// +// Integer taskNo = Integer.valueOf(String.valueOf(object)); +// if (taskNo != 0) { +// //瀛樺湪浠诲姟闇�瑕佹墽琛� +// boolean result = shuttleAction.executeWork(deviceConfig.getDeviceNo(), taskNo); +// } +// Thread.sleep(100); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +// }); +// executeThread.start(); } private void listenMessageFromRedis() { @@ -868,6 +821,11 @@ } @Override + public void updateDeviceDataLogTime(long time) { + shuttleProtocol.setDeviceDataLog(time); + } + + @Override public JSONObject parseStatusToMsg(ShuttleProtocol shuttleProtocol) { JSONObject result = new JSONObject(); result.put("msgType", "responseMsg"); @@ -1199,6 +1157,11 @@ return new int[]{data.getInteger("y"), data.getInteger("x"), z}; } + @Override + public Object getOriginDeviceData() { + return this.originDeviceData; + } + @Data private class InnerSuhttleExtend { -- Gitblit v1.9.1