From 9619e60e3075a432d692f3cd8b76787568c53aad Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 07 五月 2025 15:56:58 +0800
Subject: [PATCH] 1、完善代码;2、禁止输出SpringBoot启动时Banner。
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml | 699 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 699 insertions(+), 0 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
new file mode 100644
index 0000000..10f472c
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmLossDayMapper.xml
@@ -0,0 +1,699 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmLossDayMapper">
+ <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
+ <!--@mbg.generated-->
+ <!--@Table rm_loss_day-->
+ <id column="id" jdbcType="BIGINT" property="id" />
+ <result column="controller_id" jdbcType="BIGINT" property="controllerId" />
+ <result column="intake_id" jdbcType="BIGINT" property="intakeId" />
+ <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" />
+ <result column="dt" jdbcType="DATE" property="dt" />
+ <result column="dt_last" jdbcType="TIMESTAMP" property="dtLast" />
+ <result column="dt_rtu" jdbcType="TIMESTAMP" property="dtRtu" />
+ <result column="loss_amount" jdbcType="DOUBLE" property="lossAmount" />
+ </resultMap>
+ <sql id="Base_Column_List">
+ <!--@mbg.generated-->
+ id, controller_id, intake_id, rtu_addr, dt, dt_last, dt_rtu, loss_amount
+ </sql>
+ <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+ <!--@mbg.generated-->
+ select
+ <include refid="Base_Column_List" />
+ from rm_loss_day
+ where id = #{id,jdbcType=BIGINT}
+ </select>
+ <select id="selectByIntakeId" parameterType="java.lang.Long" resultMap="BaseResultMap">
+ <!--@mbg.generated-->
+ select
+ <include refid="Base_Column_List" />
+ from rm_loss_day
+ where intake_id = #{intakeId,jdbcType=BIGINT}
+ </select>
+
+ <select id="selectByDate" parameterType="java.util.Date" resultMap="BaseResultMap">
+ <!--@mbg.generated-->
+ select
+ <include refid="Base_Column_List" />
+ from rm_loss_day
+ where dt = #{dt,jdbcType=DATE}
+ </select>
+ <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+ <!--@mbg.generated-->
+ delete from rm_loss_day
+ where id = #{id,jdbcType=BIGINT}
+ </delete>
+ <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
+ <!--@mbg.generated-->
+ insert into rm_loss_day (id, controller_id, intake_id,
+ rtu_addr, dt, dt_last, dt_rtu, loss_amount
+ )
+ values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT},
+ #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=DATE}, #{dtLast,jdbcType=TIMESTAMP}, #{dtRtu,jdbcType=TIMESTAMP}, #{lossAmount,jdbcType=DOUBLE}
+ )
+ </insert>
+ <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
+ <!--@mbg.generated-->
+ insert into rm_loss_day
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="controllerId != null">
+ controller_id,
+ </if>
+ <if test="intakeId != null">
+ intake_id,
+ </if>
+ <if test="rtuAddr != null">
+ rtu_addr,
+ </if>
+ <if test="dt != null">
+ dt,
+ </if>
+ <if test="dtLast != null">
+ dt_last,
+ </if>
+ <if test="dtRtu != null">
+ dt_rtu,
+ </if>
+ <if test="lossAmount != null">
+ loss_amount,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ #{id,jdbcType=BIGINT},
+ </if>
+ <if test="controllerId != null">
+ #{controllerId,jdbcType=BIGINT},
+ </if>
+ <if test="intakeId != null">
+ #{intakeId,jdbcType=BIGINT},
+ </if>
+ <if test="rtuAddr != null">
+ #{rtuAddr,jdbcType=VARCHAR},
+ </if>
+ <if test="dt != null">
+ #{dt,jdbcType=DATE},
+ </if>
+ <if test="dtLast != null">
+ #{dtLast,jdbcType=TIMESTAMP},
+ </if>
+ <if test="dtRtu != null">
+ #{dtRtu,jdbcType=TIMESTAMP},
+ </if>
+ <if test="lossAmount != null">
+ #{lossAmount,jdbcType=DOUBLE},
+ </if>
+ </trim>
+ </insert>
+ <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
+ <!--@mbg.generated-->
+ update rm_loss_day
+ <set>
+ <if test="controllerId != null">
+ controller_id = #{controllerId,jdbcType=BIGINT},
+ </if>
+ <if test="intakeId != null">
+ intake_id = #{intakeId,jdbcType=BIGINT},
+ </if>
+ <if test="rtuAddr != null">
+ rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
+ </if>
+ <if test="dt != null">
+ dt = #{dt,jdbcType=DATE},
+ </if>
+ <if test="dtLast != null">
+ dt_last = #{dtLast,jdbcType=TIMESTAMP},
+ </if>
+ <if test="dtRtu != null">
+ dt_rtu = #{dtRtu,jdbcType=TIMESTAMP},
+ </if>
+ <if test="lossAmount != null">
+ loss_amount = #{lossAmount,jdbcType=DOUBLE},
+ </if>
+ </set>
+ where id = #{id,jdbcType=BIGINT}
+ </update>
+ <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmLossDay">
+ <!--@mbg.generated-->
+ update rm_loss_day
+ set controller_id = #{controllerId,jdbcType=BIGINT},
+ intake_id = #{intakeId,jdbcType=BIGINT},
+ rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
+ dt = #{dt,jdbcType=DATE},
+ dt_last = #{dtLast,jdbcType=TIMESTAMP},
+ dt_rtu = #{dtRtu,jdbcType=TIMESTAMP},
+ loss_amount = #{lossAmount,jdbcType=DOUBLE}
+ where id = #{id,jdbcType=BIGINT}
+ </update>
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍鎬绘暟-->
+ <select id="getRecordCount" resultType="java.lang.Long">
+ select count(*)
+ from rm_loss_day rld
+ Left join pr_intake pint on pint.id = rld.intake_id
+ <where>
+ <if test="intakeId != null and intakeId != '' ">
+ and rld.intake_id = #{intakeId}
+ </if>
+ <if test="intakeName != null and intakeName != '' ">
+ and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
+ </if>
+ <if test="lossAmountGreaterOrEqual != null ">
+ and rld.loss_amount >= #{lossAmountGreaterOrEqual,jdbcType=DOUBLE}
+ </if>
+ <if test="startDt != null">
+ and rld.dt >= #{startDt,jdbcType=DATE}
+ </if>
+ <if test="endDt != null">
+ and rld.dt <= #{endDt,jdbcType=DATE}
+ </if>
+ </where>
+ </select>
+ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璁板綍-->
+ <select id="getLossDayHistory" resultType="com.dy.pipIrrGlobal.voRm.VoLossDay">
+ select
+ CAST(rld.intake_id AS char)AS intakeId,
+ CAST(rld.controller_id AS char)AS controllerId,
+ pint.name as intakeName,
+ rld.rtu_addr as rtuAddr,
+ rld.dt as dt,
+ rld.dt_last as dtLast,
+ rld.dt_rtu as dtRtu,
+ rld.loss_amount as lossAmount
+ from rm_loss_day rld
+ Left join pr_intake pint on pint.id = rld.intake_id
+ <where>
+ <if test="intakeId != null and intakeId != '' ">
+ and rld.intake_id = #{intakeId}
+ </if>
+ <if test="intakeName != null and intakeName != '' ">
+ and pint.name like CONCAT('%',#{intakeName,jdbcType=VARCHAR},'%')
+ </if>
+ <if test="lossAmountGreaterOrEqual != null ">
+ and rld.loss_amount >= #{lossAmountGreaterOrEqual,jdbcType=DOUBLE}
+ </if>
+ <if test="startDt != null">
+ and rld.dt >= #{startDt,jdbcType=DATE}
+ </if>
+ <if test="endDt != null">
+ and rld.dt <= #{endDt,jdbcType=DATE}
+ </if>
+ </where>
+ ORDER BY rld.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>
+
+ <select id="statisticsByIntake" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeLossStatistics">
+ select intake_id, sum(loss_amount) amount
+ from rm_loss_day
+ 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>
\ No newline at end of file
--
Gitblit v1.8.0