ScSrvcStatisticsMapper.xml 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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.ScSrvcStatisticsMapper">
  4. <select id="findSrvc15M" parameterType="com.its.op.dto.its.scrs.ScSrvcParam" resultType="com.its.op.dto.its.scrs.ScSrvcDto">
  5. SELECT B.IXR_ID AS ixrId,
  6. B.IXR_NM AS ixrNm,
  7. A.CLCT_DT AS statDt,
  8. A.SRVC_LVL AS srvcLvl,
  9. A.DELY_HH AS delyHh,
  10. A.TFVL AS tfvl
  11. FROM TB_SC_IXR_STAT_15M A
  12. INNER JOIN TB_SC_IXR_MNGM B
  13. ON A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  14. AND A.IXR_ID = B.IXR_ID
  15. <if test="cond.ixrIds != null and cond.ixrIds.size > 0">
  16. AND B.IXR_ID IN
  17. <foreach collection="cond.ixrIds" item="ixrId" open="(" close=")" separator=" , ">
  18. #{ixrId}
  19. </foreach>
  20. </if>
  21. </select>
  22. <select id="findSrvcHH" parameterType="com.its.op.dto.its.scrs.ScSrvcParam" resultType="com.its.op.dto.its.scrs.ScSrvcDto">
  23. SELECT B.IXR_ID AS ixrId,
  24. B.IXR_NM AS ixrNm,
  25. A.CLCT_DT AS statDt,
  26. A.SRVC_LVL AS srvcLvl,
  27. A.DELY_HH AS delyHh,
  28. A.TFVL AS tfvl
  29. FROM TB_SC_IXR_STAT_HH A
  30. INNER JOIN TB_SC_IXR_MNGM B
  31. ON A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  32. AND A.IXR_ID = B.IXR_ID
  33. <if test="cond.ixrIds != null and cond.ixrIds.size > 0">
  34. AND B.IXR_ID IN
  35. <foreach collection="cond.ixrIds" item="ixrId" open="(" close=")" separator=" , ">
  36. #{ixrId}
  37. </foreach>
  38. </if>
  39. </select>
  40. <select id="findSrvcDD" parameterType="com.its.op.dto.its.scrs.ScSrvcParam" resultType="com.its.op.dto.its.scrs.ScSrvcDto">
  41. SELECT B.IXR_ID AS ixrId,
  42. B.IXR_NM AS ixrNm,
  43. A.CLCT_DT AS statDt,
  44. A.SRVC_LVL AS srvcLvl,
  45. A.DELY_HH AS delyHh,
  46. A.TFVL AS tfvl
  47. FROM TB_SC_IXR_STAT_DD A
  48. INNER JOIN TB_SC_IXR_MNGM B
  49. ON A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  50. AND A.IXR_ID = B.IXR_ID
  51. <if test="cond.ixrIds != null and cond.ixrIds.size > 0">
  52. AND B.IXR_ID IN
  53. <foreach collection="cond.ixrIds" item="ixrId" open="(" close=")" separator=" , ">
  54. #{ixrId}
  55. </foreach>
  56. </if>
  57. </select>
  58. <select id="findSrvcMN" parameterType="com.its.op.dto.its.scrs.ScSrvcParam" resultType="com.its.op.dto.its.scrs.ScSrvcDto">
  59. SELECT B.IXR_ID AS ixrId,
  60. B.IXR_NM AS ixrNm,
  61. A.CLCT_DT AS statDt,
  62. A.SRVC_LVL AS srvcLvl,
  63. A.DELY_HH AS delyHh,
  64. A.TFVL AS tfvl
  65. FROM TB_SC_IXR_STAT_MN A
  66. INNER JOIN TB_SC_IXR_MNGM B
  67. ON A.CLCT_DT BETWEEN #{cond.fromDt} AND #{cond.toDt}
  68. AND A.IXR_ID = B.IXR_ID
  69. <if test="cond.ixrIds != null and cond.ixrIds.size > 0">
  70. AND B.IXR_ID IN
  71. <foreach collection="cond.ixrIds" item="ixrId" open="(" close=")" separator=" , ">
  72. #{ixrId}
  73. </foreach>
  74. </if>
  75. </select>
  76. <select id="findSrvcPtrnCompare" parameterType="com.its.op.dto.its.scrs.ScSrvcPtrnParam" resultType="com.its.op.dto.its.scrs.ScSrvcPtrnDto">
  77. <![CDATA[
  78. SELECT IXR_ID AS ixrId,
  79. IXR_NM as ixrNm,
  80. STATHH AS statHh,
  81. SUM(SRVC_LVL) AS srvcLvl,
  82. SUM(DELY_HH) AS delyHh,
  83. SUM(TFVL) AS tfvl,
  84. SUM(COMP_SRVC_LVL) AS compSrvcLvl,
  85. SUM(COMP_DELY_HH) AS compDelyHh,
  86. SUM(COMP_TFVL) AS compTfvl
  87. FROM (
  88. SELECT Y.IXR_ID, Y.IXR_NM, Y.STATHH, X.SRVC_LVL, X.DELY_HH, X.TFVL, 0 AS COMP_SRVC_LVL, 0 AS COMP_DELY_HH, 0 AS COMP_TFVL
  89. FROM
  90. (SELECT IXR_ID, SUBSTR(CLCT_DT, 9, 2) AS STATHH,
  91. SRVC_LVL, DELY_HH, TFVL
  92. FROM TB_SC_IXR_STAT_DD
  93. WHERE CLCT_DT BETWEEN #{cond.baseDay} || '000000' AND #{cond.baseDay} || '235959'
  94. ) X,
  95. (SELECT A.IXR_ID, A.IXR_NM, B.STATHH
  96. FROM TB_SC_IXR_MNGM A,
  97. (SELECT HHMM AS statHh
  98. FROM (SELECT TO_CHAR(TRUNC(SYSDATE)+((LEVEL-1)*60)/1440, 'HH24') AS HHMM, LEVEL AS MINIDX
  99. FROM DUAL
  100. CONNECT BY LEVEL <= 24)
  101. WHERE HHMM >= '00'
  102. ) B
  103. WHERE A.IXR_ID = #{cond.ixrId}
  104. ) Y
  105. WHERE Y.IXR_ID = X.IXR_ID(+)
  106. AND Y.STATHH = X.STATHH(+)
  107. UNION ALL
  108. SELECT Y.IXR_ID, Y.IXR_NM, Y.STATHH, 0 AS SRVC_LVL, 0 AS DELY_HH, 0 AS TFVL, X.SRVC_LVL AS COMP_SRVC_LVL, X.DELY_HH AS COMP_DELY_HH, X.TFVL AS COMP_TFVL
  109. FROM
  110. (SELECT IXR_ID, SUBSTR(CLCT_DT, 9, 2) AS STATHH,
  111. SRVC_LVL, DELY_HH, TFVL
  112. FROM TB_SC_IXR_STAT_DD
  113. WHERE CLCT_DT BETWEEN #{cond.compDay} || '000000' AND #{cond.compDay} || '235959'
  114. ) X,
  115. (SELECT A.IXR_ID, A.IXR_NM, B.STATHH
  116. FROM TB_SC_IXR_MNGM A,
  117. (SELECT HHMM AS statHh
  118. FROM (SELECT TO_CHAR(TRUNC(SYSDATE)+((LEVEL-1)*60)/1440, 'HH24') AS HHMM, LEVEL AS MINIDX
  119. FROM DUAL
  120. CONNECT BY LEVEL <= 24)
  121. WHERE HHMM >= '00'
  122. ) B
  123. WHERE A.IXR_ID = #{cond.ixrId}
  124. ) Y
  125. WHERE Y.IXR_ID = X.IXR_ID(+)
  126. AND Y.STATHH = X.STATHH(+)
  127. )
  128. GROUP BY IXR_ID, IXR_NM, STATHH
  129. ]]>
  130. </select>
  131. </mapper>