From f510760823f431891a501cd556928e215702ddb7 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期六, 19 四月 2025 13:36:11 +0800
Subject: [PATCH] 999
---
src/main/java/com/zy/core/model/protocol/LiftProtocol.java | 312 +++++++++++++++++++++++++++++++--------------------
1 files changed, 191 insertions(+), 121 deletions(-)
diff --git a/src/main/java/com/zy/core/model/protocol/LiftProtocol.java b/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
index ff69c13..4451b72 100644
--- a/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
@@ -1,188 +1,129 @@
package com.zy.core.model.protocol;
+import com.core.common.Cools;
import com.core.common.SpringUtils;
-import com.zy.asrs.service.BasShuttleService;
-import com.zy.core.News;
+import com.zy.asrs.entity.BasLiftErr;
+import com.zy.asrs.service.BasLiftErrService;
+import com.zy.common.utils.RedisUtil;
import com.zy.core.enums.LiftProtocolStatusType;
-import com.zy.core.enums.ShuttleErrorCodeType;
-import com.zy.core.enums.ShuttleProtocolStatusType;
-import com.zy.core.enums.ShuttleStatusType;
-import com.zy.core.model.command.LiftAssignCommand;
+import com.zy.core.enums.RedisKeyType;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
-/**
- * 鎻愬崌鏈�
- */
@Slf4j
@Data
-public class LiftProtocol {
+public class LiftProtocol implements Cloneable {
+ //**********************蹇呴』瀛樺湪灞炴��**********************
/**
* 鎻愬崌鏈哄彿
*/
- private Short liftNo;
+ private Integer liftNo;
/**
* 浠诲姟鍙�
*/
- private Short taskNo = 0;
+ private Integer taskNo;
/**
* 鍥涘悜绌挎杞﹀彿
*/
- private Short shuttleNo = 0;
+ private Integer shuttleNo = 0;
/**
* 褰撳墠鎻愬崌鏈虹姸鎬侊紙鍐呴儴鑷垜缁存姢锛�
*/
- private Integer protocolStatus = 1;
+ private Integer protocolStatus = -1;
/**
* 褰撳墠鎻愬崌鏈虹姸鎬佹灇涓�
*/
- private LiftProtocolStatusType protocolStatusType = LiftProtocolStatusType.IDLE;
+ private LiftProtocolStatusType protocolStatusType = LiftProtocolStatusType.NONE;
/**
- * 灞�
+ * 妯″紡 => 鑷姩/鎵嬪姩
*/
- private Short lev;
+ private Boolean model;
/**
- * 鎻愬崌鏈洪攣瀹�
+ * 杩愯鐘舵��
*/
- private Boolean liftLock;
+ private Boolean run;
/**
- * 浣嶇疆鍒拌揪鍙嶉
- */
- private Short positionArrivalFeedback;
-
- /**
- * 鍑嗗灏辩华
- * 灏辩华涓�1锛屾湭灏辩华涓�0
+ * 灏辩华鐘舵��
*/
private Boolean ready;
/**
- * 杩愯涓�
- * 杩愯涓负1锛屾湭杩愯涓�0
+ * 鍓嶈秴闄�
*/
- private Boolean running;
+ private Boolean frontOverrun;
/**
- * 鑱旀満/鍗曟満
- * 鑱旀満涓�1锛屽崟鏈轰负0
+ * 鍚庤秴闄�
*/
- private Boolean mode;
+ private Boolean backOverrun;
/**
- * 杈撻�佺嚎鍓嶇鍏夌數鏈夎揣
- * 鏈夎揣涓�1锛屾棤璐т负0锛堝墠绔寚闈犺繎璐ф灦渚э級
+ * 宸﹁秴闄�
*/
- private Boolean lineFrontHasStock;
+ private Boolean leftOverrun;
/**
- * 杈撻�佺嚎姝h浆鍙嶉
- * 姝h浆杩愯涓�1锛屽惁鍒欎负0
+ * 鍙宠秴闄�
*/
- private Boolean forwardRotationFeedback;
+ private Boolean rightOverrun;
/**
- * 杈撻�佺嚎鍙嶈浆鍙嶉
- * 鍙嶈浆杩愯涓�1锛屽惁鍒欎负0
+ * 瓒呴珮
*/
- private Boolean reverseFeedback;
+ private Boolean overHeight;
/**
- * 杈撻�佺嚎鐢垫満杩囪浇
- * 杩囪浇涓�0锛屾甯镐负1
+ * 瓒呴噸
*/
- private Boolean motorOverload;
+ private Boolean overWeight;
/**
- * 杈撻�佺嚎鏈鍏夌數鏈夎揣
- * 鏈夎揣涓�1锛屾棤璐т负0
+ * 鏈夋墭鐩�
*/
- private Boolean lineEndHasStock;
+ private Boolean hasTray;
/**
- * 杩涜緭閫佺嚎鍗℃墭鐩樻姤璀�
- * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
+ * 鏈夊皬杞�
*/
- private Boolean inConveyLineCardTrayAlarm;
+ private Boolean hasCar;
/**
- * 鍑鸿緭閫佺嚎鍗℃墭鐩樻姤璀�
- * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
+ * 鏁呴殰
*/
- private Boolean outConveyLineCardTrayAlarm;
+ private Boolean error;
/**
- * 骞冲彴浣嶇疆鍋忓樊鎶ヨ
- * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
+ * 鏁呴殰鐮�
*/
- private Boolean platPositionDeviationAlarm;
+ private String errorCode;
/**
- * 骞冲彴鎵煩鍋忓樊鎶ヨ
- * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
+ * 浠诲姟鍦板潃
*/
- private Boolean platTorqueDeviationAlarm;
+ private Short taskAddress;
/**
- * 骞冲彴鍥涘悜杞︽娴�
- * 鏈夎溅涓�1锛屾棤杞︿负0
+ * 鐩殑鍦板潃
*/
- private Boolean platShuttleCheck;
+ private Short distAddress;
/**
- * 鏈氨缁姸鎬�
- * 1. 涓嶅湪鎸囧畾灞�
- * 2. 鍥涜酱涓嶅悓姝�
- * 3. 骞冲彴鍓嶉檺鍏夌數琚尅鍒帮紙闈犺繎璐ф灦锛�
- * 4. 骞冲彴鍚庨檺鍏夌數琚尅鍒帮紙杩滅璐ф灦锛�
- * 5. 骞冲彴涓婇檺浣嶆姤璀�
- * 6. 骞冲彴涓嬮檺浣嶆姤璀�
- * 7. 鐢垫煖鎬ュ仠鎶ヨ
- * 8. 杈撻�佺嚎鍓嶉檺浣嶈鎸″埌锛堥潬杩戣揣鏋讹級
- * 9. 杈撻�佺嚎鍚庨檺浣嶈鎸″埌锛堣繙绂昏揣鏋讹級
- * 10. 瑙︽懜灞忕揣鎬ュ仠姝㈣鎸変笅
- * 11. 鍥涜酱鍔ㄥ姏绾挎柇绾�
- * 12. 鍗曟満妯″紡
- * 13. 鍥涜酱鎶ヨ
- * 14. 浣嶇疆鍋忓樊杩囧ぇ
- * 15. 鎵煩鍋忓樊杩囧ぇ
- * 16. 杈撻�佺嚎杩囪浇
- * 17. 杩涙彁鍗囨満鍗℃墭鐩�
- * 18. 鍑烘彁鍗囨満鍗℃墭鐩�
+ * 宸插畬鎴愮殑浠诲姟鍙�
*/
- private Short notReady;
+ private String completeTaskNo;
/**
- * 浼烘湇1閿欒
+ * 灞�
*/
- private Short servoError1;
-
- /**
- * 浼烘湇2閿欒
- */
- private Short servoError2;
-
- /**
- * 浼烘湇3閿欒
- */
- private Short servoError3;
-
- /**
- * 浼烘湇4閿欒
- */
- private Short servoError4;
-
- /**
- * 鎻愬崌鏈哄疄闄呴�熷害鍙嶉
- */
- private Short liftActualSpeed;
+ private Integer lev;
/**
* 浣滀笟鏍囪
@@ -190,12 +131,114 @@
private Boolean pakMk = true;
/**
- * 浠诲姟鍛戒护
+ * 鎸囦护涓嬪彂鏃堕棿
*/
- private LiftAssignCommand assignCommand;
+ private Long sendTime = 0L;
- public Short getLiftLockShortValue() {
- return liftLock ? (short) 1 : (short) 0;
+ /**
+ * 鏃ュ織閲囬泦鏃堕棿
+ */
+ private Long deviceDataLog = System.currentTimeMillis();
+
+ /**
+ * 鎵╁睍瀛楁
+ */
+ private Object extend;
+
+ public String getRun$() {
+ if (this.run == null) {
+ return "鏈煡";
+ }
+
+ return this.run ? "杩愯涓�" : "绌洪棽";
+ }
+
+ public String getReady$() {
+ if (this.ready == null) {
+ return "鏈煡";
+ }
+
+ return this.ready ? "灏辩华" : "鏈氨缁�";
+ }
+
+ public String getModel$() {
+ if (this.model == null) {
+ return "鏈煡";
+ }
+
+ return this.model ? "鑷姩" : "鎵嬪姩";
+ }
+
+ public String getHasTray$() {
+ if (this.hasTray == null) {
+ return "鏈煡";
+ }
+
+ return this.hasTray ? "Y" : "N";
+ }
+
+ public String getHasCar$() {
+ if (this.hasCar == null) {
+ return "鏈煡";
+ }
+
+ return this.hasCar ? "Y" : "N";
+ }
+
+ public String getFrontOverrun$() {
+ if (this.frontOverrun == null) {
+ return "鏈煡";
+ }
+
+ return this.frontOverrun ? "Y" : "N";
+ }
+
+ public String getBackOverrun$() {
+ if (this.backOverrun == null) {
+ return "鏈煡";
+ }
+
+ return this.backOverrun ? "Y" : "N";
+ }
+
+ public String getLeftOverrun$() {
+ if (this.leftOverrun == null) {
+ return "鏈煡";
+ }
+
+ return this.leftOverrun ? "Y" : "N";
+ }
+
+ public String getRightOverrun$() {
+ if (this.rightOverrun == null) {
+ return "鏈煡";
+ }
+
+ return this.rightOverrun ? "Y" : "N";
+ }
+
+ public String getOverHeight$() {
+ if (this.overHeight == null) {
+ return "鏈煡";
+ }
+
+ return this.overHeight ? "Y" : "N";
+ }
+
+ public String getOverWeight$() {
+ if (this.overWeight == null) {
+ return "鏈煡";
+ }
+
+ return this.overWeight ? "Y" : "N";
+ }
+
+ public String getProtocolStatus$() {
+ if (this.protocolStatusType == null) {
+ return "鏈煡";
+ }
+
+ return this.protocolStatusType.desc;
}
/**
@@ -214,21 +257,48 @@
this.protocolStatusType = status;
}
- // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
- public Boolean isIdle() {
- boolean res = this.taskNo == 0
- && !this.liftLock
- && this.ready
- && !this.running
- && this.mode
- && this.pakMk.equals(true)
- ;
- return res;
+ public synchronized void setTaskNo(Integer taskNo) {
+ RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
+ if (null != redisUtil) {
+ redisUtil.set(RedisKeyType.LIFT_FLAG.key + this.liftNo, taskNo);
+ this.taskNo = taskNo;
+ }
}
- public void setPositionArrivalFeedback(Short position) {
- this.lev = position;//灞傞珮
- this.positionArrivalFeedback = position;//浣嶇疆鍒拌揪鍙嶉
+ public Integer getTaskNo() {
+ RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
+ if (null != redisUtil) {
+ Object o = redisUtil.get(RedisKeyType.LIFT_FLAG.key + this.liftNo);
+ if (!Cools.isEmpty(o)) {
+ this.taskNo = Integer.valueOf(String.valueOf(o));
+ }
+ }
+ return this.taskNo == null ? 0 : this.taskNo;
+ }
+
+ /**
+ * 閿欒鐮�
+ */
+ public String getErrCode$() {
+ if (this.errorCode == null) {
+ return "";
+ }
+ BasLiftErrService basLiftErrService = SpringUtils.getBean(BasLiftErrService.class);
+ BasLiftErr basLiftErr = basLiftErrService.selectById(this.errorCode);
+ if (basLiftErr == null) {
+ return String.valueOf(this.errorCode);
+ }
+ return basLiftErr.getErrName();
+ }
+
+ @Override
+ public LiftProtocol clone() {
+ try {
+ return (LiftProtocol) super.clone();
+ } catch (CloneNotSupportedException e) {
+ e.printStackTrace();
+ }
+ return null;
}
}
--
Gitblit v1.9.1