From 276d837c0bb808e6d93ac7c7ba6abe654c75552e Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 09 二月 2026 08:45:45 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/protocol/CrnProtocol.java |  290 ++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 223 insertions(+), 67 deletions(-)

diff --git a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
index 3fbc73c..a07a8be 100644
--- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -1,5 +1,7 @@
 package com.zy.core.model.protocol;
 
+import com.zy.asrs.entity.BasCrnErrorLog;
+import com.zy.asrs.entity.BasCrnp;
 import com.zy.core.enums.CrnForkPosType;
 import com.zy.core.enums.CrnLiftPosType;
 import com.zy.core.enums.CrnModeType;
@@ -11,6 +13,8 @@
  */
 @Data
 public class CrnProtocol {
+
+    private Integer crnNo;
 
     /**
      * 1 = 鎵嬪姩妯″紡
@@ -93,19 +97,19 @@
     public Short walkPos;
 
     /**
-     * 鍫嗗灈鏈轰换鍔″畬鎴�
-     */
-    public Short taskFinish;
-
-    /**
      * 杞借揣鍙版湁鐗�
      */
     public Short loaded;
 
-    /**
-     * 寮傚父鐮侊紙鏁板�兼樉绀猴級
-     */
-    private Short alarm1;
+    private Short temp1;
+
+    private CrnTemp1 crnTemp1;
+
+    private Short temp2;
+
+    private Short temp3;
+
+    private Short temp4;
 
     /**
      * 寮傚父1
@@ -184,6 +188,175 @@
      */
     public Float yDuration;
 
+    //鍫嗗灈鏈洪厤缃俊鍙�--------------------------------------------------------------
+    public java.util.List<java.util.Map<String, Object>> getExceptions() {
+        java.util.List<java.util.Map<String, Object>> list = new java.util.ArrayList<>();
+        if (ibDriveFault) list.add(createException(0, "琛岃蛋鍙橀鍣ㄦ晠闅�"));
+        if (ibSupplyFault) list.add(createException(1, "鎻愪緵鍙橀鍣ㄦ晠闅�"));
+        if (ibForkDriveFault) list.add(createException(2, "璐у弶鍙橀鍣ㄦ晠闅�"));
+        if (ibDriveCircuitFault) list.add(createException(3, "琛岃蛋鏂矾鍣ㄦ晠闅�"));
+        if (ibLiftCircuitFault) list.add(createException(4, "鎻愬崌鏂矾鍣ㄦ晠闅�"));
+        if (ibForkCircuitFault) list.add(createException(5, "璐у弶鏂矾鍣ㄦ晠闅�"));
+        if (ibForwardLimit) list.add(createException(6, "鍓嶈繘闄愪綅"));
+        if (ibReverseLimit) list.add(createException(7, "鍚庨��闄愪綅"));
+        if (ibDriveStart) list.add(createException(8, "琛岃蛋鍘熺偣"));
+        if (ibForwardBrakeSpeed) list.add(createException(9, "鍓嶈繘寮哄埗浣庨��"));
+        if (ibReverseBrakeSpeed) list.add(createException(10, "鍚庨��寮哄埗浣庨��"));
+        if (ibUpLimit) list.add(createException(11, "涓婂崌闄愪綅"));
+        if (ibDownLimit) list.add(createException(12, "涓嬮檺闄愪綅"));
+        if (ibUpOrigin) list.add(createException(13, "鎻愬崌鍘熺偣"));
+        if (ibUpBrakeSpeed) list.add(createException(14, "涓婂崌寮哄埗浣庨��"));
+        if (ibDownBrakeSpeed) list.add(createException(15, "涓嬮檷寮哄埗浣庨��"));
+        if (ibPlatformSignal) list.add(createException(16, "杞借揣鍙版帰璐�"));
+        if (ibForkMidSignal) list.add(createException(17, "璐у弶涓綅淇″彿"));
+        if (ibForkLeftLimit) list.add(createException(18, "璐у弶宸︽瀬闄�"));
+        if (ibForkRightLimit) list.add(createException(19, "璐у弶鍙虫瀬闄�"));
+        if (ibFrontOverLimit) list.add(createException(20, "鍓嶈秴闄�"));
+        if (ibRearOverLimit) list.add(createException(21, "鍚庤秴闄�"));
+        if (ibLeftOverLimit) list.add(createException(22, "宸﹁秴闄�"));
+        if (ibRightOverLimit) list.add(createException(23, "鍙宠秴闄�"));
+        if (ibHighOverLimit1) list.add(createException(24, "楂樿秴闄�1"));
+        if (ibHighOverLimit2) list.add(createException(25, "楂樿秴闄�2"));
+        if (ibHighOverLimit3) list.add(createException(26, "楂樿秴闄�3"));
+        if (ibOneExtendLeftLoad1) list.add(createException(27, "涓�浼稿乏渚ф帰璐�1"));
+        if (ibOneExtendLeftLoad2) list.add(createException(28, "涓�浼稿乏渚ф帰璐�2"));
+        if (ibOneExtendRightLoad1) list.add(createException(29, "涓�浼稿彸渚ф帰璐�1"));
+        if (ibOneExtendRightLoad2) list.add(createException(30, "涓�浼稿彸渚ф帰璐�2"));
+        if (ibTwoExtendLeftLoad1) list.add(createException(31, "浜屼几宸︿晶鎺㈣揣1"));
+        if (ibTwoExtendLeftLoad2) list.add(createException(32, "浜屼几宸︿晶鎺㈣揣2"));
+        if (ibTwoExtendRightLoad1) list.add(createException(33, "浜屼几鍙充晶鎺㈣揣1"));
+        if (ibTwoExtendRightLoad2) list.add(createException(34, "浜屼几鍙充晶鎺㈣揣2"));
+        if (ibSpeedSignal1) list.add(createException(35, "瓒呴�熶俊鍙�1"));
+        if (ibSpeedSignal2) list.add(createException(36, "瓒呴�熶俊鍙�2"));
+        if (ibOverweightSignal1) list.add(createException(37, "瓒呴噸淇″彿1"));
+        if (ibOverweightSignal2) list.add(createException(38, "瓒呴噸淇″彿2"));
+        if (ibRopeReleaseSignal1) list.add(createException(39, "鏉剧怀淇″彿1"));
+        if (ibRopeReleaseSignal2) list.add(createException(40, "鏉剧怀淇″彿2"));
+        if (ibSafetyClamp) list.add(createException(41, "瀹夊叏閽�"));
+        if (ibTightener) list.add(createException(42, "寮犵揣鍣�"));
+        if (ibSpeedLimiter) list.add(createException(43, "闄愰�熷櫒"));
+        if (ibSafetyDoorOpen) list.add(createException(44, "瀹夊叏闂ㄦ墦寮�"));
+        return list;
+    }
+
+    private java.util.Map<String, Object> createException(int code, String msg) {
+        java.util.Map<String, Object> map = new java.util.HashMap<>();
+        map.put("code", code);
+        map.put("msg", msg);
+        return map;
+    }
+
+    // 鏁呴殰璇诲彇閿佸畾鏍囪
+    private boolean errorMk = false;
+    //鍐欏叆鏍囪
+    private boolean writeMk = true;
+    private Boolean ibDriveFault = false;       // 琛岃蛋鍙橀鍣ㄦ晠闅�
+    private Boolean ibSupplyFault = false;      // 鎻愪緵鍙橀鍣ㄦ晠闅�
+    private Boolean ibForkDriveFault = false;   // 璐у弶鍙橀鍣ㄦ晠闅�
+    private Boolean ibDriveCircuitFault = false; // 琛岃蛋鏂矾鍣ㄦ晠闅�
+    private Boolean ibLiftCircuitFault = false; // 鎻愬崌鏂矾鍣ㄦ晠闅�
+    private Boolean ibForkCircuitFault = false; // 璐у弶鏂矾鍣ㄦ晠闅�
+    private Boolean ibForwardLimit = false;     // 鍓嶈繘闄愪綅
+    private Boolean ibReverseLimit = false;     // 鍚庨��闄愪綅
+    private Boolean ibDriveStart = false;       // 琛岃蛋鍘熺偣
+    private Boolean ibForwardBrakeSpeed = false; // 鍓嶈繘寮哄埗浣庨��
+    private Boolean ibReverseBrakeSpeed = false; // 鍚庨��寮哄埗浣庨��
+    private Boolean ibUpLimit = false;          // 涓婂崌闄愪綅
+    private Boolean ibDownLimit = false;        // 涓嬮檺闄愪綅
+    private Boolean ibUpOrigin = false;         // 鎻愬崌鍘熺偣
+    private Boolean ibUpBrakeSpeed = false;     // 涓婂崌寮哄埗浣庨��
+    private Boolean ibDownBrakeSpeed = false;   // 涓嬮檷寮哄埗浣庨��
+    private Boolean ibPlatformSignal = false;   // 杞借揣鍙版帰璐�
+    private Boolean ibForkMidSignal = false;    // 璐у弶涓綅淇″彿
+    private Boolean ibForkLeftLimit = false;    // 璐у弶宸︽瀬闄�
+    private Boolean ibForkRightLimit = false;   // 璐у弶鍙虫瀬闄�
+    private Boolean ibFrontOverLimit = false;   // 鍓嶈秴闄�
+    private Boolean ibRearOverLimit = false;    // 鍚庤秴闄�
+    private Boolean ibLeftOverLimit = false;    // 宸﹁秴闄�
+    private Boolean ibRightOverLimit = false;   // 鍙宠秴闄�
+    private Boolean ibHighOverLimit1 = false;   // 楂樿秴闄�1
+    private Boolean ibHighOverLimit2 = false;   // 楂樿秴闄�2
+    private Boolean ibHighOverLimit3 = false;   // 楂樿秴闄�3
+    private Boolean ibOneExtendLeftLoad1 = false; // 涓�浼稿乏渚ф帰璐�1
+    private Boolean ibOneExtendLeftLoad2 = false; // 涓�浼稿乏渚ф帰璐�2
+    private Boolean ibOneExtendRightLoad1 = false; // 涓�浼稿彸渚ф帰璐�1
+    private Boolean ibOneExtendRightLoad2 = false; // 涓�浼稿彸渚ф帰璐�2
+    private Boolean ibTwoExtendLeftLoad1 = false; // 浜屼几宸︿晶鎺㈣揣1
+    private Boolean ibTwoExtendLeftLoad2 = false; // 浜屼几宸︿晶鎺㈣揣2
+    private Boolean ibTwoExtendRightLoad1 = false; // 浜屼几鍙充晶鎺㈣揣1
+    private Boolean ibTwoExtendRightLoad2 = false; // 浜屼几鍙充晶鎺㈣揣2
+    private Boolean ibSpeedSignal1 = false;      // 瓒呴�熶俊鍙�1
+    private Boolean ibSpeedSignal2 = false;      // 瓒呴�熶俊鍙�2
+    private Boolean ibOverweightSignal1 = false; // 瓒呴噸淇″彿1
+    private Boolean ibOverweightSignal2 = false; // 瓒呴噸淇″彿2
+    private Boolean ibRopeReleaseSignal1 = false; // 鏉剧怀淇″彿1
+    private Boolean ibRopeReleaseSignal2 = false; // 鏉剧怀淇″彿2
+    private Boolean ibSafetyClamp = false;       // 瀹夊叏閽�
+    private Boolean ibTightener = false;         // 寮犵揣鍣�
+    private Boolean ibSpeedLimiter = false;      // 闄愰�熷櫒
+    private Boolean ibSafetyDoorOpen = false;    // 瀹夊叏闂ㄦ墦寮�
+    //-------------------------------------------------------------------
+
+    public BasCrnErrorLog toSqlModelError() {
+        BasCrnErrorLog basCrnErrorLog = new BasCrnErrorLog();
+
+        // 閿欒瀛楁杞崲
+        basCrnErrorLog.setCrnNo(crnNo);
+        basCrnErrorLog.setIbDriveFault(ibDriveFault ? "Y" : "N");       // 琛岃蛋鍙橀鍣ㄦ晠闅�
+        basCrnErrorLog.setIbSupplyFault(ibSupplyFault ? "Y" : "N");      // 鎻愪緵鍙橀鍣ㄦ晠闅�
+        basCrnErrorLog.setIbForkDriveFault(ibForkDriveFault ? "Y" : "N");   // 璐у弶鍙橀鍣ㄦ晠闅�
+        basCrnErrorLog.setIbDriveCircuitFault(ibDriveCircuitFault ? "Y" : "N"); // 琛岃蛋鏂矾鍣ㄦ晠闅�
+        basCrnErrorLog.setIbLiftCircuitFault(ibLiftCircuitFault ? "Y" : "N"); // 鎻愬崌鏂矾鍣ㄦ晠闅�
+        basCrnErrorLog.setIbForkCircuitFault(ibForkCircuitFault ? "Y" : "N"); // 璐у弶鏂矾鍣ㄦ晠闅�
+        basCrnErrorLog.setIbForwardLimit(ibForwardLimit ? "Y" : "N");     // 鍓嶈繘闄愪綅
+        basCrnErrorLog.setIbReverseLimit(ibReverseLimit ? "Y" : "N");     // 鍚庨��闄愪綅
+        basCrnErrorLog.setIbDriveStart(ibDriveStart ? "Y" : "N");       // 琛岃蛋鍘熺偣
+        basCrnErrorLog.setIbForwardBrakeSpeed(ibForwardBrakeSpeed ? "Y" : "N"); // 鍓嶈繘寮哄埗浣庨��
+        basCrnErrorLog.setIbReverseBrakeSpeed(ibReverseBrakeSpeed ? "Y" : "N"); // 鍚庨��寮哄埗浣庨��
+        basCrnErrorLog.setIbUpLimit(ibUpLimit ? "Y" : "N");          // 涓婂崌闄愪綅
+        basCrnErrorLog.setIbDownLimit(ibDownLimit ? "Y" : "N");        // 涓嬮檺闄愪綅
+        basCrnErrorLog.setIbUpOrigin(ibUpOrigin ? "Y" : "N");         // 鎻愬崌鍘熺偣
+        basCrnErrorLog.setIbUpBrakeSpeed(ibUpBrakeSpeed ? "Y" : "N");     // 涓婂崌寮哄埗浣庨��
+        basCrnErrorLog.setIbDownBrakeSpeed(ibDownBrakeSpeed ? "Y" : "N");   // 涓嬮檷寮哄埗浣庨��
+        basCrnErrorLog.setIbPlatformSignal(ibPlatformSignal ? "Y" : "N");   // 杞借揣鍙版帰璐�
+        basCrnErrorLog.setIbForkMidSignal(ibForkMidSignal ? "Y" : "N");    // 璐у弶涓綅淇″彿
+        basCrnErrorLog.setIbForkLeftLimit(ibForkLeftLimit ? "Y" : "N");    // 璐у弶宸︽瀬闄�
+        basCrnErrorLog.setIbForkRightLimit(ibForkRightLimit ? "Y" : "N");   // 璐у弶鍙虫瀬闄�
+        basCrnErrorLog.setIbFrontOverLimit(ibFrontOverLimit ? "Y" : "N");   // 鍓嶈秴闄�
+        basCrnErrorLog.setIbRearOverLimit(ibRearOverLimit ? "Y" : "N");    // 鍚庤秴闄�
+        basCrnErrorLog.setIbLeftOverLimit(ibLeftOverLimit ? "Y" : "N");    // 宸﹁秴闄�
+        basCrnErrorLog.setIbRightOverLimit(ibRightOverLimit ? "Y" : "N");   // 鍙宠秴闄�
+        basCrnErrorLog.setIbHighOverLimit1(ibHighOverLimit1 ? "Y" : "N");   // 楂樿秴闄�1
+        basCrnErrorLog.setIbHighOverLimit2(ibHighOverLimit2 ? "Y" : "N");   // 楂樿秴闄�2
+        basCrnErrorLog.setIbHighOverLimit3(ibHighOverLimit3 ? "Y" : "N");   // 楂樿秴闄�3
+        basCrnErrorLog.setIbOneExtendLeftLoad1(ibOneExtendLeftLoad1 ? "Y" : "N"); // 涓�浼稿乏渚ф帰璐�1
+        basCrnErrorLog.setIbOneExtendLeftLoad2(ibOneExtendLeftLoad2 ? "Y" : "N"); // 涓�浼稿乏渚ф帰璐�2
+        basCrnErrorLog.setIbOneExtendRightLoad1(ibOneExtendRightLoad1 ? "Y" : "N"); // 涓�浼稿彸渚ф帰璐�1
+        basCrnErrorLog.setIbOneExtendRightLoad2(ibOneExtendRightLoad2 ? "Y" : "N"); // 涓�浼稿彸渚ф帰璐�2
+        basCrnErrorLog.setIbTwoExtendLeftLoad1(ibTwoExtendLeftLoad1 ? "Y" : "N"); // 浜屼几宸︿晶鎺㈣揣1
+        basCrnErrorLog.setIbTwoExtendLeftLoad2(ibTwoExtendLeftLoad2 ? "Y" : "N"); // 浜屼几宸︿晶鎺㈣揣2
+        basCrnErrorLog.setIbTwoExtendRightLoad1(ibTwoExtendRightLoad1 ? "Y" : "N"); // 浜屼几鍙充晶鎺㈣揣1
+        basCrnErrorLog.setIbTwoExtendRightLoad2(ibTwoExtendRightLoad2 ? "Y" : "N"); // 浜屼几鍙充晶鎺㈣揣2
+        basCrnErrorLog.setIbSpeedSignal1(ibSpeedSignal1 ? "Y" : "N");      // 瓒呴�熶俊鍙�1
+        basCrnErrorLog.setIbSpeedSignal2(ibSpeedSignal2 ? "Y" : "N");      // 瓒呴�熶俊鍙�2
+        basCrnErrorLog.setIbOverweightSignal1(ibOverweightSignal1 ? "Y" : "N"); // 瓒呴噸淇″彿1
+        basCrnErrorLog.setIbOverweightSignal2(ibOverweightSignal2 ? "Y" : "N"); // 瓒呴噸淇″彿2
+        basCrnErrorLog.setIbRopeReleaseSignal1(ibRopeReleaseSignal1 ? "Y" : "N"); // 鏉剧怀淇″彿1
+        basCrnErrorLog.setIbRopeReleaseSignal2(ibRopeReleaseSignal2 ? "Y" : "N"); // 鏉剧怀淇″彿2
+        basCrnErrorLog.setIbSafetyClamp(ibSafetyClamp ? "Y" : "N");       // 瀹夊叏閽�
+        basCrnErrorLog.setIbTightener(ibTightener ? "Y" : "N");         // 寮犵揣鍣�
+        basCrnErrorLog.setIbSpeedLimiter(ibSpeedLimiter ? "Y" : "N");      // 闄愰�熷櫒
+        basCrnErrorLog.setIbSafetyDoorOpen(ibSafetyDoorOpen ? "Y" : "N");    // 瀹夊叏闂ㄦ墦寮�
+
+        return basCrnErrorLog;
+    }
+
+
+
+
+
+
+
     public void setMode(Short mode) {
         this.mode = mode;
         this.modeType = CrnModeType.get(mode);
@@ -224,66 +397,12 @@
         this.status = CrnStatusType.get(type).id.shortValue();
     }
 
-    public void setError1(boolean[] error1){
-        this.error1 = error1;
-        this.crnError1 = new CrnError1();
-        this.crnError1.stop = error1[0];
-        this.crnError1.xCoverErr = error1[1];
-        this.crnError1.yCoverErr = error1[2];
-        this.crnError1.zCoverErr = error1[3];
-        this.crnError1.rangeErr = error1[4];
-        this.crnError1.barcodeErr = error1[5];
-        this.crnError1.xFrontLimitErr = error1[6];
-        this.crnError1.xBackLimitErr = error1[7];
-        this.crnError1.yUpLimitErr = error1[8];
-        this.crnError1.yDownLimitErr = error1[9];
-        this.crnError1.zLeftLimitErr = error1[10];
-        this.crnError1.zRightLimitErr = error1[11];
-        this.crnError1.xLocationUpErr = error1[12];
-        this.crnError1.xLocationDownErr = error1[13];
-        this.crnError1.yLocationUpErr = error1[14];
-        this.crnError1.yLocationDownErr = error1[15];
+    public Short getTemp1() {
+        return temp1;
     }
 
-    public void setError2(boolean[] error2){
-        this.error2 = error2;
-        this.crnError2 = new CrnError2();
-        this.crnError2.zLocationUpErr = error2[0];
-        this.crnError2.zLocationDownErr = error2[1];
-        this.crnError2.wcsCommandErr = error2[2];
-        this.crnError2.leftWidthLimitErr = error2[3];
-        this.crnError2.rightWidthLimitErr = error2[4];
-        this.crnError2.leftLengthLimitErr = error2[5];
-        this.crnError2.rightLengthLimitErr = error2[6];
-        this.crnError2.highLimitErr = error2[7];
-        this.crnError2.leftTakeNoneErr = error2[8];
-        this.crnError2.rightTakeNoneErr = error2[9];
-        this.crnError2.leftPutLoadErr = error2[10];
-        this.crnError2.rightPutLoadErr = error2[11];
-        this.crnError2.startErr = error2[12];
-        this.crnError2.looseRopeErr = error2[13];
-        this.crnError2.safeDoorSwitchErr = error2[14];
-        this.crnError2.none = error2[15];
-    }
-
-    public void setError3(boolean[] error3) {
-        this.error3 = error3;
-        this.crnError3 = new CrnError3();
-    }
-
-    public void setError4(boolean[] error4) {
-        this.error4 = error4;
-        this.crnError4 = new CrnError4();
-    }
-
-    public void setError5(boolean[] error5) {
-        this.error5 = error5;
-        this.crnError5 = new CrnError5();
-    }
-
-    public void setError6(boolean[] error6) {
-        this.error6 = error6;
-        this.crnError6 = new CrnError6();
+    public void setTemp1(Short temp1) {
+        this.temp1 = temp1;
     }
 
     /**
@@ -293,4 +412,41 @@
      */
     private String lastIo = "I";
 
+
+    public BasCrnp toSqlModel(BasCrnp basCrnp){
+        if (alarm!=null) {
+            basCrnp.setCrnErr(alarm.longValue());
+        }
+        basCrnp.setWrkNo(taskNo.intValue());
+        return basCrnp;
+    }
+
+    public void setxSpeed(float xSpeed) {
+        this.xSpeed = xSpeed;
+    }
+
+    public void setySpeed(float ySpeed) {
+        this.ySpeed = ySpeed;
+    }
+
+    public void setzSpeed(float zSpeed) {
+        this.zSpeed = zSpeed;
+    }
+
+    public void setxDistance(float xDistance) {
+        this.xDistance = xDistance;
+    }
+
+    public void setyDistance(float yDistance) {
+        this.yDistance = yDistance;
+    }
+
+    public void setxDuration(float xDuration) {
+        this.xDuration = xDuration;
+    }
+
+    public void setyDuration(float yDuration) {
+        this.yDuration = yDuration;
+    }
+
 }

--
Gitblit v1.9.1