From d9505e143cdf452c3a33752b380ee1b3a410601d Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 16 十月 2025 14:48:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/model/protocol/LiftProtocol.java | 334 ++++++++++++++++++++++++++-----------------------------
1 files changed, 160 insertions(+), 174 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 391a366..08041ee 100644
--- a/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
@@ -1,236 +1,133 @@
package com.zy.core.model.protocol;
-import com.zy.core.enums.LiftProtocolStatusType;
-import com.zy.core.model.command.LiftAssignCommand;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.BasLiftErr;
+import com.zy.asrs.service.BasLiftErrService;
+import com.zy.common.utils.RedisUtil;
+import com.zy.core.enums.*;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
-
-import java.util.Date;
/**
* 鎻愬崌鏈�
*/
@Slf4j
@Data
-public class LiftProtocol {
+public class LiftProtocol implements Cloneable {
/**
* 鎻愬崌鏈哄彿
*/
- private Short liftNo;
+ private Integer liftNo;
/**
- * 鎻愬崌鏈哄唴閮ㄤ簩缁寸爜
+ * 妯″紡0鎵嬪姩 1鍗曟満 2鑱旀満
*/
- private Short barcode = 1699;
+ private Integer model;
/**
* 浠诲姟鍙�
*/
- private Short taskNo = 0;
+ private Integer taskNo = 0;
/**
- * 鍥涘悜绌挎杞﹀彿
+ * PLC浠诲姟鍙�
*/
- private Short shuttleNo = 0;
+ private Integer plcTaskNo;
/**
- * 褰撳墠鎻愬崌鏈虹姸鎬侊紙鍐呴儴鑷垜缁存姢锛�
+ * 浠诲姟鐘舵��
*/
- private Integer protocolStatus = 1;
+ private Integer protocolStatus = LiftProtocolStatusType.IDLE.id;
/**
- * 褰撳墠鎻愬崌鏈虹姸鎬佹灇涓�
+ * 浠诲姟鐘舵�佹灇涓�
*/
private LiftProtocolStatusType protocolStatusType = LiftProtocolStatusType.IDLE;
/**
- * 灞�
+ * 璁惧鐘舵��
*/
- private Short lev;
+ private Integer deviceStatus = LiftDeviceStatusType.NONE.id;
/**
- * 鎻愬崌鏈洪攣瀹�
+ * 璁惧鐘舵�佹灇涓�
*/
- private Boolean liftLock;
+ private LiftDeviceStatusType deviceStatusType = LiftDeviceStatusType.NONE;
/**
- * 浣嶇疆鍒拌揪鍙嶉
+ * 浠诲姟妯″紡
*/
- private Short positionArrivalFeedback;
+ private Integer taskMode = LiftTaskModeType.NONE.id;
/**
- * 鍑嗗灏辩华
- * 灏辩华涓�1锛屾湭灏辩华涓�0
+ * 浠诲姟妯″紡鏋氫妇
*/
- private Boolean ready;
+ private LiftTaskModeType modeType = LiftTaskModeType.NONE;
/**
- * 杩愯涓�
- * 杩愯涓负1锛屾湭杩愯涓�0
+ * 鍙栬揣鏁版嵁
*/
- private Boolean running;
+ private Integer pick;
/**
- * 鑱旀満/鍗曟満
- * 鑱旀満涓�1锛屽崟鏈轰负0
+ * 鏀捐揣鏁版嵁
*/
- private Boolean mode;
+ private Integer put;
/**
- * 杈撻�佺嚎鍓嶇鍏夌數鏈夎揣
- * 鏈夎揣涓�1锛屾棤璐т负0锛堝墠绔寚闈犺繎璐ф灦渚э級
+ * 鏈夋墭鐩�
*/
- private Boolean lineFrontHasStock;
+ private Boolean hasTray;
/**
- * 杈撻�佺嚎姝h浆鍙嶉
- * 姝h浆杩愯涓�1锛屽惁鍒欎负0
+ * 鏈夊皬杞�
*/
- private Boolean forwardRotationFeedback;
+ private Boolean hasCar;
/**
- * 杈撻�佺嚎鍙嶈浆鍙嶉
- * 鍙嶈浆杩愯涓�1锛屽惁鍒欎负0
+ * 鍑哄叆搴撴ā寮�
*/
- private Boolean reverseFeedback;
+ private Integer iOMode = LiftIoModeType.NONE.id;
/**
- * 杈撻�佺嚎鐢垫満杩囪浇
- * 杩囪浇涓�0锛屾甯镐负1
+ * 鍑哄叆搴撴ā寮忔灇涓�
*/
- private Boolean motorOverload;
+ private LiftIoModeType iOModeType = LiftIoModeType.NONE;
/**
- * 杈撻�佺嚎鏈鍏夌數鏈夎揣
- * 鏈夎揣涓�1锛屾棤璐т负0
+ * 鏁呴殰鐮�
*/
- private Boolean lineEndHasStock;
+ private Integer errorCode;
/**
- * 杩涜緭閫佺嚎鍗℃墭鐩樻姤璀�
- * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
+ * 褰撳墠灞�
*/
- private Boolean inConveyLineCardTrayAlarm;
-
- /**
- * 鍑鸿緭閫佺嚎鍗℃墭鐩樻姤璀�
- * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
- */
- private Boolean outConveyLineCardTrayAlarm;
-
- /**
- * 骞冲彴浣嶇疆鍋忓樊鎶ヨ
- * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
- */
- private Boolean platPositionDeviationAlarm;
-
- /**
- * 骞冲彴鎵煩鍋忓樊鎶ヨ
- * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
- */
- private Boolean platTorqueDeviationAlarm;
-
- /**
- * 骞冲彴鍥涘悜杞︽娴�
- * 鏈夎溅涓�1锛屾棤杞︿负0
- */
- private Boolean platShuttleCheck;
-
- /**
- * 鏈氨缁姸鎬�
- * 1. 涓嶅湪鎸囧畾灞�
- * 2. 鍥涜酱涓嶅悓姝�
- * 3. 骞冲彴鍓嶉檺鍏夌數琚尅鍒帮紙闈犺繎璐ф灦锛�
- * 4. 骞冲彴鍚庨檺鍏夌數琚尅鍒帮紙杩滅璐ф灦锛�
- * 5. 骞冲彴涓婇檺浣嶆姤璀�
- * 6. 骞冲彴涓嬮檺浣嶆姤璀�
- * 7. 鐢垫煖鎬ュ仠鎶ヨ
- * 8. 杈撻�佺嚎鍓嶉檺浣嶈鎸″埌锛堥潬杩戣揣鏋讹級
- * 9. 杈撻�佺嚎鍚庨檺浣嶈鎸″埌锛堣繙绂昏揣鏋讹級
- * 10. 瑙︽懜灞忕揣鎬ュ仠姝㈣鎸変笅
- * 11. 鍥涜酱鍔ㄥ姏绾挎柇绾�
- * 12. 鍗曟満妯″紡
- * 13. 鍥涜酱鎶ヨ
- * 14. 浣嶇疆鍋忓樊杩囧ぇ
- * 15. 鎵煩鍋忓樊杩囧ぇ
- * 16. 杈撻�佺嚎杩囪浇
- * 17. 杩涙彁鍗囨満鍗℃墭鐩�
- * 18. 鍑烘彁鍗囨満鍗℃墭鐩�
- */
- private Short notReady;
-
- /**
- * 浼烘湇1閿欒
- */
- private Short servoError1;
-
- /**
- * 浼烘湇2閿欒
- */
- private Short servoError2;
-
- /**
- * 浼烘湇3閿欒
- */
- private Short servoError3;
-
- /**
- * 浼烘湇4閿欒
- */
- private Short servoError4;
-
- /**
- * 鎻愬崌鏈哄疄闄呴�熷害鍙嶉
- */
- private Short liftActualSpeed;
+ private Integer lev;
/**
* 浣滀笟鏍囪
*/
- private Boolean pakMk = true;
+ private Boolean pakMk = false;
/**
- * 鍥涘悜绌挎杞﹁皟搴︽彁鍗囨満鏃讹紝闇�瑕侀攣瀹氭鏍囪
+ * 鎸囦护涓嬪彂鏃堕棿
*/
- private Boolean securityMk = false;
+ private Long sendTime = 0L;
/**
- * 浠诲姟鍛戒护
+ * 鏃ュ織閲囬泦鏃堕棿
*/
- private LiftAssignCommand assignCommand;
+ private Long deviceDataLog = System.currentTimeMillis();
/**
- * 鍑哄叆搴撴ā寮忥紝1锛氬叆搴擄紝2锛氬嚭搴�
+ * 鎵╁睍瀛楁
*/
- private Integer outInModel;
+ private Object extend;
/**
- * 鍑哄叆搴撴ā寮忚捣濮嬬珯鐐�
- */
- private Integer startSta;
-
- /**
- * 鍑哄叆搴撴ā寮忕洰鏍囩珯鐐�
- */
- private Integer distSta;
-
- /**
- * 鍑哄叆搴撴ā寮忔鏁�
- */
- private Integer outInModelStep;
-
- /**
- * 宸ヤ綔鏃堕棿
- */
- private Date wrkTime;
-
- public Short getLiftLockShortValue() {
- return liftLock ? (short) 1 : (short) 0;
- }
-
- /**
- * 璁剧疆鎻愬崌鏈虹姸鎬�
+ * 璁剧疆浠诲姟鐘舵��
*/
public void setProtocolStatus(Integer status) {
this.protocolStatus = status;
@@ -238,39 +135,128 @@
}
/**
- * 璁剧疆鎻愬崌鏈虹姸鎬�
+ * 璁剧疆浠诲姟鐘舵��
*/
public void setProtocolStatus(LiftProtocolStatusType status) {
this.protocolStatus = status.id;
this.protocolStatusType = status;
}
- // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
- public Boolean isIdle() {
- if(this.taskNo == null
- || this.liftLock == null
- || this.ready == null
- || this.running == null
- || this.mode == null
- || this.pakMk == null
- ){
- return false;
+ /**
+ * 璁剧疆浠诲姟妯″紡
+ */
+ public void setTaskMode(Integer taskMode) {
+ this.taskMode = taskMode;
+ this.modeType = LiftTaskModeType.get(taskMode);
+ }
+
+ /**
+ * 璁剧疆浠诲姟妯″紡
+ */
+ public void setMode(LiftTaskModeType taskMode) {
+ this.taskMode = taskMode.id;
+ this.modeType = taskMode;
+ }
+
+ /**
+ * 璁剧疆鍑哄叆搴撴ā寮�
+ */
+ public void setIOMode(Integer ioMode) {
+ this.iOMode = ioMode;
+ this.iOModeType = LiftIoModeType.get(ioMode);
+ }
+
+ /**
+ * 璁剧疆鍑哄叆搴撴ā寮�
+ */
+ public void setIOMode(LiftIoModeType ioMode) {
+ this.iOMode = ioMode.id;
+ this.iOModeType = ioMode;
+ }
+
+ /**
+ * 閿欒鐮�
+ */
+ 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();
+ }
+
+ 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.parseInt(String.valueOf(o));
+ }
+ }
+ return this.taskNo == null ? 0 : this.taskNo;
+ }
+
+ public String getModel$() {
+ if (this.model == null) {
+ return "";
}
- boolean res = this.taskNo == 0
- && !this.liftLock
-// && this.ready
- && !this.running
- && this.mode
- && this.pakMk.equals(true)
- && !this.securityMk
- ;
- return res;
+ String name = "";
+ if (this.model == 0) {
+ name = "鎵嬪姩";
+ } else if (this.model == 1) {
+ name = "鍗曟満";
+ }else if (this.model == 2) {
+ name = "鑱旀満";
+ }
+ return name;
}
- public void setPositionArrivalFeedback(Short position) {
- this.lev = position;//灞傞珮
- this.positionArrivalFeedback = position;//浣嶇疆鍒拌揪鍙嶉
+ public String getProtocolStatus$() {
+ if (this.protocolStatus == null) {
+ return "";
+ }
+
+ return LiftProtocolStatusType.get(this.protocolStatus).desc;
}
+ public String getDeviceStatus$() {
+ if (this.deviceStatus == null) {
+ return "";
+ }
+
+ return LiftDeviceStatusType.get(this.deviceStatus).desc;
+ }
+
+ public String getTaskMode$() {
+ if (this.taskMode == null) {
+ return "";
+ }
+
+ return LiftTaskModeType.get(this.taskMode).desc;
+ }
+
+ public String getIOMode$() {
+ if (this.iOMode == null) {
+ return "";
+ }
+
+ return LiftIoModeType.get(this.iOMode).desc;
+ }
+
+ @Override
+ public LiftProtocol clone() {
+ try {
+ return (LiftProtocol) super.clone();
+ } catch (CloneNotSupportedException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+
}
--
Gitblit v1.9.1