From c036b0582e39b53516d88f26df587b5a61c4b2f2 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 17 四月 2024 10:32:47 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/model/protocol/ShuttleProtocol.java | 81 +++++++++++++++++++++++++++-------------
1 files changed, 55 insertions(+), 26 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..60395ed 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,9 +3,10 @@
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;
@@ -18,13 +19,13 @@
*/
@Slf4j
@Data
-public class ShuttleProtocol {
+public class ShuttleProtocol implements Cloneable{
//**********************蹇呴』瀛樺湪灞炴��**********************
/**
* 鍥涘悜绌挎杞﹀彿
*/
- private String shuttleNo;
+ private Integer shuttleNo;
/**
* 浠诲姟鍙�
@@ -84,6 +85,11 @@
* 鏄惁椤跺崌
*/
private Boolean hasLift;
+
+ /**
+ * 鏄惁鏈夋墭鐩�
+ */
+ private Boolean hasPallet;
/**
* 琛岄┒鏂瑰悜
@@ -158,6 +164,11 @@
private Device device;
/**
+ * 鎵╁睍瀛楁
+ */
+ private Object extend;
+
+ /**
* 璁剧疆灏忚溅鐘舵��
*/
public void setProtocolStatus(Integer status) {
@@ -192,32 +203,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 +214,44 @@
return this.taskNo == null ? 0 : this.taskNo;
}
+ public synchronized void setSyncTaskNo(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();
+ }
+
+ @Override
+ public ShuttleProtocol clone() {
+ try {
+ return (ShuttleProtocol) super.clone();
+ } catch (CloneNotSupportedException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
}
--
Gitblit v1.9.1