From 82374fe4b32d58956810f445b7889f1a370f1ab9 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 27 十月 2025 15:26:13 +0800
Subject: [PATCH] #配置信号
---
src/main/java/com/zy/core/model/protocol/StaProtocol.java | 239 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 234 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 436f03b..8bcba40 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -1,5 +1,7 @@
package com.zy.core.model.protocol;
+import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.BasDevpErrorLog;
import lombok.Data;
/**
@@ -7,18 +9,20 @@
* Created by vincent on 2020/8/6
*/
@Data
-public class StaProtocol {
+public class StaProtocol implements Cloneable {
// 绔欑偣缂栧彿
private Integer siteId;
// ----------------------------------------------------------------
// 宸ヤ綔鍙�
- private Short workNo = 0;
+ private Integer workNo = 0;
// ----------------------------------------------------------------
// 鐩爣绔�
private Short staNo;
+
+ private String barcode;
// ----------------------------------------------------------------
// 鑷姩
@@ -36,11 +40,236 @@
// 绌烘澘淇″彿
private boolean emptyMk;
- // 闇�姹�1
- private boolean inreq1;
+ // 婊℃墭鐩�
+ private boolean fullPlt;
+
+ // 楂�
+ private boolean high;
+
+ // 浣�
+ private boolean low;
+
+ // 鍙犵洏鍙犳弧
+ private boolean full;
// 閿佸畾鏍囪
- private boolean pakMk;
+ private boolean pakMk = true;
+ // 鍏ュ簱鏆傚瓨鏁�
+ private Short inQty;
+
+ // 闅斿绔欑偣锛堝彴杞︿綅缃級
+ private String nearbySta;
+
+ //lfd鍏ュ簱鍗拌 褰搒tamp>=2鏃舵墠鍏ュ簱
+ private Integer stamp = 0;
+
+ private boolean err = false;
+
+
+
+ // 澶栧舰妫�娴� ------------------------------------------------------------------------
+
+ // 鍓嶈秴闄�
+ private boolean frontErr = false;
+
+ // 鍚庤秴闄�
+ private boolean backErr = false;
+
+ // 楂樿秴闄�
+ private boolean highErr = false;
+
+ // 宸﹁秴闄�
+ private boolean leftErr = false;
+
+ // 鍙宠秴闄�
+ private boolean rightErr = false;
+
+ // 瓒呴噸
+ private boolean weightErr = false;
+
+ // 鎵爜澶辫触
+ private boolean barcodeErr = false;
+
+ //鏁呴殰-----------------------------------------------------------------------
+ private Boolean breakerErr = false; //鏂矾鍣ㄦ晠闅�
+
+ private Boolean infraredErr = false; //鍏夌數寮傚父
+
+ private Boolean outTimeErr = false; //杩愯瓒呮椂
+
+ private Boolean seizeSeatErr = false; //鍗犱綅瓒呮椂
+
+ private Boolean wrkYgoodsN = false;//鏈変换鍔℃棤璐ф晠闅�
+
+ private Boolean inverterErr = false; //鍙橀鍣ㄦ晠闅�
+
+ private Boolean contactErr = false; //鐢垫満鎺ヨЕ鍣ㄦ晠闅�
+
+ private Boolean upcontactErr = false; //椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�
+
+ //鏁呴殰淇″彿--------------------------------------------------------
+
+ // 鏁呴殰璇诲彇閿佸畾鏍囪
+ private boolean errorMk = false;
+ //鍐欏叆鏍囪
+ private boolean writeMk = true;
+ private Boolean passTimeOut = false; //鐗╀綋杩涘嚭瓒呮椂
+ private Boolean objectNoIdError = false; //鏈夌墿浣撴棤鏁版嵁
+ private Boolean idNoObjectError = false; //鏈夋暟鎹棤鐗╀綋
+ private Boolean lmfrError = false; //绾夸綋鐢垫満鐑户鎶ヨ
+ private Boolean liftError = false; //椤跺崌鎶ヨ
+ private Boolean dlfrError = false; //椤跺崌鐢垫満鐑户鎶ヨ
+ private Boolean dmfrError = false; //椤跺崌妯Щ鐢垫満鐑户鎶ヨ
+ private Boolean vfdError = false; //鍙橀鏁呴殰
+ private Boolean srvError = false; //浼烘湇鏁呴殰
+ private Boolean res1 = false; //棰勭暀1
+ private Boolean res2 = false; //棰勭暀2
+ private Boolean res3 = false; //棰勭暀3
+ private Boolean communicationTimeOut = false; //涓庝笂浣嶆満閫氳瓒呮椂
+ private Boolean parameterIncompleteError = false; //淇℃伅鍙傛暟涓嶅叏
+ private Boolean dataNotClear = false; //淇℃伅鏁版嵁鏈竻闄�
+ private Boolean setParameterError = false; //鍙傛暟璁剧疆鎶ヨ
+ private Boolean res4 = false; //棰勭暀4
+ private Boolean res5 = false; //棰勭暀5
+ private Boolean dataError = false; //鏁版嵁閿欒
+ //閰嶇疆淇″彿
+ private Boolean sensorGArrive = false; //鐩寸嚎鍏夌數
+ private Boolean sensorGDec = false; //鍑忛�熷厜鐢�
+ private Boolean sensorGArrive2 = false; //鐩寸嚎鍑稿嚭
+ private Boolean sensorLimit = false; //闄愪綅淇濇姢鍏夌數
+ private Boolean emergency = false; //鎬ュ仠
+ private Boolean sensorGLeave = false; //鍏夌數绂诲紑1
+ private Boolean sensorGLeave2 = false; //鍏夌數绂诲紑2
+ private Boolean sensorCUp = false; //椤跺崌涓婂崌
+ private Boolean sensorCDown = false; //椤跺崌涓嬮檷
+ private Boolean liftMotorFr = false; //椤跺崌鐑户
+ private Boolean lineMotorFr = false; //鐩寸嚎鐑户
+ private Boolean tranMotorFr = false; //绉绘牻鐑户
+ private Boolean rst1 = false; //澶囩敤1
+ private Boolean rst2 = false; //澶囩敤2
+ private Boolean rst3 = false; //澶囩敤3
+ private Boolean rst4 = false; //澶囩敤4
+ private Boolean sensorArriveD = false; //鐩磋鏂瑰悜鍒颁綅
+ private Boolean sensorDecD = false; //鐩磋鏂瑰悜鍑忛��
+ private Boolean sensorArriveL = false; //宸︾Щ鏂瑰悜鍒颁綅
+ private Boolean sensorDecL = false; //宸︾Щ鏂瑰悜鍑忛��
+ private Boolean sensorArriveR = false; //鍙崇Щ鏂瑰悜鍒颁綅
+ private Boolean sensorDecR = false; //鍙崇Щ鏂瑰悜鍑忛��
+
+
+ public BasDevpErrorLog toSqlModelError(){
+ BasDevpErrorLog basDevpErrorLog = new BasDevpErrorLog();
+ basDevpErrorLog.setDevNo(siteId); // 璁惧鍙凤紙鍋囪鏈夊畾涔� siteId锛�
+ basDevpErrorLog.setPassTimeOut(passTimeOut ? "Y" : "N");
+ basDevpErrorLog.setObjectNoIdError(objectNoIdError ? "Y" : "N");
+ basDevpErrorLog.setIdNoObjectError(idNoObjectError ? "Y" : "N");
+ basDevpErrorLog.setLmfrError(lmfrError ? "Y" : "N");
+ basDevpErrorLog.setLiftError(liftError ? "Y" : "N");
+ basDevpErrorLog.setDlfrError(dlfrError ? "Y" : "N");
+ basDevpErrorLog.setDmfrError(dmfrError ? "Y" : "N");
+ basDevpErrorLog.setVfdError(vfdError ? "Y" : "N");
+ basDevpErrorLog.setSrvError(srvError ? "Y" : "N");
+ basDevpErrorLog.setRes1(res1 ? "Y" : "N");
+ basDevpErrorLog.setRes2(res2 ? "Y" : "N");
+ basDevpErrorLog.setRes3(res3 ? "Y" : "N");
+ basDevpErrorLog.setCommunicationTimeOut(communicationTimeOut ? "Y" : "N");
+ basDevpErrorLog.setParameterIncompleteError(parameterIncompleteError ? "Y" : "N");
+ basDevpErrorLog.setDataNotClear(dataNotClear ? "Y" : "N");
+ basDevpErrorLog.setSetParameterError(setParameterError ? "Y" : "N");
+ basDevpErrorLog.setInEnable(res4 ? "Y" : "N");
+ basDevpErrorLog.setOutEnable(res5 ? "Y" : "N");
+ basDevpErrorLog.setDataError(dataError ? "Y" : "N");
+ // 閰嶇疆淇″彿
+ basDevpErrorLog.setSensorGArrive(sensorGArrive ? "Y" : "N");
+ basDevpErrorLog.setSensorGDec(sensorGDec ? "Y" : "N");
+ basDevpErrorLog.setSensorGArrive2(sensorGArrive2 ? "Y" : "N");
+ basDevpErrorLog.setSensorLimit(sensorLimit ? "Y" : "N");
+ basDevpErrorLog.setEmergency(emergency ? "Y" : "N");
+ basDevpErrorLog.setSensorGLeave(sensorGLeave ? "Y" : "N");
+ basDevpErrorLog.setSensorGLeave2(sensorGLeave2 ? "Y" : "N");
+ basDevpErrorLog.setSensorCUp(sensorCUp ? "Y" : "N");
+ basDevpErrorLog.setSensorCDown(sensorCDown ? "Y" : "N");
+ basDevpErrorLog.setLiftMotorFr(liftMotorFr ? "Y" : "N");
+ basDevpErrorLog.setLineMotorFr(lineMotorFr ? "Y" : "N");
+ basDevpErrorLog.setTranMotorFr(tranMotorFr ? "Y" : "N");
+ basDevpErrorLog.setRst1(rst1 ? "Y" : "N");
+ basDevpErrorLog.setRst2(rst2 ? "Y" : "N");
+ basDevpErrorLog.setRst3(rst3 ? "Y" : "N");
+ basDevpErrorLog.setRst4(rst4 ? "Y" : "N");
+ basDevpErrorLog.setSensorArriveD(sensorArriveD ? "Y" : "N");
+ basDevpErrorLog.setSensorDecD(sensorDecD ? "Y" : "N");
+ basDevpErrorLog.setSensorArriveL(sensorArriveL ? "Y" : "N");
+ basDevpErrorLog.setSensorDecL(sensorDecL ? "Y" : "N");
+ basDevpErrorLog.setSensorArriveR(sensorArriveR ? "Y" : "N");
+ basDevpErrorLog.setSensorDecR(sensorDecR ? "Y" : "N");
+
+ return basDevpErrorLog;
+ }
+
+
+
+ public Boolean isErr(){
+ if (frontErr || backErr || highErr || leftErr || rightErr || weightErr || barcodeErr){
+ return true;
+ }else {
+ return false;
+ }
+ }
+
+ public BasDevp toSqlModel(){
+ BasDevp basDevp = new BasDevp();
+ basDevp.setDevNo(siteId);
+ basDevp.setWrkNo(workNo.intValue());
+ basDevp.setBarcode(barcode);
+ basDevp.setAutoing(autoing?"Y":"N");
+ basDevp.setLoading(loading?"Y":"N");
+ basDevp.setInEnable(inEnable?"Y":"N");
+ basDevp.setOutEnable(outEnable?"Y":"N");
+ basDevp.setLocType1((short) 0); // 楂樹綆绫诲瀷{0:鏈煡,1:浣庡簱浣�,2:楂樺簱浣峿
+ basDevp.setLocType2((short) 0); // 瀹界獎绫诲瀷{0:鏈煡,1:绐勫簱浣�,2:瀹藉簱浣峿
+ basDevp.setLocType3((short) 0); // 杞婚噸绫诲瀷{0:鏈煡,1:杞诲簱浣�,2:閲嶅簱浣峿
+ basDevp.setLocType1(high != low && low ? (short) 1 : (short) 2);
+ basDevp.setInQty(inQty !=null ?(int)inQty : 0);
+ basDevp.setBarcode(this.getBarcode());
+ return basDevp;
+ }
+
+ @Override
+ public StaProtocol clone() {
+ try {
+ return (StaProtocol) super.clone();
+ } catch (CloneNotSupportedException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+// public Integer getNearbySta() {
+// if (getNearbySta == null) return 0;
+//
+// // key: 绔欑偣鍙� value: 鍩哄噯鐗╃悊浣嶇疆
+// Map<Integer, Integer> posMap = new HashMap<>();
+// posMap.put(1004, 6534);
+// posMap.put(1007, 33634);
+// posMap.put(1010, 75174);
+// posMap.put(1014, 102124);
+// posMap.put(1018, 138224);
+// posMap.put(1021, 178034);
+// posMap.put(1024, 219684);
+// posMap.put(1028, 246724);
+// posMap.put(1031, 288194);
+// posMap.put(1035, 315204);
+// int tolerance = 50; // 鍏佽璇樊鑼冨洿
+//
+// for (Map.Entry<Integer, Integer> entry : posMap.entrySet()) {
+// int site = entry.getKey();
+// int basePos = entry.getValue();
+// if (Math.abs(getNearbySta - basePos) <= tolerance) {
+// return site;
+// }
+// }
+//
+// return 0; // 娌″尮閰嶅埌绔欑偣
+// }
}
--
Gitblit v1.9.1