From 945764de58898661a3f3197e58353141b5deaf91 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 22 十月 2025 16:21:15 +0800
Subject: [PATCH] 侧面输送线出入库流程对接
---
src/main/java/com/zy/core/model/protocol/StaProtocol.java | 220 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 212 insertions(+), 8 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 358631e..51fe31a 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -3,6 +3,9 @@
import com.zy.asrs.entity.BasDevp;
import lombok.Data;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* 杈撻�佺嚎plc鍗曚釜绔欑偣璇︾粏淇℃伅
* Created by vincent on 2020/8/6
@@ -37,31 +40,232 @@
// 绌烘澘淇″彿
private boolean emptyMk;
+ // 婊℃墭鐩�
+ private boolean fullPlt;
+
// 楂�
- private boolean high;
+ private boolean high = false;
// 浣�
private boolean low;
- // 闇�姹�1
- private boolean inreq1;
+ //agv
+ private boolean car;
// 閿佸畾鏍囪
private boolean pakMk = true;
+ // 鍏ュ簱鏆傚瓨鏁�
+ private Short inQty;
- public BasDevp toSqlModel(){
+ // 闅斿绔欑偣锛堝彴杞︿綅缃級
+ private String nearbySta;
+
+ //鎸囦护ID
+ private Integer commandId;
+
+ // 鐗╂枡鍙峰垪琛�
+ private List<String> matIdList;
+
+ // 楂樺害
+ private String height;
+
+ // 鏉$爜锛屼晶闈㈠嚭搴撶粰杈撻�佺嚎
+ private String barcode;
+
+ /**
+ * 1锛氱爜鐩樸�� 2涓嶇爜鐩�
+ */
+ private short mp;
+
+ /**
+ * 宸ヨ绫诲瀷 WMS涓嬪彂 N65/N87/G4X/B10 WCS杞崲涓�4锛孨74/PPE 杞崲涓�3
+ */
+ private short lx;
+
+ /**
+ * 鐮佺洏灞傛暟
+ */
+ private short lev;
+
+ /**
+ * 鐮佺洏瀹屾垚鏍囪瘑 0.鏈畬鎴愶紝1.瀹屾垚
+ */
+ private short mpCompletedFlag;
+
+ // 澶栧舰妫�娴� ------------------------------------------------------------------------
+
+ // 鍓嶈秴闄�
+ 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 pushTheEnvelopeErr = false; // 鎻愬崌涓婃瀬闄�
+
+ private Boolean raiseTheLowerLimitErr = false; // 鎻愬崌涓嬫瀬闄�
+
+ private Boolean leftProtectionTriggersErr = false; // 宸︿繚鎶よЕ鍙�
+
+ private Boolean rightProtectionTriggersErr = false; // 鍙充繚鎶よЕ鍙�
+
+ private Boolean gratingBlockingErr = false; // 鍏夋爡闃绘尅
+
+ private Short agvStartPick; //鍏佽鍙栬揣
+ private Short agvStartPlace; //鍏佽鏀捐揣
+ private Short agvTypeSign; //鍏佽鏀捐揣
+
+ private Short agvTargetPick; //鍙栬揣瀹屾垚
+ private Short agvTargetPlace; //鏀捐揣瀹屾垚
+ private Short agvTypeSignEnd; //鏀捐揣瀹屾垚
+
+ private List<Integer> alarm;
+
+ // 鑾峰彇鏁呴殰鎻忚堪
+ public String getFaultDescription(){
+ String faultDescription = "";
+ if (breakerErr) {
+ faultDescription = "鐢佃矾淇濇姢鍣ㄦ柇寮�";
+ } else if(infraredErr) {
+ faultDescription = "鍏夌數寮傚父(妫�鏌ユ墭鐩樻槸鍚﹀崱浣�)";
+ }else if(outTimeErr) {
+ faultDescription = "杩愯瓒呮椂(妫�鏌ユ墭鐩樻槸鍚﹀崱浣�)";
+ }else if(seizeSeatErr) {
+ faultDescription = "鍗犱綅瓒呮椂(妫�鏌GV鏄惁闀挎椂闂撮樆鎸″厜鐢典笖鏃犱氦浜掍俊鍙�)";
+ }else if(wrkYgoodsN) {
+ faultDescription = "鏈変换鍔℃棤璐ф晠闅�(AGV鍙栬揣绂诲紑鍚庨暱鏃堕棿娌℃湁鏀跺埌AGV绂诲紑淇″彿)";
+ }else if(inverterErr) {
+ faultDescription = "鍙橀鍣ㄦ晠闅�:";
+ }else if(contactErr) {
+ faultDescription = "鎺ヨЕ鍣ㄦ晠闅�";
+ }else if(upcontactErr) {
+ faultDescription = "椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�";
+ } else if(pushTheEnvelopeErr) {
+ faultDescription = "鎻愬崌涓婃瀬闄�";
+ } else if(raiseTheLowerLimitErr) {
+ faultDescription = "鎻愬崌涓嬫瀬闄�";
+ } else if(leftProtectionTriggersErr) {
+ faultDescription = "淇濇姢鍏夌數瑙﹀彂(妫�鏌GV鏀捐揣浣嶇疆)";
+ } else if(rightProtectionTriggersErr) {
+ faultDescription = "鍙充繚鎶よЕ鍙�";
+ } else if(gratingBlockingErr) {
+ faultDescription = "鍏夋爡闃绘尅";
+ }
+ return faultDescription;
+ }
+
+ public List<Integer> getAlarm() {
+ List<Integer> alarm = new ArrayList<>();
+ if (breakerErr) {
+ alarm.add(1);
+ }
+ if (infraredErr) {
+ alarm.add(2);
+ }
+ if (outTimeErr) {
+ alarm.add(3);
+ }
+ if (seizeSeatErr) {
+ alarm.add(4);
+ }
+ if (wrkYgoodsN) {
+ alarm.add(5);
+ }
+ if (inverterErr) {
+ alarm.add(6);
+ }
+ if (contactErr) {
+ alarm.add(7);
+ }
+ if (upcontactErr) {
+ alarm.add(8);
+ }
+ return alarm;
+ }
+
+
+ public BasDevp toSqlModel() {
BasDevp basDevp = new BasDevp();
basDevp.setDevNo(siteId);
basDevp.setWrkNo(workNo.intValue());
- basDevp.setAutoing(autoing?"Y":"N");
- basDevp.setLoading(loading?"Y":"N");
- basDevp.setInEnable(inEnable?"Y":"N");
- basDevp.setOutEnable(outEnable?"Y":"N");
+ basDevp.setAutoing(autoing ? "Y" : "N");
+ basDevp.setLoading(loading ? "Y" : "N");
+ if (frontErr) {
+ basDevp.setStaErr(11);
+ } else if (backErr) {
+ basDevp.setStaErr(12);
+ } else if (highErr) {
+ basDevp.setStaErr(13);
+ } else if (leftErr) {
+ basDevp.setStaErr(14);
+ } else if (rightErr) {
+ basDevp.setStaErr(15);
+ } else if (weightErr) {
+ basDevp.setStaErr(16);
+ } else if (barcodeErr) {
+ basDevp.setStaErr(17);
+ } else if (breakerErr) {
+ basDevp.setStaErr(18);
+ } else if (infraredErr) {
+ basDevp.setStaErr(19);
+ } else if (outTimeErr) {
+ basDevp.setStaErr(110);
+ } else if (seizeSeatErr) {
+ basDevp.setStaErr(111);
+ } else if (wrkYgoodsN) {
+ basDevp.setStaErr(112);
+ } else if (inverterErr) {
+ basDevp.setStaErr(113);
+ } else if (contactErr) {
+ basDevp.setStaErr(114);
+ } else if (upcontactErr) {
+ basDevp.setStaErr(115);
+ } else {
+ if (!loading) {
+ basDevp.setStaErr(0);
+ }
+ }
+ 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.setAgvStartPick(agvStartPick.intValue());
+// basDevp.setAgvStartPlace(agvStartPlace.intValue());
return basDevp;
}
--
Gitblit v1.9.1