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

56 lines
2.6 KiB
XML

<?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.StPptnRMapper">
<select id="getStcdLastPptnData" resultType="com.gunshi.project.xyt.model.StPptnR">
SELECT stb.stcd,
r.tm stm,
stb.source,
stb.sttp
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) subquery
WHERE subquery.rn = 1) r ON stb.stcd = r.stcd
WHERE stb.source in ('QX', 'SW', 'SH')
</select>
<select id="getStcdFirstPptnData" resultType="com.gunshi.project.xyt.model.StPptnR">
SELECT stb.stcd,
r.tm etm,
stb.source,
stb.sttp
FROM public.st_stbprp_b stb
LEFT JOIN (SELECT *
FROM (SELECT *, ROW_NUMBER() OVER ( PARTITION BY stcd ORDER BY tm ASC ) AS rn FROM public.st_pptn_r) subquery
WHERE subquery.rn = 1) r ON stb.stcd = r.stcd
WHERE stb.source in ('QX', 'SW', 'SH')
</select>
<select id="getPptnRDataList" resultType="java.util.Map">
SELECT to_char(tm_start, 'YYYY-MM-DD') tm,
drp
FROM (SELECT date_trunc('day', tm :: TIMESTAMP - INTERVAL '8 hours' - INTERVAL '1 second') + INTERVAL '8 hours' AS tm_start, SUM ( drp ) AS drp
FROM
st_pptn_r
WHERE
stcd = #{stcd}
AND tm >= #{tm}
GROUP BY
date_trunc( 'day', tm :: TIMESTAMP - INTERVAL '8 hours' - INTERVAL '1 second') + INTERVAL '8 hours'
ORDER BY
tm_start ASC) t
</select>
<select id="getPptnRDataListByTask" resultType="java.util.Map">
SELECT to_char(tm_start, 'YYYY-MM-DD') tm,
drp
FROM (SELECT date_trunc('day', tm :: TIMESTAMP - INTERVAL '8 hours' - INTERVAL '1 second') + INTERVAL '8 hours' AS tm_start, SUM ( drp ) AS drp
FROM
(SELECT tm, ROUND(AVG (drp), 1) drp FROM st_pptn_r WHERE tm >= #{tm} AND stcd IN (SELECT stcd FROM st_stbprp_b WHERE res_code = #{resCode}) GROUP BY tm) a
GROUP BY
date_trunc( 'day', tm :: TIMESTAMP - INTERVAL '8 hours' - INTERVAL '1 second') + INTERVAL '8 hours'
ORDER BY
tm_start ASC) T
</select>
</mapper>