From 25fd361007a843306bb4a1f4a5204ef9243fb974 Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期三, 27 三月 2024 19:18:53 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java | 80 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 75 insertions(+), 5 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java index 5143c34..32eb003 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java @@ -1,9 +1,14 @@ package com.dy.aceMw.server.rtuData.p206V1_0_0; import com.dy.aceMw.server.rtuData.TaskSurpport; +import com.dy.aceMw.server.rtuData.dbSv.DbSv; import com.dy.common.mw.protocol.Data; import com.dy.common.mw.protocol.p206V1_0_0.DataCdC0Vo; import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1; +import com.dy.common.util.DateTime; +import com.dy.pipIrrGlobal.pojoPr.PrController; +import com.dy.pipIrrGlobal.pojoRm.RmAutoReportHistory; +import com.dy.pipIrrGlobal.pojoRm.RmAutoReportLast; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -11,17 +16,17 @@ * @Author liurunyu * @Date 2024/1/16 14:11 * @LastEditTime 2024/1/16 14:11 - * @Description + * @Description 鎺у埗鍣ㄨ嚜鎶ユ暟鎹紙鍔熻兘鐮佷负C0锛夛紙鏁寸偣涓婃姤锛� */ public class TkDealAutoReport extends TaskSurpport { - private static final Logger log = LogManager.getLogger(TkDealAlarmStatus.class.getName()) ; + private static final Logger log = LogManager.getLogger(TkDealAutoReport.class.getName()) ; //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� - public static final String taskId = "TkDealAlarmStatus" ; + public static final String taskId = "TkDealAutoReport" ; /** - * 鎵ц鑺傜偣浠诲姟锛歊TU鑷姤 + * 鎵ц鑺傜偣浠诲姟锛氭帶鍒跺櫒鑷姤鏁版嵁锛堝姛鑳界爜涓篊0锛� * @param data 闇�瑕佸鐞嗙殑鏁版嵁 */ @Override @@ -31,8 +36,73 @@ if (subD != null) { DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD; if (dV1_0_1 != null && dV1_0_1.dataCdC0Vo != null) { - DataCdC0Vo dataCdC0Vo = dV1_0_1.dataCdC0Vo ; + Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; + DbSv sv = (DbSv)objs[0] ; + PrController controller = (PrController)objs[1] ; + try{ + this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCdC0Vo) ; + this.saveHistory(sv, controller, d.getRtuAddr(),dV1_0_1, dV1_0_1.dataCdC0Vo) ; + }catch (Exception e){ + log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); + } } } } + /** + * 淇濆瓨鑷姤鏈�鏂版暟鎹� + * @param sv 鏈嶅姟 + * @param controller 鎺у埗鍣ㄥ璞� + * @param rtuAddr 鎺у埗鍣ㄥ湴鍧� + * @param dataCdC0Vo 鑷姤鏁版嵁瀵硅薄 + */ + private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception { + RmAutoReportLast po = sv.getRmAutoReportLast(rtuAddr) ; + if(po == null){ + po = new RmAutoReportLast(null, controller==null?null:controller.getId(), controller==null?null:controller.getId(), + rtuAddr, + DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt), + DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt), + dataCdC0Vo.instantAmount, dataCdC0Vo.totalAmount, dataCdC0Vo.lossAmount, + dataCdC0Vo.waterPress, dataCdC0Vo.batteryVolt, dataCdC0Vo.sunVolt, dataCdC0Vo.signalValue) ; + sv.saveRmAutoReportLast(po) ; + }else{ + po = this.update(controller, po, dV1_0_1, dataCdC0Vo) ; + sv.updateRmAutoReportLast(po); + } + } + + /** + * 淇濆瓨鑷姤鍘嗗彶璁板綍 + * @param sv 鏈嶅姟 + * @param controller 鎺у埗鍣ㄥ璞� + * @param rtuAddr 鎺у埗鍣ㄥ湴鍧� + * @param dataCdC0Vo 鑷姤鏁版嵁瀵硅薄 + */ + private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception { + RmAutoReportHistory po = new RmAutoReportHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(), + rtuAddr, + DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt), + DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt), + dataCdC0Vo.instantAmount, dataCdC0Vo.totalAmount, dataCdC0Vo.lossAmount, + dataCdC0Vo.waterPress, dataCdC0Vo.batteryVolt, dataCdC0Vo.sunVolt, dataCdC0Vo.signalValue) ; + sv.saveRmAutoReportHistory(po) ; + } + + + private RmAutoReportLast update(PrController controller, RmAutoReportLast po, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception { + po.controllerid = controller==null?null:controller.getId(); + po.intakeid = controller==null?null:controller.getIntakeId(); + + po.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt); + po.rtudt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCdC0Vo.rtuDt) ; + po.instantamount = dataCdC0Vo.instantAmount; + po.totalamount = dataCdC0Vo.totalAmount; + po.lossamount = dataCdC0Vo.lossAmount; + po.waterpress = dataCdC0Vo.waterPress; + po.batteryvolt = dataCdC0Vo.batteryVolt; + po.sunvolt = dataCdC0Vo.sunVolt; + po.signalvalue = dataCdC0Vo.signalValue; + return po ; + } } + -- Gitblit v1.8.0