From 447770d03da965c1b0cec34c02cf17180c25eaa0 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期五, 14 六月 2024 15:55:14 +0800
Subject: [PATCH] 2024-06-14 朱宝民 控制器定点上报最新数据和历史数据处理

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java |   19 +-
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmTimingReportLastMapper.java                          |   36 ++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportLast.java                               |  129 ++++++++++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportHistory.java                            |   57 ++++-
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmTimingReportLastMapper.xml                                         |  230 +++++++++++++++++++++++++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java                             |   46 +++++
 6 files changed, 491 insertions(+), 26 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmTimingReportLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmTimingReportLastMapper.java
new file mode 100644
index 0000000..def99bb
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmTimingReportLastMapper.java
@@ -0,0 +1,36 @@
+package com.dy.pipIrrGlobal.daoRm;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-06-14 15:17
+ * @LastEditTime 2024-06-14 15:17
+ * @Description
+ */
+
+@Mapper
+public interface RmTimingReportLastMapper extends BaseMapper<RmTimingReportLast> {
+    int deleteByPrimaryKey(Long id);
+
+    int insert(RmTimingReportLast record);
+
+    int insertSelective(RmTimingReportLast record);
+
+    RmTimingReportLast selectByPrimaryKey(Long id);
+
+    int updateByPrimaryKeySelective(RmTimingReportLast record);
+
+    int updateByPrimaryKey(RmTimingReportLast record);
+
+    /**
+     * 鏍规嵁闃�鎺у櫒鍦板潃鑾峰彇瀹氱偣涓婃姤鏈�鏂版暟鎹�
+     * @param rtuAddr
+     * @return
+     */
+    List<RmTimingReportLast> getRmTimingReportLast(String rtuAddr);
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportHistory.java
index 3c19a46..3f7c6ef 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportHistory.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportHistory.java
@@ -1,6 +1,14 @@
 package com.dy.pipIrrGlobal.pojoRm;
 
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.mw.protocol.p206V202404.DataV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo;
+import com.dy.common.po.BaseEntity;
+import com.dy.common.util.DateTime;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
@@ -23,82 +31,99 @@
 @NoArgsConstructor
 @AllArgsConstructor
 @Schema(name = "瀹氭椂鎶ュ巻鍙叉暟鎹〃")
-public class RmTimingReportHistory {
+public class RmTimingReportHistory implements BaseEntity {
     public static final long serialVersionUID = 202406111447001L;
 
     /**
     * 涓婚敭
     */
-    private Long id;
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    @TableId(type = IdType.INPUT)
+    public Long id;
 
     /**
     * 鎺у埗鍣ㄥ疄浣揑D锛堝閿級
     */
-    private Long controllerId;
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    public Long controllerId;
 
     /**
     * 鍙栨按鍙e疄浣揑D锛堝閿級
     */
-    private Long intakeId;
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    public Long intakeId;
 
     /**
     * 鎺у埗鍣ㄥ湴鍧�
     */
-    private String rtuAddr;
+    public String rtuAddr;
 
     /**
     * 鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿
     */
-    private Date dt;
+    public Date dt;
 
     /**
     * 鎺у埗鍣ㄦ椂閽�
     */
-    private Date rtuDt;
+    public Date rtuDt;
 
     /**
     * 鏁版嵁鏃堕棿
     */
-    private Date dataDt;
+    public Date dataDt;
 
     /**
     * 鏈勾绱娴侀噺
     */
-    private Double waterTotalAmountYear;
+    public Double waterTotalAmountYear;
 
     /**
     * 姘磋〃绱娴侀噺
     */
-    private Double waterTotalAmountMeter;
+    public Double waterTotalAmountMeter;
 
     /**
     * 鏈勾绱鐢甸噺
     */
-    private Double eleTotalAmountYear;
+    public Double eleTotalAmountYear;
 
     /**
     * 鐢佃〃绱鐢甸噺
     */
-    private Double eleTotalAmountMeter;
+    public Double eleTotalAmountMeter;
 
     /**
     * 褰撴棩姘磋〃鍑�娴侀噺
     */
-    private Double waterTotalAmountDay;
+    public Double waterTotalAmountDay;
 
     /**
     * 褰撴棩鐢ㄦ埛鐢ㄦ按閲�
     */
-    private Double waterUserTotalAmountDay;
+    public Double waterUserTotalAmountDay;
 
     /**
     * 婕忔崯姘撮噺
     */
-    private Double lossTotalAmountDay;
+    public Double lossTotalAmountDay;
 
     /**
     * 鍚庡鐢垫睜鐢靛帇
     */
-    private Double batteryVolt;
+    public Double batteryVolt;
 
+    public void valueFrom(DataV202404 dataV202404, DataCd83Vo cdData) throws Exception{
+        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt);
+        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
+        this.dataDt = DateTime.dateFrom_yyyy_MM_dd(cdData.dataDt) ; //
+        this.waterTotalAmountYear = cdData.waterTotalAmountYear; //鏈勾绱娴侀噺
+        this.waterTotalAmountMeter = cdData.waterTotalAmountMeter ;//姘磋〃绱娴侀噺
+        this.eleTotalAmountYear = cdData.eleTotalAmountYear ;// 鏈勾绱鐢甸噺
+        this.eleTotalAmountMeter = cdData.eleTotalAmountMeter ;// 鐢佃〃绱鐢甸噺
+        this.waterTotalAmountDay = cdData.waterTotalAmountDay ;// 褰撴棩姘磋〃鍑�娴侀噺
+        this.waterUserTotalAmountDay = cdData.waterUserTotalAmountDay ;//  褰撴棩鐢ㄦ埛鐢ㄦ按閲�
+        this.lossTotalAmountDay = cdData.lossTotalAmountDay ;//  婕忔崯姘撮噺
+        this.batteryVolt = cdData.batteryVolt ;// 鍚庡鐢垫睜鐢靛帇
+    }
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportLast.java
new file mode 100644
index 0000000..de43043
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmTimingReportLast.java
@@ -0,0 +1,129 @@
+package com.dy.pipIrrGlobal.pojoRm;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dy.common.mw.protocol.p206V202404.DataV202404;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo;
+import com.dy.common.po.BaseEntity;
+import com.dy.common.util.DateTime;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-06-14 15:17
+ * @LastEditTime 2024-06-14 15:17
+ * @Description
+ */
+/**
+ * 瀹氭椂鎶ユ渶鏂版暟鎹〃
+ */
+
+@TableName(value="rm_timing_report_last", autoResultMap = true)
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+@Schema(name = "瀹氭椂鎶ユ渶鏂版暟鎹〃")
+public class RmTimingReportLast implements BaseEntity {
+    public static final long serialVersionUID = 202406111519001L;
+
+    /**
+    * 涓婚敭
+    */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    @TableId(type = IdType.INPUT)
+    public Long id;
+
+    /**
+    * 鎺у埗鍣ㄥ疄浣揑D锛堝閿級
+    */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    public Long controllerId;
+
+    /**
+    * 鍙栨按鍙e疄浣揑D锛堝閿級
+    */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    public Long intakeId;
+
+    /**
+    * 鎺у埗鍣ㄥ湴鍧�
+    */
+    public String rtuAddr;
+
+    /**
+    * 鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿
+    */
+    public Date dt;
+
+    /**
+    * 鎺у埗鍣ㄦ椂閽�
+    */
+    public Date rtuDt;
+
+    /**
+    * 鏁版嵁鏃堕棿
+    */
+    public Date dataDt;
+
+    /**
+    * 鏈勾绱娴侀噺
+    */
+    public Double waterTotalAmountYear;
+
+    /**
+    * 姘磋〃绱娴侀噺
+    */
+    public Double waterTotalAmountMeter;
+
+    /**
+    * 鏈勾绱鐢甸噺
+    */
+    public Double eleTotalAmountYear;
+
+    /**
+    * 鐢佃〃绱鐢甸噺
+    */
+    public Double eleTotalAmountMeter;
+
+    /**
+    * 褰撴棩姘磋〃鍑�娴侀噺
+    */
+    public Double waterTotalAmountDay;
+
+    /**
+    * 褰撴棩鐢ㄦ埛鐢ㄦ按閲�
+    */
+    public Double waterUserTotalAmountDay;
+
+    /**
+    * 婕忔崯姘撮噺
+    */
+    public Double lossTotalAmountDay;
+
+    /**
+    * 鍚庡鐢垫睜鐢靛帇
+    */
+    public Double batteryVolt;
+
+    public void valueFrom(DataV202404 dataV202404, DataCd83Vo cdData) throws Exception{
+        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt);
+        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
+        this.dataDt = DateTime.dateFrom_yyyy_MM_dd(cdData.dataDt) ; //
+        this.waterTotalAmountYear = cdData.waterTotalAmountYear; //鏈勾绱娴侀噺
+        this.waterTotalAmountMeter = cdData.waterTotalAmountMeter ;//姘磋〃绱娴侀噺
+        this.eleTotalAmountYear = cdData.eleTotalAmountYear ;// 鏈勾绱鐢甸噺
+        this.eleTotalAmountMeter = cdData.eleTotalAmountMeter ;// 鐢佃〃绱鐢甸噺
+        this.waterTotalAmountDay = cdData.waterTotalAmountDay ;// 褰撴棩姘磋〃鍑�娴侀噺
+        this.waterUserTotalAmountDay = cdData.waterUserTotalAmountDay ;//  褰撴棩鐢ㄦ埛鐢ㄦ按閲�
+        this.lossTotalAmountDay = cdData.lossTotalAmountDay ;//  婕忔崯姘撮噺
+        this.batteryVolt = cdData.batteryVolt ;// 鍚庡鐢垫睜鐢靛帇
+    }
+}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmTimingReportLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmTimingReportLastMapper.xml
new file mode 100644
index 0000000..b16ee8a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmTimingReportLastMapper.xml
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmTimingReportLastMapper">
+  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast">
+    <!--@mbg.generated-->
+    <!--@Table rm_timing_report_last-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="controller_id" jdbcType="BIGINT" property="controllerId" />
+    <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
+    <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" />
+    <result column="dt" jdbcType="TIMESTAMP" property="dt" />
+    <result column="rtu_dt" jdbcType="TIMESTAMP" property="rtuDt" />
+    <result column="data_dt" jdbcType="DATE" property="dataDt" />
+    <result column="water_total_amount_year" jdbcType="FLOAT" property="waterTotalAmountYear" />
+    <result column="water_total_amount_meter" jdbcType="FLOAT" property="waterTotalAmountMeter" />
+    <result column="ele_total_amount_year" jdbcType="FLOAT" property="eleTotalAmountYear" />
+    <result column="ele_total_amount_meter" jdbcType="FLOAT" property="eleTotalAmountMeter" />
+    <result column="water_total_amount_day" jdbcType="FLOAT" property="waterTotalAmountDay" />
+    <result column="water_user_total_amount_day" jdbcType="FLOAT" property="waterUserTotalAmountDay" />
+    <result column="loss_total_amount_day" jdbcType="FLOAT" property="lossTotalAmountDay" />
+    <result column="battery_volt" jdbcType="FLOAT" property="batteryVolt" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, controller_id, intake_id, rtu_addr, dt, rtu_dt, data_dt, water_total_amount_year, 
+    water_total_amount_meter, ele_total_amount_year, ele_total_amount_meter, water_total_amount_day, 
+    water_user_total_amount_day, loss_total_amount_day, battery_volt
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--@mbg.generated-->
+    select 
+    <include refid="Base_Column_List" />
+    from rm_timing_report_last
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--@mbg.generated-->
+    delete from rm_timing_report_last
+    where id = #{id,jdbcType=BIGINT}
+  </delete>
+  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast">
+    <!--@mbg.generated-->
+    insert into rm_timing_report_last (id, controller_id, intake_id, 
+      rtu_addr, dt, rtu_dt, 
+      data_dt, water_total_amount_year, water_total_amount_meter, 
+      ele_total_amount_year, ele_total_amount_meter, water_total_amount_day, 
+      water_user_total_amount_day, loss_total_amount_day, 
+      battery_volt)
+    values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, 
+      #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, 
+      #{dataDt,jdbcType=DATE}, #{waterTotalAmountYear,jdbcType=FLOAT}, #{waterTotalAmountMeter,jdbcType=FLOAT}, 
+      #{eleTotalAmountYear,jdbcType=FLOAT}, #{eleTotalAmountMeter,jdbcType=FLOAT}, #{waterTotalAmountDay,jdbcType=FLOAT}, 
+      #{waterUserTotalAmountDay,jdbcType=FLOAT}, #{lossTotalAmountDay,jdbcType=FLOAT}, 
+      #{batteryVolt,jdbcType=FLOAT})
+  </insert>
+  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast">
+    <!--@mbg.generated-->
+    insert into rm_timing_report_last
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="controllerId != null">
+        controller_id,
+      </if>
+      <if test="intakeId != null">
+        intake_id,
+      </if>
+      <if test="rtuAddr != null">
+        rtu_addr,
+      </if>
+      <if test="dt != null">
+        dt,
+      </if>
+      <if test="rtuDt != null">
+        rtu_dt,
+      </if>
+      <if test="dataDt != null">
+        data_dt,
+      </if>
+      <if test="waterTotalAmountYear != null">
+        water_total_amount_year,
+      </if>
+      <if test="waterTotalAmountMeter != null">
+        water_total_amount_meter,
+      </if>
+      <if test="eleTotalAmountYear != null">
+        ele_total_amount_year,
+      </if>
+      <if test="eleTotalAmountMeter != null">
+        ele_total_amount_meter,
+      </if>
+      <if test="waterTotalAmountDay != null">
+        water_total_amount_day,
+      </if>
+      <if test="waterUserTotalAmountDay != null">
+        water_user_total_amount_day,
+      </if>
+      <if test="lossTotalAmountDay != null">
+        loss_total_amount_day,
+      </if>
+      <if test="batteryVolt != null">
+        battery_volt,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
+      <if test="controllerId != null">
+        #{controllerId,jdbcType=BIGINT},
+      </if>
+      <if test="intakeId != null">
+        #{intakeId,jdbcType=BIGINT},
+      </if>
+      <if test="rtuAddr != null">
+        #{rtuAddr,jdbcType=VARCHAR},
+      </if>
+      <if test="dt != null">
+        #{dt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="rtuDt != null">
+        #{rtuDt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="dataDt != null">
+        #{dataDt,jdbcType=DATE},
+      </if>
+      <if test="waterTotalAmountYear != null">
+        #{waterTotalAmountYear,jdbcType=FLOAT},
+      </if>
+      <if test="waterTotalAmountMeter != null">
+        #{waterTotalAmountMeter,jdbcType=FLOAT},
+      </if>
+      <if test="eleTotalAmountYear != null">
+        #{eleTotalAmountYear,jdbcType=FLOAT},
+      </if>
+      <if test="eleTotalAmountMeter != null">
+        #{eleTotalAmountMeter,jdbcType=FLOAT},
+      </if>
+      <if test="waterTotalAmountDay != null">
+        #{waterTotalAmountDay,jdbcType=FLOAT},
+      </if>
+      <if test="waterUserTotalAmountDay != null">
+        #{waterUserTotalAmountDay,jdbcType=FLOAT},
+      </if>
+      <if test="lossTotalAmountDay != null">
+        #{lossTotalAmountDay,jdbcType=FLOAT},
+      </if>
+      <if test="batteryVolt != null">
+        #{batteryVolt,jdbcType=FLOAT},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast">
+    <!--@mbg.generated-->
+    update rm_timing_report_last
+    <set>
+      <if test="controllerId != null">
+        controller_id = #{controllerId,jdbcType=BIGINT},
+      </if>
+      <if test="intakeId != null">
+        intake_id = #{intakeId,jdbcType=BIGINT},
+      </if>
+      <if test="rtuAddr != null">
+        rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
+      </if>
+      <if test="dt != null">
+        dt = #{dt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="rtuDt != null">
+        rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      </if>
+      <if test="dataDt != null">
+        data_dt = #{dataDt,jdbcType=DATE},
+      </if>
+      <if test="waterTotalAmountYear != null">
+        water_total_amount_year = #{waterTotalAmountYear,jdbcType=FLOAT},
+      </if>
+      <if test="waterTotalAmountMeter != null">
+        water_total_amount_meter = #{waterTotalAmountMeter,jdbcType=FLOAT},
+      </if>
+      <if test="eleTotalAmountYear != null">
+        ele_total_amount_year = #{eleTotalAmountYear,jdbcType=FLOAT},
+      </if>
+      <if test="eleTotalAmountMeter != null">
+        ele_total_amount_meter = #{eleTotalAmountMeter,jdbcType=FLOAT},
+      </if>
+      <if test="waterTotalAmountDay != null">
+        water_total_amount_day = #{waterTotalAmountDay,jdbcType=FLOAT},
+      </if>
+      <if test="waterUserTotalAmountDay != null">
+        water_user_total_amount_day = #{waterUserTotalAmountDay,jdbcType=FLOAT},
+      </if>
+      <if test="lossTotalAmountDay != null">
+        loss_total_amount_day = #{lossTotalAmountDay,jdbcType=FLOAT},
+      </if>
+      <if test="batteryVolt != null">
+        battery_volt = #{batteryVolt,jdbcType=FLOAT},
+      </if>
+    </set>
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast">
+    <!--@mbg.generated-->
+    update rm_timing_report_last
+    set controller_id = #{controllerId,jdbcType=BIGINT},
+      intake_id = #{intakeId,jdbcType=BIGINT},
+      rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
+      dt = #{dt,jdbcType=TIMESTAMP},
+      rtu_dt = #{rtuDt,jdbcType=TIMESTAMP},
+      data_dt = #{dataDt,jdbcType=DATE},
+      water_total_amount_year = #{waterTotalAmountYear,jdbcType=FLOAT},
+      water_total_amount_meter = #{waterTotalAmountMeter,jdbcType=FLOAT},
+      ele_total_amount_year = #{eleTotalAmountYear,jdbcType=FLOAT},
+      ele_total_amount_meter = #{eleTotalAmountMeter,jdbcType=FLOAT},
+      water_total_amount_day = #{waterTotalAmountDay,jdbcType=FLOAT},
+      water_user_total_amount_day = #{waterUserTotalAmountDay,jdbcType=FLOAT},
+      loss_total_amount_day = #{lossTotalAmountDay,jdbcType=FLOAT},
+      battery_volt = #{batteryVolt,jdbcType=FLOAT}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+
+  <!--鏍规嵁闃�鎺у櫒鍦板潃鑾峰彇瀹氱偣涓婃姤鏈�鏂版暟鎹�-->
+  <select id="getRmTimingReportLast" resultType="com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast">
+    select
+    <include refid="Base_Column_List" />
+    from rm_timing_report_last
+    where rtu_addr = #{rtuAddr}
+  </select>
+</mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
index adf2d6c..1309936 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java
@@ -47,6 +47,11 @@
     @Autowired
     private SeVirtualCardMapper seVirtualCardDao ;//铏氭嫙鍗$浉鍏�
 
+    @Autowired
+    private RmTimingReportHistoryMapper rmTimingReportHistoryDao; // 瀹氱偣涓婃姤鍘嗗彶鏁版嵁DAO
+    @Autowired
+    private RmTimingReportLastMapper rmTimingReportLastDao; // 瀹氱偣涓婃姤鏈�鏂版暟鎹瓺AO
+
     //@Autowired
     //@Lazy
     //private DbSv sv ;
@@ -156,6 +161,47 @@
     //
     ////////////////////////////////////////////////
 
+    /**
+     * 淇濆瓨鎺у埗鍣ㄥ畾鐐逛笂鎶ュ巻鍙叉暟鎹�
+     * @param po
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void saveRmTimingReportHistory(RmTimingReportHistory po){
+        this.rmTimingReportHistoryDao.insert(po);
+    }
+
+    /**
+     * 鏍规嵁闃�鎺у櫒鍦板潃鑾峰彇瀹氱偣涓婃姤鏈�鏂版暟鎹�
+     * @param rtuAddr
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public RmTimingReportLast getRmTimingReportLast(String rtuAddr) {
+        List<RmTimingReportLast> list = this.rmTimingReportLastDao.getRmTimingReportLast(rtuAddr) ;
+        if(list != null && list.size() > 0){
+            return list.get(0) ;
+        }
+        return null ;
+    }
+
+    /**
+     * 淇濆瓨鎺у埗鍣ㄥ畾鐐逛笂鎶ユ渶鏂版暟鎹�
+     * @param po
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void saveRmTimingReportLast(RmTimingReportLast po) {
+        this.rmTimingReportLastDao.insert(po);
+    }
+
+    /**
+     * 淇濆瓨鎺у埗鍣ㄥ畾鐐逛笂鎶ョ姜琛屾暟鎹�
+     * @param po
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void updateRmTimingReportLast(RmTimingReportLast po) {
+        this.rmTimingReportLastDao.updateByPrimaryKeySelective(po);
+    }
+
 
     /////////////////////////////////////////////////
     //
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java
index 51052ba..1986975 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealTimingReportV202404.java
@@ -2,10 +2,10 @@
 
 import com.dy.common.mw.protocol.Data;
 import com.dy.common.mw.protocol.p206V202404.DataV202404;
-import com.dy.common.mw.protocol.p206V202404.upVos.*;
+import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo;
 import com.dy.pipIrrGlobal.pojoPr.PrController;
-import com.dy.pipIrrGlobal.pojoRm.RmWorkReportHistory;
-import com.dy.pipIrrGlobal.pojoRm.RmWorkReportLast;
+import com.dy.pipIrrGlobal.pojoRm.RmTimingReportHistory;
+import com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast;
 import com.dy.rtuMw.server.rtuData.TaskSurpport;
 import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import org.apache.logging.log4j.LogManager;
@@ -69,19 +69,19 @@
      * @param cdData 鍔熻兘鏁版嵁
      */
     private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd83Vo cdData)throws Exception {
-        RmWorkReportLast po = sv.getRmWorkReportLast(rtuAddr) ;
+        RmTimingReportLast po = sv.getRmTimingReportLast(rtuAddr) ;
         if(po == null){
-            po = new RmWorkReportLast();
+            po = new RmTimingReportLast();
             po.controllerId = controller==null?null:controller.getId();
             po.intakeId = controller==null?null:controller.getIntakeId();
             po.rtuAddr = rtuAddr;
             po.valueFrom(dataV202404, cdData);
-            sv.saveRmWorkReportLast(po) ;
+            sv.saveRmTimingReportLast(po) ;
         }else{
             po.controllerId = controller==null?null:controller.getId();
             po.intakeId = controller==null?null:controller.getIntakeId();
             po.valueFrom(dataV202404, cdData);
-            sv.updateRmWorkReportLast(po);
+            sv.updateRmTimingReportLast(po);
         }
     }
 
@@ -94,12 +94,11 @@
      * @param cdData 鍔熻兘鏁版嵁
      */
     private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd83Vo cdData)throws Exception {
-        RmWorkReportHistory po = new RmWorkReportHistory();
+        RmTimingReportHistory po = new RmTimingReportHistory();
         po.controllerId = controller==null?null:controller.getId();
         po.intakeId = controller==null?null:controller.getIntakeId();
         po.rtuAddr = rtuAddr;
         po.valueFrom(dataV202404, cdData);
-        sv.saveRmWorkReportHistory(po); ;
+        sv.saveRmTimingReportHistory(po); ;
     }
-}
 }
\ No newline at end of file

--
Gitblit v1.8.0