From ea9b2ddb6c523088b4800337478ffa0bac880766 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 26 十月 2023 15:50:03 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/model/protocol/SteProtocol.java | 349 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 338 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/zy/core/model/protocol/SteProtocol.java b/src/main/java/com/zy/core/model/protocol/SteProtocol.java
index 82e95dd..5ed0d12 100644
--- a/src/main/java/com/zy/core/model/protocol/SteProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/SteProtocol.java
@@ -1,14 +1,20 @@
package com.zy.core.model.protocol;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasSte;
+import com.zy.asrs.service.BasSteService;
+import com.zy.core.News;
import com.zy.core.enums.SteHisTaskStatusType;
import com.zy.core.enums.SteLocaType;
import com.zy.core.enums.SteStatusType;
import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
/**
* Created by vincent on 2020/8/7
*/
+@Slf4j
@Data
public class SteProtocol {
@@ -34,6 +40,11 @@
public SteStatusType statusType;
/**
+ * 浠诲姟鍙�
+ */
+ public Short taskNo = 0;
+
+ /**
* 姝e湪鎵ц浠诲姟
*/
public Boolean execute;
@@ -47,18 +58,24 @@
/**
* 寮傚父鐮�1
*/
- public Integer alarm;
+ public Short alarm;
/**
* 寮傚父鐮�2
*/
- public Integer alarm0;
+ public Short alarm0;
/**
* 鐢垫睜鐢甸噺
*/
- public Short charge;
+ public Float charge = 0.0F;
+
+ public void setCharge(Float charge) {
+ if (charge >= 0) {
+ this.charge = charge;
+ }
+ }
/**
* 婊$數
@@ -75,7 +92,6 @@
*/
public Short feed;
-
/**
* 褰撳墠浣嶇疆 1锛岃繎鐐癸紝2杩滅偣锛�3A鐐癸紝4B鐐�
*/
@@ -91,7 +107,7 @@
/**
* 褰撳墠閫熷害
*/
- public Double speed;
+ public Double speed = 0.0D;
/**
* 楂樹綆浣� 0锛屼綆浣嶏紝1楂樹綅
@@ -107,11 +123,6 @@
* 鍦ㄨ建閬撲笂 0涓嶅湪锛�1鍦�
*/
public Short track;
-
- /**
- * 浠诲姟鍙�
- */
- public Integer taskNo = 0;
/**
* 浠诲姟绫诲瀷
@@ -181,6 +192,269 @@
*/
public Short crnAllowRun;
+ /**
+ * 鍏呯數鐘舵�� 1锛氬湪鍏呯數锛�0锛氫笉鍦ㄥ厖鐢�
+ */
+ private Short chargeStatus;
+
+ // 鍏ュ簱鍙栫┖
+ private Boolean inEmpty;
+
+ // 鍑哄簱鍙栫┖
+ private Boolean outEmpty;
+
+ // 绌挎杞﹀紓甯� ------------------------------------------------------------------------
+
+ /**
+ * 0.鍗囬檷瓒呮椂鎶ヨ
+ */
+ private boolean liftErr;
+
+ /**
+ * 2.鍏ュ簱鍙栫┖鎶ヨ
+ */
+ private boolean inFetchErr;
+
+ /**
+ * 3.鍑哄簱鍙栫┖鎶ヨ
+ */
+ private boolean outFetchErr;
+
+ /**
+ * 4.闃叉挒淇濇姢
+ */
+ private boolean antiErr;
+
+ /**
+ * 5.鍗囬檷鎺ヨ繎寮�鍏虫晠闅�
+ */
+ private boolean liftSwitchErr;
+
+ /**
+ * 6.杞ㄩ亾妫�娴嬫姤璀�
+ */
+ private boolean trackErr;
+
+ /**
+ * 7.璁惧杩愯瓒呮椂鎶ヨ
+ */
+ private boolean timeoutErr;
+
+ /**
+ * 8.閫氫俊閿欒鎶ヨ
+ */
+ private boolean connectErr;
+
+ /**
+ * 9.璁惧鎬ュ仠
+ */
+ private boolean emergencyErr;
+
+ /**
+ * 10.浠诲姟绫诲瀷缂哄け
+ */
+ private boolean taskTypeErr;
+
+ /**
+ * 11.浠诲姟鍙风己澶�
+ */
+ private boolean taskNoErr;
+
+ /**
+ * 12.杩愯涓湁鏂颁换鍔�
+ */
+ private boolean newTaskErr;
+
+ /**
+ * 13.鏁呴殰涓湁浠诲姟
+ */
+ private boolean errTaskErr;
+
+ /**
+ * 14.杩愯涓仠姝�
+ */
+ private boolean stopErr;
+
+ /**
+ * 15.鑴辨満妯″紡涓嬫湁浠诲姟
+ */
+ private boolean offlineTaskErr;
+
+ /**
+ * 16.鏉′欢鏈弧瓒冲惎鍔ㄤ换鍔�
+ */
+ private boolean startTaskErr;
+
+ /**
+ * 17.浣庣數鍘嬫椂鏈変换鍔�
+ */
+ private boolean voltageTaskErr;
+
+ /**
+ * 63.璁惧鏁呴殰鏍囧織浣�
+ */
+ private boolean devpErr;
+ // 绌挎杞﹀紓甯� ------------------------------------------------------------------------
+
+ // 绌挎杞︽彁绀轰俊鎭� ------------------------------------------------------------------------
+ /**
+ * 64.鑱旀満鐘舵��
+ */
+ private boolean online;
+
+ /**
+ * 65.涓嶅湪杞ㄩ亾涓�
+ */
+ private boolean notOnTrack;
+
+ /**
+ * 66.浣庣數閲忔彁閱�
+ */
+ private boolean lowVoltage;
+
+ /**
+ * 67.浜忕數涓�
+ */
+ private boolean electricityLoss;
+
+ /**
+ * 68.寮哄埗琛岃蛋鍚姩
+ */
+ private boolean forcedTravel;
+
+ /**
+ * 69.婕旂ず妯″紡寮�鍚�
+ */
+ private boolean demoMode;
+
+ /**
+ * 70.鍏呯數鍒峰凡鎺ラ��
+ */
+ private boolean brushConnect;
+
+ /**
+ * 71.浠诲姟涓姝㈡墜鍔�
+ */
+ private boolean taskManualForbid;
+
+ /**
+ * 72.鑱旀満涓姝㈡墜鍔�
+ */
+ private boolean onlineManualForbid;
+
+ /**
+ * 73.璁惧鎬ュ仠涓�
+ */
+ private boolean devpEmergency;
+
+ /**
+ * 74.浠诲姟涓柇涓�
+ */
+ private boolean taskInterrupt;
+
+ /**
+ * 75.浠诲姟宸叉竻闄�
+ */
+ private boolean taskClear;
+
+ /**
+ * 76.浠诲姟纭宸茶秴鏃�
+ */
+ private boolean taskConfirmTimeout;
+
+ /**
+ * 77.鍏呯數涓湁浠诲姟
+ */
+ private boolean taskWithCharge;
+
+ // 浠诲姟淇℃伅 ---------------------------------------------------------
+ /**
+ * 96.鍏ュ簱浠诲姟涓�
+ */
+ private boolean pakInTask;
+
+ /**
+ * 97. 鍑哄簱浠诲姟涓�
+ */
+ private boolean pakOutTask;
+
+ /**
+ * 98. 绉诲簱浠诲姟涓�
+ */
+ private boolean pakMoveTask;
+
+ /**
+ * 99. 鍥炲師鐐逛换鍔′腑
+ */
+ private boolean goHpTask;
+
+ /**
+ * 100. 鍘诲弽鍘熺偣浠诲姟涓�
+ */
+ private boolean goOHpTask;
+
+ /**
+ * 101. 鍘诲師鐐归伩璁╀綅
+ */
+ private boolean goHpAvoid;
+
+ /**
+ * 102. 鍘诲弽鍘熺偣閬胯浣�
+ */
+ private boolean goOHpAvoid;
+
+ /**
+ * 104. 鍏ュ簱鍙栫┖缁撴潫
+ */
+ private boolean pakInEmpty;
+
+ /**
+ * 105. 鍏ュ簱姝e父缁撴潫
+ */
+ private boolean pakInFinish;
+
+ /**
+ * 106. 鍑哄簱鍙栫┖缁撴潫
+ */
+ private boolean pakOutEmpty;
+
+ /**
+ * 107. 鍑哄簱姝e父缁撴潫
+ */
+ private boolean pakOutFinish;
+
+ /**
+ * 108. 鍘诲師鐐归伩璁╁畬鎴�
+ */
+ private boolean goHpAvoidFinish;
+
+ /**
+ * 109. 鍘诲弽鍘熺偣閬胯瀹屾垚
+ */
+ private boolean goOHpAvoidFinish;
+
+ /**
+ * 110. 鍘诲師鐐归伩璁╁畬鎴�
+ */
+ private boolean goHpAvoidErr;
+
+ /**
+ * 111. 鍘诲弽鍘熺偣閬胯瀹屾垚
+ */
+ private boolean goOHpAvoidErr;
+
+ // 鐘舵�佷俊鎭� ---------------------------------------------------------
+ /**
+ * 112. 鑱旀満妯″紡
+ */
+ private boolean autoMode;
+
+ /**
+ * 113. 鐢靛帇杩囦綆
+ */
+ private boolean voltageLow;
+
+
public void setStatus(Short status){
this.status = status;
this.statusType = SteStatusType.get(status);
@@ -218,12 +492,65 @@
*/
private String lastIo = "I";
+ private String pakMk = "-";
public BasSte toSqlModel(BasSte basSte){
if (alarm!=null) {
basSte.setSteErr(alarm.longValue());
}
- basSte.setWrkNo(taskNo);
+ basSte.setWrkNo(taskNo.intValue());
+// if (basSte.getPakMk().equals("N")) {
+// if (!Cools.isEmpty(row)) {
+// basSte.setRow(row.intValue());
+// }
+// if (!Cools.isEmpty(bay)) {
+// basSte.setBay(bay.intValue());
+// }
+// if (!Cools.isEmpty(lev)) {
+// basSte.setLev(lev.intValue());
+// }
+// }
return basSte;
}
+
+ // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
+ public Boolean isIdle() {
+ boolean res = this.statusType.equals(SteStatusType.IDLE)
+ && this.mode == 1
+ && this.pakMk.equals("N")
+ && !isAlarm()
+ && this.chargeStatus == 0
+ && isEnable()
+ ;
+ if (!res) {
+ return res;
+ } else {
+ // 鐢甸噺
+ try {
+ String chargeLine = SpringUtils.getBean(BasSteService.class).selectById(this.steNo).getChargeLine();
+ return charge > Float.parseFloat(chargeLine);
+ } catch (Exception e) {
+ News.error("fail", e);
+ return false;
+ }
+ }
+ }
+
+ // 灏忚溅鐢甸噺
+ public Float isIdle2() {
+ return this.charge;
+ }
+
+ // 鏄惁澶勪簬鎶ヨ鐘舵��
+ public Boolean isAlarm() {
+ return this.alarm > 1;
+ }
+
+ public Boolean isEnable() {
+ if (Cools.isEmpty(row, bay, lev)) {
+ return false;
+ }
+ return row > 0 && bay > 0 && lev > 0;
+ }
+
}
--
Gitblit v1.9.1