|  |  |  | 
|---|
|  |  |  | where id <![CDATA[>=]]> #{startId, jdbcType=BIGINT} and id <![CDATA[<]]> #{endId, jdbcType=BIGINT} | 
|---|
|  |  |  | group by intake_id | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 为查询统计取水口日漏损量,统计取水口数量 --> | 
|---|
|  |  |  | <select id="selectIntakeCount4LossDay" 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="selectIntakes4LossDay" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss"> | 
|---|
|  |  |  | 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> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--统计指定月份各天漏损量  暂时未用 刘润玉 2024-12-12--> | 
|---|
|  |  |  | <select id="temp" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss"> | 
|---|
|  |  |  | SELECT inta.intakeId     AS intakeId, | 
|---|
|  |  |  | inta.intakeNum    AS intakeNum, | 
|---|
|  |  |  | inta.intakeLng    AS intakeLng, | 
|---|
|  |  |  | inta.intakeLat    AS intakeLat, | 
|---|
|  |  |  | rld.id            AS id, | 
|---|
|  |  |  | rld.dt            AS dt, | 
|---|
|  |  |  | rld.loss_amount   AS lossAmount1 | 
|---|
|  |  |  | 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 id, intake_id, dt, loss_amount | 
|---|
|  |  |  | from rm_loss_day | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | <if test="startDt != null "> | 
|---|
|  |  |  | AND dt <![CDATA[>=]]> #{startDt, javaType=DATE, jdbcType=DATE} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="endDt != null "> | 
|---|
|  |  |  | AND dt <![CDATA[<]]> #{endDt, javaType=DATE, jdbcType=DATE} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | order by intake_id DESC, id ASC | 
|---|
|  |  |  | ) as rld ON rld.intake_id = inta.intakeId | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <sql id="selectLossAmountOfDay_with"> | 
|---|
|  |  |  | SELECT intaId.intakeId   AS intakeId, | 
|---|
|  |  |  | rld.dt            AS dt, | 
|---|
|  |  |  | rld.loss_amount   AS lossAmount | 
|---|
|  |  |  | FROM JSON_TABLE( | 
|---|
|  |  |  | #{intakesJson}, | 
|---|
|  |  |  | '$[*]' COLUMNS ( | 
|---|
|  |  |  | intakeId BIGINT PATH '$.intakeId' | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | ) intaId | 
|---|
|  |  |  | INNER JOIN rm_loss_day rld ON rld.intake_id = intaId.intakeId | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | <if test="startDt != null "> | 
|---|
|  |  |  | AND rld.dt <![CDATA[>=]]> #{startDt, javaType=DATE, jdbcType=DATE} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="endDt != null "> | 
|---|
|  |  |  | AND rld.dt <![CDATA[<=]]> #{endDt, javaType=DATE, jdbcType=DATE} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | </sql> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--统计指定月份各天漏损量(1号到5号)--> | 
|---|
|  |  |  | <select id="selectLossAmountOfDay01_05" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss"> | 
|---|
|  |  |  | WITH intakeLossAmountDay AS (<include refid="selectLossAmountOfDay_with"/>) | 
|---|
|  |  |  | SELECT inta.intakeId     AS intakeId, | 
|---|
|  |  |  | inta.intakeNum    AS intakeNum, | 
|---|
|  |  |  | inta.intakeLng    AS intakeLng, | 
|---|
|  |  |  | inta.intakeLat    AS intakeLat, | 
|---|
|  |  |  | tb01.lossAmount   AS lossAmount1, | 
|---|
|  |  |  | tb02.lossAmount   AS lossAmount2, | 
|---|
|  |  |  | tb03.lossAmount   AS lossAmount3, | 
|---|
|  |  |  | tb04.lossAmount   AS lossAmount4, | 
|---|
|  |  |  | tb05.lossAmount   AS lossAmount5 | 
|---|
|  |  |  | 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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="selectLossAmountOfDay06_10" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss"> | 
|---|
|  |  |  | WITH intakeLossAmountDay AS (<include refid="selectLossAmountOfDay_with"/>) | 
|---|
|  |  |  | SELECT inta.intakeId     AS intakeId, | 
|---|
|  |  |  | inta.intakeNum    AS intakeNum, | 
|---|
|  |  |  | inta.intakeLng    AS intakeLng, | 
|---|
|  |  |  | inta.intakeLat    AS intakeLat, | 
|---|
|  |  |  | tb06.lossAmount   AS lossAmount6, | 
|---|
|  |  |  | tb07.lossAmount   AS lossAmount7, | 
|---|
|  |  |  | tb08.lossAmount   AS lossAmount8, | 
|---|
|  |  |  | tb09.lossAmount   AS lossAmount9, | 
|---|
|  |  |  | tb10.lossAmount   AS lossAmount10 | 
|---|
|  |  |  | 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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="selectLossAmountOfDay11_15" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss"> | 
|---|
|  |  |  | WITH intakeLossAmountDay AS (<include refid="selectLossAmountOfDay_with"/>) | 
|---|
|  |  |  | SELECT inta.intakeId     AS intakeId, | 
|---|
|  |  |  | inta.intakeNum    AS intakeNum, | 
|---|
|  |  |  | inta.intakeLng    AS intakeLng, | 
|---|
|  |  |  | inta.intakeLat    AS intakeLat, | 
|---|
|  |  |  | tb11.lossAmount   AS lossAmount11, | 
|---|
|  |  |  | tb12.lossAmount   AS lossAmount12, | 
|---|
|  |  |  | tb13.lossAmount   AS lossAmount13, | 
|---|
|  |  |  | tb14.lossAmount   AS lossAmount14, | 
|---|
|  |  |  | tb15.lossAmount   AS lossAmount15 | 
|---|
|  |  |  | 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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="selectLossAmountOfDay16_20" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss"> | 
|---|
|  |  |  | WITH intakeLossAmountDay AS (<include refid="selectLossAmountOfDay_with"/>) | 
|---|
|  |  |  | SELECT inta.intakeId     AS intakeId, | 
|---|
|  |  |  | inta.intakeNum    AS intakeNum, | 
|---|
|  |  |  | inta.intakeLng    AS intakeLng, | 
|---|
|  |  |  | inta.intakeLat    AS intakeLat, | 
|---|
|  |  |  | tb16.lossAmount   AS lossAmount16, | 
|---|
|  |  |  | tb17.lossAmount   AS lossAmount17, | 
|---|
|  |  |  | tb18.lossAmount   AS lossAmount18, | 
|---|
|  |  |  | tb19.lossAmount   AS lossAmount19, | 
|---|
|  |  |  | tb20.lossAmount   AS lossAmount20 | 
|---|
|  |  |  | 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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="selectLossAmountOfDay21_25" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss"> | 
|---|
|  |  |  | WITH intakeLossAmountDay AS (<include refid="selectLossAmountOfDay_with"/>) | 
|---|
|  |  |  | SELECT inta.intakeId     AS intakeId, | 
|---|
|  |  |  | inta.intakeNum    AS intakeNum, | 
|---|
|  |  |  | inta.intakeLng    AS intakeLng, | 
|---|
|  |  |  | inta.intakeLat    AS intakeLat, | 
|---|
|  |  |  | tb21.lossAmount   AS lossAmount21, | 
|---|
|  |  |  | tb22.lossAmount   AS lossAmount22, | 
|---|
|  |  |  | tb23.lossAmount   AS lossAmount23, | 
|---|
|  |  |  | tb24.lossAmount   AS lossAmount24, | 
|---|
|  |  |  | tb25.lossAmount   AS lossAmount25 | 
|---|
|  |  |  | 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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="selectLossAmountOfDay26_31" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss"> | 
|---|
|  |  |  | WITH intakeLossAmountDay AS (<include refid="selectLossAmountOfDay_with"/>) | 
|---|
|  |  |  | SELECT inta.intakeId     AS intakeId, | 
|---|
|  |  |  | inta.intakeNum    AS intakeNum, | 
|---|
|  |  |  | inta.intakeLng    AS intakeLng, | 
|---|
|  |  |  | inta.intakeLat    AS intakeLat, | 
|---|
|  |  |  | tb26.lossAmount   AS lossAmount26, | 
|---|
|  |  |  | tb27.lossAmount   AS lossAmount27, | 
|---|
|  |  |  | tb28.lossAmount   AS lossAmount28, | 
|---|
|  |  |  | tb29.lossAmount   AS lossAmount29, | 
|---|
|  |  |  | tb30.lossAmount   AS lossAmount30, | 
|---|
|  |  |  | tb31.lossAmount   AS lossAmount31 | 
|---|
|  |  |  | 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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.lossAmount AS lossAmount | 
|---|
|  |  |  | FROM intakeLossAmountDay 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> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </mapper> | 
|---|