MoctUticServerMapper.xml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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="com.utic.its.moct.utic.server.dao.mapper.MoctUticServerMapper">
  4. <select id="findMoctCenter" resultType="com.utic.its.common.entity.TbCenter" fetchSize="100">
  5. <![CDATA[
  6. SELECT SUBSTR(CENTERID, 1, 10) AS centerid,
  7. SUBSTR(CENTERINFO, 1, 20) AS centerInfo,
  8. IPADDRESS AS ipAddress,
  9. COMMPORT AS commPort,
  10. DATEXUSER AS datexUser,
  11. DATEXPASSWD AS datexPasswd,
  12. HEARTBEATCYCLE AS heartbeatCycle,
  13. RESTIME AS resTime,
  14. DATAGRAMSIZE AS datagramSize
  15. FROM CENTER_MOCT
  16. WHERE CENTERFLAG = 'M'
  17. AND EXEYN = 'Y'
  18. ORDER BY CENTERID
  19. ]]>
  20. </select>
  21. <select id="findAllLocalCenter" resultType="com.utic.its.common.entity.TbCenter" fetchSize="100">
  22. <![CDATA[
  23. SELECT SUBSTR(CENTERID, 1, 10) AS centerid,
  24. SUBSTR(CENTERINFO, 1, 20) AS centerInfo,
  25. TRIM(IPADDRESS) AS ipAddress,
  26. COMMPORT AS commPort,
  27. DATEXUSER AS datexUser,
  28. DATEXPASSWD AS datexPasswd,
  29. HEARTBEATCYCLE AS heartbeatCycle,
  30. RESTIME AS resTime,
  31. DATAGRAMSIZE AS datagramSize,
  32. TRIM(IPADDRESS2) AS ipAddress2
  33. FROM CENTER_MOCT
  34. WHERE CENTERFLAG = 'L'
  35. AND EXEYN = 'Y'
  36. AND MOCTYN = 'Y'
  37. ORDER BY CENTERID
  38. ]]>
  39. </select>
  40. <!-- CENTER_SEND@UTISDB, SYSDATE ==> logDate-->
  41. <insert id="insertCenterSend" parameterType="com.utic.its.common.entity.TbSndLog">
  42. <![CDATA[
  43. INSERT INTO UTIADMIN.CENTER_SEND(LOGDATE, CENTERID, INFOTYPE, DATACNT)
  44. VALUES(SYSDATE, #{obj.toCenterId}, #{obj.infoKind}, #{obj.dataCnt})
  45. ]]>
  46. </insert>
  47. <insert id="insertCenterSendInfo" parameterType="com.utic.its.common.entity.TbSndLog">
  48. <![CDATA[
  49. INSERT INTO UTIADMIN.CENTER_SEND_INFO(LOGDATE, CLUSTERID, CENTERID, INFOTYPE, DATACNT)
  50. VALUES(SYSDATE, #{obj.clusterId}, #{obj.toCenterId}, #{obj.infoKind}, #{obj.dataCnt})
  51. ]]>
  52. </insert>
  53. <select id="findCheckTrafficMoct" parameterType="java.lang.String" resultType="com.utic.its.common.entity.TbCheckTraffic">
  54. <!-- 민간정보를 입력하는 곳에서 5분단위로 수신한 정보건수를 CURLINKST_MOCT_PRIVATE_HIST 에 입력한다.
  55. 따라서 CURLINKST_MOCT_PRIVATE_HIST 테이블에 새로운 시각의 정보가 입력되면 CURLINKST_MOCT_PRIVATE_LOG 테이블에
  56. 새로운 교통정보 입력이 완료된것이고 이때 SYSDATE - 5/1440 조건으로 모든 데이터를 조회하면 된다.
  57. -->
  58. <![CDATA[
  59. SELECT LOGDATE AS regDate,
  60. DATACNT AS dataCnt
  61. FROM
  62. (
  63. SELECT MIN(TO_CHAR(LOGDATE,'YYYYMMDDHH24MISS')) AS LOGDATE,
  64. DATACNT AS DATACNT
  65. FROM CURLINKST_MOCT_PRIVATE_HIST@PTDBS
  66. WHERE LOGDATE > TO_DATE(#{baseTime}, 'YYYYMMDDHH24MISS')
  67. GROUP BY LOGDATE, DATACNT
  68. ORDER BY LOGDATE DESC
  69. )
  70. WHERE ROWNUM = 1
  71. ]]>
  72. </select>
  73. <select id="findAllTrafficMoct" resultType="com.utic.its.common.entity.TbTrafficCenter" fetchSize="1000">
  74. <!-- CURLINKST_MOCT_PRIVATE_HIST 에 5분 주기로 입력된 데이터 건수가 저장되고 이때 새로운 정보가 생성되면
  75. CURLINKST_MOCT_PRIVATE_LOG 테이블을 조회하면 된다. 조건(SYSDATE - 5/1440)으로 최근 5분간의 정보를 조회한다.
  76. TODO: 민간정보 데이터는 많은데 실재 링크정보의 레벨1과 맵핑되는 데이터는 많이 적다.
  77. -->
  78. <![CDATA[
  79. SELECT STD_LINK_ID AS linkId,
  80. NVL(SPEED, 0) AS speed,
  81. NVL(TRAVELTIME, 0) AS travelTime,
  82. 0 AS trafficGrade,
  83. 0 AS dataResType
  84. FROM CURLINKST_MOCT_PRIVATE_LOG@PTDBS
  85. WHERE REG_DATE > TO_CHAR(SYSDATE - 5/1440,'YYYYMMDDHH24MISS')
  86. ]]>
  87. </select>
  88. </mapper>