From d8d90a246ce19dc9249ea7f0ffe1b8caf0462cc2 Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期六, 31 八月 2024 12:47:22 +0800
Subject: [PATCH] 对照协议调整

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java      |   86 +++++++++++++++++++++++++++++-------------
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |    4 +
 src/main/java/com/zy/core/model/protocol/CrnProtocol.java   |   28 +++++++++++---
 3 files changed, 84 insertions(+), 34 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index db17d04..e723309 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -725,7 +725,9 @@
                 flag = true;
             }
             if (!flag) {
-                News.errorNoLog("" + mark + " - 1" + " - 3" + " - 鍫嗗灈鏈哄叆搴撶珯淇℃伅(浠ヤ笅闇�瑕佸叏true):"
+                System.out.println(staProtocol);
+                //TODO
+                News.error("" + mark + " - 1" + " - 3" + " - 鍫嗗灈鏈哄叆搴撶珯淇℃伅(浠ヤ笅闇�瑕佸叏true):"
                         + "鑷姩淇″彿" + staProtocol.isAutoing() + "鏈夌墿淇″彿" + staProtocol.isLoading()
                         + "宸ヤ綔鍙�>0" + staProtocol.getWorkNo() + "鍙叆淇″彿" + staProtocol.isInEnable()
                         + "鑳藉叆淇″彿锛坵ms璁剧疆锛�.equals(\"Y\")" + staDetl.getCanining());
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 2112efa..ec27ebb 100644
--- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -65,6 +65,11 @@
     public CrnStatusType statusType;
 
     /**
+     * 鐘舵�佹灇涓�
+     */
+    public CrnStatusType statusTypeTwo;
+
+    /**
      * 鍫嗗灈鏈哄綋鍓嶅垪鍙�
      */
     public Short bay;
@@ -249,14 +254,24 @@
         this.liftPos = CrnLiftPosType.get(type).id.shortValue();
     }
 
-    public void setStatus(Short status){
+    public void setStatus(Short status) {
         this.status = status;
         this.statusType = CrnStatusType.get(status);
     }
 
-    public void setStatus(CrnStatusType type){
+    public void setStatus(CrnStatusType type) {
         this.statusType = type;
         this.status = CrnStatusType.get(type).id.shortValue();
+    }
+
+    public void setStatusTwo(Short status) {
+        this.statusTwo = status;
+        this.statusTypeTwo = CrnStatusType.get(status);
+    }
+
+    public void setStatusTwo(CrnStatusType type) {
+        this.statusTypeTwo = type;
+        this.statusTwo = CrnStatusType.get(type).id.shortValue();
     }
 
     public Short getTemp1() {
@@ -269,14 +284,14 @@
 
     /**
      * 鏈�杩戜竴娆″叆鍑哄簱绫诲瀷
-     *       I:鍏ュ簱
-     *       O:鍑哄簱
+     * I:鍏ュ簱
+     * O:鍑哄簱
      */
     private String lastIo = "I";
 
 
-    public BasCrnp toSqlModel(BasCrnp basCrnp){
-        if (alarm!=null) {
+    public BasCrnp toSqlModel(BasCrnp basCrnp) {
+        if (alarm != null) {
             basCrnp.setCrnErr(alarm.longValue());
         }
         basCrnp.setWrkNo(taskNo.intValue());
@@ -294,6 +309,7 @@
     public void setzSpeed(Short zSpeed) {
         this.zSpeed = Float.valueOf(zSpeed);
     }
+
     public void setzSpeedTwo(Short zSpeedTwo) {
         this.zSpeedTwo = Float.valueOf(zSpeedTwo);
     }
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 626656a..5139256 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -187,19 +187,53 @@
 
                 OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
 
-                // 澶嶄綅淇″彿
-                if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
-                    if (resetFlag) {
-                        if (crnProtocol.getTaskNo() == 9999) {
-                            backHpFlag = false;
+                if (crnProtocol.getMode() == 1) {
+                    // 澶嶄綅淇″彿
+                    if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
+                        System.out.println(crnProtocol);
+                        if (resetFlag) {
+                            if (crnProtocol.getTaskNo() == 9999) {
+                                backHpFlag = false;
+                            }
+                            CrnCommand crnCommand = new CrnCommand();
+                            crnCommand.setAckFinish((short) 1);
+                            if (write(crnCommand)) {
+                                resetFlag = false;
+                            }
                         }
-                        CrnCommand crnCommand = new CrnCommand();
-                        crnCommand.setAckFinish((short) 1);
-                        if (write(crnCommand)) {
-                            resetFlag = false;
+                    }
+                } else if (crnProtocol.getMode() == 2) {
+                    // 澶嶄綅淇″彿
+                    if (!Cools.isEmpty(crnProtocol.getStatusTypeTwo()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING)) {
+
+                        if (resetFlag) {
+                            if (crnProtocol.getTaskNo() == 9999) {
+                                backHpFlag = false;
+                            }
+                            CrnCommand crnCommand = new CrnCommand();
+                            crnCommand.setAckFinish((short) 1);
+                            if (write(crnCommand)) {
+                                resetFlag = false;
+                            }
+                        }
+                    }
+                } else if (crnProtocol.getMode() == 3) {
+                    // 澶嶄綅淇″彿
+                    if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING) && !Cools.isEmpty(crnProtocol.getStatusTypeTwo()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING)) {
+                        System.out.println(crnProtocol);
+                        if (resetFlag) {
+                            if (crnProtocol.getTaskNo() == 9999) {
+                                backHpFlag = false;
+                            }
+                            CrnCommand crnCommand = new CrnCommand();
+                            crnCommand.setAckFinish((short) 1);
+                            if (write(crnCommand)) {
+                                resetFlag = false;
+                            }
                         }
                     }
                 }
+
 
                 try {
                     // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
@@ -243,9 +277,6 @@
             News.error("SiemensCrn" + " - 6" + " - 鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
             return false;
         }
-        command.setCommand((short) 1);
-        System.out.println("------------------");
-        System.out.println(command);
 //        convertRow(command);
         command.setCrnNo(slave.getId());
         short[] array = new short[16];
@@ -289,21 +320,20 @@
                 OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 32);
                 if (resultRead.IsSuccess) {
                     CrnCommand one = new CrnCommand();
-                    one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
-                    one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
-                    one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
-                    one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
-                    one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
-                    one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
-                    one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
-                    one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
-                    one.setSourcePosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 18));
-                    one.setSourcePosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 20));
-                    one.setSourcePosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 22));
-                    one.setDestinationPosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 24));
-                    one.setDestinationPosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 26));
-                    one.setDestinationPosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 28));
-                    one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 30));
+                    one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 0));
+                    one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
+                    one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
+                    one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
+                    one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
+                    one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
+                    one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
+                    one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
+                    one.setSourcePosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
+                    one.setSourcePosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 18));
+                    one.setSourcePosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 20));
+                    one.setDestinationPosXTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 22));
+                    one.setDestinationPosYTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 24));
+                    one.setDestinationPosZTwo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 26));
                     if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode())
                             || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY())
                             || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX())
@@ -312,6 +342,8 @@
                             || !command.getSourcePosZTwo().equals(one.getSourcePosZTwo()) || !command.getDestinationPosXTwo().equals(one.getDestinationPosXTwo())
                             || !command.getDestinationPosYTwo().equals(one.getDestinationPosYTwo()) || !command.getDestinationPosZTwo().equals(one.getDestinationPosZTwo())
                     ) {
+                        System.out.println(command.getTaskNo().equals(one.getTaskNo()));
+                        System.out.println(one);
                         try {
                             log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command), JSON.toJSONString(one));
                         } catch (Exception e) {

--
Gitblit v1.9.1