From a1d108d95ac087c16557a11c58098cf76d967cb2 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期六, 13 四月 2024 10:36:10 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/model/protocol/ShuttleProtocol.java | 77 ++++++++++++++++++++++++++++---------- 1 files changed, 57 insertions(+), 20 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..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 @@ -1,14 +1,22 @@ 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; + +import java.util.HashMap; /** * 鍥涘悜绌挎杞� @@ -21,12 +29,12 @@ /** * 鍥涘悜绌挎杞﹀彿 */ - private String shuttleNo; + private Integer shuttleNo; /** * 浠诲姟鍙� */ - private String taskNo; + private Integer taskNo; /** * 褰撳墠灏忚溅鐘舵�侊紙鍐呴儴鑷垜缁存姢锛� @@ -81,6 +89,11 @@ * 鏄惁椤跺崌 */ private Boolean hasLift; + + /** + * 鏄惁鏈夋墭鐩� + */ + private Boolean hasPallet; /** * 琛岄┒鏂瑰悜 @@ -155,6 +168,11 @@ private Device device; /** + * 鎵╁睍瀛楁 + */ + private Object extend; + + /** * 璁剧疆灏忚溅鐘舵�� */ public void setProtocolStatus(Integer status) { @@ -189,26 +207,45 @@ 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;//绌洪棽涓� + public Integer getTaskNo() { + RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class); + if (null != redisUtil) { + Object o = redisUtil.get(DeviceRedisConstant.SHUTTLE_FLAG + this.shuttleNo); + if (!Cools.isEmpty(o)) { + this.taskNo = Integer.parseInt(String.valueOf(o)); } } - return false;//榛樿涓嶇┖闂� + 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