From b16bb22a803b1ec2960822f08b30503a732ab3af Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 09 八月 2024 10:10:09 +0800
Subject: [PATCH] 通信中间件实现上行数据任务:恢复虚拟卡在取水口上占用状态为非占用状态
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java | 4 +
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java | 2
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml | 7 ++-
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataStateVo.java | 3 +
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealVirCardState.java | 40 ++++++++++++++++++++
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java | 4 +
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java | 36 ++++++++----------
7 files changed, 70 insertions(+), 26 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java
index 97fec82..8ef331f 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java
@@ -3,7 +3,7 @@
import lombok.Data;
/**
- * 閬ユ祴绔欒嚜鎶ュ疄鏃舵暟鎹�
+ * 閬ユ祴绔欒嚜鎶�(鏁寸偣)瀹炴椂鏁版嵁
*/
@Data
public class DataCdC0Vo {
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataStateVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataStateVo.java
index 096404e..4a733f3 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataStateVo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataStateVo.java
@@ -4,6 +4,9 @@
@Data
public class DataStateVo {
+ public static final byte ValveOpenState = 0 ;
+ public static final byte ValveCloseState = 1 ;
+
public Byte icCard;// IC鍗″姛鑳�
public Byte valveState;//闃�闂ㄧ姸鎬�
public Byte powerType ;//鐢垫簮鐘舵�侊紙0锛�220V渚涚數锛�1锛氱暅鐢垫睜渚涚數锛�
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java
index ccb127c..b782f60 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java
@@ -50,7 +50,11 @@
PrController controller = (PrController) objs[1];
this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCd81Vo.rtuDt, dV1_0_1, dataCd81Vo.alarmVo, dataCd81Vo.stateVo);
this.saveHistory(sv, controller, d.getRtuAddr(), dataCd81Vo.rtuDt, dV1_0_1, dataCd81Vo.alarmVo, dataCd81Vo.stateVo);
- this.updateVirCardNoUseState(sv, controller, dataCd81Vo.stateVo) ;
+ 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} ;
+ }
+ }
}
} else if (cdObj instanceof DataCd84Vo) {
DataCd84Vo dataCd84Vo = (DataCd84Vo)cdObj ;
@@ -60,7 +64,12 @@
PrController controller = (PrController) objs[1];
this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCd84Vo.rtuDt, dV1_0_1, dataCd84Vo.alarmVo, dataCd84Vo.stateVo);
this.saveHistory(sv, controller, d.getRtuAddr(), dataCd84Vo.rtuDt, dV1_0_1, dataCd84Vo.alarmVo, dataCd84Vo.stateVo);
- this.updateVirCardNoUseState(sv, controller, dataCd84Vo.stateVo) ;
+ /** 闃�寮�宸ヤ綔鎶ワ紝闃�闂ㄧ姸鎬佷竴瀹氭槸鎵撳紑鐘舵�侊紝鎵�浠ヤ笉璁剧疆涓嬮潰鏁版嵁浠ュ鍚庣画浠诲姟璁剧疆铏氭嫙鍗$姸鎬�
+ if(dataCd84Vo.stateVo != null && dataCd84Vo.stateVo.valveState != null && dataCd84Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){
+ if(controller != null && controller.getIntakeId() != null){
+ this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ;
+ }
+ }*/
}
} else if (cdObj instanceof DataCdC0Vo) {
DataCdC0Vo dataCdC0Vo = (DataCdC0Vo)cdObj ;
@@ -70,7 +79,11 @@
PrController controller = (PrController) objs[1];
this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCdC0Vo.rtuDt, dV1_0_1, dataCdC0Vo.alarmVo, dataCdC0Vo.stateVo);
this.saveHistory(sv, controller, d.getRtuAddr(), dataCdC0Vo.rtuDt, dV1_0_1, dataCdC0Vo.alarmVo, dataCdC0Vo.stateVo);
- this.updateVirCardNoUseState(sv, controller, dataCdC0Vo.stateVo) ;
+ 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} ;
+ }
+ }
}
}
} catch (Exception e) {
@@ -151,23 +164,6 @@
}
- /**
- * 铏氭嫙鍗″湪鍙栨按鍙d笂鐨勫崰鐢ㄧ姸鎬佹敼涓洪潪搴旂敤鐘舵��
- */
- private void updateVirCardNoUseState(DbSv sv,
- PrController controller,
- DataStateVo stateVo){
- if(stateVo != null){
- if(stateVo.valveState != null && stateVo.valveState.byteValue() == 0){
- //闃�闂ㄥ叧闂姸鎬�
- if(controller != null && controller.getIntakeId() != null){
- //铏氭嫙鍗″湪鍙栨按涓殑鍗犵敤鐘舵�佹敼涓洪潪搴旂敤鐘舵��
- sv.updateVirCardNoUseState(controller.getIntakeId());
- }
- }
- }
-
- }
/**
* 鍚戦拤閽夊彂閫佹秷鎭�
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
index cfe155c..42471f3 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
@@ -168,8 +168,10 @@
}
}
+ /**
+ * 澶勭悊琛ユ姤锛屾殏鏃舵棤閫昏緫
+ */
private void dealSupplyReport(){
-
}
/**
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
index bf4f33d..1baf103 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
@@ -123,8 +123,10 @@
}
}
+ /**
+ * 澶勭悊琛ユ姤锛屾殏鏃舵棤閫昏緫
+ */
private void dealSupplyReport(){
-
}
/**
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealVirCardState.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealVirCardState.java
new file mode 100644
index 0000000..d3bc73c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealVirCardState.java
@@ -0,0 +1,40 @@
+package com.dy.rtuMw.server.rtuData.p206V1_0_0;
+
+import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataStateVo;
+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;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/8/9 9:49
+ * @Description
+ */
+public class TkDealVirCardState extends TaskSurpport {
+
+ private static final Logger log = LogManager.getLogger(TkDealVirCardState.class.getName()) ;
+
+ //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷�
+ public static final String taskId = "TkDealVirCardState" ;
+
+ /**
+ * 鎵ц鑺傜偣浠诲姟锛氳櫄鎷熷崱鍦ㄥ彇姘村彛涓婄殑鍗犵敤鐘舵�佹敼涓洪潪鍗犵敤鐘舵��
+ * @param data 闇�瑕佸鐞嗙殑鏁版嵁
+ */
+ @Override
+ public void execute(Object data) {
+ Object[] objs = this.getTaskResults(TkDealAlarmStatus.taskId);
+ if(objs != null && objs.length >= 2){
+ Long intakeId = (Long)objs[0] ;
+ Byte valveState = (Byte)objs[1] ;
+ if(intakeId != null && valveState.byteValue() == DataStateVo.ValveCloseState){
+ objs = this.getTaskResults(TkPreGenObjs.taskId);
+ DbSv sv = (DbSv) objs[0];
+ //铏氭嫙鍗″湪鍙栨按鍙d笂鐨勫崰鐢ㄧ姸鎬佹敼涓洪潪鍗犵敤鐘舵��
+ sv.updateVirCardNoUseState(intakeId);
+ }
+ }
+ }
+
+}
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 c46cc46..5068328 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
@@ -15,7 +15,9 @@
<task id="TkDealControllerNoTramp" name="闈炴祦娴�匯TU" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealControllerNoTramp">
<!-- 璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹� -->
<task id="TkFindReport" name="璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkFindReport">
- <task id="TkDealAlarmStatus" name="鎺у埗鍣ㄦ姤璀︿笌鐘舵�佹暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealAlarmStatus" />
+ <task id="TkDealAlarmStatus" name="鎺у埗鍣ㄦ姤璀︿笌鐘舵�佸強鍚戦拤閽夊彂閫佹姤璀︿俊鎭�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealAlarmStatus">
+ <task id="TkDealVirCardState" name="铏氭嫙鍗″崰鐢ㄧ姸鎬佹仮澶�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealVirCardState" />
+ </task>
<task id="TkDealOnHourReport" name="鎺у埗鍣ㄨ嚜鎶ユ暟鎹紙鏁寸偣鎶ワ級(鍔熻兘鐮丆0)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOnHourReport" />
<task id="TkDealWorkReport" name="鎺у埗鍣ㄩ榾寮�宸ヤ綔涓婃姤(鍔熻兘鐮�84)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealWorkReport" />
<task id="TkDealOpenValveReport" name="鎺у埗鍣ㄥ紑闃�涓婃姤(鍔熻兘鐮�83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOpenValveReport" />
@@ -27,8 +29,7 @@
</task>
<!-- 璇嗗埆鍛戒护鍝嶅簲鏁版嵁 -->
<task id="TkFindComResponse" name="璇嗗埆鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkFindComResponse">
- <task id="TkRtuDealCommandResponse" name="RTU鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkRtuDealCommandResponse" >
- </task>
+ <task id="TkRtuDealCommandResponse" name="RTU鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkRtuDealCommandResponse" />
</task>
</task>
</task>
--
Gitblit v1.8.0