<?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 intake_id = #{intakeId} 
 | 
  </select> 
 | 
  
 | 
  <!--根据指定条件获取定时报最新记录数量--> 
 | 
  <select id="getTimingReportsCount_last" resultType="java.lang.Long"> 
 | 
    SELECT 
 | 
        COUNT(*) AS recordCount 
 | 
    FROM rm_timing_report_last tim 
 | 
        INNER JOIN pr_intake inta ON inta.id = tim.intake_id 
 | 
    <where> 
 | 
      <if test="intakeId != null and intakeId >0"> 
 | 
        AND tim.intake_id = #{intakeId} 
 | 
      </if> 
 | 
      <if test = "intakeNum != null and intakeNum !=''"> 
 | 
        AND inta.name LIKE CONCAT('%',#{intakeNum},'%') 
 | 
      </if> 
 | 
      <if test = "rtuAddr != null and rtuAddr !=''"> 
 | 
        AND tim.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%') 
 | 
      </if> 
 | 
      <if test = "timeStart != null and timeStop != null"> 
 | 
        AND tim.dt BETWEEN #{timeStart} AND #{timeStop} 
 | 
      </if> 
 | 
    </where> 
 | 
  </select> 
 | 
  
 | 
  <!--根据指定条件获取定时报最新记录--> 
 | 
  <select id="getTimingReports_last" resultType="com.dy.pipIrrGlobal.voRm.VoTiming"> 
 | 
    SELECT 
 | 
      tim.intake_id AS intakeId, 
 | 
      inta.name AS intakenum, 
 | 
      tim.rtu_addr AS rtuAddr, 
 | 
      tim.dt AS receiveTime, 
 | 
      tim.water_total_amount_year AS waterTotalAmountYear, 
 | 
      tim.water_total_amount_meter AS waterTotalAmountMeter, 
 | 
      tim.ele_total_amount_year AS eleTotalAmountYear, 
 | 
      tim.ele_total_amount_meter AS eleTotalAmountMeter, 
 | 
      tim.water_total_amount_day AS waterTotalAmountDay, 
 | 
      tim.water_user_total_amount_day AS waterUserTotalAmountDay, 
 | 
      tim.loss_total_amount_day AS lossTotalAmountDay, 
 | 
      tim.battery_volt AS batteryVolt 
 | 
    FROM rm_timing_report_last tim 
 | 
    INNER JOIN pr_intake inta ON inta.id = tim.intake_id 
 | 
    <where> 
 | 
      <if test="intakeId != null and intakeId >0"> 
 | 
        AND tim.intake_id = #{intakeId} 
 | 
      </if> 
 | 
      <if test = "intakeNum != null and intakeNum !=''"> 
 | 
        AND inta.name LIKE CONCAT('%',#{intakeNum},'%') 
 | 
      </if> 
 | 
      <if test = "rtuAddr != null and rtuAddr !=''"> 
 | 
        AND tim.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%') 
 | 
      </if> 
 | 
      <if test = "timeStart != null and timeStop != null"> 
 | 
        AND tim.dt BETWEEN #{timeStart} AND #{timeStop} 
 | 
      </if> 
 | 
    </where> 
 | 
    ORDER BY tim.dt DESC, tim.loss_total_amount_day DESC 
 | 
    <trim prefix="limit " > 
 | 
      <if test="start != null and count != null"> 
 | 
        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} 
 | 
      </if> 
 | 
    </trim> 
 | 
  </select> 
 | 
</mapper> 
 |