From 0ae7648dae40c6b7efa15e276099da7a9213ad37 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期二, 23 九月 2025 22:13:13 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/protocol/RgvProtocol.java |  203 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 170 insertions(+), 33 deletions(-)

diff --git a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
index 8d220d2..da1eedd 100644
--- a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
@@ -5,6 +5,7 @@
 import com.zy.core.enums.RgvStatusType;
 import lombok.Data;
 
+import javax.swing.*;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -14,7 +15,7 @@
 @Data
 public class RgvProtocol implements Cloneable{
 
-    private Integer RgvNo;
+    private short RgvNo;
 
     /**
      * 1 = 鎵嬪姩妯″紡
@@ -25,13 +26,29 @@
 
     public RgvModeType modeType;
 
+    private transient Long loadingStartTime;
+
     /**
-     * RGV褰撳墠鐘舵��
+     * 鎵ц浼樺厛绾�
+     * 0:涓嶅垽鏂�
+     * 1锛氬伐浣�1鍏堟墽琛�
+     * 2锛氬伐浣�2鍏堟墽琛�
+     */
+    public Short wrkTaskPri;
+
+    public Short wrkTaskMove1;
+
+    public Short wrkTaskMove2;
+
+
+    /**
+     * RGV褰撳墠鐘舵�佸伐浣�1
      * 0锛氱┖闂诧紝鏃犱换鍔�
      * 1锛氫綔涓氫腑
      * 2锛氭姤璀�
      */
     public Short status;
+
 
     /**
      * 鐘舵�佹灇涓�
@@ -41,7 +58,7 @@
     /**
      * 宸ヤ綅1浠诲姟鍙�
      */
-    public Short taskNo1 = 0;
+    public Integer taskNo1 = 0;
 
     /**
      * RGV宸ヤ綅1褰撳墠鐘舵��
@@ -60,12 +77,18 @@
     /**
      * 宸ヤ綅1鏈夌墿
      */
-    public Short loaded1;
+    public Boolean loaded1;
 
     /**
      * RGV褰撳墠浣嶇疆
      */
-    public Short RgvPos;
+    public Integer RgvPos;
+
+    /**
+     * RGV褰撳墠鐩殑浣嶇疆
+     */
+    public Integer RgvPosDestination;
+
 
     /**
      * 璧拌鍦ㄥ畾浣�
@@ -74,30 +97,102 @@
      */
     public Short walkPos;
 
+    /**
+     * 鎬ュ仠
+     */
+    public Boolean err1;
+
+    /**
+     * 鏈夌墿鏃犺祫鏂�
+     */
+    public Boolean err2;
+
+    /**
+     * 鏈夎祫鏂欐棤鐗�
+     */
+    public Boolean err3;
+
+    /**
+     * 鍛戒护閿欒璧拌鑱旇皟鍐茬獊
+     */
+    public Boolean err4;
+
+    /**
+     * 鐩爣涓鸿秴杩囪璧版瀬闄�
+     */
+    public Boolean err5;
+
+    /**
+     *  鍙橀鍣ㄥ紓甯�
+     */
+    public Boolean err6;
+
+    /**
+     * 鍏夌數寮傚父
+     */
+    public Boolean err7;
+
     //////////////////////     宸ヤ綅2瀹氫箟   //////////////////////////////////////////////////
+    /**
+     * 宸ヤ綅2浠诲姟鍙�
+     */
+    public Integer taskNo2 = 0;
+
+    /**
+     * RGV宸ヤ綅2褰撳墠鐘舵��
+     * 0锛氱┖闂诧紝鏃犱换鍔�
+     * 11锛氬彇璐т腑
+     * 12锛氭斁璐т腑
+     * 10锛氫换鍔″畬鎴愮瓑寰匴CS纭
+     */
+    public Short status2;
+
+    /**
+     * 鐘舵�佹灇涓�
+     */
+    public RgvStatusType statusType2;
+
+    /**
+     * 宸ヤ綅2鏈夌墿
+     */
+    public Boolean loaded2;
+
 //    /**
-//     * 宸ヤ綅2浠诲姟鍙�
+//     * 鎬ュ仠
 //     */
-//    public Short taskNo2 = 0;
+//    public Boolean err21;
 //
 //    /**
-//     * RGV宸ヤ綅2褰撳墠鐘舵��
-//     * 0锛氱┖闂诧紝鏃犱换鍔�
-//     * 11锛氬彇璐т腑
-//     * 12锛氭斁璐т腑
-//     * 10锛氫换鍔″畬鎴愮瓑寰匴CS纭
+//     * 鏈夌墿鏃犺祫鏂�
 //     */
-//    public Short status2;
+//    public Boolean err22;
 //
 //    /**
-//     * 鐘舵�佹灇涓�
+//     * 鏈夎祫鏂欐棤鐗�
 //     */
-//    public RgvStatusType statusType2;
+//    public Boolean err23;
 //
 //    /**
-//     * 宸ヤ綅2鏈夌墿
+//     * 鍛戒护閿欒璧拌鑱旇皟鍐茬獊
 //     */
-//    public Short loaded2;
+//    public Boolean err24;
+//
+//    /**
+//     * 鐩爣涓鸿秴杩囪璧版瀬闄�
+//     */
+//    public Boolean err25;
+//
+//    /**
+//     *  鍙橀鍣ㄥ紓甯�
+//     */
+//    public Boolean err26;
+//
+//    /**
+//     * 鍏夌數寮傚父
+//     */
+//    public Boolean err27;
+
+
     ///////////////////////////////////////////////////////////////////////////////////////
 
     /**
@@ -165,15 +260,24 @@
         this.status1 = RgvStatusType.get(type1).id.shortValue();
     }
 
-//    public void setStatus2(Short status2){
-//        this.status2 = status2;
-//        this.statusType2 = RgvStatusType.get(status2);
-//    }
-//
-//    public void setStatus2(RgvStatusType type2){
-//        this.statusType2 = type2;
-//        this.status2 = RgvStatusType.get(type2).id.shortValue();
-//    }
+    public void setStatus2(Short status2){
+        this.status2 = status2;
+        this.statusType2 = RgvStatusType.get(status2);
+    }
+
+    public void setStatus2(RgvStatusType type2){
+        this.statusType2 = type2;
+        this.status2 = RgvStatusType.get(type2).id.shortValue();
+    }
+
+    public boolean isLoaded1ing() {
+        return Boolean.TRUE.equals(this.loaded1);
+    }
+
+    public boolean isLoaded2ing() {
+        return Boolean.TRUE.equals(this.loaded2);
+    }
+
 
     /**
      * 鏈�杩戜竴娆″叆鍑哄簱绫诲瀷
@@ -188,7 +292,7 @@
             basRgv.setRgvErr(alarm.longValue());
         }
         basRgv.setWrkNo1(taskNo1.intValue());
-//        basRgv.setWrkNo2(taskNo2.intValue());
+        basRgv.setWrkNo2(taskNo2.intValue());
         return basRgv;
     }
 
@@ -207,17 +311,50 @@
     public Integer getRgvPosI(){
         //闇�瑕佹牴鎹幇鍦烘敼閫�  鏍规嵁璇诲埌鐨勫�艰幏鍙栧搴旂珯鐐逛綅缃�
         Map<Short,Integer> map = new HashMap<>();
-        map.put((short) 1,100);map.put((short) 2,101);
-        map.put((short) 3,106);map.put((short) 4,107);
-        map.put((short) 5,112);map.put((short) 6,113);
-       map.put((short) 7,124); map.put((short) 8,119);
-        map.put((short) 9,149);map.put((short) 10,153);
-        map.put((short) 11,157);map.put((short) 12,161);
+        map.put((short) 1,1004);map.put((short) 2,1007);
+        map.put((short) 3,1010);map.put((short) 4,1014);
+        map.put((short) 5,1018);map.put((short) 6,1021);
+       map.put((short) 7,1024); map.put((short) 8,1028);
+        map.put((short) 9,1031);map.put((short) 10,1035);
+        map.put((short) 11,2003);map.put((short) 12,2006);
+        map.put((short) 13,2009);map.put((short) 14,2012);
+        map.put((short) 15,2015);map.put((short) 16,2018);
+        map.put((short) 17,2021);map.put((short) 18,2024);
+        map.put((short) 19,2027);map.put((short) 20,2030);
         if (RgvPos==null) return 0;
 
         return map.get(RgvPos);
     }
 
+    public Integer getRgvPosI2() {
+        if (RgvPos == 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(RgvPos - basePos) <= tolerance) {
+                return site;
+            }
+        }
+
+        return 0; // 娌″尮閰嶅埌绔欑偣
+    }
+
+
     @Override
     public RgvProtocol clone() {
         try {

--
Gitblit v1.9.1