From 70aeac289c132085e91d59dc82bc1facd41889fa Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 24 二月 2025 15:33:53 +0800
Subject: [PATCH] 有关表阀一体机(王江海制定)通信协议: 1、根据新版本协议,解析部分更新; 2、根据测试一体阀协议数据处理需求与逻辑,进行表阀一体机数据处理。
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java | 83 +++++++++++++++++++++++++----------------
1 files changed, 51 insertions(+), 32 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 f2fe40d..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.opDt, cdData, dV202404.dt) ;
- this.saveHistory(sv, controller, d.getRtuAddr(), cdData.opDt, 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){
+ 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);
}
}
/**
@@ -82,7 +116,7 @@
String rtuDt,
AlarmVo alarmVo,
String receiveDt) throws Exception {
- RmAlarmStateLast po = sv.getRmAlarmStateLast(rtuAddr) ;
+ RmAlarmStateLast po = sv.getRmAlarmStateLast(controller.getIntakeId()) ;
if(po == null){
po = new RmAlarmStateLast(null,
controller==null?null:controller.getId(),
@@ -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