From 0df6e7bb33c9f6a18f026a500776b00cbf2ae62c Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期二, 24 十二月 2024 09:48:06 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/LiftThread.java | 50 ++++++++++++++++++++++++++++---------------------- 1 files changed, 28 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/zy/core/thread/LiftThread.java b/src/main/java/com/zy/core/thread/LiftThread.java index d61e0fa..bbbc3d3 100644 --- a/src/main/java/com/zy/core/thread/LiftThread.java +++ b/src/main/java/com/zy/core/thread/LiftThread.java @@ -10,9 +10,11 @@ import com.core.exception.CoolException; import com.zy.asrs.entity.BasLift; import com.zy.asrs.entity.BasLiftOpt; +import com.zy.asrs.entity.DeviceDataLog; import com.zy.asrs.mapper.WrkMastMapper; import com.zy.asrs.service.BasLiftOptService; import com.zy.asrs.service.BasLiftService; +import com.zy.asrs.service.DeviceDataLogService; import com.zy.asrs.utils.Utils; import com.zy.common.utils.RedisUtil; import com.zy.core.News; @@ -30,10 +32,7 @@ import lombok.extern.slf4j.Slf4j; import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; +import java.util.*; /** * 鎻愬崌鏈虹嚎绋� @@ -208,20 +207,7 @@ basLift.setWrkNo(liftProtocol.getTaskNo().intValue()); basLift.setUpdateTime(new Date()); basLift.setPakMk(liftProtocol.getPakMk()); - basLift.setModel(liftProtocol.getModel()); - basLift.setBusy(liftProtocol.getBusy()); - basLift.setFrontOverrun(liftProtocol.getFrontOverrun()); - basLift.setBackOverrun(liftProtocol.getBackOverrun()); - basLift.setLeftOverrun(liftProtocol.getLeftOverrun()); - basLift.setRightOverrun(liftProtocol.getRightOverrun()); - basLift.setOverHeight(liftProtocol.getOverHeight()); - basLift.setOverWeight(liftProtocol.getOverWeight()); - basLift.setHasTray(liftProtocol.getHasTray()); - basLift.setHasCar(liftProtocol.getHasCar()); - basLift.setDeviceError(liftProtocol.getDeviceError()); - basLift.setDistAddress(liftProtocol.getDistAddress().intValue()); - basLift.setCompleteTaskNo(liftProtocol.getCompleteTaskNo().intValue()); - basLift.setLev(liftProtocol.getLev().intValue()); + basLift.setDeviceStatus(JSON.toJSONString(liftProtocol)); if (liftService.updateById(basLift)) { OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); // log.info(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); @@ -277,6 +263,22 @@ OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB82.22.0", (short) 2); if (result3.IsSuccess) { liftProtocol.setErrorCode(siemensS7Net.getByteTransform().TransInt16(result3.Content, 0));//閿欒鐮� + } + + if (System.currentTimeMillis() - liftProtocol.getDeviceDataLog() > 1000 * 5) { + //閲囬泦鏃堕棿瓒呰繃5s锛屼繚瀛樹竴娆℃暟鎹褰� + //淇濆瓨鏁版嵁璁板綍 + DeviceDataLogService deviceDataLogService = SpringUtils.getBean(DeviceDataLogService.class); + DeviceDataLog deviceDataLog = new DeviceDataLog(); + deviceDataLog.setOriginData(Base64.getEncoder().encodeToString(result1.Content)); + deviceDataLog.setWcsData(JSON.toJSONString(liftProtocol)); + deviceDataLog.setType("lift"); + deviceDataLog.setDeviceNo(liftProtocol.getLiftNo().intValue()); + deviceDataLog.setCreateTime(new Date()); + deviceDataLogService.insert(deviceDataLog); + + //鏇存柊閲囬泦鏃堕棿 + liftProtocol.setDeviceDataLog(System.currentTimeMillis()); } } catch (Exception e) { @@ -351,11 +353,15 @@ return false; } - BasLiftOptService basLiftOptService = SpringUtils.getBean(BasLiftOptService.class); - BasLiftOpt basLiftOpt = basLiftOptService.selectByDeviceWrk(liftProtocol.getTaskNo().toString()); - if (basLiftOpt != null) { - wrkNo = basLiftOpt.getWrkNo().shortValue(); + if (wrkNo >= 20000 && wrkNo <= 30000) { + //鎻愬崌鏈鸿澶囧伐浣滃彿锛岄渶瑕佹煡璇㈠搴斾换鍔″彿 + BasLiftOptService basLiftOptService = SpringUtils.getBean(BasLiftOptService.class); + BasLiftOpt basLiftOpt = basLiftOptService.selectByDeviceWrk(liftProtocol.getTaskNo().toString(), liftProtocol.getLiftNo().intValue()); + if (basLiftOpt != null) { + wrkNo = basLiftOpt.getWrkNo().shortValue(); + } } + Object o = redisUtil.get(RedisKeyType.LIFT.key + wrkNo); if (o == null) { return false; -- Gitblit v1.9.1