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-common/src/main/java/com/dy/common/mw/protocol/p206V2/upVos/DataAlarmVo.java | 2
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java | 77 +++++++-----
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java | 8 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ProtocolConstantV206V202404.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CodeV1.java | 10
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealAlarmStatusV2.java | 9 +
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealVirCardStateV202404.java | 43 +++++++
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CodeV202404.java | 12 +-
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkPreGenObjsV202404.java | 66 ++++++++++
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java | 2
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkPreGenObjs.java | 4
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml | 10 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java | 96 ++++++++++++++-
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateHistory.java | 1
14 files changed, 278 insertions(+), 64 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CodeV1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CodeV1.java
index 81ae3e8..961f686 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CodeV1.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CodeV1.java
@@ -2,7 +2,7 @@
public class CodeV1 {
//鍔熻兘鐮佷负瀛楃涓诧紝鍗佸叚杩涘埗鏁版嵁
- public static final String cd_02 = "02" ;//閬ユ祴绔欓摼璺娴�
+ public static final String cd_02 = "02" ;//閬ユ祴绔欓摼璺娴� 涓诲姩涓婃姤
public static final String cd_10 = "10" ;//璁剧疆閬ユ祴绔欑粓绔湴鍧�
public static final String cd_11 = "11" ;//璁剧疆閬ユ祴绔欐椂閽燂紙鏈疄鐜帮級
public static final String cd_12 = "12" ;//璁剧疆宸ヤ綔妯″紡锛堟湭瀹炵幇锛�
@@ -30,9 +30,9 @@
public static final String cd_6A = "6A" ;//鏌ヨ闃�闂ㄥ牭杞數娴佸��
public static final String cd_6B = "6B" ;//鏌ヨ闃�闂ㄨ秴鏃舵椂闂�
public static final String cd_6D = "6D" ;//鏌ヨ闃舵姘翠环
- public static final String cd_81 = "81" ;//闅忔満鑷姤鎶� ok
- public static final String cd_83 = "83" ;//閬ユ祴绔欏紑鍏抽榾鑷姤 ok
- public static final String cd_84 = "84" ;//寮�闃�宸ヤ綔鎶� ok
+ public static final String cd_81 = "81" ;//闅忔満鑷姤鎶� 涓诲姩涓婃姤
+ public static final String cd_83 = "83" ;//閬ユ祴绔欏紑鍏抽榾鑷姤 涓诲姩涓婃姤
+ public static final String cd_84 = "84" ;//寮�闃�宸ヤ綔鎶� 涓诲姩涓婃姤
public static final String cd_91 = "91" ;//娓呯┖鍘嗗彶璁板綍
public static final String cd_92 = "92" ;//閬ユ帶鍚姩闃�闂�
public static final String cd_93 = "93" ;//閬ユ帶鍏抽棴闃�闂�
@@ -44,7 +44,7 @@
public static final String cd_A1 = "A1" ;//瀹氭椂鍏抽榾寮忚鍒掑紑闃�
public static final String cd_A2 = "A2" ;//瀹氶噺鍏抽榾寮忚鍒掑紑闃�
public static final String cd_B0 = "B0" ;//鏌ヨ瀹炴椂鏁版嵁锛堟湭瀹炵幇锛�
- public static final String cd_C0 = "C0" ;//閬ユ祴绔欐暣鐐逛笂鎶ュ疄鏃舵暟鎹� ok
+ public static final String cd_C0 = "C0" ;//閬ユ祴绔欐暣鐐逛笂鎶ュ疄鏃舵暟鎹� 涓诲姩涓婃姤
public static final String cd_1600 = "1600" ;//鍗囩骇澶嶄綅
public static final String cd_1601 = "1601" ;//鍗囩骇閰嶇疆
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/upVos/DataAlarmVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/upVos/DataAlarmVo.java
index d613365..0c14fcf 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/upVos/DataAlarmVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/upVos/DataAlarmVo.java
@@ -69,7 +69,7 @@
}
if(loss != null && loss == 1){
txt += (hasTxt?"銆�":"") + "婕忔崯鎶ヨ" ;
- hasTxt = true ;
+ hasTxt = true ;
}
return txt ;
}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CodeV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CodeV202404.java
index 323e0b1..3bce602 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CodeV202404.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/CodeV202404.java
@@ -2,12 +2,10 @@
public class CodeV202404 {
//鍔熻兘鐮佷负瀛楃涓诧紝鍗佸叚杩涘埗鏁版嵁
- public static final String cd_02 = "02" ;//閾捐矾妫�娴�
+ public static final String cd_02 = "02" ;//閾捐矾妫�娴� 涓诲姩涓婃姤
public static final String cd_10 = "10" ;//璁剧疆璁惧缁堢鍦板潃
public static final String cd_8A = "8A" ;//璁惧鐧诲綍
public static final String cd_50 = "50" ; //鏌ヨ璁惧缁堢鍦板潃
- public static final String cd_80 = "80" ; //璁惧缁堢宸ヤ綔涓婃姤
- public static final String cd_81 = "81" ; //璁惧缁堢闅忔満鑷姤
public static final String cd_5B = "5B" ; //鏌ヨ璁惧缁堢瀹炴椂鍊�
public static final String cd_65 = "65" ; //鏌ヨ璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍
public static final String cd_97 = "97" ; //娓呴櫎璁惧缁堢鐢ㄦ埛鐢ㄦ按璁板綍
@@ -26,9 +24,11 @@
public static final String cd_93 = "93" ; //骞冲彴杩滅▼鍏抽棴姘存车/闃�闂�
public static final String cd_A2 = "A2" ; //APP杩滅▼寮�鍚按娉�/闃�闂�
public static final String cd_A3 = "A3" ; //APP杩滅▼鍏抽棴姘存车/闃�闂�
- public static final String cd_83 = "83" ; //閬ユ祴缁堢瀹氱偣涓婃姤
- public static final String cd_84 = "84" ; //鍒峰崱寮�娉�/闃�涓婃姤
- public static final String cd_85 = "85" ; //鍒峰崱鍏虫车/闃�涓婃姤
+ public static final String cd_80 = "80" ; //璁惧缁堢宸ヤ綔涓婃姤 涓诲姩涓婃姤
+ public static final String cd_81 = "81" ; //璁惧缁堢闅忔満鑷姤 涓诲姩涓婃姤
+ public static final String cd_83 = "83" ; //閬ユ祴缁堢瀹氱偣涓婃姤锛堜竴澶╂姤涓�娆★級 涓诲姩涓婃姤
+ public static final String cd_84 = "84" ; //鍒峰崱寮�娉�/闃�涓婃姤 涓诲姩涓婃姤
+ public static final String cd_85 = "85" ; //鍒峰崱鍏虫车/闃�涓婃姤 涓诲姩涓婃姤
public static final String cd_9A = "9A" ; //鏌ヨ骞寸敤姘撮噺
public static final String cd_26 = "26" ; //璁剧疆璁惧缁堢骞寸敤姘撮噺
public static final String cd_21 = "21" ; //璁剧疆璁惧缁堢IP鍦板潃
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ProtocolConstantV206V202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ProtocolConstantV206V202404.java
index a3a22fa..32e197c 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ProtocolConstantV206V202404.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/ProtocolConstantV206V202404.java
@@ -48,6 +48,8 @@
public static final int codeIndex = 12 ;//鍔熻兘鐮佸瓧鑺傛暟缁勪笅鏍�
public static final int dataIndex = 13 ;//鍏蜂綋鏁版嵁瀛楄妭鏁扮粍涓嬫爣
+ public static final String vsCardAddr = "00000000";//鏈郴缁熷簲鐢ㄧ殑铏氭嫙鍗★紝鍗$墿鐞嗗湴鍧�閲囩敤10涓�0浣滀负妯℃嫙
+
////////////////////////////////////////////////
//
//杩滅▼鍗囩骇鐩稿叧
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
index e81594f..c431d83 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
@@ -70,12 +70,16 @@
b = bs[index + 1] ;
vo.alarm0MoneyRemain = (byte)(b & 0x1) ;
- vo.alarmInnerDoor = (byte)((b >> 1) & 1) ;
- vo.alarmOuterDoor = (byte)((b >> 2) & 1) ;
+ vo.alarmDoor = (byte)((b >> 1) & 1) ;
+ vo.alarmBatteryVolt = (byte)((b >> 2) & 1) ;
vo.alarmEleMiss = (byte)((b >> 3) & 1) ;
vo.alarmEleExceed = (byte)((b >> 4) & 1) ;
vo.alarmEleLowVolt = (byte)((b >> 5) & 1) ;
vo.stateIcEnable = (byte)((b >> 6) & 1) ;
+ vo.stateOpClValve = (byte)((b >> 7) & 1) ;
+
+ b = bs[index + 2] ;
+ vo.alarmBlockValve = (byte)(b & 0x1) ;
}
public static String parseTp(byte[] bs, short index){
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java
index b9f58f6..c1729b0 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/AlarmVo.java
@@ -6,23 +6,97 @@
* @Description
*/
public class AlarmVo {
+ public static final byte DevOpenState = 1 ;
+ public static final byte DevCloseState = 0 ;
public Byte statePump ; //娉�/闃�鐘舵�� (1锛氬紑娉�/闃�锛�0锛氬叧娉�/闃�)
public Byte alarmWaterRemain ; //鍓╀綑姘撮噺鎶ヨ (1锛氬皬浜庢姤璀︿笂闄愭姤璀� 0锛氭甯�)
public Byte alarm0WaterRemain ; //鍓╀綑姘撮噺涓�0鍏虫车/闃� (1锛氬墿浣欐按閲忎负0鍏虫车 0锛氭甯�)
public Byte alarmExceedYear ; //骞村害瓒呴噰鎶ヨ (1锛氬勾鐢ㄦ按閲忓ぇ浜庨檺鍒舵按閲忔姤璀� 0锛氭甯�)
public Byte alarmWaterMeterFault ; //澶栭儴娴侀噺璁℃晠闅� (1锛氭祦閲忚鏁呴殰鎶ヨ 0锛氭甯�)
- public Byte alarmSteal ; //鍋锋按鎶ヨ (1锛氱粫寮�鎺у埗鍣ㄧ敤姘存姤璀� 0锛氭甯�)
+ public Byte alarmSteal ; //鍋锋按鎶ヨ (1锛氱粫寮�鎺у埗鍣ㄧ敤姘存姤璀� 0锛氭甯�)(2025-02-19锛氬搴旈澇鎬诲崗璁腑鐨勬紡鎹熸姤璀︼紝鍗冲叧闃�鎬佹椂鏈夋祦閲忎骇鐢�)
public Byte alarmWaterMeterBreak ; //娴侀噺璁℃崯鍧忔姤璀� (1锛氭甯搁�氳浣嗙灛鏃朵负0鎶ヨ 0锛氭甯�)
public Byte alarmEleMeterFault ; //鐢佃〃鏁呴殰鎶ヨ (1锛氬拰鐢佃〃閫氳鏂垨鏁版嵁涓嶆甯� 0锛氭甯�)
public Byte alarm0MoneyRemain ; //鍓╀綑閲戦涓�0 (1锛氬墿浣欓噾棰濅负0鎶ヨ 0锛氭甯�)
- public Byte alarmInnerDoor ; //鎺у埗鍣ㄥ唴闂ㄦ姤璀� (1锛氬唴闂ㄦ墦寮�鎶ヨ 0锛氭甯�)
- public Byte alarmOuterDoor ; //鎺у埗鍣ㄥ闂ㄦ姤璀� (1锛氬闂ㄦ墦寮�鎶ヨ 0锛氭甯�)
+ public Byte alarmDoor; //鎺у埗鍣ㄥ唴闂ㄦ姤璀� (1锛氬唴闂ㄦ墦寮�鎶ヨ 0锛氭甯�)
+ public Byte alarmBatteryVolt; //鐢垫睜鐢靛帇浣庢姤璀� (1锛氱數姹犱綆鍏抽榾鎶ヨ 0锛氭甯�)
public Byte alarmEleMiss ; //浜ゆ祦缂洪」鎶ヨ (1锛氫笁鐩哥己椤规姤璀� 0锛氭甯�)
- public Byte alarmEleExceed ; //浜ゆ祦杩囨祦鎶ヨ (1锛氫氦娴佽繃娴佹姤璀� 0锛氭甯�)
+ public Byte alarmEleExceed ; //浜ゆ祦杩囨祦鎶ヨ (1锛氫氦娴佽繃娴佹姤璀� 0锛氭甯�)
public Byte alarmEleLowVolt ; //涓夌浉鐢垫瑺鍘嬫姤璀� (1锛氭瑺鍘嬫姤璀� 0锛氭甯�)
- public Byte stateIcEnable ; //IC鍗′娇鑳� (1銆両C鏈夊埛鍗℃敮鎸� 0锛氫笉鏀寔)
+ public Byte stateIcEnable ; //IC鍗′娇鑳� (1锛欼C鏈夊埛鍗℃敮鎸� 0锛氫笉鏀寔)
+ public Byte alarmBlockValve; //闃�闂ㄦ晠闅滄姤璀� (1:闃�闂ㄥ牭杞� 0锛氶榾闂ㄦ甯革紙涓嶅牭杞級)
+ public Byte stateOpClValve ; //闃�闂ㄥ紑鍏崇姸鎬� (1锛氬紑鍏抽榾涓嶅埌浣� 0锛氬紑鍏抽榾鍒颁綅)
+ public boolean hasAlarm(){
+ boolean flag = false ;
+ if((alarmBatteryVolt != null && alarmBatteryVolt == 1) ||
+ (alarmWaterMeterFault != null && alarmWaterMeterFault == 1) ||
+ (alarmWaterMeterBreak != null && alarmWaterMeterBreak == 1) ||
+ (alarmSteal != null && alarmSteal == 1) ||
+ (alarmBlockValve != null && alarmBlockValve == 1) ){
+ flag = true ;
+ }
+ return flag ;
+ }
+
+ public boolean hasAlarmExcludeLoss(){
+ boolean flag = false ;
+ if((alarmBatteryVolt != null && alarmBatteryVolt == 1) ||
+ (alarmWaterMeterFault != null && alarmWaterMeterFault == 1) ||
+ (alarmWaterMeterBreak != null && alarmWaterMeterBreak == 1)||
+ (alarmBlockValve != null && alarmBlockValve == 1) ){
+ flag = true ;
+ }
+ return flag ;
+ }
+
+ public String alarmContent(){
+ String txt = "" ;
+ boolean hasTxt = false ;
+ if(alarmBatteryVolt != null && alarmBatteryVolt == 1){
+ txt += (hasTxt?"銆�":"") + "鐢垫睜鐢靛帇浣庢姤璀�" ;
+ hasTxt = true ;
+ }
+ if(alarmWaterMeterFault != null && alarmWaterMeterFault == 1){
+ txt += (hasTxt?"銆�":"") + "澶栭儴娴侀噺璁℃晠闅滄姤璀�" ;
+ hasTxt = true ;
+ }
+ if(alarmWaterMeterBreak != null && alarmWaterMeterBreak == 1){
+ txt += (hasTxt?"銆�":"") + "娴侀噺璁℃晠闅滄姤璀�" ;
+ hasTxt = true ;
+ }
+ if(alarmSteal != null && alarmSteal == 1){
+ txt += (hasTxt?"銆�":"") + "婕忔崯鎶ヨ" ;
+ hasTxt = true ;
+ }
+ if(alarmBlockValve != null && alarmBlockValve == 1){
+ txt += (hasTxt?"銆�":"") + "闃�闂ㄦ晠闅滄姤璀�" ;
+ hasTxt = true ;
+ }
+ return txt ;
+ }
+
+ public String alarmContentExcludeLoss(){
+ String txt = "" ;
+ boolean hasTxt = false ;
+ if(alarmBatteryVolt != null && alarmBatteryVolt == 1){
+ txt += (hasTxt?"銆�":"") + "鐢垫睜鐢靛帇浣庢姤璀�" ;
+ hasTxt = true ;
+ }
+ if(alarmWaterMeterFault != null && alarmWaterMeterFault == 1){
+ txt += (hasTxt?"銆�":"") + "澶栭儴娴侀噺璁℃晠闅滄姤璀�" ;
+ hasTxt = true ;
+ }
+ if(alarmWaterMeterBreak != null && alarmWaterMeterBreak == 1){
+ txt += (hasTxt?"銆�":"") + "娴侀噺璁℃晠闅滄姤璀�" ;
+ hasTxt = true ;
+ }
+ if(alarmBlockValve != null && alarmBlockValve == 1){
+ txt += (hasTxt?"銆�":"") + "闃�闂ㄦ晠闅滄姤璀�" ;
+ hasTxt = true ;
+ }
+ return txt ;
+ }
public String toString(){
StringBuffer sb = new StringBuffer() ;
sb.append(" 娉�/闃�鐘舵�� : ") ;
@@ -53,10 +127,10 @@
sb.append(alarm0MoneyRemain == null?"鏈煡":(alarm0MoneyRemain.byteValue() == 0 ? "姝e父":(alarm0MoneyRemain.byteValue() == 1 ? "鍏虫车/闃�":"鏈煡"))) ;
sb.append("\n") ;
sb.append(" 鎺у埗鍣ㄥ唴闂� : ") ;
- sb.append(alarmInnerDoor == null?"鏈煡":(alarmInnerDoor.byteValue() == 0 ? "姝e父":(alarmInnerDoor.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+ sb.append(alarmDoor == null?"鏈煡":(alarmDoor.byteValue() == 0 ? "姝e父":(alarmDoor.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
sb.append("\n") ;
- sb.append(" 鎺у埗鍣ㄥ闂� : ") ;
- sb.append(alarmOuterDoor == null?"鏈煡":(alarmOuterDoor.byteValue() == 0 ? "姝e父":(alarmOuterDoor.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+ sb.append(" 鐢垫睜鐢靛帇浣� : ") ;
+ sb.append(alarmBatteryVolt == null?"鏈煡":(alarmBatteryVolt.byteValue() == 0 ? "姝e父":(alarmBatteryVolt.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
sb.append("\n") ;
sb.append(" 浜ゆ祦缂洪」 : ") ;
sb.append(alarmEleMiss == null?"鏈煡":(alarmEleMiss.byteValue() == 0 ? "姝e父":(alarmEleMiss.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
@@ -70,6 +144,12 @@
sb.append(" IC鍗″姛鑳� : ") ;
sb.append(stateIcEnable == null?"鏈煡":(stateIcEnable.byteValue() == 0 ? "鏃犳晥":(stateIcEnable.byteValue() == 1 ? "鏈夋晥":"鏈煡"))) ;
sb.append("\n") ;
+ sb.append(" 闃�闂ㄥ紑鍏崇姸鎬� : ") ;
+ sb.append(stateOpClValve == null?"鏈煡":(stateOpClValve.byteValue() == 0 ? "姝e父":(stateOpClValve.byteValue() == 1 ? "鏈埌浣�":"鏈煡"))) ;
+ sb.append("\n") ;
+ sb.append(" 闃�闂ㄥ牭杞姤璀� : ") ;
+ sb.append(alarmBlockValve == null?"鏈煡":(alarmBlockValve.byteValue() == 0 ? "姝e父":(alarmBlockValve.byteValue() == 1 ? "鎶ヨ":"鏈煡"))) ;
+ sb.append("\n") ;
return sb.toString() ;
}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateHistory.java
index f514ab4..d9b1130 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateHistory.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmAlarmStateHistory.java
@@ -120,6 +120,7 @@
public Byte alarmInnerDoor;
/**
+ * 2025-02-19 鍚箟鍙樹负 鐢垫睜鐢靛帇鎶ヨ(1锛氭姤璀︼紝0锛氭甯�)
* 鎺у埗鍣ㄥ闂ㄦ墦寮�鎶ヨ(1锛氭姤璀︼紝0锛氭甯�)
*/
public Byte alarmOuterDoor;
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 e83bb02..266078e 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
@@ -114,7 +114,7 @@
* @param stateVo 鐘舵�佸璞�
*/
private void toMsCenter(PrController controller, String rtuAddr, DataV1 dV1, DataAlarmVo alarmVo, DataStateVo stateVo){
- if(alarmVo != null && controller != null){
+ if(alarmVo != null && controller != null && alarmVo.hasAlarm()){
MsObj msObj = new MsObj() ;
msObj.put("name", "鎶ヨ");
msObj.put("rtuAddr", rtuAddr);
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkPreGenObjs.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkPreGenObjs.java
index c6389d6..fcbb679 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkPreGenObjs.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkPreGenObjs.java
@@ -57,7 +57,7 @@
if(sv != null){
PrController controller = sv.getControllersByRtuAddrAndIntakeNotNull(rtuAddr) ;
PrControllerTramp controllerTramp = null ;
- SeClient clientVo = null ;//杩欎釜鍊煎璞′腑鍙湁id鍜宯ame浼氭湁鍊�
+ SeClient clientVo = null ;//杩欎釜鍊煎璞′腑鍙湁id銆乶ame銆乤ddress浼氭湁鍊�
if(controller == null){
//鏁版嵁搴撲腑鏈煡璇㈠埌鎺у埗鍣紙RTU瀹炰綋锛�(宸茬粡缁戝畾涓旀帶鍒跺櫒鍦板潃鐩哥)
//娴佹氮鑰呮帶鍒跺櫒
@@ -90,7 +90,7 @@
(d1.subData instanceof DataCd83OpenVo ||
d1.subData instanceof DataCd83CloseVo ||
d1.subData instanceof DataCd84Vo)){
- //寮�闃�鍚庯紝鍏抽榾鎶ワ紝闃�寮�宸ヤ綔鎶�
+ //寮�闃�鎶ワ紝鍏抽榾鎶ワ紝闃�寮�宸ヤ綔鎶�
String icCardAddr = null ;
String icCardNo = null ;
if(d1.subData instanceof DataCd83OpenVo){
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 572ec61..7e8f23f 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
@@ -37,6 +37,7 @@
Data d = (Data)data ;
Object subD = d.getSubData() ;
if(subD != null){
+ boolean toNext = false ;
DataV2 dV2 = (DataV2)subD ;
if(dV2 != null && dV2.subData != null){
//dV2.dataCd81Vo銆� dV2.dataCd84Vo 涓� dV2.dataCdC0Vo 涓嶄細鍚屾椂鏈夊��
@@ -57,6 +58,7 @@
if(dataCd02Vo.stateVo != null && dataCd02Vo.stateVo.valveState != null && dataCd02Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){
if(controller != null && controller.getIntakeId() != null){
this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ;
+ toNext = true ;
}
}
}
@@ -73,6 +75,7 @@
if(dataCd81Vo.stateVo != null && dataCd81Vo.stateVo.valveState != null && dataCd81Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){
if(controller != null && controller.getIntakeId() != null){
this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ;
+ toNext = true ;
}
}
}
@@ -106,6 +109,7 @@
if(dataCdC0Vo.stateVo != null && dataCdC0Vo.stateVo.valveState != null && dataCdC0Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){
if(controller != null && controller.getIntakeId() != null){
this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ;
+ toNext = true ;
}
}
}
@@ -113,6 +117,9 @@
} catch (Exception e) {
log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e);
}
+ }
+ if(toNext){
+ this.toNextTasks(d);
}
}
}
@@ -126,7 +133,7 @@
* @param stateVo 鐘舵�佸璞�
*/
private void toMsCenter(PrController controller, String rtuAddr, DataV2 dV12, DataAlarmVo alarmVo, DataStateVo stateVo){
- if(alarmVo != null && controller != null){
+ if(alarmVo != null && controller != null && alarmVo.hasAlarm()){
MsObj msObj = new MsObj() ;
msObj.put("name", "鎶ヨ");
msObj.put("rtuAddr", rtuAddr);
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 837e2f0..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
@@ -12,8 +12,6 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import java.util.Date;
-
/**
* @Author liurunyu
* @Date 2024/5/8 14:18
@@ -35,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] ;
@@ -44,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);
}
}
/**
@@ -101,21 +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锛氭甯�)
+ 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);
}
}
@@ -150,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) ;
@@ -192,32 +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){
- //铏氭嫙鍗″湪鍙栨按涓殑鍗犵敤鐘舵�佹敼涓洪潪搴旂敤鐘舵��
- Date now = new Date() ;
- sv.updateVirCardNoUseState(controller.getIntakeId(), now);
- }
- }
- }
-
- }
}
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealVirCardStateV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealVirCardStateV202404.java
new file mode 100644
index 0000000..0a18f1f
--- /dev/null
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealVirCardStateV202404.java
@@ -0,0 +1,43 @@
+package com.dy.rtuMw.server.rtuData.p206V202404;
+
+import com.dy.common.mw.protocol.p206V202404.upVos.AlarmVo;
+import com.dy.rtuMw.server.rtuData.TaskSurpport;
+import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.util.Date;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/8/9 9:49
+ * @Description
+ */
+public class TkDealVirCardStateV202404 extends TaskSurpport {
+
+ private static final Logger log = LogManager.getLogger(TkDealVirCardStateV202404.class.getName()) ;
+
+ //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷�
+ public static final String taskId = "TkDealVirCardStateV202404" ;
+
+ /**
+ * 鎵ц鑺傜偣浠诲姟锛氳櫄鎷熷崱鍦ㄥ彇姘村彛涓婄殑鍗犵敤鐘舵�佹敼涓洪潪鍗犵敤鐘舵��
+ * @param data 闇�瑕佸鐞嗙殑鏁版嵁
+ */
+ @Override
+ public void execute(Object data) {
+ Object[] objs = this.getTaskResults(TkDealAlarmStatusV202404.taskId);
+ if(objs != null && objs.length >= 2){
+ Long intakeId = (Long)objs[0] ;
+ Byte valveState = (Byte)objs[1] ;
+ if(intakeId != null && valveState.byteValue() == AlarmVo.DevCloseState){
+ objs = this.getTaskResults(TkPreGenObjsV202404.taskId);
+ DbSv sv = (DbSv) objs[0];
+ //铏氭嫙鍗″湪鍙栨按鍙d笂鐨勫崰鐢ㄧ姸鎬佹敼涓洪潪鍗犵敤鐘舵��
+ Date now = new Date() ;
+ sv.updateVirCardNoUseState(intakeId, now);
+ }
+ }
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkPreGenObjsV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkPreGenObjsV202404.java
index 53bb25c..21a6d95 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkPreGenObjsV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkPreGenObjsV202404.java
@@ -3,10 +3,12 @@
import com.dy.common.mw.protocol.Command;
import com.dy.common.mw.protocol.CommandType;
import com.dy.common.mw.protocol.Data;
-import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.*;
+import com.dy.common.mw.protocol.p206V202404.upVos.*;
import com.dy.common.springUtil.SpringContextUtil;
import com.dy.pipIrrGlobal.pojoPr.PrController;
import com.dy.pipIrrGlobal.pojoPr.PrControllerTramp;
+import com.dy.pipIrrGlobal.pojoSe.SeClient;
import com.dy.rtuMw.server.ServerProperties;
import com.dy.rtuMw.server.rtuData.TaskSurpport;
import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
@@ -16,11 +18,16 @@
import java.text.ParseException;
import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* @Author liurunyu
* @Date 2024/5/8 14:18
*/
public class TkPreGenObjsV202404 extends TaskSurpport {
+
+ private static final Map<String, Boolean> onceUpDataRtus = new HashMap<>();
private static final Logger log = LogManager.getLogger(TkPreGenObjsV202404.class.getName()) ;
@@ -35,10 +42,24 @@
public void execute(Object data) throws ParseException {
Data d = (Data)data ;
String rtuAddr = d.getRtuAddr() ;//TkRtuData閲屽垽鏂簡rtuAddr涓虹┖
- DbSv sv = (DbSv) SpringContextUtil.getBean(DbSv.class) ;
+ if(d.subData != null && d.subData instanceof DataV202404){
+ DataV202404 dataV1 = (DataV202404)d.subData ;
+ if(dataV1.subData != null && dataV1.subData instanceof DataCd02Vo){
+ //杩囨护鎺夊績璺虫暟鎹�
+ if(onceUpDataRtus.containsKey(rtuAddr)){
+ return ;
+ }
+ }
+ }
+ if(!onceUpDataRtus.containsKey(rtuAddr)){
+ onceUpDataRtus.put(rtuAddr, true) ;
+ }
+
+ DbSv sv = SpringContextUtil.getBean(DbSv.class) ;
if(sv != null){
PrController controller = sv.getControllersByRtuAddrAndIntakeNotNull(rtuAddr) ;
PrControllerTramp controllerTramp = null ;
+ SeClient clientVo = null ;//杩欎釜鍊煎璞′腑鍙湁id銆乶ame銆乤ddress浼氭湁鍊�
if(controller == null){
//鏁版嵁搴撲腑鏈煡璇㈠埌鎺у埗鍣紙RTU瀹炰綋锛�(宸茬粡缁戝畾涓旀帶鍒跺櫒鍦板潃鐩哥)
//娴佹氮鑰呮帶鍒跺櫒
@@ -49,9 +70,13 @@
//绗竴娆″彂鐜帮紝涓嬪彂娓呯┖RTU鍘嗗彶鍛戒护锛屼互浣垮叾閲嶆柊寮�濮嬭褰曟柊鍦扮偣鐨勬暟鎹�
this.sendClearCommand(rtuAddr, d.protocol);
}
+ }else{
+ if(d.subData != null && d.subData instanceof DataV202404){
+ clientVo = this.getClient(sv, (DataV202404)d.subData);
+ }
}
//涓嶈鏄惁涓烘祦娴帶鍒跺櫒锛圧TU瀹炰綋锛夛紝閮借杩涜涓嬫宸ヤ綔锛岃褰曞叾涓婃姤鐨勪竴浜涙暟鎹紝褰撶粦瀹氭帶鍒跺櫒鍚庯紝鏁版嵁鑷姩鏈変簡褰掑睘
- this.taskResult = new Object[]{sv, controller, controllerTramp} ;
+ this.taskResult = new Object[]{sv, controller, controllerTramp, clientVo} ;
this.toNextTasks(data);
}else{
log.error("涓ラ噸閿欒锛屾湭鑳藉緱鍒癉bSv瀵硅薄");
@@ -59,6 +84,41 @@
}
/**
+ * 寰楀埌鐩稿叧鍐滄埛淇℃伅
+ */
+ private SeClient getClient(DbSv sv, DataV202404 d1){
+ SeClient clientVo = null ;
+ if(d1.subData != null &&
+ (d1.subData instanceof DataCd84Vo ||
+ d1.subData instanceof DataCd85Vo ||
+ d1.subData instanceof DataCd80_5BVo)){
+ //寮�闃�鎶ワ紝鍏抽榾鎶ワ紝闃�寮�宸ヤ綔鎶�
+ String icCardAddr = null ;
+ String icCardNo = null ;
+ if(d1.subData instanceof DataCd84Vo){
+ DataCd84Vo vo = (DataCd84Vo)d1.subData ;
+ icCardAddr = vo.icCardAddr ;
+ icCardNo = vo.icCardNo ;
+ }else if(d1.subData instanceof DataCd85Vo){
+ DataCd85Vo vo = (DataCd85Vo)d1.subData ;
+ icCardAddr = vo.icCardAddr ;
+ icCardNo = vo.icCardNo ;
+ }else if(d1.subData instanceof DataCd80_5BVo){
+ DataCd80_5BVo vo = (DataCd80_5BVo)d1.subData ;
+ icCardAddr = vo.icCardAddr ;
+ icCardNo = vo.icCardNo ;
+ }
+ if(icCardAddr != null && icCardNo != null){
+ if(icCardAddr.equals(ProtocolConstantV206V202404.vsCardAddr)){
+ clientVo = sv.getClientIdAndNameByVsCardNo(icCardNo) ;
+ }else{
+ clientVo = sv.getClientIdAndNameByCardAddrAndCardNo(icCardAddr, icCardNo) ;
+ }
+ }
+ }
+ return clientVo ;
+ }
+ /**
* 鍙戦�佹竻绌篟TU鐨勫懡浠�
* @param rtuAddr
* @param protocol
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml
index 755a377..60cddef 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml
@@ -18,7 +18,7 @@
<task id="TkDealAlarmStatus" name="鎺у埗鍣ㄦ姤璀︿笌鐘舵�佸強鍚戦拤閽夊彂閫佹姤璀︿俊鎭�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1.TkDealAlarmStatus">
<task id="TkDealVirCardState" name="铏氭嫙鍗″崰鐢ㄧ姸鎬佹仮澶�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1.TkDealVirCardState" />
</task>
- <task id="TkDealOnHourReport" name="鎺у埗鍣ㄨ嚜鎶ユ暟鎹紙瀹氱偣鎶ワ級(鍔熻兘鐮丆0)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1.TkDealOnHourReport" />
+ <task id="TkDealOnHourReport" name="鎺у埗鍣ㄨ嚜鎶ユ暟鎹紙鏁寸偣鎶ワ級(鍔熻兘鐮丆0)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1.TkDealOnHourReport" />
<task id="TkDealWorkReport" name="鎺у埗鍣ㄩ榾寮�宸ヤ綔涓婃姤(鍔熻兘鐮�84)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1.TkDealWorkReport" />
<task id="TkDealOpenValveReport" name="鎺у埗鍣ㄥ紑闃�涓婃姤(鍔熻兘鐮�83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1.TkDealOpenValveReport" />
<task id="TkDealCloseValveReport" name="鎺у埗鍣ㄥ叧闃�涓婃姤(鍔熻兘鐮�83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1.TkDealCloseValveReport" />
@@ -46,7 +46,7 @@
<task id="TkDealAlarmStatusV2" name="鎺у埗鍣ㄦ姤璀︿笌鐘舵�佸強鍚戦拤閽夊彂閫佹姤璀︿俊鎭�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V2.TkDealAlarmStatusV2">
<task id="TkDealVirCardStateV2" name="铏氭嫙鍗″崰鐢ㄧ姸鎬佹仮澶�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V2.TkDealVirCardStateV2" />
</task>
- <task id="TkDealOnHourReportV2" name="鎺у埗鍣ㄨ嚜鎶ユ暟鎹紙瀹氱偣鎶ワ級(鍔熻兘鐮丆0)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V2.TkDealOnHourReportV2" />
+ <task id="TkDealOnHourReportV2" name="鎺у埗鍣ㄨ嚜鎶ユ暟鎹紙鏁寸偣鎶ワ級(鍔熻兘鐮丆0)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V2.TkDealOnHourReportV2" />
<task id="TkDealWorkReportV2" name="鎺у埗鍣ㄩ榾寮�宸ヤ綔涓婃姤(鍔熻兘鐮�84)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V2.TkDealWorkReportV2" />
<task id="TkDealOpenValveReportV2" name="鎺у埗鍣ㄥ紑闃�涓婃姤(鍔熻兘鐮�83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V2.TkDealOpenValveReportV2" />
<task id="TkDealCloseValveReportV2" name="鎺у埗鍣ㄥ叧闃�涓婃姤(鍔熻兘鐮�83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V2.TkDealCloseValveReportV2" />
@@ -71,9 +71,11 @@
<task id="TkDealControllerNoTrampV202404" name="闈炴祦娴�匯TU" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealControllerNoTrampV202404">
<!-- 璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹� -->
<task id="TkFindReportV202404" name="璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkFindReportV202404">
- <task id="TkDealAlarmStatusV202404" name="鎺у埗鍣ㄦ姤璀︿笌鐘舵��" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealAlarmStatusV202404" />
+ <task id="TkDealAlarmStatusV202404" name="鎺у埗鍣ㄦ姤璀︿笌鐘舵�佸強鍚戦拤閽夊彂閫佹姤璀︿俊鎭�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealAlarmStatusV202404">
+ <task id="TkDealVirCardStateV202404" name="铏氭嫙鍗″崰鐢ㄧ姸鎬佹仮澶�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealVirCardStateV202404" />
+ </task>
<task id="TkDealWorkingReportV202404" name="鎺у埗鍣ㄥ伐浣滄姤(鍔熻兘鐮�80)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealWorkingReportV202404" />
- <task id="TkDealTimingReportV202404" name="鎺у埗鍣ㄥ畾鏃朵笂鎶�(鍔熻兘鐮�83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealTimingReportV202404" />
+ <task id="TkDealTimingReportV202404" name="鎺у埗鍣ㄥ畾鏃讹紙涓�澶╀竴娆★級涓婃姤(鍔熻兘鐮�83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealTimingReportV202404" />
<task id="TkDealOpenValveReportV202404" name="鎺у埗鍣ㄥ紑闃�涓婃姤(鍔熻兘鐮�84)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealOpenValveReportV202404" />
<task id="TkDealCloseValveReportV202404" name="鎺у埗鍣ㄥ叧闃�涓婃姤(鍔熻兘鐮�85)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealCloseValveReportV202404" />
</task>
--
Gitblit v1.8.0