ScTfvlStatisticsMapper.xml 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608
  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.its.op.dao.mapper.its.scrs.ScTfvlStatisticsMapper">
  4. <select id="findTfvl05M" parameterType="com.its.op.dto.its.scrs.ScTfvlParam" resultType="com.its.op.dto.its.scrs.ScTfvlDto" fetchSize="1000">
  5. SELECT B.IXR_ID AS ixrId,
  6. MIN(B.IXR_NM) AS ixrNm,
  7. B.CMRA_ID AS cmraId,
  8. MIN(B.ISTL_LCTN) AS istlLctn,
  9. MIN(B.DRCT_DVSN_CD) AS drctDvsnCd,
  10. MIN(B.DRCT_DVSN_NM) AS drctDvsnNm,
  11. A.CLCT_DT AS statDt,
  12. NVL(MIN(A.LANE), 0) AS lane,
  13. NVL(MIN(A.INTL_ATMP_HEAT_LNGT), 0) AS intlAtmpHeatLngt,
  14. NVL(ROUND(AVG(A.OCPY_RATE), 2), 0) AS ocpyRate,
  15. SUM(A.WALK_CNT) AS walkCnt,
  16. SUM(A.LRG_GO_TFVL) AS lrgGoTfvl,
  17. SUM(A.MDDL_GO_TFVL) AS mddlGoTfvl,
  18. SUM(A.SMAL_GO_TFVL) AS smalGoTfvl,
  19. SUM(A.LRG_LEFT_TFVL) AS lrgLeftTfvl,
  20. SUM(A.MDDL_LEFT_TFVL) AS mddlLeftTfvl,
  21. SUM(A.SMAL_LEFT_TFVL) AS smalLeftTfvl,
  22. SUM(A.LRG_RGHT_TFVL) AS lrgRghtTfvl,
  23. SUM(A.MDDL_RGHT_TFVL) AS mddlRghtTfvl,
  24. SUM(A.SMAL_RGHT_TFVL) AS smalRghtTfvl,
  25. SUM(A.UTURN_TFVL) AS uturnTfvl,
  26. NVL(ROUND(AVG(A.SPED), 0), 0) AS sped,
  27. SUM(A.BUS_DVRS_LANE_GO_TFVL) AS busDvrsLaneGoTfvl,
  28. SUM(A.BUS_DVRS_LANE_LEFT_TFVL) AS busDvrsLaneLeftTfvl,
  29. SUM(A.BIKE_GO_TFVL) AS bikeGoTfvl,
  30. SUM(A.BIKE_LEFT_TFVL) AS bikeLeftTfvl,
  31. SUM(A.BIKE_RGHT_TFVL) AS bikeRghtTfvl,
  32. SUM(A.UNCN_GO_TFVL) AS uncnGoTfvl,
  33. SUM(A.UNCN_LEFT_TFVL) AS uncnLeftTfvl,
  34. SUM(A.UNCN_RGHT_TFVL) AS uncnRghtTfvl
  35. FROM TB_SC_IMGN_DTCT_RAW_CLCT A,
  36. (SELECT A.IXR_ID, A.IXR_NM, B.CMRA_ID, B.ISTL_LCTN,
  37. B.DRCT_DVSN_CD, fn_codeName('DRCT', B.DRCT_DVSN_CD) AS DRCT_DVSN_NM
  38. FROM TB_SC_IXR_MNGM A
  39. INNER JOIN TB_SC_IXR_CMRA_MNGM B
  40. ON A.IXR_ID = #{cond.ixrId}
  41. AND A.IXR_ID = B.IXR_ID
  42. <if test="cond.cmraIds != null and cond.cmraIds.size > 0">
  43. AND B.CMRA_ID IN
  44. <foreach collection="cond.cmraIds" item="cmraId" open="(" close=")" separator=" , ">
  45. #{cmraId}
  46. </foreach>
  47. </if>
  48. ) B
  49. WHERE A.IXR_ID = B.IXR_ID
  50. AND A.CMRA_ID = B.CMRA_ID
  51. AND A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  52. GROUP BY B.IXR_ID, B.CMRA_ID, A.CLCT_DT
  53. </select>
  54. <select id="findTfvl15M" parameterType="com.its.op.dto.its.scrs.ScTfvlParam" resultType="com.its.op.dto.its.scrs.ScTfvlDto" fetchSize="1000">
  55. SELECT B.IXR_ID AS ixrId,
  56. MIN(B.IXR_NM) AS ixrNm,
  57. B.CMRA_ID AS cmraId,
  58. MIN(B.ISTL_LCTN) AS istlLctn,
  59. MIN(B.DRCT_DVSN_CD) AS drctDvsnCd,
  60. MIN(B.DRCT_DVSN_NM) AS drctDvsnNm,
  61. A.CLCT_DT AS statDt,
  62. 0 AS lane,
  63. NVL(MIN(A.INTL_ATMP_HEAT_LNGT), 0) AS intlAtmpHeatLngt,
  64. NVL(ROUND(AVG(A.OCPY_RATE), 2), 0) AS ocpyRate,
  65. SUM(A.WALK_CNT) AS walkCnt,
  66. SUM(A.LRG_GO_TFVL) AS lrgGoTfvl,
  67. SUM(A.MDDL_GO_TFVL) AS mddlGoTfvl,
  68. SUM(A.SMAL_GO_TFVL) AS smalGoTfvl,
  69. SUM(A.LRG_LEFT_TFVL) AS lrgLeftTfvl,
  70. SUM(A.MDDL_LEFT_TFVL) AS mddlLeftTfvl,
  71. SUM(A.SMAL_LEFT_TFVL) AS smalLeftTfvl,
  72. SUM(A.LRG_RGHT_TFVL) AS lrgRghtTfvl,
  73. SUM(A.MDDL_RGHT_TFVL) AS mddlRghtTfvl,
  74. SUM(A.SMAL_RGHT_TFVL) AS smalRghtTfvl,
  75. SUM(A.UTURN_TFVL) AS uturnTfvl,
  76. 0 AS sped,
  77. SUM(A.BUS_DVRS_LANE_GO_TFVL) AS busDvrsLaneGoTfvl,
  78. SUM(A.BUS_DVRS_LANE_LEFT_TFVL) AS busDvrsLaneLeftTfvl,
  79. 0 AS bikeGoTfvl,
  80. 0 AS bikeLeftTfvl,
  81. 0 AS bikeRghtTfvl
  82. FROM TB_SC_ACRD_STAT_15M A,
  83. (SELECT A.IXR_ID, A.IXR_NM, B.CMRA_ID, B.ISTL_LCTN,
  84. B.DRCT_DVSN_CD, fn_codeName('DRCT', B.DRCT_DVSN_CD) AS DRCT_DVSN_NM
  85. FROM TB_SC_IXR_MNGM A
  86. INNER JOIN TB_SC_IXR_CMRA_MNGM B
  87. ON A.IXR_ID = #{cond.ixrId}
  88. AND A.IXR_ID = B.IXR_ID
  89. <if test="cond.cmraIds != null and cond.cmraIds.size > 0">
  90. AND B.CMRA_ID IN
  91. <foreach collection="cond.cmraIds" item="cmraId" open="(" close=")" separator=" , ">
  92. #{cmraId}
  93. </foreach>
  94. </if>
  95. ) B
  96. WHERE A.IXR_ID = B.IXR_ID
  97. AND A.DRCT_DVSN_CD = B.DRCT_DVSN_CD
  98. AND A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  99. GROUP BY B.IXR_ID, B.CMRA_ID, A.CLCT_DT
  100. </select>
  101. <select id="findTfvl30M" parameterType="com.its.op.dto.its.scrs.ScTfvlParam" resultType="com.its.op.dto.its.scrs.ScTfvlDto" fetchSize="1000">
  102. SELECT B.IXR_ID AS ixrId,
  103. MIN(B.IXR_NM) AS ixrNm,
  104. B.CMRA_ID AS cmraId,
  105. MIN(B.ISTL_LCTN) AS istlLctn,
  106. MIN(B.DRCT_DVSN_CD) AS drctDvsnCd,
  107. MIN(B.DRCT_DVSN_NM) AS drctDvsnNm,
  108. A.CLCT_DT AS statDt,
  109. 0 AS lane,
  110. NVL(MIN(A.INTL_ATMP_HEAT_LNGT), 0) AS intlAtmpHeatLngt,
  111. NVL(ROUND(AVG(A.OCPY_RATE), 2), 0) AS ocpyRate,
  112. SUM(A.WALK_CNT) AS walkCnt,
  113. SUM(A.LRG_GO_TFVL) AS lrgGoTfvl,
  114. SUM(A.MDDL_GO_TFVL) AS mddlGoTfvl,
  115. SUM(A.SMAL_GO_TFVL) AS smalGoTfvl,
  116. SUM(A.LRG_LEFT_TFVL) AS lrgLeftTfvl,
  117. SUM(A.MDDL_LEFT_TFVL) AS mddlLeftTfvl,
  118. SUM(A.SMAL_LEFT_TFVL) AS smalLeftTfvl,
  119. SUM(A.LRG_RGHT_TFVL) AS lrgRghtTfvl,
  120. SUM(A.MDDL_RGHT_TFVL) AS mddlRghtTfvl,
  121. SUM(A.SMAL_RGHT_TFVL) AS smalRghtTfvl,
  122. SUM(A.UTURN_TFVL) AS uturnTfvl,
  123. 0 AS sped,
  124. SUM(A.BUS_DVRS_LANE_GO_TFVL) AS busDvrsLaneGoTfvl,
  125. SUM(A.BUS_DVRS_LANE_LEFT_TFVL) AS busDvrsLaneLeftTfvl,
  126. 0 AS bikeGoTfvl,
  127. 0 AS bikeLeftTfvl,
  128. 0 AS bikeRghtTfvl
  129. FROM TB_SC_ACRD_STAT_30M A,
  130. (SELECT A.IXR_ID, A.IXR_NM, B.CMRA_ID, B.ISTL_LCTN,
  131. B.DRCT_DVSN_CD, fn_codeName('DRCT', B.DRCT_DVSN_CD) AS DRCT_DVSN_NM
  132. FROM TB_SC_IXR_MNGM A
  133. INNER JOIN TB_SC_IXR_CMRA_MNGM B
  134. ON A.IXR_ID = #{cond.ixrId}
  135. AND A.IXR_ID = B.IXR_ID
  136. <if test="cond.cmraIds != null and cond.cmraIds.size > 0">
  137. AND B.CMRA_ID IN
  138. <foreach collection="cond.cmraIds" item="cmraId" open="(" close=")" separator=" , ">
  139. #{cmraId}
  140. </foreach>
  141. </if>
  142. ) B
  143. WHERE A.IXR_ID = B.IXR_ID
  144. AND A.DRCT_DVSN_CD = B.DRCT_DVSN_CD
  145. AND A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  146. GROUP BY B.IXR_ID, B.CMRA_ID, A.CLCT_DT
  147. </select>
  148. <select id="findTfvlHH" parameterType="com.its.op.dto.its.scrs.ScTfvlParam" resultType="com.its.op.dto.its.scrs.ScTfvlDto" fetchSize="1000">
  149. SELECT B.IXR_ID AS ixrId,
  150. MIN(B.IXR_NM) AS ixrNm,
  151. B.CMRA_ID AS cmraId,
  152. MIN(B.ISTL_LCTN) AS istlLctn,
  153. MIN(B.DRCT_DVSN_CD) AS drctDvsnCd,
  154. MIN(B.DRCT_DVSN_NM) AS drctDvsnNm,
  155. A.CLCT_DT AS statDt,
  156. 0 AS lane,
  157. NVL(MIN(A.INTL_ATMP_HEAT_LNGT), 0) AS intlAtmpHeatLngt,
  158. NVL(ROUND(AVG(A.OCPY_RATE), 2), 0) AS ocpyRate,
  159. SUM(A.WALK_CNT) AS walkCnt,
  160. SUM(A.LRG_GO_TFVL) AS lrgGoTfvl,
  161. SUM(A.MDDL_GO_TFVL) AS mddlGoTfvl,
  162. SUM(A.SMAL_GO_TFVL) AS smalGoTfvl,
  163. SUM(A.LRG_LEFT_TFVL) AS lrgLeftTfvl,
  164. SUM(A.MDDL_LEFT_TFVL) AS mddlLeftTfvl,
  165. SUM(A.SMAL_LEFT_TFVL) AS smalLeftTfvl,
  166. SUM(A.LRG_RGHT_TFVL) AS lrgRghtTfvl,
  167. SUM(A.MDDL_RGHT_TFVL) AS mddlRghtTfvl,
  168. SUM(A.SMAL_RGHT_TFVL) AS smalRghtTfvl,
  169. SUM(A.UTURN_TFVL) AS uturnTfvl,
  170. 0 AS sped,
  171. SUM(A.BUS_DVRS_LANE_GO_TFVL) AS busDvrsLaneGoTfvl,
  172. SUM(A.BUS_DVRS_LANE_LEFT_TFVL) AS busDvrsLaneLeftTfvl,
  173. 0 AS bikeGoTfvl,
  174. 0 AS bikeLeftTfvl,
  175. 0 AS bikeRghtTfvl
  176. FROM TB_SC_ACRD_STAT_HH A,
  177. (SELECT A.IXR_ID, A.IXR_NM, B.CMRA_ID, B.ISTL_LCTN,
  178. B.DRCT_DVSN_CD, fn_codeName('DRCT', B.DRCT_DVSN_CD) AS DRCT_DVSN_NM
  179. FROM TB_SC_IXR_MNGM A
  180. INNER JOIN TB_SC_IXR_CMRA_MNGM B
  181. ON A.IXR_ID = #{cond.ixrId}
  182. AND A.IXR_ID = B.IXR_ID
  183. <if test="cond.cmraIds != null and cond.cmraIds.size > 0">
  184. AND B.CMRA_ID IN
  185. <foreach collection="cond.cmraIds" item="cmraId" open="(" close=")" separator=" , ">
  186. #{cmraId}
  187. </foreach>
  188. </if>
  189. ) B
  190. WHERE A.IXR_ID = B.IXR_ID
  191. AND A.DRCT_DVSN_CD = B.DRCT_DVSN_CD
  192. AND A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  193. GROUP BY B.IXR_ID, B.CMRA_ID, A.CLCT_DT
  194. </select>
  195. <select id="findTfvlDD" parameterType="com.its.op.dto.its.scrs.ScTfvlParam" resultType="com.its.op.dto.its.scrs.ScTfvlDto" fetchSize="1000">
  196. SELECT B.IXR_ID AS ixrId,
  197. MIN(B.IXR_NM) AS ixrNm,
  198. B.CMRA_ID AS cmraId,
  199. MIN(B.ISTL_LCTN) AS istlLctn,
  200. MIN(B.DRCT_DVSN_CD) AS drctDvsnCd,
  201. MIN(B.DRCT_DVSN_NM) AS drctDvsnNm,
  202. A.CLCT_DT AS statDt,
  203. 0 AS lane,
  204. NVL(MIN(A.INTL_ATMP_HEAT_LNGT), 0) AS intlAtmpHeatLngt,
  205. NVL(ROUND(AVG(A.OCPY_RATE), 2), 0) AS ocpyRate,
  206. SUM(A.WALK_CNT) AS walkCnt,
  207. SUM(A.LRG_GO_TFVL) AS lrgGoTfvl,
  208. SUM(A.MDDL_GO_TFVL) AS mddlGoTfvl,
  209. SUM(A.SMAL_GO_TFVL) AS smalGoTfvl,
  210. SUM(A.LRG_LEFT_TFVL) AS lrgLeftTfvl,
  211. SUM(A.MDDL_LEFT_TFVL) AS mddlLeftTfvl,
  212. SUM(A.SMAL_LEFT_TFVL) AS smalLeftTfvl,
  213. SUM(A.LRG_RGHT_TFVL) AS lrgRghtTfvl,
  214. SUM(A.MDDL_RGHT_TFVL) AS mddlRghtTfvl,
  215. SUM(A.SMAL_RGHT_TFVL) AS smalRghtTfvl,
  216. SUM(A.UTURN_TFVL) AS uturnTfvl,
  217. 0 AS sped,
  218. SUM(A.BUS_DVRS_LANE_GO_TFVL) AS busDvrsLaneGoTfvl,
  219. SUM(A.BUS_DVRS_LANE_LEFT_TFVL) AS busDvrsLaneLeftTfvl,
  220. 0 AS bikeGoTfvl,
  221. 0 AS bikeLeftTfvl,
  222. 0 AS bikeRghtTfvl
  223. FROM TB_SC_ACRD_STAT_DD A,
  224. (SELECT A.IXR_ID, A.IXR_NM, B.CMRA_ID, B.ISTL_LCTN,
  225. B.DRCT_DVSN_CD, fn_codeName('DRCT', B.DRCT_DVSN_CD) AS DRCT_DVSN_NM
  226. FROM TB_SC_IXR_MNGM A
  227. INNER JOIN TB_SC_IXR_CMRA_MNGM B
  228. ON A.IXR_ID = #{cond.ixrId}
  229. AND A.IXR_ID = B.IXR_ID
  230. <if test="cond.cmraIds != null and cond.cmraIds.size > 0">
  231. AND B.CMRA_ID IN
  232. <foreach collection="cond.cmraIds" item="cmraId" open="(" close=")" separator=" , ">
  233. #{cmraId}
  234. </foreach>
  235. </if>
  236. ) B
  237. WHERE A.IXR_ID = B.IXR_ID
  238. AND A.DRCT_DVSN_CD = B.DRCT_DVSN_CD
  239. AND A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  240. GROUP BY B.IXR_ID, B.CMRA_ID, A.CLCT_DT
  241. </select>
  242. <select id="findTfvlMN" parameterType="com.its.op.dto.its.scrs.ScTfvlParam" resultType="com.its.op.dto.its.scrs.ScTfvlDto" fetchSize="1000">
  243. SELECT B.IXR_ID AS ixrId,
  244. MIN(B.IXR_NM) AS ixrNm,
  245. B.CMRA_ID AS cmraId,
  246. MIN(B.ISTL_LCTN) AS istlLctn,
  247. MIN(B.DRCT_DVSN_CD) AS drctDvsnCd,
  248. MIN(B.DRCT_DVSN_NM) AS drctDvsnNm,
  249. A.CLCT_DT AS statDt,
  250. 0 AS lane,
  251. NVL(MIN(A.INTL_ATMP_HEAT_LNGT), 0) AS intlAtmpHeatLngt,
  252. NVL(ROUND(AVG(A.OCPY_RATE), 2), 0) AS ocpyRate,
  253. SUM(A.WALK_CNT) AS walkCnt,
  254. SUM(A.LRG_GO_TFVL) AS lrgGoTfvl,
  255. SUM(A.MDDL_GO_TFVL) AS mddlGoTfvl,
  256. SUM(A.SMAL_GO_TFVL) AS smalGoTfvl,
  257. SUM(A.LRG_LEFT_TFVL) AS lrgLeftTfvl,
  258. SUM(A.MDDL_LEFT_TFVL) AS mddlLeftTfvl,
  259. SUM(A.SMAL_LEFT_TFVL) AS smalLeftTfvl,
  260. SUM(A.LRG_RGHT_TFVL) AS lrgRghtTfvl,
  261. SUM(A.MDDL_RGHT_TFVL) AS mddlRghtTfvl,
  262. SUM(A.SMAL_RGHT_TFVL) AS smalRghtTfvl,
  263. SUM(A.UTURN_TFVL) AS uturnTfvl,
  264. 0 AS sped,
  265. SUM(A.BUS_DVRS_LANE_GO_TFVL) AS busDvrsLaneGoTfvl,
  266. SUM(A.BUS_DVRS_LANE_LEFT_TFVL) AS busDvrsLaneLeftTfvl,
  267. 0 AS bikeGoTfvl,
  268. 0 AS bikeLeftTfvl,
  269. 0 AS bikeRghtTfvl
  270. FROM TB_SC_ACRD_STAT_MN A,
  271. (SELECT A.IXR_ID, A.IXR_NM, B.CMRA_ID, B.ISTL_LCTN,
  272. B.DRCT_DVSN_CD, fn_codeName('DRCT', B.DRCT_DVSN_CD) AS DRCT_DVSN_NM
  273. FROM TB_SC_IXR_MNGM A
  274. INNER JOIN TB_SC_IXR_CMRA_MNGM B
  275. ON A.IXR_ID = #{cond.ixrId}
  276. AND A.IXR_ID = B.IXR_ID
  277. <if test="cond.cmraIds != null and cond.cmraIds.size > 0">
  278. AND B.CMRA_ID IN
  279. <foreach collection="cond.cmraIds" item="cmraId" open="(" close=")" separator=" , ">
  280. #{cmraId}
  281. </foreach>
  282. </if>
  283. ) B
  284. WHERE A.IXR_ID = B.IXR_ID
  285. AND A.DRCT_DVSN_CD = B.DRCT_DVSN_CD
  286. AND A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  287. GROUP BY B.IXR_ID, B.CMRA_ID, A.CLCT_DT
  288. </select>
  289. <select id="findTfvl05MLane" parameterType="com.its.op.dto.its.scrs.ScTfvlParam" resultType="com.its.op.dto.its.scrs.ScTfvlDto" fetchSize="1000">
  290. SELECT B.IXR_ID AS ixrId,
  291. B.IXR_NM AS ixrNm,
  292. B.CMRA_ID AS cmraId,
  293. B.ISTL_LCTN AS istlLctn,
  294. B.DRCT_DVSN_CD AS drctDvsnCd,
  295. B.DRCT_DVSN_NM AS drctDvsnNm,
  296. A.CLCT_DT AS statDt,
  297. A.LANE AS lane,
  298. A.INTL_ATMP_HEAT_LNGT AS intlAtmpHeatLngt,
  299. A.OCPY_RATE AS ocpyRate,
  300. A.WALK_CNT AS walkCnt,
  301. A.LRG_GO_TFVL AS lrgGoTfvl,
  302. A.MDDL_GO_TFVL AS mddlGoTfvl,
  303. A.SMAL_GO_TFVL AS smalGoTfvl,
  304. A.LRG_LEFT_TFVL AS lrgLeftTfvl,
  305. A.MDDL_LEFT_TFVL AS mddlLeftTfvl,
  306. A.SMAL_LEFT_TFVL AS smalLeftTfvl,
  307. A.LRG_RGHT_TFVL AS lrgRghtTfvl,
  308. A.MDDL_RGHT_TFVL AS mddlRghtTfvl,
  309. A.SMAL_RGHT_TFVL AS smalRghtTfvl,
  310. A.UTURN_TFVL AS uturnTfvl,
  311. A.SPED AS sped,
  312. A.BUS_DVRS_LANE_GO_TFVL AS busDvrsLaneGoTfvl,
  313. A.BUS_DVRS_LANE_LEFT_TFVL AS busDvrsLaneLeftTfvl,
  314. A.BIKE_GO_TFVL AS bikeGoTfvl,
  315. A.BIKE_LEFT_TFVL AS bikeLeftTfvl,
  316. A.BIKE_RGHT_TFVL AS bikeRghtTfvl,
  317. A.UNCN_GO_TFVL AS uncnGoTfvl,
  318. A.UNCN_LEFT_TFVL AS uncnLeftTfvl,
  319. A.UNCN_RGHT_TFVL AS uncnRghtTfvl
  320. FROM TB_SC_IMGN_DTCT_RAW_CLCT A,
  321. (SELECT A.IXR_ID, A.IXR_NM, B.CMRA_ID, B.ISTL_LCTN,
  322. B.DRCT_DVSN_CD, fn_codeName('DRCT', B.DRCT_DVSN_CD) AS DRCT_DVSN_NM
  323. FROM TB_SC_IXR_MNGM A
  324. INNER JOIN TB_SC_IXR_CMRA_MNGM B
  325. ON A.IXR_ID = #{cond.ixrId}
  326. AND A.IXR_ID = B.IXR_ID
  327. <if test="cond.cmraIds != null and cond.cmraIds.size > 0">
  328. AND B.CMRA_ID IN
  329. <foreach collection="cond.cmraIds" item="cmraId" open="(" close=")" separator=" , ">
  330. #{cmraId}
  331. </foreach>
  332. </if>
  333. ) B
  334. WHERE A.IXR_ID = B.IXR_ID
  335. AND A.CMRA_ID = B.CMRA_ID
  336. AND A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  337. <if test="cond.lanes != null and cond.lanes.size > 0">
  338. AND A.LANE IN
  339. <foreach collection="cond.lanes" item="lane" open="(" close=")" separator=" , ">
  340. #{lane}
  341. </foreach>
  342. </if>
  343. </select>
  344. <select id="findTfvl15MLane" parameterType="com.its.op.dto.its.scrs.ScTfvlParam" resultType="com.its.op.dto.its.scrs.ScTfvlDto" fetchSize="1000">
  345. SELECT B.IXR_ID AS ixrId,
  346. B.IXR_NM AS ixrNm,
  347. B.CMRA_ID AS cmraId,
  348. B.ISTL_LCTN AS istlLctn,
  349. B.DRCT_DVSN_CD AS drctDvsnCd,
  350. B.DRCT_DVSN_NM AS drctDvsnNm,
  351. A.CLCT_DT AS statDt,
  352. A.LANE AS lane,
  353. A.INTL_ATMP_HEAT_LNGT AS intlAtmpHeatLngt,
  354. A.OCPY_RATE AS ocpyRate,
  355. A.WALK_CNT AS walkCnt,
  356. A.LRG_GO_TFVL AS lrgGoTfvl,
  357. A.MDDL_GO_TFVL AS mddlGoTfvl,
  358. A.SMAL_GO_TFVL AS smalGoTfvl,
  359. A.LRG_LEFT_TFVL AS lrgLeftTfvl,
  360. A.MDDL_LEFT_TFVL AS mddlLeftTfvl,
  361. A.SMAL_LEFT_TFVL AS smalLeftTfvl,
  362. A.LRG_RGHT_TFVL AS lrgRghtTfvl,
  363. A.MDDL_RGHT_TFVL AS mddlRghtTfvl,
  364. A.SMAL_RGHT_TFVL AS smalRghtTfvl,
  365. A.UTURN_TFVL AS uturnTfvl,
  366. 0 AS sped,
  367. A.BUS_DVRS_LANE_GO_TFVL AS busDvrsLaneGoTfvl,
  368. A.BUS_DVRS_LANE_LEFT_TFVL AS busDvrsLaneLeftTfvl,
  369. 0 AS bikeGoTfvl,
  370. 0 AS bikeLeftTfvl,
  371. 0 AS bikeRghtTfvl
  372. FROM TB_SC_LANE_STAT_15M A,
  373. (SELECT A.IXR_ID, A.IXR_NM, B.CMRA_ID, B.ISTL_LCTN,
  374. B.DRCT_DVSN_CD, fn_codeName('DRCT', B.DRCT_DVSN_CD) AS DRCT_DVSN_NM
  375. FROM TB_SC_IXR_MNGM A
  376. INNER JOIN TB_SC_IXR_CMRA_MNGM B
  377. ON A.IXR_ID = #{cond.ixrId}
  378. AND A.IXR_ID = B.IXR_ID
  379. <if test="cond.cmraIds != null and cond.cmraIds.size > 0">
  380. AND B.CMRA_ID IN
  381. <foreach collection="cond.cmraIds" item="cmraId" open="(" close=")" separator=" , ">
  382. #{cmraId}
  383. </foreach>
  384. </if>
  385. ) B
  386. WHERE A.IXR_ID = B.IXR_ID
  387. AND A.CMRA_ID = B.CMRA_ID
  388. AND A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  389. </select>
  390. <select id="findTfvl30MLane" parameterType="com.its.op.dto.its.scrs.ScTfvlParam" resultType="com.its.op.dto.its.scrs.ScTfvlDto" fetchSize="1000">
  391. SELECT B.IXR_ID AS ixrId,
  392. B.IXR_NM AS ixrNm,
  393. B.CMRA_ID AS cmraId,
  394. B.ISTL_LCTN AS istlLctn,
  395. B.DRCT_DVSN_CD AS drctDvsnCd,
  396. B.DRCT_DVSN_NM AS drctDvsnNm,
  397. A.CLCT_DT AS statDt,
  398. A.LANE AS lane,
  399. A.INTL_ATMP_HEAT_LNGT AS intlAtmpHeatLngt,
  400. A.OCPY_RATE AS ocpyRate,
  401. A.WALK_CNT AS walkCnt,
  402. A.LRG_GO_TFVL AS lrgGoTfvl,
  403. A.MDDL_GO_TFVL AS mddlGoTfvl,
  404. A.SMAL_GO_TFVL AS smalGoTfvl,
  405. A.LRG_LEFT_TFVL AS lrgLeftTfvl,
  406. A.MDDL_LEFT_TFVL AS mddlLeftTfvl,
  407. A.SMAL_LEFT_TFVL AS smalLeftTfvl,
  408. A.LRG_RGHT_TFVL AS lrgRghtTfvl,
  409. A.MDDL_RGHT_TFVL AS mddlRghtTfvl,
  410. A.SMAL_RGHT_TFVL AS smalRghtTfvl,
  411. A.UTURN_TFVL AS uturnTfvl,
  412. 0 AS sped,
  413. A.BUS_DVRS_LANE_GO_TFVL AS busDvrsLaneGoTfvl,
  414. A.BUS_DVRS_LANE_LEFT_TFVL AS busDvrsLaneLeftTfvl,
  415. 0 AS bikeGoTfvl,
  416. 0 AS bikeLeftTfvl,
  417. 0 AS bikeRghtTfvl
  418. FROM TB_SC_LANE_STAT_30M A,
  419. (SELECT A.IXR_ID, A.IXR_NM, B.CMRA_ID, B.ISTL_LCTN,
  420. B.DRCT_DVSN_CD, fn_codeName('DRCT', B.DRCT_DVSN_CD) AS DRCT_DVSN_NM
  421. FROM TB_SC_IXR_MNGM A
  422. INNER JOIN TB_SC_IXR_CMRA_MNGM B
  423. ON A.IXR_ID = #{cond.ixrId}
  424. AND A.IXR_ID = B.IXR_ID
  425. <if test="cond.cmraIds != null and cond.cmraIds.size > 0">
  426. AND B.CMRA_ID IN
  427. <foreach collection="cond.cmraIds" item="cmraId" open="(" close=")" separator=" , ">
  428. #{cmraId}
  429. </foreach>
  430. </if>
  431. ) B
  432. WHERE A.IXR_ID = B.IXR_ID
  433. AND A.CMRA_ID = B.CMRA_ID
  434. AND A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  435. </select>
  436. <select id="findTfvlHHLane" parameterType="com.its.op.dto.its.scrs.ScTfvlParam" resultType="com.its.op.dto.its.scrs.ScTfvlDto" fetchSize="1000">
  437. SELECT B.IXR_ID AS ixrId,
  438. B.IXR_NM AS ixrNm,
  439. B.CMRA_ID AS cmraId,
  440. B.ISTL_LCTN AS istlLctn,
  441. B.DRCT_DVSN_CD AS drctDvsnCd,
  442. B.DRCT_DVSN_NM AS drctDvsnNm,
  443. A.CLCT_DT AS statDt,
  444. A.LANE AS lane,
  445. A.INTL_ATMP_HEAT_LNGT AS intlAtmpHeatLngt,
  446. A.OCPY_RATE AS ocpyRate,
  447. A.WALK_CNT AS walkCnt,
  448. A.LRG_GO_TFVL AS lrgGoTfvl,
  449. A.MDDL_GO_TFVL AS mddlGoTfvl,
  450. A.SMAL_GO_TFVL AS smalGoTfvl,
  451. A.LRG_LEFT_TFVL AS lrgLeftTfvl,
  452. A.MDDL_LEFT_TFVL AS mddlLeftTfvl,
  453. A.SMAL_LEFT_TFVL AS smalLeftTfvl,
  454. A.LRG_RGHT_TFVL AS lrgRghtTfvl,
  455. A.MDDL_RGHT_TFVL AS mddlRghtTfvl,
  456. A.SMAL_RGHT_TFVL AS smalRghtTfvl,
  457. A.UTURN_TFVL AS uturnTfvl,
  458. 0 AS sped,
  459. A.BUS_DVRS_LANE_GO_TFVL AS busDvrsLaneGoTfvl,
  460. A.BUS_DVRS_LANE_LEFT_TFVL AS busDvrsLaneLeftTfvl,
  461. 0 AS bikeGoTfvl,
  462. 0 AS bikeLeftTfvl,
  463. 0 AS bikeRghtTfvl
  464. FROM TB_SC_LANE_STAT_HH A,
  465. (SELECT A.IXR_ID, A.IXR_NM, B.CMRA_ID, B.ISTL_LCTN,
  466. B.DRCT_DVSN_CD, fn_codeName('DRCT', B.DRCT_DVSN_CD) AS DRCT_DVSN_NM
  467. FROM TB_SC_IXR_MNGM A
  468. INNER JOIN TB_SC_IXR_CMRA_MNGM B
  469. ON A.IXR_ID = #{cond.ixrId}
  470. AND A.IXR_ID = B.IXR_ID
  471. <if test="cond.cmraIds != null and cond.cmraIds.size > 0">
  472. AND B.CMRA_ID IN
  473. <foreach collection="cond.cmraIds" item="cmraId" open="(" close=")" separator=" , ">
  474. #{cmraId}
  475. </foreach>
  476. </if>
  477. ) B
  478. WHERE A.IXR_ID = B.IXR_ID
  479. AND A.CMRA_ID = B.CMRA_ID
  480. AND A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  481. </select>
  482. <select id="findTfvlDDLane" parameterType="com.its.op.dto.its.scrs.ScTfvlParam" resultType="com.its.op.dto.its.scrs.ScTfvlDto" fetchSize="1000">
  483. SELECT B.IXR_ID AS ixrId,
  484. B.IXR_NM AS ixrNm,
  485. B.CMRA_ID AS cmraId,
  486. B.ISTL_LCTN AS istlLctn,
  487. B.DRCT_DVSN_CD AS drctDvsnCd,
  488. B.DRCT_DVSN_NM AS drctDvsnNm,
  489. A.CLCT_DT AS statDt,
  490. A.LANE AS lane,
  491. A.INTL_ATMP_HEAT_LNGT AS intlAtmpHeatLngt,
  492. A.OCPY_RATE AS ocpyRate,
  493. A.WALK_CNT AS walkCnt,
  494. A.LRG_GO_TFVL AS lrgGoTfvl,
  495. A.MDDL_GO_TFVL AS mddlGoTfvl,
  496. A.SMAL_GO_TFVL AS smalGoTfvl,
  497. A.LRG_LEFT_TFVL AS lrgLeftTfvl,
  498. A.MDDL_LEFT_TFVL AS mddlLeftTfvl,
  499. A.SMAL_LEFT_TFVL AS smalLeftTfvl,
  500. A.LRG_RGHT_TFVL AS lrgRghtTfvl,
  501. A.MDDL_RGHT_TFVL AS mddlRghtTfvl,
  502. A.SMAL_RGHT_TFVL AS smalRghtTfvl,
  503. A.UTURN_TFVL AS uturnTfvl,
  504. 0 AS sped,
  505. A.BUS_DVRS_LANE_GO_TFVL AS busDvrsLaneGoTfvl,
  506. A.BUS_DVRS_LANE_LEFT_TFVL AS busDvrsLaneLeftTfvl,
  507. 0 AS bikeGoTfvl,
  508. 0 AS bikeLeftTfvl,
  509. 0 AS bikeRghtTfvl
  510. FROM TB_SC_LANE_STAT_DD A,
  511. (SELECT A.IXR_ID, A.IXR_NM, B.CMRA_ID, B.ISTL_LCTN,
  512. B.DRCT_DVSN_CD, fn_codeName('DRCT', B.DRCT_DVSN_CD) AS DRCT_DVSN_NM
  513. FROM TB_SC_IXR_MNGM A
  514. INNER JOIN TB_SC_IXR_CMRA_MNGM B
  515. ON A.IXR_ID = #{cond.ixrId}
  516. AND A.IXR_ID = B.IXR_ID
  517. <if test="cond.cmraIds != null and cond.cmraIds.size > 0">
  518. AND B.CMRA_ID IN
  519. <foreach collection="cond.cmraIds" item="cmraId" open="(" close=")" separator=" , ">
  520. #{cmraId}
  521. </foreach>
  522. </if>
  523. ) B
  524. WHERE A.IXR_ID = B.IXR_ID
  525. AND A.CMRA_ID = B.CMRA_ID
  526. AND A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  527. </select>
  528. <select id="findTfvlMNLane" parameterType="com.its.op.dto.its.scrs.ScTfvlParam" resultType="com.its.op.dto.its.scrs.ScTfvlDto" fetchSize="1000">
  529. SELECT B.IXR_ID AS ixrId,
  530. B.IXR_NM AS ixrNm,
  531. B.CMRA_ID AS cmraId,
  532. B.ISTL_LCTN AS istlLctn,
  533. B.DRCT_DVSN_CD AS drctDvsnCd,
  534. B.DRCT_DVSN_NM AS drctDvsnNm,
  535. A.CLCT_DT AS statDt,
  536. A.LANE AS lane,
  537. A.INTL_ATMP_HEAT_LNGT AS intlAtmpHeatLngt,
  538. A.OCPY_RATE AS ocpyRate,
  539. A.WALK_CNT AS walkCnt,
  540. A.LRG_GO_TFVL AS lrgGoTfvl,
  541. A.MDDL_GO_TFVL AS mddlGoTfvl,
  542. A.SMAL_GO_TFVL AS smalGoTfvl,
  543. A.LRG_LEFT_TFVL AS lrgLeftTfvl,
  544. A.MDDL_LEFT_TFVL AS mddlLeftTfvl,
  545. A.SMAL_LEFT_TFVL AS smalLeftTfvl,
  546. A.LRG_RGHT_TFVL AS lrgRghtTfvl,
  547. A.MDDL_RGHT_TFVL AS mddlRghtTfvl,
  548. A.SMAL_RGHT_TFVL AS smalRghtTfvl,
  549. A.UTURN_TFVL AS uturnTfvl,
  550. 0 AS sped,
  551. A.BUS_DVRS_LANE_GO_TFVL AS busDvrsLaneGoTfvl,
  552. A.BUS_DVRS_LANE_LEFT_TFVL AS busDvrsLaneLeftTfvl,
  553. 0 AS bikeGoTfvl,
  554. 0 AS bikeLeftTfvl,
  555. 0 AS bikeRghtTfvl
  556. FROM TB_SC_LANE_STAT_MN A,
  557. (SELECT A.IXR_ID, A.IXR_NM, B.CMRA_ID, B.ISTL_LCTN,
  558. B.DRCT_DVSN_CD, fn_codeName('DRCT', B.DRCT_DVSN_CD) AS DRCT_DVSN_NM
  559. FROM TB_SC_IXR_MNGM A
  560. INNER JOIN TB_SC_IXR_CMRA_MNGM B
  561. ON A.IXR_ID = #{cond.ixrId}
  562. AND A.IXR_ID = B.IXR_ID
  563. <if test="cond.cmraIds != null and cond.cmraIds.size > 0">
  564. AND B.CMRA_ID IN
  565. <foreach collection="cond.cmraIds" item="cmraId" open="(" close=")" separator=" , ">
  566. #{cmraId}
  567. </foreach>
  568. </if>
  569. ) B
  570. WHERE A.IXR_ID = B.IXR_ID
  571. AND A.CMRA_ID = B.CMRA_ID
  572. AND A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  573. </select>
  574. <select id="findIxtTfvlToday" resultType="com.its.op.dto.its.scrs.ScIxrCmraTfvlDto" fetchSize="1000">
  575. SELECT T.IXR_ID AS ixrId,
  576. T.CMRA_ID AS cmraId,
  577. SUM(NVL(LRG_GO_TFVL, 0) +
  578. NVL(MDDL_GO_TFVL, 0) +
  579. NVL(SMAL_GO_TFVL, 0) +
  580. NVL(LRG_LEFT_TFVL, 0) +
  581. NVL(MDDL_LEFT_TFVL, 0) +
  582. NVL(SMAL_LEFT_TFVL, 0) +
  583. NVL(LRG_RGHT_TFVL, 0) +
  584. NVL(MDDL_RGHT_TFVL, 0) +
  585. NVL(SMAL_RGHT_TFVL, 0) +
  586. NVL(BUS_DVRS_LANE_GO_TFVL, 0) +
  587. NVL(BUS_DVRS_LANE_LEFT_TFVL, 0) +
  588. NVL(UTURN_TFVL, 0)) AS tfvl
  589. FROM TB_SC_LANE_STAT_15M T
  590. WHERE T.CLCT_DT BETWEEN TO_CHAR(SYSDATE, 'YYYYMMDD') || '000000' AND TO_CHAR(SYSDATE, 'YYYYMMDD') || '235959'
  591. GROUP BY T.IXR_ID, T.CMRA_ID
  592. </select>
  593. </mapper>