72 lines
2.6 KiB
XML
72 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.pqs9000.mapper.responsibility.DataHarmonicDetailMapper">
|
|
|
|
<delete id="deleteData">
|
|
DELETE
|
|
FROM
|
|
DATA_HARMONIC_DETAIL
|
|
WHERE
|
|
TIME_ID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
|
</delete>
|
|
|
|
<insert id="insertData" parameterType="java.util.List" databaseId="Oracle">
|
|
insert into DATA_HARMONIC_DETAIL (
|
|
<foreach collection="list" item="item" index="index" separator="UNION ALL">
|
|
select #{item.timeId},#{item.lineId},#{item.targetType},#{item.maxData},#{item.limitData},#{item.diffData} from dual
|
|
</foreach>
|
|
)
|
|
</insert>
|
|
|
|
<select id="selectMaxData" resultType="com.pqs9000.pojo.data.DataHarmonicDetail">
|
|
SELECT
|
|
*
|
|
FROM
|
|
(
|
|
SELECT
|
|
t.*,
|
|
ROW_NUMBER() OVER (PARTITION BY t.LINE_ID,t.TARGET_TYPE,t.MAX_DATA
|
|
ORDER BY t.LINE_ID) AS rn
|
|
FROM
|
|
(
|
|
SELECT
|
|
A.LINE_ID ,
|
|
A.TARGET_TYPE ,
|
|
A.MAX_DATA ,
|
|
A.LIMIT_DATA ,
|
|
A.DIFF_DATA
|
|
FROM
|
|
DATA_HARMONIC_DETAIL A
|
|
RIGHT JOIN
|
|
(
|
|
SELECT
|
|
LINE_ID,
|
|
TARGET_TYPE,
|
|
MAX(MAX_DATA) maxData
|
|
FROM
|
|
DATA_HARMONIC_DETAIL
|
|
WHERE
|
|
TIME_ID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
|
GROUP BY
|
|
LINE_ID ,
|
|
TARGET_TYPE
|
|
)
|
|
B ON
|
|
A.LINE_ID = B.LINE_ID
|
|
AND A.TARGET_TYPE = B.TARGET_TYPE
|
|
AND A.MAX_DATA = B.maxData
|
|
<if test="list != null and list.size()>0">
|
|
<where>
|
|
B.LINE_ID IN
|
|
<foreach collection="list" open="(" close=")" separator="," item="item">
|
|
#{item}
|
|
</foreach>
|
|
</where>
|
|
</if>
|
|
) t
|
|
)
|
|
WHERE
|
|
rn = 1
|
|
</select>
|
|
|
|
</mapper> |