From 4a2deb11b819dd78a8c75e244ef67ec2e48cf5f5 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 14 四月 2025 21:03:28 +0800
Subject: [PATCH] 重构轮灌组修改接口

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml | 1320 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 1,123 insertions(+), 197 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml
index ac46b99..4f198b9 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml
@@ -1,213 +1,1139 @@
 <?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="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, 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, 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},
-      #{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">
+    <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,
-      </if>
-      <if test="intakeId != null">
         intake_id,
-      </if>
-      <if test="dt != null">
         dt,
-      </if>
-      <if test="amount != null">
-        amount,
-      </if>
-      <if test="dtLast != null">
+        amount, money, times,
         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="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="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},
-      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="intakeName != null">
-        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
-      </if>
-      <if test="startDt != null">
-        and riad.dt &gt;= #{startDt,jdbcType=DATE}
-      </if>
-      <if test="endDt != null">
-        and riad.dt &lt;= #{endDt,jdbcType=DATE}
-      </if>
-    </where>
+        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="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.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="intakeName != null">
-        and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
-      </if>
-      <if test="startDt != null">
-        and riad.dt &gt;= #{startDt,jdbcType=DATE}
-      </if>
-      <if test="endDt != null">
-        and riad.dt &lt;= #{endDt,jdbcType=DATE}
-      </if>
-    </where>
-    ORDER BY riad.id DESC
-    <if test="pageCurr != null and pageSize != null">
-      LIMIT ${(pageCurr-1)*pageSize}, ${pageSize}
-    </if>
+    <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 &gt;= #{startDt,jdbcType=DATE}
+            </if>
+            <if test="endDt != null">
+                and riad.dt &lt;= #{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 &gt;= #{startDt,jdbcType=DATE}
+            </if>
+            <if test="endDt != null">
+                and riad.dt &lt;= #{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>
 
 
-  <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
+  <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(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>
+
+    <!--鎸囧畾鏃堕棿娈电敤姘撮噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�-->
+    <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 &gt;= #{timeStart} AND riad.dt &lt;= #{timeStop}
+        GROUP BY inta.id
+        HAVING value &gt; #{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 &gt;= #{timeStart} AND riad.dt &lt;= #{timeStop}
+        GROUP BY inta.id
+        HAVING value &gt; #{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>
+    <!--鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙g殑鏁伴噺-->
+    <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 &gt;= #{timeStart} AND riad.dt &lt;= #{timeStop}
+        GROUP BY inta.id
+        HAVING value &gt; #{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 &gt;= #{timeStart} AND riad.dt &lt;= #{timeStop}
+        GROUP BY inta.id
+        HAVING value &gt; #{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>
+    <!--鎸囧畾鏃堕棿娈靛唴鍙栨按娆℃暟瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙g殑鏁伴噺-->
+    <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 &gt;= #{timeStart} AND riad.dt &lt;= #{timeStop}
+        GROUP BY inta.id
+        HAVING valueInt &gt; #{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 &gt;= #{timeStart} AND riad.dt &lt;= #{timeStop}
+        GROUP BY inta.id
+        HAVING valueInt &gt; #{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>
\ No newline at end of file

--
Gitblit v1.8.0