From de2b2506dfce3641d28c8f016019cdf8f744dc42 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 07 五月 2025 15:07:00 +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/p206V2/TkDealOnHourReportV2.java | 125 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 125 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealOnHourReportV2.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealOnHourReportV2.java
new file mode 100644
index 0000000..93fc401
--- /dev/null
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealOnHourReportV2.java
@@ -0,0 +1,125 @@
+package com.dy.rtuMw.server.rtuData.p206V2;
+
+import com.dy.common.mw.protocol.Data;
+import com.dy.common.mw.protocol.p206V2.DataV2;
+import com.dy.common.mw.protocol.p206V2.upVos.DataCdC0Vo;
+import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory;
+import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast;
+import com.dy.rtuMw.server.ServerProperties;
+import com.dy.rtuMw.server.forMs.SendMsCache;
+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/1/16 14:11
+ * @LastEditTime 2024/1/16 14:11
+ * @Description 鎺у埗鍣ㄨ嚜鎶ュ疄鏃舵暟鎹紙鍔熻兘鐮佷负C0锛夛紙瀹氱偣涓婃姤锛�
+ */
+public class TkDealOnHourReportV2 extends TaskSurpport {
+
+ private static final Logger log = LogManager.getLogger(TkDealOnHourReportV2.class.getName()) ;
+
+ //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷�
+ public static final String taskId = "TkDealOnHourReportV2" ;
+
+ /**
+ * 鎵ц鑺傜偣浠诲姟锛氭帶鍒跺櫒鑷姤鏁版嵁锛堝姛鑳界爜涓篊0锛�
+ * @param data 闇�瑕佸鐞嗙殑鏁版嵁
+ */
+ @Override
+ public void execute(Object data) {
+ Data d = (Data) data;
+ DataV2 dV2 = (DataV2) d.getSubData();//鍓嶉潰浠诲姟宸茬粡鍒ゆ柇涓嶄负null
+ Object cdObj = dV2.subData;
+ if (cdObj != null && cdObj instanceof DataCdC0Vo){
+ Object[] objs = this.getTaskResults(TkPreGenObjsV2.taskId) ;
+ DbSv sv = (DbSv)objs[0] ;
+ PrController controller = (PrController)objs[1] ;
+ try{
+ this.doDeal(sv, controller, d.getRtuAddr(), dV2, (DataCdC0Vo)cdObj);
+ }catch (Exception e){
+ log.error("淇濆瓨鎺у埗鍣ㄥ畾鐐逛笂鎶ユ暟鎹椂鍙戠敓寮傚父", e);
+ }
+ }
+ }
+ /**
+ * 澶勭悊闃�涓婃姤鏁版嵁
+ * @param sv 鏈嶅姟
+ * @param controller 鎺у埗鍣ㄥ璞�
+ * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+ * @param cdData 鍗忚鏁版嵁
+ * @param cdData 鍔熻兘鏁版嵁
+ */
+ private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV2 dV2, DataCdC0Vo cdData) throws Exception {
+ this.saveOrUpdateLast(sv, controller, rtuAddr, dV2, cdData);
+ this.saveHistory(sv, controller, rtuAddr, dV2, cdData);
+ }
+ /**
+ * 淇濆瓨鑷姤鏈�鏂版暟鎹�
+ * @param sv 鏈嶅姟
+ * @param controller 鎺у埗鍣ㄥ璞�
+ * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+ * @param cdData 鑷姤鏁版嵁瀵硅薄
+ */
+ private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV2 dV2, DataCdC0Vo cdData) throws Exception {
+ RmOnHourReportLast po = sv.getRmOnHourReportLast(controller.getIntakeId()) ;
+ if(po == null){
+ po = new RmOnHourReportLast();
+ po.controllerId = controller==null?null:controller.getId();
+ po.intakeId = controller==null?null:controller.getIntakeId();
+ po.rtuAddr = rtuAddr;
+ po.valueFrom(dV2, cdData);
+ sv.saveRmOnHourReportLast(po) ;
+ if(po.lossAmount >= ServerProperties.intakeAlarmLossMinValue){
+ this.sendMessage(controller, po.lossAmount);
+ }
+ }else{
+ po.controllerId = controller==null?null:controller.getId();
+ po.intakeId = controller==null?null:controller.getIntakeId();
+ po.valueFrom(dV2, cdData);
+ sv.updateRmOnHourReportLast(po);
+ if(po.lossAmount >= ServerProperties.intakeAlarmLossMinValue){
+ this.sendMessage(controller, po.lossAmount);
+ }
+ }
+ }
+
+
+ /**
+ * 淇濆瓨鎴栨洿鏂版帶鍒跺櫒璇ヤ笂鎶ュ巻鍙叉暟鎹�
+ * @param sv 鏈嶅姟bean
+ * @param controller 鎺у埗鍣ㄥ璞�
+ * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+ * @param dV2 鍗忚鏁版嵁
+ * @param cdData 鍔熻兘鏁版嵁
+ */
+ private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV2 dV2, DataCdC0Vo cdData)throws Exception {
+ RmOnHourReportHistory po = new RmOnHourReportHistory();
+ po.controllerId = controller==null?null:controller.getId();
+ po.intakeId = controller==null?null:controller.getIntakeId();
+ po.rtuAddr = rtuAddr;
+ po.valueFrom(dV2, cdData);
+ sv.saveRmOnHourReportHistory(po); ;
+ }
+
+
+
+ /**
+ * 鍚戦拤閽夊彂閫佹秷鎭�
+ * @param controller
+ */
+ private void sendMessage(PrController controller, Double lossAmount){
+ String ms = "鍙栨按鍙b��" + controller.getIntakeName() + "鈥濇紡姘存姤璀︼紝浠婃棩婕忔崯閲�" + lossAmount + "绔嬫柟绫�";
+ try{
+ SendMsCache.cacheMs(ms);
+ }catch (Exception e){
+ log.error("缂撳瓨閽夐拤娑堟伅寮傚父锛�", e);
+ }
+ }
+
+}
+
--
Gitblit v1.8.0