From b7a88cf890d7259d2164bef402be3e8423a38007 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期五, 12 四月 2024 19:33:52 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/model/protocol/ShuttleProtocol.java |   71 +++++++++++++++++++++++------------
 1 files changed, 47 insertions(+), 24 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 b0ff291..c3d506c 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,15 +3,20 @@
 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.Loc;
+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.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.ShuttleDeviceStatusService;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
+
+import java.util.HashMap;
 
 /**
  * 鍥涘悜绌挎杞�
@@ -24,7 +29,7 @@
     /**
      * 鍥涘悜绌挎杞﹀彿
      */
-    private String shuttleNo;
+    private Integer shuttleNo;
 
     /**
      * 浠诲姟鍙�
@@ -84,6 +89,11 @@
      * 鏄惁椤跺崌
      */
     private Boolean hasLift;
+
+    /**
+     * 鏄惁鏈夋墭鐩�
+     */
+    private Boolean hasPallet;
 
     /**
      * 琛岄┒鏂瑰悜
@@ -158,6 +168,11 @@
     private Device device;
 
     /**
+     * 鎵╁睍瀛楁
+     */
+    private Object extend;
+
+    /**
      * 璁剧疆灏忚溅鐘舵��
      */
     public void setProtocolStatus(Integer status) {
@@ -192,32 +207,10 @@
         return "";
     }
 
-    /**
-     * 鑾峰彇灏忚溅绌洪棽鐘舵��
-     */
-    public Boolean getIdle() {
-        if (this.deviceStatus == null) {
-            return false;
-        }
-
-        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;//绌洪棽涓�
-            }
-        }
-        return false;//榛樿涓嶇┖闂�
-    }
-
     public Integer getTaskNo() {
         RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
         if (null != redisUtil) {
-            Object o = redisUtil.get(DeviceRedisConstant.SHUTTLE_FLAG + this.taskNo);
+            Object o = redisUtil.get(DeviceRedisConstant.SHUTTLE_FLAG + this.shuttleNo);
             if (!Cools.isEmpty(o)) {
                 this.taskNo = Integer.parseInt(String.valueOf(o));
             }
@@ -225,4 +218,34 @@
         return this.taskNo == null ? 0 : this.taskNo;
     }
 
+    public void setTaskNo(Integer taskNo) {
+        RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
+        if (null != redisUtil) {
+            redisUtil.set(DeviceRedisConstant.SHUTTLE_FLAG + this.shuttleNo, taskNo);
+            this.taskNo = taskNo;
+        }
+    }
+
+    //閫氳繃褰撳墠浜岀淮鐮佽幏鍙栧綋鍓嶅簱浣嶅彿
+    public String getCurrentLocNo() {
+        LocService locService = SpringUtils.getBean(LocService.class);
+        if (locService == null) {
+            return null;
+        }
+        if (this.currentCode == null) {
+            return null;
+        }
+
+        //婧愬簱浣�(灏忚溅褰撳墠浣嶇疆)
+        LambdaQueryWrapper<Loc> wrapper = new LambdaQueryWrapper<Loc>()
+                .eq(Loc::getCode, this.currentCode)
+                .eq(Loc::getHostId, this.device.getHostId());
+        Loc currentLoc = locService.getOne(wrapper);
+        if (currentLoc == null) {
+            return null;
+        }
+
+        return currentLoc.getLocNo();
+    }
+
 }

--
Gitblit v1.9.1