From b5b296cc01699f96029b07073fe9d0078bedd445 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期一, 26 二月 2024 16:32:35 +0800
Subject: [PATCH] 2024-02-26 朱宝民 解决添加用户主键不自动创建的问题,部分微信支付代码
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/rtuData/p206V1_0_0/TkDealAutoReport.java | 73 +++++++++++++++++++++++++++++++++++-
1 files changed, 71 insertions(+), 2 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..4e6f9df 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,11 +1,18 @@
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;
+
+import java.util.Date;
/**
* @Author liurunyu
@@ -21,7 +28,7 @@
public static final String taskId = "TkDealAlarmStatus" ;
/**
- * 鎵ц鑺傜偣浠诲姟锛歊TU鑷姤
+ * 鎵ц鑺傜偣浠诲姟锛氭帶鍒跺櫒鑷姤鏁版嵁锛堝姛鑳界爜涓篊0锛�
* @param data 闇�瑕佸鐞嗙殑鏁版嵁
*/
@Override
@@ -31,8 +38,70 @@
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.getRmLastAutoReport(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(po, dV1_0_1, dataCdC0Vo) ;
+ sv.saveRmAutoReportLast(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(RmAutoReportLast po, DataV1_0_1 dV1_0_1, DataCdC0Vo dataCdC0Vo) throws Exception {
+ 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