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 |  203 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 200 insertions(+), 3 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..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,6 +1,7 @@
 package com.zy.core.model.protocol;
 
 import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.BasDevpErrorLog;
 import lombok.Data;
 
 /**
@@ -15,11 +16,13 @@
 
     // ----------------------------------------------------------------
     // 宸ヤ綔鍙�
-    private Short workNo = 0;
+    private Integer workNo = 0;
 
     // ----------------------------------------------------------------
     // 鐩爣绔�
     private Short staNo;
+
+    private String barcode;
 
     // ----------------------------------------------------------------
     // 鑷姩
@@ -37,23 +40,188 @@
     // 绌烘澘淇″彿
     private boolean emptyMk;
 
+    // 婊℃墭鐩�
+    private boolean fullPlt;
+
     // 楂�
     private boolean high;
 
     // 浣�
     private boolean low;
 
-    // 闇�姹�1
-    private boolean inreq1;
+    // 鍙犵洏鍙犳弧
+    private boolean full;
 
     // 閿佸畾鏍囪
     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");
@@ -62,6 +230,8 @@
         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;
     }
 
@@ -74,5 +244,32 @@
         }
         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