From 61e30cbd7d5548ba4c94e105319c8bff878f88db Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期四, 28 三月 2024 08:56:45 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/model/protocol/ShuttleProtocol.java | 63 ++++++++++++++++++++++++++++++- 1 files changed, 61 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 b0ff291..0eb07b2 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; /** * 琛岄┒鏂瑰悜 @@ -217,7 +227,7 @@ 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 +235,53 @@ 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(); + } + + // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵�� + public Boolean isIdle() { + if (this.deviceStatus == null + || this.pakMk == null + || this.errorCode == null + || this.protocolStatus == null + ) { + return false; + } + + boolean res = this.deviceStatus.equals(ShuttleDeviceStatusType.IDLE) + && this.pakMk + && !this.errorCode.equals("0") + && this.getTaskNo() == 0 + && this.protocolStatus.intValue() == ShuttleProtocolStatusType.IDLE.id + ; + return res; + } + } -- Gitblit v1.9.1