12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?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="mapper.utic.collect.PRIO">
- <!-- 우선순위가 높은 순서로 처리해야 함 팻치 순서에 따라 먼저 처리됨 -->
- <select id="findLinkCollectPRIO" resultType="com.utic.ptis.server.dto.LinkCollectDto" parameterType="com.utic.ptis.server.dto.LinkCollectParam" fetchSize="1500">
- SELECT LINKID AS linkId,
- CRTPRIORITY AS crtPriority,
- MISSVALUEYN AS missValueYn,
- DATARESTYPE AS dataResType,
- CENTERID AS centerId,
- SPEED AS speed
- FROM (SELECT A.LINKID AS LINKID,
- (B.PRIORITY*3)-2 AS CRTPRIORITY,
- 'R' AS MISSVALUEYN,
- DECODE(A.CENTERID, 'L90', DECODE(B.PRIORITY, 3, 'G'), 'P') AS DATARESTYPE,
- A.CENTERID AS CENTERID,
- A.SPEED AS SPEED
- FROM TRAFFIC_LOC A, LOCAL_MATCH B, LINK C
- WHERE A.LINKID = B.LINKID
- AND C.LINKID = B.LINKID
- AND C.LINKID = A.LINKID
- AND C.LINKLEVEL = '1'
- AND A.CENTERID = B.CENTERID
- AND B.CENTERID BETWEEN 'L01' AND 'L99'
- AND A.LOGDATE > TO_DATE(#{ansTime}, 'YYYYMMDDHH24MISS') - 10/1440
- AND A.LOCALDATE > TO_DATE(#{ansTime}, 'YYYYMMDDHH24MISS') - 20/1440
- AND A.SPEED BETWEEN 1 AND 149
- UNION ALL
- SELECT A.LINKID AS LINKID,
- (B.PRIORITY*3)-0 AS CRTPRIORITY,
- 'R' AS MISSVALUEYN,
- 'S' AS DATARESTYPE,
- B.CENTERID AS CENTERID,
- A.SPEED AS SPEED
- FROM TRAFFIC_PTDBS A, LOCAL_MATCH B, LINK C
- WHERE A.LINKID = B.LINKID
- AND C.LINKID = B.LINKID
- AND C.LINKID = A.LINKID
- AND C.LINKLEVEL = '1'
- AND B.CENTERID = 'L00'
- AND A.LOGDATE > TO_DATE(#{ansTime}, 'YYYYMMDDHH24MISS') - 10/1440
- AND A.SPEED BETWEEN 1 AND 149
- )
- ORDER BY LINKID, CRTPRIORITY
- </select>
- </mapper>
|