From 742b6bbac1b4609386817a6e6fb489ec098a5490 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 21 一月 2025 18:29:44 +0800
Subject: [PATCH] 重构获取分水房详情接口
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml | 166 +++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 130 insertions(+), 36 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml
index 7734065..10f472c 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml
@@ -275,10 +275,10 @@
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
@@ -286,9 +286,7 @@
</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
@@ -301,14 +299,17 @@
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,
@@ -317,33 +318,7 @@
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 (
@@ -354,7 +329,7 @@
)
) 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}
@@ -393,6 +368,30 @@
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
@@ -433,6 +432,29 @@
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
@@ -473,6 +495,29 @@
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
@@ -513,6 +558,29 @@
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
@@ -553,6 +621,30 @@
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
@@ -602,4 +694,6 @@
AND DAY(tb.dt) = 31
) as tb31 on tb31.intakeId = inta.intakeId
</select>
+
+
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0