From f97effec07e9ef4ca39d39181487fdabe9c620dc Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 26 三月 2024 16:57:36 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/model/protocol/ShuttleProtocol.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 1 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 325a2f5..9bf65b6 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 @@ -1,11 +1,17 @@ package com.zy.asrs.wcs.rcs.model.protocol; 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; @@ -26,7 +32,7 @@ /** * 浠诲姟鍙� */ - private String taskNo; + private Integer taskNo; /** * 褰撳墠灏忚溅鐘舵�侊紙鍐呴儴鑷垜缁存姢锛� @@ -211,4 +217,55 @@ return false;//榛樿涓嶇┖闂� } + public Integer getTaskNo() { + RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class); + if (null != redisUtil) { + Object o = redisUtil.get(DeviceRedisConstant.SHUTTLE_FLAG + this.taskNo); + if (!Cools.isEmpty(o)) { + this.taskNo = Integer.parseInt(String.valueOf(o)); + } + } + return this.taskNo == null ? 0 : this.taskNo; + } + + //閫氳繃褰撳墠浜岀淮鐮佽幏鍙栧綋鍓嶅簱浣嶅彿 + public String getCurrentLocNo() { + LocService locService = SpringUtils.getBean(LocService.class); + if (locService == null) { + return null; + } + if (this.currentCode == null) { + return null; + } + + //婧愬簱浣�(灏忚溅褰撳墠浣嶇疆) + Loc currentLoc = locService.getOne(new LambdaQueryWrapper<Loc>() + .eq(Loc::getCode, this.currentCode) + .eq(Loc::getHostId, this.device.getHostId())); + 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