From 09fcc4ec56a1ce6c0fcb308348d8dd5e2c08d336 Mon Sep 17 00:00:00 2001 From: fyxc <fyxc@qq.com> Date: 星期四, 22 五月 2025 14:33:06 +0800 Subject: [PATCH] server commit files --- 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