From 4747e5dcb4066161b42a7a54cab542949ad5826c Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 29 九月 2025 13:36:00 +0800
Subject: [PATCH] #和得服务器

---
 src/main/java/com/zy/core/model/protocol/StaProtocol.java |  148 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 140 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 53f11ec..9dd8082 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -1,17 +1,32 @@
 package com.zy.core.model.protocol;
 
+import com.zy.asrs.entity.BasDevp;
 import lombok.Data;
+
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * 杈撻�佺嚎plc鍗曚釜绔欑偣璇︾粏淇℃伅
  * Created by vincent on 2020/8/6
  */
 @Data
-public class StaProtocol {
+public class StaProtocol implements Cloneable {
 
     // 绔欑偣缂栧彿
     private Integer siteId;
 
+    // ----------------------------------------------------------------
+    // 宸ヤ綔鍙�
+    private Integer workNo = 0;
+
+    // ----------------------------------------------------------------
+    // 鐩爣绔�
+    private Short staNo;
+
+    private String barcode;
+
+    // ----------------------------------------------------------------
     // 鑷姩
     private boolean autoing;
 
@@ -27,17 +42,134 @@
     // 绌烘澘淇″彿
     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 Integer workNO;
+    // 鍏ュ簱鏆傚瓨鏁�
+    private Short inQty;
 
-    // 鐩爣绔�
-    private Integer staNo;
+    // 闅斿绔欑偣锛堝彴杞︿綅缃級
+    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; //椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�
+
+    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);
+        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