|  |  | 
 |  |  |         <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"/> | 
 |  |  | 
 |  |  |         id, | 
 |  |  |         intake_id, | 
 |  |  |         dt, | 
 |  |  |         amount, | 
 |  |  |         amount, money, times, | 
 |  |  |         dt_last, | 
 |  |  |         rtu_addr_last, | 
 |  |  |         controller_id_last, | 
 |  |  | 
 |  |  |     <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmIntakeAmountDay"> | 
 |  |  |         <!--@mbg.generated--> | 
 |  |  |         insert into rm_intake_amount_day (id, intake_id, dt, | 
 |  |  |                                           amount, dt_last, | 
 |  |  |                                           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}, #{dtLast,jdbcType=TIMESTAMP}, | 
 |  |  |                 #{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> | 
 |  |  | 
 |  |  |             </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="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 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> | 
 |  |  | 
 |  |  |         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}, | 
 |  |  | 
 |  |  |                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, | 
 |  |  | 
 |  |  |         SELECT inta.id                                 AS intakeId, | 
 |  |  |                inta.name                               AS intakeNum, | 
 |  |  |                IFNULL((SELECT IFNULL(amount, 0) | 
 |  |  |                        FROM rm_intake_amount_day intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        FROM rm_intake_amount_day_last intaDay | 
 |  |  |                        WHERE intaDay.intake_id = inta.id | 
 |  |  |                          AND YEAR(intaDay.dt) = #{year} | 
 |  |  |                          AND MONTH(intaDay.dt) = #{month} | 
 |  |  | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <!--统计指定年份各月用水量--> | 
 |  |  |     <select id="getMonthIntakeAmount" resultType="com.dy.pipIrrGlobal.voSt.VoMonthIntakeAmount"> | 
 |  |  |     <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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        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 intaDay | 
 |  |  |                        FROM rm_intake_amount_day_last intaDay | 
 |  |  |                        WHERE intaDay.intake_id = inta.id | 
 |  |  |                          AND YEAR(intaDay.dt) = #{year} | 
 |  |  |                          AND MONTH(intaDay.dt) = 12 | 
 |  |  | 
 |  |  |             </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> |