From 08c96e4b797573fd64b42a52a2f9b9805d59d3e3 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期日, 07 四月 2024 14:03:54 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java | 36 ++++++++++++++++++++++++++++++++---- 1 files changed, 32 insertions(+), 4 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java index e97a25f..bee13fe 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java @@ -101,6 +101,10 @@ //----------璇诲彇鍥涘悜绌挎杞︾姸鎬�----------- //灏忚溅璁惧鐘舵�� Integer deviceStatus = data.getInteger("deviceStatus"); + if (deviceStatus == 255) { + //绂荤嚎 + shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE); + } shuttleProtocol.setDeviceStatus(deviceStatus); //褰撳墠浜岀淮鐮� shuttleProtocol.setCurrentCode(data.getString("groundCode") == null ? "0" : data.getString("groundCode")); @@ -130,10 +134,10 @@ shuttleProtocol.setPakMk(true); } -// if (shuttleProtocol.getProtocolStatusType() == null && shuttleProtocol.getDeviceStatus().intValue() == ShuttleDeviceStatusType.IDLE.id) { -// //灏忚溅绌洪棽鐘舵�併�佸皬杞︿换鍔$姸鎬佷负鏈煡锛岃瀹氭浘绂荤嚎杩囷紝闇�瑕佸浣嶆垚绌洪棽 -// shuttleProtocol.setProtocolStatusType(ShuttleProtocolStatusType.IDLE); -// } + if (shuttleProtocol.getProtocolStatusType() == null && shuttleProtocol.getDeviceStatus().intValue() == 3) { + //灏忚溅绌洪棽鐘舵�併�佸皬杞︿换鍔$姸鎬佷负鏈煡锛岃瀹氭浘绂荤嚎杩囷紝闇�瑕佸浣嶆垚绌洪棽 + shuttleProtocol.setProtocolStatusType(ShuttleProtocolStatusType.IDLE); + } if (System.currentTimeMillis() - shuttleProtocol.getDeviceDataLog() > 1000 * 5) { //閲囬泦鏃堕棿瓒呰繃5s锛屼繚瀛樹竴娆℃暟鎹褰� @@ -151,6 +155,30 @@ //鏇存柊閲囬泦鏃堕棿 shuttleProtocol.setDeviceDataLog(System.currentTimeMillis()); } + + //灏嗗洓鍚戠┛姊溅鐘舵�佷繚瀛樿嚦鏁版嵁搴� + BasShuttleService shuttleService = SpringUtils.getBean(BasShuttleService.class); + BasShuttle basShuttle = shuttleService.getOne(new LambdaQueryWrapper<BasShuttle>() + .eq(BasShuttle::getShuttleNo, device.getDeviceNo()) + .eq(BasShuttle::getHostId, device.getHostId())); + if (basShuttle == null) { + basShuttle = new BasShuttle(); + //鍥涘悜绌挎杞﹀彿 + basShuttle.setShuttleNo(Integer.valueOf(device.getDeviceNo())); + basShuttle.setStatus(1); + basShuttle.setDeleted(0); + basShuttle.setHostId(device.getHostId()); + shuttleService.save(basShuttle); + } + //浠诲姟鍙� + basShuttle.setTaskNo(shuttleProtocol.getTaskNo().intValue()); + //淇敼鏃堕棿 + basShuttle.setUpdateTime(new Date()); + //璁惧鐘舵�� + basShuttle.setProtocol(JSON.toJSONString(shuttleProtocol)); + if (shuttleService.updateById(basShuttle)) { + OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), device.getDeviceNo())); + } } else { OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆憑1}璇诲彇鍥涘悜绌挎杞︾姸鎬佷俊鎭け璐�", DateUtils.convert(new Date()), device.getDeviceNo())); throw new CoolException(MessageFormat.format("璇诲彇鍥涘悜绌挎杞︾姸鎬佷俊鎭け璐� ===>> [id:{0}] [ip:{1}] [port:{2}]", device.getDeviceNo(), device.getIp(), device.getPort())); -- Gitblit v1.9.1