From 9c8ab5d5d8670e524c02b8dcbb9f6876cbe6bc3c Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期一, 23 十二月 2024 11:11:04 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml | 447 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 447 insertions(+), 0 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 c68b2b7..7ddc8ab 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmIntakeAmountDayMapper.xml @@ -549,4 +549,451 @@ </if> </trim> </select> + + + + + <!-- 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛岀粺璁″彇姘村彛鏁伴噺 --> + <select id="selectIntakeCount4AmountDay" resultType="java.lang.Long"> + SELECT COUNT(*) + FROM pr_intake tb + <where> + AND tb.deleted != 1 + <if test="intakeNum != null and intakeNum != ''"> + AND tb.name = #{intakeNum} + </if> + </where> + </select> + + <!-- 涓烘煡璇㈢粺璁″彇姘村彛鏃ユ紡鎹熼噺锛屾煡璇竴椤靛彇姘村彛ID --> + <select id="selectIntakes4AmountDay" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> + SELECT id as intakeId, + name as intakeNum, + lat as intakeLat, + lng as intakeLng + FROM pr_intake + <where> + AND deleted != 1 + <if test="intakeNum != null and intakeNum != ''"> + AND name = #{intakeNum} + </if> + </where> + order by id DESC + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start, javaType=Integer, jdbcType=INTEGER}, #{count, javaType=Integer, jdbcType=INTEGER} + </if> + </trim> + </select> + + <sql id="selectIntakeAmountOfDay_with"> + SELECT intaId.intakeId AS intakeId, + riad.dt AS dt, + riad.amount AS amount + FROM JSON_TABLE( + #{intakesJson}, + '$[*]' COLUMNS ( + intakeId BIGINT PATH '$.intakeId' + ) + ) intaId + INNER JOIN rm_intake_amount_day riad ON riad.intake_id = intaId.intakeId + <where> + <if test="startDt != null "> + AND riad.dt <![CDATA[>=]]> #{startDt, javaType=DATE, jdbcType=DATE} + </if> + <if test="endDt != null "> + AND riad.dt <![CDATA[<=]]> #{endDt, javaType=DATE, jdbcType=DATE} + </if> + </where> + </sql> + + <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(1鍙峰埌5鍙�)--> + <select id="selectIntakeAmountOfDay01_05" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> + WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>) + SELECT inta.intakeId AS intakeId, + inta.intakeNum AS intakeNum, + inta.intakeLng AS intakeLng, + inta.intakeLat AS intakeLat, + tb01.amount AS amount1, + tb02.amount AS amount2, + tb03.amount AS amount3, + tb04.amount AS amount4, + tb05.amount AS amount5 + FROM JSON_TABLE( + #{intakesJson}, + '$[*]' COLUMNS ( + intakeId BIGINT PATH '$.intakeId', + intakeNum VARCHAR(100) PATH '$.intakeNum', + intakeLng DOUBLE PATH '$.intakeLng', + intakeLat DOUBLE PATH '$.intakeLat' + ) + ) inta + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 1 + ) as tb01 on tb01.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 2 + ) as tb02 on tb02.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 3 + ) as tb03 on tb03.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 4 + ) as tb04 on tb04.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 5 + ) as tb05 on tb05.intakeId = inta.intakeId + </select> + + + <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(6鍙峰埌10鍙�)--> + <select id="selectIntakeAmountOfDay06_10" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> + WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>) + SELECT inta.intakeId AS intakeId, + inta.intakeNum AS intakeNum, + inta.intakeLng AS intakeLng, + inta.intakeLat AS intakeLat, + tb06.amount AS amount6, + tb07.amount AS amount7, + tb08.amount AS amount8, + tb09.amount AS amount9, + tb10.amount AS amount10 + FROM JSON_TABLE( + #{intakesJson}, + '$[*]' COLUMNS ( + intakeId BIGINT PATH '$.intakeId', + intakeNum VARCHAR(100) PATH '$.intakeNum', + intakeLng DOUBLE PATH '$.intakeLng', + intakeLat DOUBLE PATH '$.intakeLat' + ) + ) inta + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 6 + ) as tb06 on tb06.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 7 + ) as tb07 on tb07.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 8 + ) as tb08 on tb08.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 9 + ) as tb09 on tb09.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 10 + ) as tb10 on tb10.intakeId = inta.intakeId + </select> + + <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(11鍙峰埌15鍙�)--> + <select id="selectIntakeAmountOfDay11_15" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> + WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>) + SELECT inta.intakeId AS intakeId, + inta.intakeNum AS intakeNum, + inta.intakeLng AS intakeLng, + inta.intakeLat AS intakeLat, + tb11.amount AS amount11, + tb12.amount AS amount12, + tb13.amount AS amount13, + tb14.amount AS amount14, + tb15.amount AS amount15 + FROM JSON_TABLE( + #{intakesJson}, + '$[*]' COLUMNS ( + intakeId BIGINT PATH '$.intakeId', + intakeNum VARCHAR(100) PATH '$.intakeNum', + intakeLng DOUBLE PATH '$.intakeLng', + intakeLat DOUBLE PATH '$.intakeLat' + ) + ) inta + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 11 + ) as tb11 on tb11.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 12 + ) as tb12 on tb12.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 13 + ) as tb13 on tb13.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 14 + ) as tb14 on tb14.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 15 + ) as tb15 on tb15.intakeId = inta.intakeId + </select> + + <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(20鍙峰埌16鍙�)--> + <select id="selectIntakeAmountOfDay16_20" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> + WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>) + SELECT inta.intakeId AS intakeId, + inta.intakeNum AS intakeNum, + inta.intakeLng AS intakeLng, + inta.intakeLat AS intakeLat, + tb16.amount AS amount16, + tb17.amount AS amount17, + tb18.amount AS amount18, + tb19.amount AS amount19, + tb20.amount AS amount20 + FROM JSON_TABLE( + #{intakesJson}, + '$[*]' COLUMNS ( + intakeId BIGINT PATH '$.intakeId', + intakeNum VARCHAR(100) PATH '$.intakeNum', + intakeLng DOUBLE PATH '$.intakeLng', + intakeLat DOUBLE PATH '$.intakeLat' + ) + ) inta + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 16 + ) as tb16 on tb16.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 17 + ) as tb17 on tb17.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 18 + ) as tb18 on tb18.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 19 + ) as tb19 on tb19.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 20 + ) as tb20 on tb20.intakeId = inta.intakeId + </select> + + <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(21鍙峰埌25鍙�)--> + <select id="selectIntakeAmountOfDay21_25" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> + WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>) + SELECT inta.intakeId AS intakeId, + inta.intakeNum AS intakeNum, + inta.intakeLng AS intakeLng, + inta.intakeLat AS intakeLat, + tb21.amount AS amount21, + tb22.amount AS amount22, + tb23.amount AS amount23, + tb24.amount AS amount24, + tb25.amount AS amount25 + FROM JSON_TABLE( + #{intakesJson}, + '$[*]' COLUMNS ( + intakeId BIGINT PATH '$.intakeId', + intakeNum VARCHAR(100) PATH '$.intakeNum', + intakeLng DOUBLE PATH '$.intakeLng', + intakeLat DOUBLE PATH '$.intakeLat' + ) + ) inta + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 21 + ) as tb21 on tb21.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 22 + ) as tb22 on tb22.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 23 + ) as tb23 on tb23.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 24 + ) as tb24 on tb24.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 25 + ) as tb25 on tb25.intakeId = inta.intakeId + </select> + + <!--缁熻鎸囧畾鏈堜唤鍚勫ぉ鍙栨按閲�(26鍙峰埌31鍙�)--> + <select id="selectIntakeAmountOfDay26_31" resultType="com.dy.pipIrrGlobal.voSt.VoDayIntakeAmount"> + WITH intakeAmountDay AS (<include refid="selectIntakeAmountOfDay_with"/>) + SELECT inta.intakeId AS intakeId, + inta.intakeNum AS intakeNum, + inta.intakeLng AS intakeLng, + inta.intakeLat AS intakeLat, + tb26.amount AS amount26, + tb27.amount AS amount27, + tb28.amount AS amount28, + tb29.amount AS amount29, + tb30.amount AS amount30, + tb31.amount AS amount31 + FROM JSON_TABLE( + #{intakesJson}, + '$[*]' COLUMNS ( + intakeId BIGINT PATH '$.intakeId', + intakeNum VARCHAR(100) PATH '$.intakeNum', + intakeLng DOUBLE PATH '$.intakeLng', + intakeLat DOUBLE PATH '$.intakeLat' + ) + ) inta + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 26 + ) as tb26 on tb26.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 27 + ) as tb27 on tb27.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 28 + ) as tb28 on tb28.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 29 + ) as tb29 on tb29.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 30 + ) as tb30 on tb30.intakeId = inta.intakeId + LEFT JOIN ( + SELECT tb.intakeId AS intakeId, + tb.amount AS amount + FROM intakeAmountDay AS tb + WHERE YEAR(tb.dt) = #{year} + AND MONTH(tb.dt) = #{month} + AND DAY(tb.dt) = 31 + ) as tb31 on tb31.intakeId = inta.intakeId + </select> + + </mapper> \ No newline at end of file -- Gitblit v1.8.0