<?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.RmIntakeAmountDayMapper"> 
 | 
    <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay"> 
 | 
        <!--@mbg.generated--> 
 | 
        <!--@Table rm_intake_amount_day--> 
 | 
        <id column="id" jdbcType="BIGINT" property="id"/> 
 | 
        <result column="intake_id" jdbcType="BIGINT" property="intakeId"/> 
 | 
        <result column="dt" jdbcType="DATE" property="dt"/> 
 | 
        <result column="amount" jdbcType="DOUBLE" property="amount"/> 
 | 
        <result column="money" jdbcType="DOUBLE" property="money" /> 
 | 
        <result column="times" jdbcType="INTEGER" property="times" /> 
 | 
        <result column="dt_last" jdbcType="TIMESTAMP" property="dtLast"/> 
 | 
        <result column="rtu_addr_last" jdbcType="VARCHAR" property="rtuAddrLast"/> 
 | 
        <result column="controller_id_last" jdbcType="BIGINT" property="controllerIdLast"/> 
 | 
        <result column="total_amount_last" jdbcType="FLOAT" property="totalAmountLast"/> 
 | 
        <result column="rtu_dt_last" jdbcType="TIMESTAMP" property="rtuDtLast"/> 
 | 
    </resultMap> 
 | 
    <sql id="Base_Column_List"> 
 | 
        <!--@mbg.generated--> 
 | 
        id, 
 | 
        intake_id, 
 | 
        dt, 
 | 
        amount, money, times, 
 | 
        dt_last, 
 | 
        rtu_addr_last, 
 | 
        controller_id_last, 
 | 
        total_amount_last, 
 | 
        rtu_dt_last 
 | 
    </sql> 
 | 
    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> 
 | 
        <!--@mbg.generated--> 
 | 
        select 
 | 
        <include refid="Base_Column_List"/> 
 | 
        from rm_intake_amount_day 
 | 
        where id = #{id,jdbcType=BIGINT} 
 | 
    </select> 
 | 
    <select id="selectByDate" parameterType="java.util.Date" resultMap="BaseResultMap"> 
 | 
        <!--@mbg.generated--> 
 | 
        select 
 | 
        <include refid="Base_Column_List"/> 
 | 
        from rm_intake_amount_day 
 | 
        where dt = #{dt,jdbcType=DATE} 
 | 
    </select> 
 | 
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> 
 | 
        <!--@mbg.generated--> 
 | 
        delete 
 | 
        from rm_intake_amount_day 
 | 
        where id = #{id,jdbcType=BIGINT} 
 | 
    </delete> 
 | 
    <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay"> 
 | 
        <!--@mbg.generated--> 
 | 
        insert into rm_intake_amount_day (id, intake_id, dt, 
 | 
                                          amount, money, times, dt_last, 
 | 
                                          rtu_addr_last, controller_id_last, total_amount_last, 
 | 
                                          rtu_dt_last) 
 | 
        values (#{id,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, #{dt,jdbcType=DATE}, 
 | 
                #{amount,jdbcType=DOUBLE}, #{money,jdbcType=DOUBLE}, #{times,jdbcType=INTEGER}, #{dtLast,jdbcType=TIMESTAMP}, 
 | 
                #{rtuAddrLast,jdbcType=VARCHAR}, #{controllerIdLast,jdbcType=BIGINT}, #{totalAmountLast,jdbcType=FLOAT}, 
 | 
                #{rtuDtLast,jdbcType=TIMESTAMP}) 
 | 
    </insert> 
 | 
    <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay"> 
 | 
        <!--@mbg.generated--> 
 | 
        insert into rm_intake_amount_day 
 | 
        <trim prefix="(" suffix=")" suffixOverrides=","> 
 | 
            <if test="id != null"> 
 | 
                id, 
 | 
            </if> 
 | 
            <if test="intakeId != null"> 
 | 
                intake_id, 
 | 
            </if> 
 | 
            <if test="dt != null"> 
 | 
                dt, 
 | 
            </if> 
 | 
            <if test="amount != null"> 
 | 
                amount, 
 | 
            </if> 
 | 
           <if test="money != null"> 
 | 
               money, 
 | 
            </if> 
 | 
           <if test="times != null"> 
 | 
               times, 
 | 
            </if> 
 | 
            <if test="dtLast != null"> 
 | 
                dt_last, 
 | 
            </if> 
 | 
            <if test="rtuAddrLast != null"> 
 | 
                rtu_addr_last, 
 | 
            </if> 
 | 
            <if test="controllerIdLast != null"> 
 | 
                controller_id_last, 
 | 
            </if> 
 | 
            <if test="totalAmountLast != null"> 
 | 
                total_amount_last, 
 | 
            </if> 
 | 
            <if test="rtuDtLast != null"> 
 | 
                rtu_dt_last, 
 | 
            </if> 
 | 
        </trim> 
 | 
        <trim prefix="values (" suffix=")" suffixOverrides=","> 
 | 
            <if test="id != null"> 
 | 
                #{id,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="intakeId != null"> 
 | 
                #{intakeId,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="dt != null"> 
 | 
                #{dt,jdbcType=DATE}, 
 | 
            </if> 
 | 
            <if test="amount != null"> 
 | 
                #{amount,jdbcType=DOUBLE}, 
 | 
            </if> 
 | 
            <if test="money != null"> 
 | 
                #{money,jdbcType=DOUBLE}, 
 | 
            </if> 
 | 
            <if test="times != null"> 
 | 
                #{times,jdbcType=INTEGER}, 
 | 
            </if> 
 | 
            <if test="dtLast != null"> 
 | 
                #{dtLast,jdbcType=TIMESTAMP}, 
 | 
            </if> 
 | 
            <if test="rtuAddrLast != null"> 
 | 
                #{rtuAddrLast,jdbcType=VARCHAR}, 
 | 
            </if> 
 | 
            <if test="controllerIdLast != null"> 
 | 
                #{controllerIdLast,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="totalAmountLast != null"> 
 | 
                #{totalAmountLast,jdbcType=FLOAT}, 
 | 
            </if> 
 | 
            <if test="rtuDtLast != null"> 
 | 
                #{rtuDtLast,jdbcType=TIMESTAMP}, 
 | 
            </if> 
 | 
        </trim> 
 | 
    </insert> 
 | 
    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay"> 
 | 
        <!--@mbg.generated--> 
 | 
        update rm_intake_amount_day 
 | 
        <set> 
 | 
            <if test="intakeId != null"> 
 | 
                intake_id = #{intakeId,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="dt != null"> 
 | 
                dt = #{dt,jdbcType=DATE}, 
 | 
            </if> 
 | 
            <if test="amount != null"> 
 | 
                amount = #{amount,jdbcType=DOUBLE}, 
 | 
            </if> 
 | 
            <if test="money != null"> 
 | 
                money = #{money,jdbcType=DOUBLE}, 
 | 
            </if> 
 | 
            <if test="times != null"> 
 | 
                times = #{times,jdbcType=INTEGER}, 
 | 
            </if> 
 | 
            <if test="dtLast != null"> 
 | 
                dt_last = #{dtLast,jdbcType=TIMESTAMP}, 
 | 
            </if> 
 | 
            <if test="rtuAddrLast != null"> 
 | 
                rtu_addr_last = #{rtuAddrLast,jdbcType=VARCHAR}, 
 | 
            </if> 
 | 
            <if test="controllerIdLast != null"> 
 | 
                controller_id_last = #{controllerIdLast,jdbcType=BIGINT}, 
 | 
            </if> 
 | 
            <if test="totalAmountLast != null"> 
 | 
                total_amount_last = #{totalAmountLast,jdbcType=FLOAT}, 
 | 
            </if> 
 | 
            <if test="rtuDtLast != null"> 
 | 
                rtu_dt_last = #{rtuDtLast,jdbcType=TIMESTAMP}, 
 | 
            </if> 
 | 
        </set> 
 | 
        where id = #{id,jdbcType=BIGINT} 
 | 
    </update> 
 | 
    <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay"> 
 | 
        <!--@mbg.generated--> 
 | 
        update rm_intake_amount_day 
 | 
        set intake_id          = #{intakeId,jdbcType=BIGINT}, 
 | 
            dt                 = #{dt,jdbcType=DATE}, 
 | 
            amount             = #{amount,jdbcType=DOUBLE}, 
 | 
            money              = #{money,jdbcType=DOUBLE}, 
 | 
            times              = #{times,jdbcType=INTEGER}, 
 | 
            dt_last            = #{dtLast,jdbcType=TIMESTAMP}, 
 | 
            rtu_addr_last      = #{rtuAddrLast,jdbcType=VARCHAR}, 
 | 
            controller_id_last = #{controllerIdLast,jdbcType=BIGINT}, 
 | 
            total_amount_last  = #{totalAmountLast,jdbcType=FLOAT}, 
 | 
            rtu_dt_last        = #{rtuDtLast,jdbcType=TIMESTAMP} 
 | 
        where id = #{id,jdbcType=BIGINT} 
 | 
    </update> 
 | 
    <!--根据指定条件获取记录总数--> 
 | 
    <select id="getRecordCount" resultType="java.lang.Long"> 
 | 
        select count(*) 
 | 
        from rm_intake_amount_day riad 
 | 
                 Left join pr_intake pint on pint.id = riad.intake_id 
 | 
        <where> 
 | 
            <if test="intakeId != null and intakeId != ''"> 
 | 
                and riad.intake_id = #{intakeId} 
 | 
            </if> 
 | 
            <if test="intakeName != null and intakeName != ''"> 
 | 
                and pint.name like CONCAT('%', #{intakeName,jdbcType=VARCHAR}, '%') 
 | 
            </if> 
 | 
            <if test="startDt != null"> 
 | 
                and riad.dt >= #{startDt,jdbcType=DATE} 
 | 
            </if> 
 | 
            <if test="endDt != null"> 
 | 
                and riad.dt <= #{endDt,jdbcType=DATE} 
 | 
            </if> 
 | 
        </where> 
 | 
    </select> 
 | 
    <!--根据指定条件获取记录--> 
 | 
    <select id="getIntakeAmountDayHistory" resultType="com.dy.pipIrrGlobal.voRm.VoIntakeAmountDay"> 
 | 
        select CAST(riad.intake_id AS char)          AS intakeId, 
 | 
               pint.name                             as intakeName, 
 | 
               riad.dt                               as dt, 
 | 
               riad.amount                           as amount, 
 | 
               riad.money                            as money, 
 | 
               riad.times                            as times, 
 | 
               riad.dt_last                          as dtLast, 
 | 
               riad.rtu_addr_last                    as rtuAddrLast, 
 | 
               CAST(riad.controller_id_last AS char) AS controllerIdLast, 
 | 
               riad.total_amount_last                as totalAmountLast, 
 | 
               riad.rtu_dt_last                      as rtuDtLast 
 | 
        from rm_intake_amount_day riad 
 | 
                 Left join pr_intake pint on pint.id = riad.intake_id 
 | 
        <where> 
 | 
            <if test="intakeId != null and intakeId != ''"> 
 | 
                and riad.intake_id = #{intakeId} 
 | 
            </if> 
 | 
            <if test="intakeName != null and intakeName != ''"> 
 | 
                and pint.name like CONCAT('%', #{intakeName,jdbcType=VARCHAR}, '%') 
 | 
            </if> 
 | 
            <if test="startDt != null"> 
 | 
                and riad.dt >= #{startDt,jdbcType=DATE} 
 | 
            </if> 
 | 
            <if test="endDt != null"> 
 | 
                and riad.dt <= #{endDt,jdbcType=DATE} 
 | 
            </if> 
 | 
        </where> 
 | 
        ORDER BY riad.id DESC 
 | 
        <!--        <if test="pageCurr != null and pageSize != null">--> 
 | 
        <!--            LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}--> 
 | 
        <!--        </if>--> 
 | 
        <trim prefix="limit "> 
 | 
            <if test="start != null and count != null"> 
 | 
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} 
 | 
            </if> 
 | 
        </trim> 
 | 
    </select> 
 | 
  
 | 
  
 | 
    <select id="statisticsByIntake" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAmountStatistics"> 
 | 
        select intake_id, sum(amount) amount 
 | 
        from rm_intake_amount_day 
 | 
        where id <![CDATA[>=]]> #{startId, jdbcType=BIGINT} 
 | 
          and id <![CDATA[<]]> #{endId, jdbcType=BIGINT} 
 | 
        group by intake_id 
 | 
    </select> 
 | 
  
 | 
    <!--指定月份各天用水量记录数量--> 
 | 
    <select id="getDayIntakeAmountCount" resultType="java.lang.Long"> 
 | 
        SELECT COUNT(*) AS recordCount 
 | 
        FROM pr_intake inta 
 | 
        <where> 
 | 
            AND inta.deleted = 0 
 | 
            <if test="intakeNum != null and intakeNum != ''"> 
 | 
                AND inta.name = #{intakeNum} 
 | 
            </if> 
 | 
        </where> 
 | 
    </select> 
 | 
  
 | 
    <!--统计指定月份各天用水量--> 
 | 
    <select id="getDayIntakeAmount" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> 
 | 
        SELECT inta.id                                 AS intakeId, 
 | 
               inta.name                               AS intakeNum, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 1), 0)  AS amount1, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 2), 0)  AS amount2, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 3), 0)  AS amount3, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 4), 0)  AS amount4, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 5), 0)  AS amount5, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 6), 0)  AS amount6, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 7), 0)  AS amount7, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 8), 0)  AS amount8, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 9), 0)  AS amount9, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 10), 0) AS amount10, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 11), 0) AS amount11, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 12), 0) AS amount12, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 13), 0) AS amount13, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 14), 0) AS amount14, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 15), 0) AS amount15, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 16), 0) AS amount16, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 17), 0) AS amount17, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 18), 0) AS amount18, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 19), 0) AS amount19, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 20), 0) AS amount20, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 21), 0) AS amount21, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 22), 0) AS amount22, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 23), 0) AS amount23, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 24), 0) AS amount24, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 25), 0) AS amount25, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 26), 0) AS amount26, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 27), 0) AS amount27, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 28), 0) AS amount28, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 29), 0) AS amount29, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 30), 0) AS amount30, 
 | 
               IFNULL((SELECT IFNULL(amount, 0) 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = #{month} 
 | 
                         AND DAY(intaDay.dt) = 31), 0) AS amount31 
 | 
        FROM pr_intake inta 
 | 
        <where> 
 | 
            AND inta.deleted = 0 
 | 
            <if test="intakeNum != null and intakeNum != ''"> 
 | 
                AND inta.name = #{intakeNum} 
 | 
            </if> 
 | 
        </where> 
 | 
        ORDER BY inta.id 
 | 
        <trim prefix="limit "> 
 | 
            <if test="start != null and count != null"> 
 | 
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} 
 | 
            </if> 
 | 
        </trim> 
 | 
    </select> 
 | 
  
 | 
    <!--统计指定年份各月用水量记录数量--> 
 | 
    <select id="getMonthIntakeAmountCount" resultType="java.lang.Long"> 
 | 
        SELECT COUNT(*) AS recordCount 
 | 
        FROM pr_intake inta 
 | 
        <where> 
 | 
            AND inta.deleted = 0 
 | 
            <if test="intakeNum != null and intakeNum != ''"> 
 | 
                AND inta.name = #{intakeNum} 
 | 
            </if> 
 | 
        </where> 
 | 
    </select> 
 | 
  
 | 
    <!--统计指定年份各月用水量--> 
 | 
    <select id="getMonthIntakeAmount" resultType="com.dy.pipIrrGlobal.voSt.VoMonthAmount"> 
 | 
        SELECT inta.id                                  AS intakeId, 
 | 
               inta.name                                AS intakeNum, 
 | 
               IFNULL((SELECT SUM(amount) AS amount 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = 1 
 | 
                       GROUP BY(intaDay.intake_id)), 0) AS month1, 
 | 
               IFNULL((SELECT SUM(amount) AS amount 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = 2 
 | 
                       GROUP BY(intaDay.intake_id)), 0) AS month2, 
 | 
               IFNULL((SELECT SUM(amount) AS amount 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = 3 
 | 
                       GROUP BY(intaDay.intake_id)), 0) AS month3, 
 | 
               IFNULL((SELECT SUM(amount) AS amount 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = 4 
 | 
                       GROUP BY(intaDay.intake_id)), 0) AS month4, 
 | 
               IFNULL((SELECT SUM(amount) AS amount 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = 5 
 | 
                       GROUP BY(intaDay.intake_id)), 0) AS month5, 
 | 
               IFNULL((SELECT SUM(amount) AS amount 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = 6 
 | 
                       GROUP BY(intaDay.intake_id)), 0) AS month6, 
 | 
               IFNULL((SELECT SUM(amount) AS amount 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = 7 
 | 
                       GROUP BY(intaDay.intake_id)), 0) AS month7, 
 | 
               IFNULL((SELECT SUM(amount) AS amount 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = 8 
 | 
                       GROUP BY(intaDay.intake_id)), 0) AS month8, 
 | 
               IFNULL((SELECT SUM(amount) AS amount 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = 9 
 | 
                       GROUP BY(intaDay.intake_id)), 0) AS month9, 
 | 
               IFNULL((SELECT SUM(amount) AS amount 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = 10 
 | 
                       GROUP BY(intaDay.intake_id)), 0) AS month10, 
 | 
               IFNULL((SELECT SUM(amount) AS amount 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = 11 
 | 
                       GROUP BY(intaDay.intake_id)), 0) AS month11, 
 | 
               IFNULL((SELECT SUM(amount) AS amount 
 | 
                       FROM rm_intake_amount_day_last intaDay 
 | 
                       WHERE intaDay.intake_id = inta.id 
 | 
                         AND YEAR(intaDay.dt) = #{year} 
 | 
                         AND MONTH(intaDay.dt) = 12 
 | 
                       GROUP BY(intaDay.intake_id)), 0) AS month12 
 | 
        FROM pr_intake inta 
 | 
        <where> 
 | 
            AND inta.deleted = 0 
 | 
            <if test="intakeNum != null and intakeNum != ''"> 
 | 
                AND inta.name = #{intakeNum} 
 | 
            </if> 
 | 
        </where> 
 | 
        ORDER BY inta.id 
 | 
        <trim prefix="limit "> 
 | 
            <if test="start != null and count != null"> 
 | 
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} 
 | 
            </if> 
 | 
        </trim> 
 | 
    </select> 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    <!-- 为查询统计取水口日漏损量,统计取水口数量 --> 
 | 
    <select id="selectIntakeCount4AmountDay" resultType="java.lang.Long"> 
 | 
        SELECT COUNT(*) 
 | 
        FROM pr_intake tb 
 | 
        <where> 
 | 
            AND tb.deleted != 1 
 | 
            <if test="intakeNum != null and intakeNum != ''"> 
 | 
                AND tb.name = #{intakeNum} 
 | 
            </if> 
 | 
        </where> 
 | 
    </select> 
 | 
  
 | 
    <!-- 为查询统计取水口日漏损量,查询一页取水口ID --> 
 | 
    <select id="selectIntakes4AmountDay" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> 
 | 
        SELECT id    as intakeId, 
 | 
               name  as intakeNum, 
 | 
               lat   as intakeLat, 
 | 
               lng   as intakeLng 
 | 
        FROM pr_intake 
 | 
        <where> 
 | 
            AND deleted != 1 
 | 
            <if test="intakeNum != null and intakeNum != ''"> 
 | 
                AND name = #{intakeNum} 
 | 
            </if> 
 | 
        </where> 
 | 
        order by id DESC 
 | 
        <trim prefix="limit " > 
 | 
            <if test="start != null and count != null"> 
 | 
                #{start, javaType=Integer, jdbcType=INTEGER}, #{count, javaType=Integer, jdbcType=INTEGER} 
 | 
            </if> 
 | 
        </trim> 
 | 
    </select> 
 | 
  
 | 
    <sql id="selectIntakeAmountOfDay_with"> 
 | 
        SELECT intaId.intakeId   AS intakeId, 
 | 
               riad.dt           AS dt, 
 | 
               riad.amount       AS amount 
 | 
        FROM JSON_TABLE( 
 | 
            #{intakesJson}, 
 | 
            '$[*]' COLUMNS ( 
 | 
                intakeId BIGINT PATH '$.intakeId' 
 | 
            ) 
 | 
        ) intaId 
 | 
        INNER JOIN rm_intake_amount_day riad ON riad.intake_id = intaId.intakeId 
 | 
        <where> 
 | 
            <if test="startDt != null "> 
 | 
                AND riad.dt <![CDATA[>=]]> #{startDt, javaType=DATE, jdbcType=DATE} 
 | 
            </if> 
 | 
            <if test="endDt != null "> 
 | 
                AND riad.dt <![CDATA[<=]]> #{endDt, javaType=DATE, jdbcType=DATE} 
 | 
            </if> 
 | 
        </where> 
 | 
    </sql> 
 | 
  
 | 
  <!--统计指定月份各天取水量(1号到5号)--> 
 | 
  <select id="selectIntakeAmountOfDay01_05" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> 
 | 
    WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>) 
 | 
    SELECT inta.intakeId     AS intakeId, 
 | 
           inta.intakeNum    AS intakeNum, 
 | 
           inta.intakeLng    AS intakeLng, 
 | 
           inta.intakeLat    AS intakeLat, 
 | 
           tb01.amount       AS amount1, 
 | 
           tb02.amount       AS amount2, 
 | 
           tb03.amount       AS amount3, 
 | 
           tb04.amount       AS amount4, 
 | 
           tb05.amount       AS amount5 
 | 
    FROM JSON_TABLE( 
 | 
      #{intakesJson}, 
 | 
      '$[*]' COLUMNS ( 
 | 
        intakeId BIGINT PATH '$.intakeId', 
 | 
        intakeNum VARCHAR(100) PATH '$.intakeNum', 
 | 
        intakeLng DOUBLE PATH '$.intakeLng', 
 | 
        intakeLat DOUBLE PATH '$.intakeLat' 
 | 
      ) 
 | 
    ) inta 
 | 
    LEFT JOIN ( 
 | 
       SELECT tb.intakeId AS intakeId, 
 | 
              tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
              AND MONTH(tb.dt) = #{month} 
 | 
              AND DAY(tb.dt) = 1 
 | 
    ) as tb01 on tb01.intakeId = inta.intakeId 
 | 
    LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 2 
 | 
    ) as tb02 on tb02.intakeId = inta.intakeId 
 | 
    LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 3 
 | 
    ) as tb03 on tb03.intakeId = inta.intakeId 
 | 
    LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 4 
 | 
    ) as tb04 on tb04.intakeId = inta.intakeId 
 | 
    LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 5 
 | 
    ) as tb05 on tb05.intakeId = inta.intakeId 
 | 
  </select> 
 | 
  
 | 
  
 | 
  <!--统计指定月份各天取水量(6号到10号)--> 
 | 
  <select id="selectIntakeAmountOfDay06_10" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> 
 | 
    WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>) 
 | 
    SELECT inta.intakeId     AS intakeId, 
 | 
           inta.intakeNum    AS intakeNum, 
 | 
           inta.intakeLng    AS intakeLng, 
 | 
           inta.intakeLat    AS intakeLat, 
 | 
           tb06.amount       AS amount6, 
 | 
           tb07.amount       AS amount7, 
 | 
           tb08.amount       AS amount8, 
 | 
           tb09.amount       AS amount9, 
 | 
           tb10.amount       AS amount10 
 | 
    FROM JSON_TABLE( 
 | 
      #{intakesJson}, 
 | 
      '$[*]' COLUMNS ( 
 | 
        intakeId BIGINT PATH '$.intakeId', 
 | 
        intakeNum VARCHAR(100) PATH '$.intakeNum', 
 | 
        intakeLng DOUBLE PATH '$.intakeLng', 
 | 
        intakeLat DOUBLE PATH '$.intakeLat' 
 | 
      ) 
 | 
    ) inta 
 | 
    LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 6 
 | 
    ) as tb06 on tb06.intakeId = inta.intakeId 
 | 
    LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 7 
 | 
    ) as tb07 on tb07.intakeId = inta.intakeId 
 | 
    LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 8 
 | 
    ) as tb08 on tb08.intakeId = inta.intakeId 
 | 
    LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 9 
 | 
    ) as tb09 on tb09.intakeId = inta.intakeId 
 | 
    LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 10 
 | 
    ) as tb10 on tb10.intakeId = inta.intakeId 
 | 
  </select> 
 | 
  
 | 
  <!--统计指定月份各天取水量(11号到15号)--> 
 | 
  <select id="selectIntakeAmountOfDay11_15" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> 
 | 
    WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>) 
 | 
    SELECT inta.intakeId     AS intakeId, 
 | 
           inta.intakeNum    AS intakeNum, 
 | 
           inta.intakeLng    AS intakeLng, 
 | 
           inta.intakeLat    AS intakeLat, 
 | 
           tb11.amount       AS amount11, 
 | 
           tb12.amount       AS amount12, 
 | 
           tb13.amount       AS amount13, 
 | 
           tb14.amount       AS amount14, 
 | 
           tb15.amount       AS amount15 
 | 
    FROM JSON_TABLE( 
 | 
      #{intakesJson}, 
 | 
      '$[*]' COLUMNS ( 
 | 
        intakeId BIGINT PATH '$.intakeId', 
 | 
        intakeNum VARCHAR(100) PATH '$.intakeNum', 
 | 
        intakeLng DOUBLE PATH '$.intakeLng', 
 | 
        intakeLat DOUBLE PATH '$.intakeLat' 
 | 
      ) 
 | 
    ) inta 
 | 
    LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 11 
 | 
    ) as tb11 on tb11.intakeId = inta.intakeId 
 | 
    LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 12 
 | 
    ) as tb12 on tb12.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 13 
 | 
    ) as tb13 on tb13.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 14 
 | 
    ) as tb14 on tb14.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 15 
 | 
    ) as tb15 on tb15.intakeId = inta.intakeId 
 | 
  </select> 
 | 
  
 | 
  <!--统计指定月份各天取水量(20号到16号)--> 
 | 
  <select id="selectIntakeAmountOfDay16_20" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> 
 | 
    WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>) 
 | 
    SELECT inta.intakeId     AS intakeId, 
 | 
           inta.intakeNum    AS intakeNum, 
 | 
           inta.intakeLng    AS intakeLng, 
 | 
           inta.intakeLat    AS intakeLat, 
 | 
           tb16.amount       AS amount16, 
 | 
           tb17.amount       AS amount17, 
 | 
           tb18.amount       AS amount18, 
 | 
           tb19.amount       AS amount19, 
 | 
           tb20.amount       AS amount20 
 | 
    FROM JSON_TABLE( 
 | 
      #{intakesJson}, 
 | 
      '$[*]' COLUMNS ( 
 | 
        intakeId BIGINT PATH '$.intakeId', 
 | 
        intakeNum VARCHAR(100) PATH '$.intakeNum', 
 | 
        intakeLng DOUBLE PATH '$.intakeLng', 
 | 
        intakeLat DOUBLE PATH '$.intakeLat' 
 | 
      ) 
 | 
    ) inta 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 16 
 | 
    ) as tb16 on tb16.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 17 
 | 
    ) as tb17 on tb17.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 18 
 | 
    ) as tb18 on tb18.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 19 
 | 
    ) as tb19 on tb19.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 20 
 | 
    ) as tb20 on tb20.intakeId = inta.intakeId 
 | 
  </select> 
 | 
  
 | 
  <!--统计指定月份各天取水量(21号到25号)--> 
 | 
  <select id="selectIntakeAmountOfDay21_25" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> 
 | 
    WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>) 
 | 
    SELECT inta.intakeId     AS intakeId, 
 | 
           inta.intakeNum    AS intakeNum, 
 | 
           inta.intakeLng    AS intakeLng, 
 | 
           inta.intakeLat    AS intakeLat, 
 | 
           tb21.amount       AS amount21, 
 | 
           tb22.amount       AS amount22, 
 | 
           tb23.amount       AS amount23, 
 | 
           tb24.amount       AS amount24, 
 | 
           tb25.amount       AS amount25 
 | 
    FROM JSON_TABLE( 
 | 
      #{intakesJson}, 
 | 
      '$[*]' COLUMNS ( 
 | 
        intakeId BIGINT PATH '$.intakeId', 
 | 
        intakeNum VARCHAR(100) PATH '$.intakeNum', 
 | 
        intakeLng DOUBLE PATH '$.intakeLng', 
 | 
        intakeLat DOUBLE PATH '$.intakeLat' 
 | 
      ) 
 | 
    ) inta 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 21 
 | 
    ) as tb21 on tb21.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 22 
 | 
    ) as tb22 on tb22.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 23 
 | 
    ) as tb23 on tb23.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 24 
 | 
    ) as tb24 on tb24.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 25 
 | 
    ) as tb25 on tb25.intakeId = inta.intakeId 
 | 
  </select> 
 | 
  
 | 
  <!--统计指定月份各天取水量(26号到31号)--> 
 | 
  <select id="selectIntakeAmountOfDay26_31" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> 
 | 
    WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>) 
 | 
    SELECT inta.intakeId     AS intakeId, 
 | 
           inta.intakeNum    AS intakeNum, 
 | 
           inta.intakeLng    AS intakeLng, 
 | 
           inta.intakeLat    AS intakeLat, 
 | 
           tb26.amount       AS amount26, 
 | 
           tb27.amount       AS amount27, 
 | 
           tb28.amount       AS amount28, 
 | 
           tb29.amount       AS amount29, 
 | 
           tb30.amount       AS amount30, 
 | 
           tb31.amount       AS amount31 
 | 
    FROM JSON_TABLE( 
 | 
      #{intakesJson}, 
 | 
      '$[*]' COLUMNS ( 
 | 
        intakeId BIGINT PATH '$.intakeId', 
 | 
        intakeNum VARCHAR(100) PATH '$.intakeNum', 
 | 
        intakeLng DOUBLE PATH '$.intakeLng', 
 | 
        intakeLat DOUBLE PATH '$.intakeLat' 
 | 
      ) 
 | 
    ) inta 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 26 
 | 
    ) as tb26 on tb26.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 27 
 | 
    ) as tb27 on tb27.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 28 
 | 
    ) as tb28 on tb28.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 29 
 | 
    ) as tb29 on tb29.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 30 
 | 
    ) as tb30 on tb30.intakeId = inta.intakeId 
 | 
   LEFT JOIN ( 
 | 
        SELECT tb.intakeId AS intakeId, 
 | 
               tb.amount   AS amount 
 | 
        FROM intakeAmountDay AS tb 
 | 
        WHERE YEAR(tb.dt) = #{year} 
 | 
        AND MONTH(tb.dt) = #{month} 
 | 
        AND DAY(tb.dt) = 31 
 | 
    ) as tb31 on tb31.intakeId = inta.intakeId 
 | 
  </select> 
 | 
  
 | 
    <!--指定时间段用水量超过指定值的取水口数量--> 
 | 
    <select id="getUseWaterGtValueIntakesCount" resultType="java.lang.Long"> 
 | 
        select 
 | 
        count(*) 
 | 
        from ( 
 | 
        SELECT 
 | 
        SUM(riad.amount) AS value 
 | 
        FROM 
 | 
        pr_intake inta 
 | 
        INNER JOIN ba_block blo ON blo.id = inta.blockId 
 | 
        INNER JOIN rm_intake_amount_day riad ON riad.intake_id = inta.id 
 | 
        WHERE inta.deleted = 0 and riad.dt >= #{timeStart} AND riad.dt <= #{timeStop} 
 | 
        GROUP BY inta.id 
 | 
        HAVING value > #{value} 
 | 
        ) c 
 | 
    </select> 
 | 
    <!--指定时间段用水量超过指定值的取水口--> 
 | 
    <select id="getUseWaterGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount"> 
 | 
        SELECT 
 | 
        inta.id AS intakeId, 
 | 
        inta.NAME AS intakeNum, 
 | 
        inta.lng  AS lng, 
 | 
        inta.lat  AS lat, 
 | 
        blo.NAME AS blockName , 
 | 
        SUM(riad.amount) AS value 
 | 
        FROM 
 | 
        pr_intake inta 
 | 
        INNER JOIN ba_block blo ON blo.id = inta.blockId 
 | 
        INNER JOIN rm_intake_amount_day riad ON riad.intake_id = inta.id 
 | 
        WHERE inta.deleted = 0 and riad.dt >= #{timeStart} AND riad.dt <= #{timeStop} 
 | 
        GROUP BY inta.id 
 | 
        HAVING value > #{value} 
 | 
        ORDER BY inta.id 
 | 
        <trim prefix="limit " > 
 | 
            <if test="start != null and count != null"> 
 | 
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} 
 | 
            </if> 
 | 
        </trim> 
 | 
    </select> 
 | 
    <!--指定时间段内消费金额超过指定值的取水口的数量--> 
 | 
    <select id="getExpenseGtValueIntakesCount" resultType="java.lang.Long"> 
 | 
        select 
 | 
        count(*) 
 | 
        from ( 
 | 
        SELECT 
 | 
        SUM(riad.money) AS value 
 | 
        FROM 
 | 
        pr_intake inta 
 | 
        INNER JOIN ba_block blo ON blo.id = inta.blockId 
 | 
        INNER JOIN rm_intake_amount_day riad ON riad.intake_id = inta.id 
 | 
        WHERE inta.deleted = 0 and riad.dt >= #{timeStart} AND riad.dt <= #{timeStop} 
 | 
        GROUP BY inta.id 
 | 
        HAVING value > #{value} 
 | 
        ) c 
 | 
    </select> 
 | 
    <!--指定时间段内消费金额超过指定值的取水口--> 
 | 
    <select id="getExpenseGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount"> 
 | 
        SELECT 
 | 
        inta.id AS intakeId, 
 | 
        inta.NAME AS intakeNum, 
 | 
        inta.lng  AS lng, 
 | 
        inta.lat  AS lat, 
 | 
        blo.NAME AS blockName , 
 | 
        SUM(riad.money) AS value 
 | 
        FROM 
 | 
        pr_intake inta 
 | 
        INNER JOIN ba_block blo ON blo.id = inta.blockId 
 | 
        INNER JOIN rm_intake_amount_day riad ON riad.intake_id = inta.id 
 | 
        WHERE inta.deleted = 0 and riad.dt >= #{timeStart} AND riad.dt <= #{timeStop} 
 | 
        GROUP BY inta.id 
 | 
        HAVING value > #{value} 
 | 
        ORDER BY inta.id 
 | 
        <trim prefix="limit " > 
 | 
            <if test="start != null and count != null"> 
 | 
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} 
 | 
            </if> 
 | 
        </trim> 
 | 
    </select> 
 | 
    <!--指定时间段内取水次数超过指定值的取水口的数量--> 
 | 
    <select id="getUseWaterTimesGtValueIntakesCount" resultType="java.lang.Long"> 
 | 
        select 
 | 
        count(*) 
 | 
        from ( 
 | 
        SELECT 
 | 
        SUM(riad.times) AS valueInt 
 | 
        FROM 
 | 
        pr_intake inta 
 | 
        INNER JOIN ba_block blo ON blo.id = inta.blockId 
 | 
        INNER JOIN rm_intake_amount_day riad ON riad.intake_id = inta.id 
 | 
        WHERE inta.deleted = 0 and riad.dt >= #{timeStart} AND riad.dt <= #{timeStop} 
 | 
        GROUP BY inta.id 
 | 
        HAVING valueInt > #{value} 
 | 
        ) c 
 | 
    </select> 
 | 
    <!--指定时间段内取水次数超过指定值的取水口--> 
 | 
    <select id="getUseWaterTimesGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount"> 
 | 
        SELECT 
 | 
        inta.id AS intakeId, 
 | 
        inta.NAME AS intakeNum, 
 | 
        inta.lng  AS lng, 
 | 
        inta.lat  AS lat, 
 | 
        blo.NAME AS blockName , 
 | 
        SUM(riad.times) AS valueInt 
 | 
        FROM 
 | 
        pr_intake inta 
 | 
        INNER JOIN ba_block blo ON blo.id = inta.blockId 
 | 
        INNER JOIN rm_intake_amount_day riad ON riad.intake_id = inta.id 
 | 
        WHERE inta.deleted = 0 and riad.dt >= #{timeStart} AND riad.dt <= #{timeStop} 
 | 
        GROUP BY inta.id 
 | 
        HAVING valueInt > #{value} 
 | 
        ORDER BY inta.id 
 | 
        <trim prefix="limit " > 
 | 
            <if test="start != null and count != null"> 
 | 
                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} 
 | 
            </if> 
 | 
        </trim> 
 | 
    </select> 
 | 
</mapper> 
 |