| | |
| | | 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> |