From d9765e031e100e1d8eea34e086cb9c81766e1a00 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 21 二月 2025 09:52:14 +0800
Subject: [PATCH] 针对王江海制定的协议: 1、优化相关注释; 2、优化代码; 3、协议中报警信息有变化:外门报警改为电池电压报警、增加阀门开关状态、增加阀门堵转报警等。

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java |   77 ++++++++++++++++++++++++--------------
 1 files changed, 48 insertions(+), 29 deletions(-)

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 c71cbd4..6379528 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
@@ -33,6 +33,7 @@
         DataV202404 dV202404 = (DataV202404)d.getSubData() ;
         Object cdObj = dV202404.subData ;
         //鍓嶉潰浠诲姟宸茬粡鍒ゆ柇cdObj涓嶄负null
+        boolean toNext = false ;
         try{
             Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId) ;
             DbSv sv = (DbSv)objs[0] ;
@@ -42,29 +43,62 @@
                 DataCd81Vo cdData = (DataCd81Vo)(cdObj) ;
                 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){
+                    if(controller != null && controller.getIntakeId() != null){
+                        this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ;
+                        toNext = true ;
+                    }
+                }
             }else if(cdObj instanceof DataCd80_5BVo){
                 //璁惧缁堢宸ヤ綔涓婃姤 + 鏌ヨ璁惧缁堢瀹炴椂鍊�
                 DataCd80_5BVo cdData = (DataCd80_5BVo)(cdObj) ;
                 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){
+                    if(controller != null && controller.getIntakeId() != null){
+                        this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ;
+                        toNext = true ;
+                    }
+                }
             }else if(cdObj instanceof DataCd93_A3Vo){
                 //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂�   +  鍒峰崱鍏虫车/闃�涓婃姤
                 DataCd93_A3Vo cdData = (DataCd93_A3Vo)(cdObj) ;
                 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){
+                    if(controller != null && controller.getIntakeId() != null){
+                        this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ;
+                        toNext = true ;
+                    }
+                }
             }else if(cdObj instanceof DataCd84Vo){
                 //璁惧缁堢鍒峰崱寮�娉�/闃�涓婃姤
                 DataCd84Vo cdData = (DataCd84Vo)(cdObj) ;
                 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){
+                    if(controller != null && controller.getIntakeId() != null){
+                        this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ;
+                        toNext = true ;
+                    }
+                }
             }else if(cdObj instanceof DataCdC2Vo){
                 //璁惧缁堢寮�鍏虫按娉�/闃�闂ㄦ垚鍔�/澶辫触涓婃姤
                 DataCdC2Vo cdData = (DataCdC2Vo)(cdObj) ;
                 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){
+                    if(controller != null && controller.getIntakeId() != null){
+                        this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ;
+                        toNext = true ;
+                    }
+                }
             }
         }catch (Exception e){
             log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e);
+        }
+        if(toNext){
+            this.toNextTasks(d);
         }
     }
     /**
@@ -99,20 +133,20 @@
                     alarmVo==null?null:alarmVo.alarmWaterMeterBreak,
                     alarmVo==null?null:alarmVo.alarmEleMeterFault,
                     alarmVo==null?null:alarmVo.alarm0MoneyRemain,
-                    alarmVo==null?null:alarmVo.alarmInnerDoor,
-                    alarmVo==null?null:alarmVo.alarmOuterDoor,
+                    alarmVo==null?null:alarmVo.alarmDoor,
+                    alarmVo==null?null:alarmVo.alarmDoor,//2025-02-19鏈虹澶栭棬鎶ヨ椤规敼涓虹數姹犵數鍘嬩簡
                     alarmVo==null?null:alarmVo.alarmEleMiss,
                     alarmVo==null?null:alarmVo.alarmEleExceed,
                     alarmVo==null?null:alarmVo.alarmEleLowVolt,
                     alarmVo==null?null:alarmVo.stateIcEnable,
-                    (byte)0,//鐢垫睜鐢靛帇(1锛氭姤璀︼紝0锛氭甯�)
-                    (byte)0,//闃�闂ㄦ姤璀�(1锛氭姤璀︼紝0锛氭甯�)
-                    (byte)0//渚涚數鏂瑰紡锛�0: 220V锛�1锛氳搫鐢垫睜锛�
+                    alarmVo==null?null:alarmVo.alarmBatteryVolt,//鐢垫睜鐢靛帇(1锛氭姤璀︼紝0锛氭甯�)
+                    alarmVo==null?null:alarmVo.alarmBlockValve,//闃�闂ㄥ牭杞姤璀�(1锛氭姤璀︼紝0锛氭甯�)
+                    (byte)0,//渚涚數鏂瑰紡锛�0: 220V锛�1锛氳搫鐢垫睜锛�
+                    System.currentTimeMillis()
             ) ;
             sv.saveRmAlarmStateLast(po) ;
         }else{
             po = this.update(po, controller, rtuDt, alarmVo, receiveDt) ;
-            this.updateVirCardNoUseState(sv, controller, alarmVo) ;
             sv.updateRmAlarmStateLast(po);
         }
     }
@@ -147,14 +181,14 @@
                 alarmVo==null?null:alarmVo.alarmWaterMeterBreak,
                 alarmVo==null?null:alarmVo.alarmEleMeterFault,
                 alarmVo==null?null:alarmVo.alarm0MoneyRemain,
-                alarmVo==null?null:alarmVo.alarmInnerDoor,
-                alarmVo==null?null:alarmVo.alarmOuterDoor,
+                alarmVo==null?null:alarmVo.alarmDoor,
+                alarmVo==null?null:alarmVo.alarmDoor,//2025-02-19鏈虹澶栭棬鎶ヨ椤规敼涓虹數姹犵數鍘嬩簡
                 alarmVo==null?null:alarmVo.alarmEleMiss,
                 alarmVo==null?null:alarmVo.alarmEleExceed,
                 alarmVo==null?null:alarmVo.alarmEleLowVolt,
                 alarmVo==null?null:alarmVo.stateIcEnable,
-                (byte)0,//鐢垫睜鐢靛帇(1锛氭姤璀︼紝0锛氭甯�)
-                (byte)0,//闃�闂ㄦ姤璀�(1锛氭姤璀︼紝0锛氭甯�)
+                alarmVo==null?null:alarmVo.alarmBatteryVolt,//鐢垫睜鐢靛帇(1锛氭姤璀︼紝0锛氭甯�)
+                alarmVo==null?null:alarmVo.alarmBlockValve,//闃�闂ㄥ牭杞姤璀�(1锛氭姤璀︼紝0锛氭甯�)
                 (byte)0//渚涚數鏂瑰紡锛�0: 220V锛�1锛氳搫鐢垫睜锛�
         ) ;
         sv.saveRmAlarmStateHistory(po) ;
@@ -189,31 +223,16 @@
             po.alarmWaterMeterBreak = alarmVo.alarmWaterMeterBreak ;
             po.alarmEleMeterFault = alarmVo.alarmEleMeterFault ;
             po.alarm0MoneyRemain = alarmVo.alarm0MoneyRemain ;
-            po.alarmInnerDoor = alarmVo.alarmInnerDoor ;
-            po.alarmOuterDoor = alarmVo.alarmOuterDoor ;
+            po.alarmInnerDoor = alarmVo.alarmDoor;
+            po.alarmOuterDoor = alarmVo.alarmDoor;
             po.alarmEleMiss = alarmVo.alarmEleMiss ;
             po.alarmEleExceed = alarmVo.alarmEleExceed ;
             po.alarmEleLowVolt = alarmVo.alarmEleLowVolt ;
             po.stateIcEnable = alarmVo.stateIcEnable ;
+            po.alarmBatteryVolt = alarmVo.alarmBatteryVolt ;
+            po.alarmValve = alarmVo.alarmBlockValve;
         }
         return po ;
     }
 
-    /**
-     * 铏氭嫙鍗″湪鍙栨按涓殑鍗犵敤鐘舵�佹敼涓洪潪搴旂敤鐘舵��
-     */
-    private void updateVirCardNoUseState(DbSv sv,
-                                PrController controller,
-                                AlarmVo alarmVo){
-        if(alarmVo != null){
-            if(alarmVo.statePump != null && alarmVo.statePump.byteValue() == 0){
-                //闃�闂ㄥ叧闂姸鎬�
-                if(controller != null && controller.getIntakeId() != null){
-                    //铏氭嫙鍗″湪鍙栨按涓殑鍗犵敤鐘舵�佹敼涓洪潪搴旂敤鐘舵��
-                    sv.updateVirCardNoUseState(controller.getIntakeId());
-                }
-            }
-        }
-
-    }
 }

--
Gitblit v1.8.0