From 7679760448e252936c1b8b5ffb209e222ca826d9 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期六, 17 六月 2023 09:19:18 +0800
Subject: [PATCH] 孚能

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java      |    8 +---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   13 ++++--
 src/main/webapp/views/login.html                            |    5 --
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |   65 ++++++++++++++++++++++++++------
 4 files changed, 62 insertions(+), 29 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 b159090..000c375 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -130,7 +130,7 @@
                 } else {
                     staProtocol = staProtocol.clone();
                 }
-                staProtocol.setPakMk(true);
+                //staProtocol.setPakMk(true);
 //                // 鍏ュ嚭搴撴ā寮忓垽鏂�
 //                if ( inSta.getStaNo()==180 && devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
@@ -208,7 +208,7 @@
                         } else if (jsonObject.getInteger("code").equals(700) && (!barcodeThread.getBarcode().equals("NG"))){
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
                             barcodeThread.setBarcode("");
-                            staProtocol.setWorkNo((short)9998);
+                            staProtocol.setWorkNo((short)9999);
                             staProtocol.setStaNo((short)201);
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -216,7 +216,7 @@
                         }else {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
                             barcodeThread.setBarcode("");
-                            staProtocol.setWorkNo((short)9998);
+                            staProtocol.setWorkNo((short)9999);
                             staProtocol.setStaNo((short)201);
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -2285,18 +2285,21 @@
     public void fierCrn() {
         try {
             for (CrnSlave crn :slaveProperties.getCrn()) {
+                if(crn.getId()!=1){
+                    continue;
+                }
                 // 鑾峰彇鍫嗗灈鏈轰俊鎭�
                 CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
                 CrnProtocol crnProtocol = crnThread.getCrnProtocol();
                 LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("fire_status", 1));
                 if (!Cools.isEmpty(locMast)){
                     //鎶ヨ淇″彿鍐欏叆1
-                    if (!MessageQueue.offer(SlaveType.Crn, 1, new Task(4, "1"))) {
+                    if (!MessageQueue.offer(SlaveType.Crn, 1, new Task(4, 1))) {
                         log.error("鐏  ===>> 缁欏爢鍨涙満鍙戦�佹姤璀︿俊鍙峰け璐�");
                     }
                 } else {
                     //鎶ヨ淇″彿娌℃湁鍚庯紝澶嶄綅鍦板潃
-                    if (!MessageQueue.offer(SlaveType.Crn, 1, new Task(4, "0"))) {
+                    if (!MessageQueue.offer(SlaveType.Crn, 1, new Task(4, 0))) {
                         log.error("鐏  ===>> 缁欏爢鍨涙満娓呴浂澶嶄綅鎶ヨ淇″彿澶辫触");
                     }
                 }
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 5563f68..78a1bbd 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -86,12 +86,8 @@
                         write(command);
                         break;
                     case 4:
-                        if(task.getData().equals("0")){
-                            siemensNet.Write("DB100.276", (short)0);
-                        }else {
-                            siemensNet.Write("DB100.276", (short)1);
-                        }
-
+                        Integer data = (Integer) task.getData();
+                        siemensNet.Write("DB100.276", data.shortValue());
                         break;
                     default:
                         break;
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 3998985..eff1a19 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -277,29 +277,68 @@
         if (null == staProtocol) {
             return;
         }
+        int staNoSize = staNos.size();
         int index = staNos.indexOf(staProtocol.getSiteId());
         short[] array = new short[2];
         array[0] = staProtocol.getWorkNo();
         array[1] = staProtocol.getStaNo();
-        OperateResult write;
 
-        write = siemensS7Net.Write("DB100." + index*4, array);
+        //浠诲姟ID涓嬪彂娆℃暟
+        int idCount = 0;
+        boolean idFlag = false;
+        OperateResult write;
+        while(idCount < 5){
+            write = siemensS7Net.Write("DB100." + index*4, array);    // 鍐�
+            if(write.IsSuccess){
+                Thread.sleep(200);
+                OperateResultExOne<byte[]> readId = siemensS7Net.Read("DB101.0", (short) (staNoSize*2));
+                if(readId.IsSuccess){
+                    short workNo = siemensS7Net.getByteTransform().TransInt16(readId.Content, 0);
+                    if(staProtocol.getWorkNo().equals(workNo)){
+                        //宸ヤ綔鍙峰啓鍏ユ垚鍔�
+                        idFlag = true;
+                        break;
+                    } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓
+                        idCount++;
+                        OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎宸ヤ綔鍙峰悗杩斿洖鎴愬姛锛屼絾鏄鍙栧伐浣滃彿鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
+                                slave.getId(), JSON.toJSON(staProtocol),idCount));
+                        log.error("鍐欏叆杈撻�佺嚎宸ヤ綔鍙峰悗杩斿洖鎴愬姛锛屼絾鏄鍙栧伐浣滃彿鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), idCount);
+                    }
+                } else {
+                    idCount++;
+                    OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎宸ヤ綔鍙峰悗璇诲彇宸ヤ綔鍙峰け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
+                            slave.getId(), JSON.toJSON(staProtocol), idCount));
+                    log.error("鍐欏叆杈撻�佺嚎宸ヤ綔鍙峰悗璇诲彇宸ヤ綔鍙峰け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), idCount);
+                }
+            } else {
+                idCount++;
+                OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎宸ヤ綔鍙峰け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
+                        slave.getId(), JSON.toJSON(staProtocol),idCount));
+                log.error("鍐欏叆杈撻�佺嚎宸ヤ綔鍙峰け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), idCount);
+            }
+            Thread.sleep(200);
+        }
+        //鍐橧D灏濊瘯浜�5娆¤繕鏄け璐ヤ簡
+        if(!idFlag){
+            staProtocol = station.get(staProtocol.getSiteId());
+            if (staProtocol.getWorkNo() == 9999 && staProtocol.getStaNo() ==0) {
+                staProtocol.setPakMk(true);
+            }
+            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎宸ヤ綔鍙峰皾璇�5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
+            log.error("鍐欏叆杈撻�佺嚎宸ヤ綔鍙峰皾璇�5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
+
+            //閲嶆柊娣诲姞鏁版嵁鍒颁换鍔¢槦鍒�
+            boolean result = MessageQueue.offer(SlaveType.Devp, slave.getId(), new Task(2, staProtocol));
+            read();//璇诲彇1娆¤澶囩姸鎬�
+            return;
+        }
 
 //        OperateResult write = siemensS7Net.Write("DB100." + index*2, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
 //        Thread.sleep(500);
 //        OperateResult write1 = siemensS7Net.Write("DB101." + index*2, staProtocol.getStaNo());    // 鐩爣绔�
 
-        if (!write.IsSuccess) {
-            staProtocol = station.get(staProtocol.getSiteId());
-            if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
-                staProtocol.setPakMk(true);
-            }
-            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
-            log.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
-        } else {
-            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
-            log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}",  slave.getId(), JSON.toJSON(staProtocol));
-        }
+        OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂鎴愬姛 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
+        log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂鎴愬姛锛� {}",  slave.getId(), JSON.toJSON(staProtocol));
     }
 
     // 鏇存柊鍏ュ嚭搴撴ā寮�
diff --git a/src/main/webapp/views/login.html b/src/main/webapp/views/login.html
index 0a783e3..3b474b0 100644
--- a/src/main/webapp/views/login.html
+++ b/src/main/webapp/views/login.html
@@ -212,12 +212,7 @@
                     if (res.code === 200){
                         localStorage.setItem("token", res.data.token);
                         localStorage.setItem("username", res.data.username);
-                        if (mobile==="dsj1"){
                             window.location.href = "index.html";
-                        }else {
-                            window.location.href = "index2.html";
-                        }
-
                     } else {
                         layer.msg(res.msg, {offset: '150px'});
                     }

--
Gitblit v1.9.1