From 37733cc39c04b863a0b997c7fa3d9ac6a24e08be Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 19 六月 2024 15:58:19 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/model/protocol/ShuttleProtocol.java |   82 +++++++++++++++++++++--------------------
 1 files changed, 42 insertions(+), 40 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 0eb07b2..388135e 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
@@ -7,23 +7,21 @@
 import com.zy.asrs.wcs.core.service.LocService;
 import com.zy.asrs.wcs.core.utils.RedisUtil;
 import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant;
-import com.zy.asrs.wcs.rcs.model.enums.ShuttleDeviceStatusType;
+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 lombok.Data;
 import lombok.extern.slf4j.Slf4j;
-
-import java.util.HashMap;
 
 /**
  * 鍥涘悜绌挎杞�
  */
 @Slf4j
 @Data
-public class ShuttleProtocol {
+public class ShuttleProtocol implements Cloneable{
 
     //**********************蹇呴』瀛樺湪灞炴��**********************
     /**
@@ -60,6 +58,11 @@
      * 灏忚溅璁惧鐘舵��
      */
     private Integer deviceStatus;
+
+    /**
+     * 灏忚溅妯″紡锛�0锛氭墜鍔� 1锛氳嚜鍔�
+     */
+    private Integer mode;
 
     /**
      * 褰撳墠浜岀淮鐮�
@@ -163,9 +166,24 @@
     private Long deviceDataLog = System.currentTimeMillis();
 
     /**
+     * 鎸囦护涓嬪彂鏃堕棿
+     */
+    private Long sendTime = 0L;
+
+    /**
+     * 鏈�杩戜竴娆″湪绾挎椂闂�
+     */
+    private Long lastOnlineTime = System.currentTimeMillis();
+
+    /**
      * 璁惧淇℃伅
      */
     private Device device;
+
+    /**
+     * 鎵╁睍瀛楁
+     */
+    private Object extend;
 
     /**
      * 璁剧疆灏忚溅鐘舵��
@@ -202,26 +220,19 @@
         return "";
     }
 
-    /**
-     * 鑾峰彇灏忚溅绌洪棽鐘舵��
-     */
-    public Boolean getIdle() {
-        if (this.deviceStatus == null) {
-            return false;
+    public String getErrorCode$() {
+        if (this.errorCode == null) {
+            return "";
         }
-
-        ShuttleDeviceStatusService shuttleDeviceStatusService = SpringUtils.getBean(ShuttleDeviceStatusService.class);
-        ShuttleDeviceStatus status = shuttleDeviceStatusService.getOne(new LambdaQueryWrapper<ShuttleDeviceStatus>()
-                .eq(ShuttleDeviceStatus::getHostId, this.device.getHostId())
-                .eq(ShuttleDeviceStatus::getDevicePlc, this.device.getDevicePlc())
-                .eq(ShuttleDeviceStatus::getStatus, 1)
-                .eq(ShuttleDeviceStatus::getDeviceStatus, this.deviceStatus));
-        if (status != null) {
-            if (status.getFlag() != null && status.getFlag().equals(String.valueOf(ShuttleDeviceStatusType.IDLE))) {
-                return true;//绌洪棽涓�
-            }
+        BasShuttleErrService basShuttleErrService = SpringUtils.getBean(BasShuttleErrService.class);
+        BasShuttleErr shuttleErr = basShuttleErrService.getOne(new LambdaQueryWrapper<BasShuttleErr>()
+                .eq(BasShuttleErr::getErrorCode, this.errorCode)
+                .eq(BasShuttleErr::getHostId, this.device.getHostId())
+                .eq(BasShuttleErr::getDevicePlc, this.device.getDevicePlc()));
+        if (shuttleErr != null) {
+            return this.errorCode + "-" + shuttleErr.getErrName();
         }
-        return false;//榛樿涓嶇┖闂�
+        return errorCode;
     }
 
     public Integer getTaskNo() {
@@ -235,7 +246,7 @@
         return this.taskNo == null ? 0 : this.taskNo;
     }
 
-    public void setTaskNo(Integer taskNo) {
+    public synchronized void setSyncTaskNo(Integer taskNo) {
         RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
         if (null != redisUtil) {
             redisUtil.set(DeviceRedisConstant.SHUTTLE_FLAG + this.shuttleNo, taskNo);
@@ -265,23 +276,14 @@
         return currentLoc.getLocNo();
     }
 
-    // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
-    public Boolean isIdle() {
-        if (this.deviceStatus == null
-                || this.pakMk == null
-                || this.errorCode == null
-                || this.protocolStatus == null
-        ) {
-            return false;
+    @Override
+    public ShuttleProtocol clone() {
+        try {
+            return (ShuttleProtocol) super.clone();
+        } catch (CloneNotSupportedException e) {
+            e.printStackTrace();
         }
-
-        boolean res = this.deviceStatus.equals(ShuttleDeviceStatusType.IDLE)
-                && this.pakMk
-                && !this.errorCode.equals("0")
-                && this.getTaskNo() == 0
-                && this.protocolStatus.intValue() == ShuttleProtocolStatusType.IDLE.id
-                ;
-        return res;
+        return null;
     }
 
 }

--
Gitblit v1.9.1