LinkCollectPRIO.xml 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="mapper.utic.collect.PRIO">
  4. <!-- 우선순위가 높은 순서로 처리해야 함 팻치 순서에 따라 먼저 처리됨 -->
  5. <select id="findLinkCollectPRIO" resultType="com.utic.ptis.server.dto.LinkCollectDto" parameterType="com.utic.ptis.server.dto.LinkCollectParam" fetchSize="1500">
  6. SELECT LINKID AS linkId,
  7. CRTPRIORITY AS crtPriority,
  8. MISSVALUEYN AS missValueYn,
  9. DATARESTYPE AS dataResType,
  10. CENTERID AS centerId,
  11. SPEED AS speed
  12. FROM (SELECT A.LINKID AS LINKID,
  13. (B.PRIORITY*3)-2 AS CRTPRIORITY,
  14. 'R' AS MISSVALUEYN,
  15. DECODE(A.CENTERID, 'L90', DECODE(B.PRIORITY, 3, 'G'), 'P') AS DATARESTYPE,
  16. A.CENTERID AS CENTERID,
  17. A.SPEED AS SPEED
  18. FROM TRAFFIC_LOC A, LOCAL_MATCH B, LINK C
  19. WHERE A.LINKID = B.LINKID
  20. AND C.LINKID = B.LINKID
  21. AND C.LINKID = A.LINKID
  22. AND C.LINKLEVEL = '1'
  23. AND A.CENTERID = B.CENTERID
  24. AND B.CENTERID BETWEEN 'L01' AND 'L99'
  25. AND A.LOGDATE > TO_DATE(#{ansTime}, 'YYYYMMDDHH24MISS') - 10/1440
  26. AND A.LOCALDATE > TO_DATE(#{ansTime}, 'YYYYMMDDHH24MISS') - 20/1440
  27. AND A.SPEED BETWEEN 1 AND 149
  28. UNION ALL
  29. SELECT A.LINKID AS LINKID,
  30. (B.PRIORITY*3)-0 AS CRTPRIORITY,
  31. 'R' AS MISSVALUEYN,
  32. 'S' AS DATARESTYPE,
  33. B.CENTERID AS CENTERID,
  34. A.SPEED AS SPEED
  35. FROM TRAFFIC_PTDBS A, LOCAL_MATCH B, LINK C
  36. WHERE A.LINKID = B.LINKID
  37. AND C.LINKID = B.LINKID
  38. AND C.LINKID = A.LINKID
  39. AND C.LINKLEVEL = '1'
  40. AND B.CENTERID = 'L00'
  41. AND A.LOGDATE > TO_DATE(#{ansTime}, 'YYYYMMDDHH24MISS') - 10/1440
  42. AND A.SPEED BETWEEN 1 AND 149
  43. )
  44. ORDER BY LINKID, CRTPRIORITY
  45. </select>
  46. </mapper>