main.xml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  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.tsi.sig.server.mapper.MainMapper">
  4. <select id="getNodeList" resultType="com.tsi.sig.server.vo.CvibNodeVO">
  5. SELECT nodeid as nodeid, name as name, FORMAT(latitude, 10) as lat, FORMAT(longitude, 9) as lng, addr1, addr2, addr3, addnode, ipaddr, nodetype, region_id as regionid
  6. FROM tb_tsc_node
  7. WHERE useyn = 'Y'
  8. AND nodeyn = 'Y'
  9. </select>
  10. <select id="getCvibNodeInfo" parameterType="java.util.HashMap" resultType="com.tsi.sig.server.vo.CvibNodeVO">
  11. SELECT nodeid, name, FORMAT(latitude, 10) as LAT, FORMAT(longitude, 9) as LNG, addr1, addr2, addr3, addnode, ipaddr, nodetype
  12. FROM tb_tsc_node
  13. WHERE useyn = 'Y'
  14. AND nodeyn = 'Y'
  15. <if test='nodeId != null'>
  16. AND nodeid = #{nodeId}
  17. </if>
  18. </select>
  19. <select id="getCvibMapNodeList" parameterType="java.util.HashMap" resultType="com.tsi.sig.server.vo.CvibNodeVO">
  20. SELECT nodeid, name, latitude AS lat, longitude AS lng , addr1, addr2, addr3, addnode, ipaddr
  21. FROM tb_tsc_node
  22. WHERE 1=1
  23. AND longitude BETWEEN #{minX} AND #{maxX}
  24. AND latitude BETWEEN #{minY} AND #{maxY}
  25. AND useyn = 'Y'
  26. AND nodeyn = 'Y'
  27. </select>
  28. <!-- 서비스 상태 코드(1:진행중-서비스 진행중,2:정상종료-모든 교차로 제어 및 해제 완료,3:취소-아직 통과하지 않은 교차로 존재,
  29. 4:센터강제종료-운영자가 서비스를 강제로 종료,5:비정상종료-서비스가 존재하지 않음,6:서비스시작실패-제어대상교차로가 없음,
  30. 8:비정상종료-앱서버에 에러 발생,9:비정상종료-일정시간 앱에서 위치 및 속도 정보가 오지 않는 경우,
  31. 10:자동종료-경로이탈,11:자동종료-경로진입 가능시간 초과,12:자동종료-정차가능시간 초과,13:취소-모든 교차로 제어및 해제 완료,
  32. 14:실패-서비스 제어 요청 실패,15:실패-서비스 가능 교차로가 존재하지 않음,16:자동종료-위치정보 수신 가능 시간 초과) -->
  33. <select id="getEvpServiceList" resultType="com.tsi.sig.server.vo.EvpServiceVo">
  34. SELECT SERVICE_ID,
  35. DATE_FORMAT(clct_dt, '%Y-%m-%d %h:%i:%s') CLCT_DT,
  36. EV_NO,
  37. CUR_LAT,
  38. CUR_LNG,
  39. SERVICE_NM,
  40. ARR_LAT,
  41. ARR_LNG,
  42. ARR_TM,
  43. VEH_LEN,
  44. OCR_NO,
  45. OCR_TYPE,
  46. SERVICE_DIST,
  47. STATUS_CD
  48. FROM tb_evp_service
  49. WHERE STATUS_CD = 1
  50. ORDER BY CLCT_DT
  51. </select>
  52. <select id="getEvpHistoryList" parameterType="java.util.HashMap" resultType="com.tsi.sig.server.vo.EvpServiceVo">
  53. SELECT SERVICE_ID,
  54. DATE_FORMAT(clct_dt, '%Y-%m-%d %h:%i:%s') CLCT_DT,
  55. EV_NO,
  56. CUR_LAT,
  57. CUR_LNG,
  58. SERVICE_NM,
  59. ARR_LAT,
  60. ARR_LNG,
  61. ARR_TM,
  62. VEH_LEN,
  63. OCR_NO,
  64. OCR_TYPE,
  65. SERVICE_DIST,
  66. STATUS_CD
  67. FROM tb_evp_service
  68. WHERE DATE_FORMAT(clct_dt, '%Y-%m-%d %h:%i:%s') BETWEEN #{start} AND #{end}
  69. <if test="!'ALL'.equals(region)">
  70. AND LEFT(service_id, 3) = #{region}
  71. </if>
  72. <if test="serviceId != null and !serviceId.equals('')">
  73. AND SERVICE_ID = #{serviceId}
  74. </if>
  75. ORDER BY CLCT_DT, SERVICE_ID
  76. </select>
  77. <select id="getEvpRouteList" parameterType="java.util.HashMap" resultType="com.tsi.sig.server.vo.EvpRouteVo">
  78. SELECT SERVICE_ID,
  79. SEQ_NO,
  80. LAT,
  81. LNG
  82. FROM tb_evp_route
  83. WHERE SERVICE_ID = #{serviceId}
  84. AND LAT BETWEEN 33.10000000 AND 38.45000000
  85. AND LNG BETWEEN 125.06666667 AND 131.87222222
  86. </select>
  87. <select id="getEvpPhaseList" parameterType="java.util.HashMap" resultType="com.tsi.sig.server.vo.EvpPhaseVo">
  88. SELECT SERVICE_ID,
  89. SEQ_NO,
  90. NODE_ID,
  91. RING,
  92. PHASE_NO,
  93. PLAN_CLASS,
  94. FLOW_NO,
  95. HEAD_LAT,
  96. HEAD_LNG,
  97. MID_LAT,
  98. MID_LNG,
  99. END_LAT,
  100. END_LNG,
  101. HEAD_ANGLE,
  102. END_ANGLE
  103. FROM TB_EVP_PHASE
  104. </select>
  105. <select id="getEvpSignalList" parameterType="java.util.HashMap" resultType="com.tsi.sig.server.vo.EvpSignalVo">
  106. SELECT
  107. A.seq_no,
  108. DATE_FORMAT(A.clct_dt, '%Y-%m-%d %h:%i:%s') clct_dt,
  109. A.service_id,
  110. A.node_id,
  111. D.node_nm,
  112. A.rem_dist,
  113. A.state,
  114. A.plan_class,
  115. A.a_ring_phase,
  116. A.b_ring_phase,
  117. A.hold_phase,
  118. D.lat,
  119. D.lng,
  120. B.flow_no a_flow_no,
  121. B.head_lat a_head_lat,
  122. B.head_lng a_head_lng,
  123. B.head_angle a_head_angle,
  124. B.mid_lat a_mid_lat,
  125. B.mid_lng a_mid_lng,
  126. B.end_lat a_end_lat,
  127. B.end_lng a_end_lng,
  128. B.end_angle a_end_angle,
  129. C.flow_no b_flow_no,
  130. C.head_lat b_head_lat,
  131. C.head_lng b_head_lng,
  132. C.head_angle b_head_angle,
  133. C.mid_lat b_mid_lat,
  134. C.mid_lng b_mid_lng,
  135. C.end_lat b_end_lat,
  136. C.end_lng b_end_lng,
  137. C.end_angle b_end_angle
  138. FROM (
  139. select
  140. seq_no,
  141. clct_dt,
  142. service_id,
  143. node_id,
  144. rem_dist,
  145. state,
  146. plan_class,
  147. if (state = 5, hold_phase, a_ring_phase) a_ring_phase,
  148. if (state = 5, hold_phase, b_ring_phase) b_ring_phase,
  149. hold_phase
  150. from tb_evp_signal
  151. ) A,
  152. (select
  153. *
  154. from tb_evp_phase
  155. where ring = 1
  156. and head_lat BETWEEN 33.10000000 AND 38.45000000
  157. and head_lng BETWEEN 125.06666667 AND 131.87222222
  158. and mid_lat BETWEEN 33.10000000 AND 38.45000000
  159. and mid_lng BETWEEN 125.06666667 AND 131.87222222
  160. and end_lat BETWEEN 33.10000000 AND 38.45000000
  161. and end_lng BETWEEN 125.06666667 AND 131.87222222
  162. ) B,
  163. (
  164. select
  165. *
  166. from tb_evp_phase
  167. where ring = 2
  168. and head_lat BETWEEN 33.10000000 AND 38.45000000
  169. and head_lng BETWEEN 125.06666667 AND 131.87222222
  170. and mid_lat BETWEEN 33.10000000 AND 38.45000000
  171. and mid_lng BETWEEN 125.06666667 AND 131.87222222
  172. and end_lat BETWEEN 33.10000000 AND 38.45000000
  173. and end_lng BETWEEN 125.06666667 AND 131.87222222
  174. ) C,
  175. tb_evp_node D
  176. where (1=1)
  177. and A.service_id = #{serviceId}
  178. and A.seq_no = B.seq_no
  179. and A.node_id = B.node_id
  180. and A.service_id = B.service_id
  181. and A.a_ring_phase = B.phase_no
  182. and A.plan_class = B.plan_class
  183. and A.node_id = C.node_id
  184. and A.service_id = C.service_id
  185. and A.b_ring_phase = C.phase_no
  186. and A.seq_no = C.seq_no
  187. and A.plan_class = C.plan_class
  188. and A.service_id = D.service_id
  189. and A.node_id = D.node_id
  190. and A.seq_no = D.seq_no
  191. ORDER BY clct_dt, A.seq_no;
  192. </select>
  193. <select id="getEvpSignalCurrList" parameterType="java.util.HashMap" resultType="com.tsi.sig.server.vo.EvpSignalVo">
  194. SELECT
  195. A.seq_no,
  196. DATE_FORMAT(A.clct_dt, '%Y-%m-%d %h:%i:%s') clct_dt,
  197. A.service_id,
  198. A.node_id,
  199. D.node_nm,
  200. A.rem_dist,
  201. A.state,
  202. A.plan_class,
  203. A.a_ring_phase,
  204. A.b_ring_phase,
  205. A.hold_phase,
  206. D.lat,
  207. D.lng,
  208. B.flow_no a_flow_no,
  209. B.head_lat a_head_lat,
  210. B.head_lng a_head_lng,
  211. B.head_angle a_head_angle,
  212. B.mid_lat a_mid_lat,
  213. B.mid_lng a_mid_lng,
  214. B.end_lat a_end_lat,
  215. B.end_lng a_end_lng,
  216. B.end_angle a_end_angle,
  217. C.flow_no b_flow_no,
  218. C.head_lat b_head_lat,
  219. C.head_lng b_head_lng,
  220. C.head_angle b_head_angle,
  221. C.mid_lat b_mid_lat,
  222. C.mid_lng b_mid_lng,
  223. C.end_lat b_end_lat,
  224. C.end_lng b_end_lng,
  225. C.end_angle b_end_angle
  226. FROM (
  227. select
  228. seq_no,
  229. clct_dt,
  230. service_id,
  231. node_id,
  232. rem_dist,
  233. state,
  234. plan_class,
  235. if (state = 5, hold_phase, a_ring_phase) a_ring_phase,
  236. if (state = 5, hold_phase, b_ring_phase) b_ring_phase,
  237. hold_phase
  238. from tb_evp_signal_curr
  239. ) A,
  240. (select
  241. *
  242. from tb_evp_phase
  243. where ring = 1
  244. and head_lat BETWEEN 33.10000000 AND 38.45000000
  245. and head_lng BETWEEN 125.06666667 AND 131.87222222
  246. and mid_lat BETWEEN 33.10000000 AND 38.45000000
  247. and mid_lng BETWEEN 125.06666667 AND 131.87222222
  248. and end_lat BETWEEN 33.10000000 AND 38.45000000
  249. and end_lng BETWEEN 125.06666667 AND 131.87222222
  250. ) B,
  251. (
  252. select
  253. *
  254. from tb_evp_phase
  255. where ring = 2
  256. and head_lat BETWEEN 33.10000000 AND 38.45000000
  257. and head_lng BETWEEN 125.06666667 AND 131.87222222
  258. and mid_lat BETWEEN 33.10000000 AND 38.45000000
  259. and mid_lng BETWEEN 125.06666667 AND 131.87222222
  260. and end_lat BETWEEN 33.10000000 AND 38.45000000
  261. and end_lng BETWEEN 125.06666667 AND 131.87222222
  262. ) C,
  263. tb_evp_node D
  264. where (1=1)
  265. and A.service_id = #{serviceId}
  266. and A.seq_no = B.seq_no
  267. and A.node_id = B.node_id
  268. and A.service_id = B.service_id
  269. and A.a_ring_phase = B.phase_no
  270. and A.plan_class = B.plan_class
  271. and A.node_id = C.node_id
  272. and A.service_id = C.service_id
  273. and A.b_ring_phase = C.phase_no
  274. and A.seq_no = C.seq_no
  275. and A.plan_class = C.plan_class
  276. and A.service_id = D.service_id
  277. and A.node_id = D.node_id
  278. and A.seq_no = D.seq_no
  279. ORDER BY clct_dt, A.seq_no;
  280. </select>
  281. <select id="getEvpEventList" parameterType="java.util.HashMap" resultType="com.tsi.sig.server.vo.EvpEventVo">
  282. SELECT
  283. DATE_FORMAT(clct_dt, '%Y-%m-%d %h:%i:%s') clct_dt,
  284. service_id,
  285. event_cd,
  286. IF(event_cd = 0, '서비스시작',
  287. IF(event_cd = 1, '차량위치',
  288. IF(event_cd = 2, '서비스종료', '정보없음'
  289. ))) AS event_desc,
  290. cur_lat,
  291. cur_lng,
  292. cur_spd,
  293. rem_dist
  294. FROM
  295. tb_evp_event
  296. WHERE service_id = #{serviceId}
  297. AND cur_lat BETWEEN 33.10000000 AND 38.45000000
  298. AND cur_lng BETWEEN 125.06666667 AND 131.87222222
  299. ORDER BY clct_dt
  300. </select>
  301. <select id="getEvpEventCurrList" parameterType="java.util.HashMap" resultType="com.tsi.sig.server.vo.EvpEventVo">
  302. SELECT
  303. DATE_FORMAT(clct_dt, '%Y-%m-%d %h:%i:%s') clct_dt,
  304. service_id,
  305. event_cd,
  306. IF(event_cd = 0, '서비스시작',
  307. IF(event_cd = 1, '차량위치',
  308. IF(event_cd = 2, '서비스종료', '정보없음'
  309. ))) AS event_desc,
  310. cur_lat,
  311. cur_lng,
  312. cur_spd,
  313. rem_dist
  314. FROM
  315. tb_evp_event_curr
  316. WHERE service_id = #{serviceId}
  317. AND cur_lat BETWEEN 33.10000000 AND 38.45000000
  318. AND cur_lng BETWEEN 125.06666667 AND 131.87222222
  319. ORDER BY clct_dt
  320. </select>
  321. <select id="getEvpCenterCode" resultType="com.tsi.sig.server.vo.EvpCenterVo">
  322. SELECT
  323. center_id,
  324. center_nm
  325. FROM tb_evp_center
  326. WHERE use_yn = 'Y'
  327. </select>
  328. </mapper>