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