|  |  | 
 |  |  |         from rm_loss_day | 
 |  |  |         <where> | 
 |  |  |           <if test="startDt != null "> | 
 |  |  |             AND dt <![CDATA[>=]]> #{startDt, jdbcType=DATE, jdbcType=DATE} | 
 |  |  |             AND dt <![CDATA[>=]]> #{startDt, javaType=DATE, jdbcType=DATE} | 
 |  |  |           </if> | 
 |  |  |           <if test="endDt != null "> | 
 |  |  |             AND dt <![CDATA[<]]> #{endDt, jdbcType=DATE, jdbcType=DATE} | 
 |  |  |             AND dt <![CDATA[<]]> #{endDt, javaType=DATE, jdbcType=DATE} | 
 |  |  |           </if> | 
 |  |  |         </where> | 
 |  |  |         order by intake_id DESC, id ASC | 
 |  |  | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |   <!--统计指定月份各天漏损量--> | 
 |  |  |   <select id="selectLossAmountOfDay" resultType="com.dy.pipIrrGlobal.voSt.VoDayLoss"> | 
 |  |  |     WITH intakeLossAmountDay AS ( | 
 |  |  |   <sql id="selectLossAmountOfDay_with"> | 
 |  |  |       SELECT intaId.intakeId   AS intakeId, | 
 |  |  |              rld.dt            AS dt, | 
 |  |  |              rld.loss_amount   AS lossAmount | 
 |  |  | 
 |  |  |       INNER JOIN rm_loss_day rld ON rld.intake_id = intaId.intakeId | 
 |  |  |       <where> | 
 |  |  |         <if test="startDt != null "> | 
 |  |  |           AND rld.dt <![CDATA[>=]]> #{startDt, jdbcType=DATE, jdbcType=DATE} | 
 |  |  |           AND rld.dt <![CDATA[>=]]> #{startDt, javaType=DATE, jdbcType=DATE} | 
 |  |  |         </if> | 
 |  |  |         <if test="endDt != null "> | 
 |  |  |           AND rld.dt <![CDATA[<=]]> #{endDt, jdbcType=DATE, jdbcType=DATE} | 
 |  |  |           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, | 
 |  |  | 
 |  |  |            tb02.lossAmount   AS lossAmount2, | 
 |  |  |            tb03.lossAmount   AS lossAmount3, | 
 |  |  |            tb04.lossAmount   AS lossAmount4, | 
 |  |  |            tb05.lossAmount   AS lossAmount5, | 
 |  |  |            tb06.lossAmount   AS lossAmount6, | 
 |  |  |            tb07.lossAmount   AS lossAmount7, | 
 |  |  |            tb08.lossAmount   AS lossAmount8, | 
 |  |  |            tb09.lossAmount   AS lossAmount9, | 
 |  |  |            tb10.lossAmount   AS lossAmount10, | 
 |  |  |            tb11.lossAmount   AS lossAmount11, | 
 |  |  |            tb12.lossAmount   AS lossAmount12, | 
 |  |  |            tb13.lossAmount   AS lossAmount13, | 
 |  |  |            tb14.lossAmount   AS lossAmount14, | 
 |  |  |            tb15.lossAmount   AS lossAmount15, | 
 |  |  |            tb16.lossAmount   AS lossAmount16, | 
 |  |  |            tb17.lossAmount   AS lossAmount17, | 
 |  |  |            tb18.lossAmount   AS lossAmount18, | 
 |  |  |            tb19.lossAmount   AS lossAmount19, | 
 |  |  |            tb20.lossAmount   AS lossAmount20, | 
 |  |  |            tb21.lossAmount   AS lossAmount21, | 
 |  |  |            tb22.lossAmount   AS lossAmount22, | 
 |  |  |            tb23.lossAmount   AS lossAmount23, | 
 |  |  |            tb24.lossAmount   AS lossAmount24, | 
 |  |  |            tb25.lossAmount   AS lossAmount25, | 
 |  |  |            tb26.lossAmount   AS lossAmount26, | 
 |  |  |            tb27.lossAmount   AS lossAmount27, | 
 |  |  |            tb28.lossAmount   AS lossAmount28, | 
 |  |  |            tb29.lossAmount   AS lossAmount29, | 
 |  |  |            tb30.lossAmount   AS lossAmount30, | 
 |  |  |            tb31.lossAmount   AS lossAmount31 | 
 |  |  |            tb05.lossAmount   AS lossAmount5 | 
 |  |  |     FROM JSON_TABLE( | 
 |  |  |       #{intakesJson}, | 
 |  |  |       '$[*]' COLUMNS ( | 
 |  |  | 
 |  |  |       ) | 
 |  |  |     ) inta | 
 |  |  |     LEFT JOIN ( | 
 |  |  |         SELECT tb.intakeId AS intakeId, | 
 |  |  |        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 | 
 |  |  | 
 |  |  |         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 | 
 |  |  | 
 |  |  |         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 | 
 |  |  | 
 |  |  |         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 | 
 |  |  | 
 |  |  |         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 | 
 |  |  | 
 |  |  |         AND DAY(tb.dt) = 31 | 
 |  |  |     ) as tb31 on tb31.intakeId = inta.intakeId | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |  | 
 |  |  | </mapper> |