From 0f69561e397093b5165c4aac58530721d5c62178 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 25 十一月 2024 11:03:16 +0800
Subject: [PATCH] #led

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/model/protocol/ShuttleProtocol.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 48 insertions(+), 2 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/model/protocol/ShuttleProtocol.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/model/protocol/ShuttleProtocol.java
index 60395ed..2290603 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/model/protocol/ShuttleProtocol.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/model/protocol/ShuttleProtocol.java
@@ -3,14 +3,22 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.SpringUtils;
+import com.zy.asrs.wcs.core.entity.BasLift;
 import com.zy.asrs.wcs.core.entity.Loc;
+import com.zy.asrs.wcs.core.service.BasLiftService;
 import com.zy.asrs.wcs.core.service.LocService;
 import com.zy.asrs.wcs.core.utils.RedisUtil;
+import com.zy.asrs.wcs.core.utils.Utils;
+import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
 import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant;
+import com.zy.asrs.wcs.rcs.entity.BasShuttleErr;
 import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType;
 import com.zy.asrs.wcs.rcs.entity.Device;
 import com.zy.asrs.wcs.rcs.entity.ShuttleDeviceStatus;
+import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
+import com.zy.asrs.wcs.rcs.service.BasShuttleErrService;
 import com.zy.asrs.wcs.rcs.service.ShuttleDeviceStatusService;
+import com.zy.asrs.wcs.rcs.thread.LiftThread;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 
@@ -56,6 +64,11 @@
      * 灏忚溅璁惧鐘舵��
      */
     private Integer deviceStatus;
+
+    /**
+     * 灏忚溅妯″紡锛�0锛氭墜鍔� 1锛氳嚜鍔�
+     */
+    private Integer mode;
 
     /**
      * 褰撳墠浜岀淮鐮�
@@ -159,6 +172,16 @@
     private Long deviceDataLog = System.currentTimeMillis();
 
     /**
+     * 鎸囦护涓嬪彂鏃堕棿
+     */
+    private Long sendTime = 0L;
+
+    /**
+     * 鏈�杩戜竴娆″湪绾挎椂闂�
+     */
+    private Long lastOnlineTime = System.currentTimeMillis();
+
+    /**
      * 璁惧淇℃伅
      */
     private Device device;
@@ -203,6 +226,20 @@
         return "";
     }
 
+    public String getErrorCode$() {
+        if (this.errorCode == null) {
+            return "";
+        }
+        BasShuttleErrService basShuttleErrService = SpringUtils.getBean(BasShuttleErrService.class);
+        BasShuttleErr shuttleErr = basShuttleErrService.getOne(new LambdaQueryWrapper<BasShuttleErr>()
+                .eq(BasShuttleErr::getErrorCode, this.errorCode)
+                .eq(BasShuttleErr::getDevicePlc, this.device.getDevicePlc()));
+        if (shuttleErr != null) {
+            return this.errorCode + "-" + shuttleErr.getErrName();
+        }
+        return errorCode;
+    }
+
     public Integer getTaskNo() {
         RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
         if (null != redisUtil) {
@@ -225,7 +262,8 @@
     //閫氳繃褰撳墠浜岀淮鐮佽幏鍙栧綋鍓嶅簱浣嶅彿
     public String getCurrentLocNo() {
         LocService locService = SpringUtils.getBean(LocService.class);
-        if (locService == null) {
+        BasLiftService basLiftService = SpringUtils.getBean(BasLiftService.class);
+        if (locService == null || basLiftService == null) {
             return null;
         }
         if (this.currentCode == null) {
@@ -238,9 +276,17 @@
                 .eq(Loc::getHostId, this.device.getHostId());
         Loc currentLoc = locService.getOne(wrapper);
         if (currentLoc == null) {
+            //鍙兘鏄彁鍗囨満鏉$爜
+            BasLift basLift = basLiftService.getOne(new LambdaQueryWrapper<BasLift>().eq(BasLift::getCode, this.currentCode).eq(BasLift::getStatus, 1));
+            if(basLift != null) {
+                LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, basLift.getDeviceId().intValue());
+                if (liftThread != null) {
+                    LiftProtocol liftProtocol = liftThread.getStatus();
+                    return Utils.getLocNo(basLift.getRow(), basLift.getBay(), liftProtocol.getLev());
+                }
+            }
             return null;
         }
-
         return currentLoc.getLocNo();
     }
 

--
Gitblit v1.9.1