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