From 9fb370afff71f4d5659d8904e8751479280d5b48 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 07 四月 2025 09:26:50 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java |   39 +++++++++++++++++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java             |   10 +++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/msCenter/TestMsResource.java                      |   14 +++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/config/WebSocketConfig.java                  |    7 +++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealAlarmStatusV2.java           |   10 +++++
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/largeScreen/WebSocketServer.java             |    4 ++
 6 files changed, 84 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/msCenter/TestMsResource.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/msCenter/TestMsResource.java
index 0e1eefa..da5dd1f 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/msCenter/TestMsResource.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/msCenter/TestMsResource.java
@@ -46,6 +46,19 @@
 
     // 璁剧疆瀹氭椂N绉掍竴娆�
     @Scheduled(cron = "0/10 * * * * ?")
+    public void test4() throws Exception {
+        MsObj msObj = new MsObj() ;
+        msObj.put("name", "闃�鎬�");
+        msObj.put("rtuAddr","123456789");
+        msObj.put("intakeId", 2024090517395800007L);
+        msObj.put("state", 0);
+        msObj.put("stateName", "寮�");
+        msObj.put("dt", DateTime.yyyy_MM_dd_HH_mm_ss());
+        MsCenterUnit.getInstance().pushMs(msObj);
+    }
+
+    // 璁剧疆瀹氭椂N绉掍竴娆�
+    @Scheduled(cron = "0/15 * * * * ?")
     public void test3() throws Exception {
         MsObj msObj = new MsObj() ;
         msObj.put("name", "鎶ヨ");
@@ -56,4 +69,5 @@
         MsCenterUnit.getInstance().pushMs(msObj);
     }
 
+
 }
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java
index 266078e..a419054 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java
@@ -123,6 +123,16 @@
             msObj.put("dt", dV1.dt);
             MsCenterUnit.getInstance().pushMs(msObj);
         }
+        if(stateVo != null && controller != null && stateVo.valveState != null){
+            MsObj msObj = new MsObj() ;
+            msObj.put("name", "闃�鎬�");
+            msObj.put("rtuAddr", rtuAddr);
+            msObj.put("intakeId", controller.getIntakeId());
+            msObj.put("state", stateVo.valveState);
+            msObj.put("stateName", stateVo.valveState==0?"寮�":"鍏�");
+            msObj.put("dt", dV1.dt);
+            MsCenterUnit.getInstance().pushMs(msObj);
+        }
     }
 
     /**
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealAlarmStatusV2.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealAlarmStatusV2.java
index 7e8f23f..aadb5ec 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealAlarmStatusV2.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealAlarmStatusV2.java
@@ -142,6 +142,16 @@
             msObj.put("dt", dV12.dt);
             MsCenterUnit.getInstance().pushMs(msObj);
         }
+        if(stateVo != null && controller != null && stateVo.valveState != null){
+            MsObj msObj = new MsObj() ;
+            msObj.put("name", "闃�鎬�");
+            msObj.put("rtuAddr", rtuAddr);
+            msObj.put("intakeId", controller.getIntakeId());
+            msObj.put("state", stateVo.valveState);
+            msObj.put("stateName", stateVo.valveState==0?"寮�":"鍏�");
+            msObj.put("dt", dV12.dt);
+            MsCenterUnit.getInstance().pushMs(msObj);
+        }
     }
     /**
      * 淇濆瓨鎶ヨ鐘舵�佹渶鏂版暟鎹�
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
index 6379528..f6570d2 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
@@ -7,6 +7,8 @@
 import com.dy.pipIrrGlobal.pojoPr.PrController;
 import com.dy.pipIrrGlobal.pojoRm.RmAlarmStateHistory;
 import com.dy.pipIrrGlobal.pojoRm.RmAlarmStateLast;
+import com.dy.rtuMw.server.msCenter.MsCenterUnit;
+import com.dy.rtuMw.server.msCenter.MsObj;
 import com.dy.rtuMw.server.rtuData.TaskSurpport;
 import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import org.apache.logging.log4j.LogManager;
@@ -41,6 +43,7 @@
             if(cdObj instanceof DataCd81Vo){
                 //璁惧缁堢闅忔満鑷姤
                 DataCd81Vo cdData = (DataCd81Vo)(cdObj) ;
+                this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt);
                 this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
                 this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
                 if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){
@@ -52,6 +55,7 @@
             }else if(cdObj instanceof DataCd80_5BVo){
                 //璁惧缁堢宸ヤ綔涓婃姤 + 鏌ヨ璁惧缁堢瀹炴椂鍊�
                 DataCd80_5BVo cdData = (DataCd80_5BVo)(cdObj) ;
+                this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt);
                 this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
                 this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
                 if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){
@@ -63,6 +67,7 @@
             }else if(cdObj instanceof DataCd93_A3Vo){
                 //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂�   +  鍒峰崱鍏虫车/闃�涓婃姤
                 DataCd93_A3Vo cdData = (DataCd93_A3Vo)(cdObj) ;
+                this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt);
                 this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ;
                 this.saveHistory(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ;
                 if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){
@@ -74,6 +79,7 @@
             }else if(cdObj instanceof DataCd84Vo){
                 //璁惧缁堢鍒峰崱寮�娉�/闃�涓婃姤
                 DataCd84Vo cdData = (DataCd84Vo)(cdObj) ;
+                this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt);
                 this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.openDt, cdData, dV202404.dt) ;
                 this.saveHistory(sv, controller, d.getRtuAddr(), cdData.openDt, cdData, dV202404.dt) ;
                 if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){
@@ -85,6 +91,7 @@
             }else if(cdObj instanceof DataCdC2Vo){
                 //璁惧缁堢寮�鍏虫按娉�/闃�闂ㄦ垚鍔�/澶辫触涓婃姤
                 DataCdC2Vo cdData = (DataCdC2Vo)(cdObj) ;
+                this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt);
                 this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
                 this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
                 if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){
@@ -101,6 +108,38 @@
             this.toNextTasks(d);
         }
     }
+
+    /**
+     * 鎶ヨ鐘舵�佹暟鎹瓨鍏ユ秷鎭腑蹇�
+     * @param controller 鎺у埗鍣ㄥ璞�
+     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+     * @param dataV202404 鏁版嵁瀵硅薄
+     * @param alarmVo 鎶ヨ+鐘舵�佸璞�
+     */
+    private void toMsCenter(PrController controller, String rtuAddr, DataV202404 dataV202404,  AlarmVo alarmVo, String dt){
+        if(alarmVo != null && controller != null){
+            if(alarmVo.hasAlarm()){
+                MsObj msObj = new MsObj() ;
+                msObj.put("name", "鎶ヨ");
+                msObj.put("rtuAddr", rtuAddr);
+                msObj.put("intakeId", controller.getIntakeId());
+                msObj.put("state", alarmVo.alarmContent());
+                msObj.put("dt", dt);
+                MsCenterUnit.getInstance().pushMs(msObj);
+            }
+            if(alarmVo.statePump != null){
+                MsObj msObj = new MsObj() ;
+                msObj.put("name", "闃�鎬�");
+                msObj.put("rtuAddr", rtuAddr);
+                msObj.put("intakeId", controller.getIntakeId());
+                msObj.put("state", alarmVo.statePump);
+                msObj.put("stateName", alarmVo.statePump==1?"寮�":"鍏�");
+                msObj.put("dt", dt);
+                MsCenterUnit.getInstance().pushMs(msObj);
+            }
+        }
+    }
+
     /**
      * 淇濆瓨鎶ヨ鐘舵�佹渶鏂版暟鎹�
      * @param sv 鏈嶅姟
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/config/WebSocketConfig.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/config/WebSocketConfig.java
index 7d65a4b..9b3272e 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/config/WebSocketConfig.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/config/WebSocketConfig.java
@@ -12,8 +12,15 @@
 //寮�鍚疻ebSocket鐨勬敮鎸侊紝骞舵妸璇ョ被娉ㄥ叆鍒皊pring瀹瑰櫒涓�
 @Configuration
 public class WebSocketConfig {
+    /**
+     * ServerEndpointExporter锛氬畠鏄� Spring 鎻愪緵鐨勪竴涓� Bean锛屽叾浣滅敤鏄壂鎻忓甫鏈� @ServerEndpoint 娉ㄨВ鐨勭被锛�
+     * 骞跺皢瀹冧滑娉ㄥ唽涓� WebSocket 绔偣銆備篃灏辨槸璇达紝鍊熷姪 ServerEndpointExporter锛孲pring 鍙互鎶婁娇鐢� Java WebSocket
+     * 瑙勮寖娉ㄨВ锛堝 @ServerEndpoint锛夊畾涔夌殑绔偣闆嗘垚鍒� Spring 搴旂敤涓��
+     * @return
+     */
     @Bean
     public ServerEndpointExporter serverEndpointExporter() {
         return new ServerEndpointExporter();
     }
 }
+
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/largeScreen/WebSocketServer.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/largeScreen/WebSocketServer.java
index 1f2d1c9..f2c0041 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/largeScreen/WebSocketServer.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/largeScreen/WebSocketServer.java
@@ -1,6 +1,7 @@
 package com.dy.pipIrrRemote.largeScreen;
 
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Scope;
 import org.springframework.stereotype.Component;
 
 import jakarta.websocket.*;
@@ -13,10 +14,13 @@
  * @Author: liurunyu
  * @Date: 2025/2/10 15:25
  * @Description 瀹㈡埛绔紙娴忚鍣級姣忓缓绔嬩竴涓獁ebsocket杩炴帴锛屾湇鍔$灏变細鍒涘缓涓�涓猈ebSocketServer瀹炰緥
+ * 搴旂敤鍓嶆彁鏄瓨鍦ㄤ竴涓狢onfig绫伙紝濡傛湰妯″潡鐨刉ebSocketConfig锛岃繖鏃禓ServerEndpoint鍙桽pringBoot瀹瑰櫒
+ * 绠$悊浜嗭紙鍦ㄥ祵鍏ュ紡web Servlet鐜涓級
  */
 @Slf4j
 @ServerEndpoint("/websocket/ls/{id}")
 @Component
+@Scope("prototype") // 闈炲崟渚嬶紝姣忔璇锋眰閮戒細鍒涘缓鏂扮殑瀹炰緥
 public class WebSocketServer {
 
     // 闈欐�佸彉閲忥紝璁板綍褰撳墠鍦ㄧ嚎杩炴帴鏁�

--
Gitblit v1.8.0