gunshi-project-ss/src/main/resources/mapper/StPptnRDMapper.xml

34 lines
1.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?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.gunshi.project.xyt.mapper.StPptnRDMapper">
<select id="getStcdLastPptnDayData" resultType="com.gunshi.project.xyt.model.StPptnRD">
SELECT stb.stcd,
stb.adcd,
r.tm stm
FROM public.st_stbprp_b stb
LEFT JOIN (SELECT *
FROM (SELECT *, ROW_NUMBER() OVER ( PARTITION BY stcd ORDER BY tm DESC ) AS rn FROM public.st_pptn_r_d) subquery
WHERE subquery.rn = 1) r ON stb.stcd = r.stcd
WHERE stb.source = 'SK'
</select>
<select id="getMaxData" resultType="com.gunshi.project.xyt.model.StPptnRD">
SELECT #{stcd} stcd, COALESCE(max(tm), '2021-01-01 00:00:00') tm FROM st_pptn_r_d WHERE stcd = #{stcd}
</select>
<select id="reorganizePptnRDData" resultType="com.gunshi.project.xyt.model.StPptnRD">
select d.stcd, to_char(d.day_date, 'YYYY-MM-DD 00:00:00') tm, d.drp
from (SELECT stcd,
-- 计算分组键直接调整时间戳以8点为基准
DATE_TRUNC('day', tm - INTERVAL '8 hour' - INTERVAL '1 second') + INTERVAL '8 hour' AS day_date, sum (drp) AS drp
FROM
st_pptn_r
WHERE stcd = #{stcd} AND tm > #{maxData.tm}
GROUP BY
day_date, stcd
ORDER BY
day_date desc) d
</select>
</mapper>