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