MsgAlarmMapper.xml 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  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.ozs.service.mapper.MsgAlarmMapper">
  4. <resultMap id="AlarmStatisticVoResult" type="com.ozs.service.entity.vo.AlarmStatisticVo">
  5. <id column="id" property="id"/>
  6. <result column="alarm_id" property="alarmId"/>
  7. <result column="monthsta" property="monthsta"/>
  8. <result column="frequency" property="frequency"/>
  9. <result column="camera_code" property="cameraCode"/>
  10. <result column="alarm_time" property="alarmTime"/>
  11. <result column="alarm_mile" property="alarmMile"/>
  12. <result column="content" property="content"/>
  13. <result column="alarm_confidence" property="alarmConfidence"/>
  14. <result column="line_dir" property="lineDir"/>
  15. <result column="alarm_type" property="alarmType"/>
  16. <result column="alarm_attr" property="alarmAttr"/>
  17. <result column="image_url" property="imageUrl"/>
  18. <result column="released_by" property="releasedBy"/>
  19. <result column="released_time" property="releasedTime"/>
  20. <result column="is_lock" property="isLock"/>
  21. <association property="baseCameraManagement" javaType="com.ozs.service.entity.BaseCameraManagement">
  22. <id column="id" property="id"/>
  23. <result column="railway_code" property="railwayCode"/>
  24. <result column="channel" property="channel"/>
  25. <result column="install_mile" property="installMile"/>
  26. <result column="begin_mile" property="beginMile"/>
  27. <result column="end_mile" property="endMile"/>
  28. <result column="install_longitude" property="installLongitude"/>
  29. <result column="install_latitude" property="installLatitude"/>
  30. </association>
  31. </resultMap>
  32. <select id="list" resultMap="AlarmStatisticVoResult">
  33. SELECT
  34. a.alarm_id ,
  35. a.camera_code ,
  36. a.alarm_time ,
  37. a.alarm_mile ,
  38. a.content ,
  39. a.alarm_confidence,
  40. a.line_dir ,
  41. a.alarm_type ,
  42. a.alarm_attr ,
  43. a.image_url ,
  44. a.released_by ,
  45. a.released_time,
  46. a.is_lock ,
  47. b.railway_code AS railway_code,
  48. b.channel AS channel,
  49. b.install_mile AS install_mile,
  50. b.begin_mile AS begin_mile,
  51. b.end_mile AS end_mile,
  52. b.install_longitude AS install_longitude,
  53. b.install_latitude AS install_latitude
  54. FROM
  55. msg_alarm AS a left join
  56. base_camera_management AS b on a.camera_code=b.camera_code left join
  57. msg_web_push m on a.alarm_id = m.alarm_id
  58. <where>
  59. <if test="railwayCode != null and railwayCode != ''">
  60. and UPPER(b.railway_code) like UPPER(CONCAT('%',#{railwayCode},'%'))
  61. </if>
  62. <if test="startMonth != null and startMonth != 0">
  63. <![CDATA[and MONTH(a.alarm_time) >=#{startMonth}]]>
  64. </if>
  65. <if test="endMonth != null and endMonth != 0">
  66. <![CDATA[and MONTH(a.alarm_time) <=#{endMonth}]]>
  67. </if>
  68. <if test="alarmType != null and alarmType != ''">
  69. and UPPER(a.alarm_type) like UPPER(CONCAT('%',#{alarmType},'%'))
  70. </if>
  71. <if test="userId != null and userId != ''">
  72. and UPPER(m.receive_by) like UPPER(CONCAT('%',#{userId},'%'))
  73. </if>
  74. and YEAR(a.alarm_time) = YEAR(SYSDATE())
  75. </where>
  76. group by a.alarm_id
  77. </select>
  78. <select id="listMonth" resultMap="AlarmStatisticVoResult">
  79. SELECT
  80. a.alarm_id ,
  81. MONTH(a.alarm_time) as monthsta,
  82. count(DISTINCT a.alarm_id) as frequency,
  83. a.camera_code ,
  84. a.alarm_time ,
  85. a.alarm_mile ,
  86. a.content ,
  87. a.alarm_confidence,
  88. a.line_dir ,
  89. a.alarm_type ,
  90. a.alarm_attr ,
  91. a.image_url ,
  92. a.released_by ,
  93. a.released_time,
  94. a.is_lock ,
  95. b.railway_code AS railway_code,
  96. b.channel AS channel,
  97. b.install_mile AS install_mile,
  98. b.begin_mile AS begin_mile,
  99. b.end_mile AS end_mile,
  100. b.install_longitude AS install_longitude,
  101. b.install_latitude AS install_latitude
  102. FROM
  103. msg_alarm AS a left join
  104. base_camera_management AS b on a.camera_code=b.camera_code left join
  105. msg_web_push m on a.alarm_id = m.alarm_id
  106. <where>
  107. <if test="railwayCode != null and railwayCode != ''">
  108. and UPPER(b.railway_code) like UPPER(CONCAT('%',#{railwayCode},'%'))
  109. </if>
  110. <if test="startMonth != null and startMonth != 0">
  111. <![CDATA[and MONTH(a.alarm_time) >=#{startMonth}]]>
  112. </if>
  113. <if test="endMonth != null and endMonth != 0">
  114. <![CDATA[and MONTH(a.alarm_time) <=#{endMonth}]]>
  115. </if>
  116. <if test="alarmType != null and alarmType != ''">
  117. and UPPER(a.alarm_type) like UPPER(CONCAT('%',#{alarmType},'%'))
  118. </if>
  119. <if test="userId != null and userId != ''">
  120. and UPPER(m.receive_by) like UPPER(CONCAT('%',#{userId},'%'))
  121. </if>
  122. and YEAR(a.alarm_time) = YEAR(SYSDATE())
  123. </where>
  124. group by a.alarm_id,MONTH(a.alarm_time)
  125. </select>
  126. <resultMap id="AlarmStatisticDtoResult" type="com.ozs.service.entity.vo.AlarmStatisticDto">
  127. <id column="id" property="id"/>
  128. <result column="alarmId" property="alarmId"/>
  129. <result column="railwayName" property="railwayName"/>
  130. <result column="alarmTime" property="alarmTime"/>
  131. <result column="lineDir" property="lineDir"/>
  132. <result column="lineDirValue" property="lineDirValue"/>
  133. <result column="alarmType" property="alarmType"/>
  134. <result column="alarmTypeValue" property="alarmTypeValue"/>
  135. <result column="alarmMile" property="alarmMile"/>
  136. <result column="beginMile" property="beginMile"/>
  137. <result column="endMile" property="endMile"/>
  138. </resultMap>
  139. <select id="listDto" resultMap="AlarmStatisticDtoResult">
  140. SELECT
  141. a.alarm_id AS alarmId,
  142. a.alarm_time AS alarmTime,
  143. a.alarm_mile AS alarmMile,
  144. a.line_dir AS lineDir,
  145. a.alarm_type AS alarmType,
  146. c.railway_name AS railwayName,
  147. b.begin_mile AS beginMile,
  148. b.end_mile AS endMile
  149. FROM
  150. msg_alarm AS a left join
  151. base_camera_management AS b on a.camera_code=b.camera_code left join
  152. msg_web_push m on a.alarm_id = m.alarm_id left join
  153. base_railway_management c on b.railway_code=c.railway_code
  154. <where>
  155. <if test="railwayCode != null and railwayCode != ''">
  156. and UPPER(b.railway_code) like UPPER(CONCAT('%',#{railwayCode},'%'))
  157. </if>
  158. <if test="startMonth != null and startMonth != 0">
  159. <![CDATA[and MONTH(a.alarm_time) >=#{startMonth}]]>
  160. </if>
  161. <if test="endMonth != null and endMonth != 0">
  162. <![CDATA[and MONTH(a.alarm_time) <=#{endMonth}]]>
  163. </if>
  164. <if test="alarmType != null and alarmType != ''">
  165. and UPPER(a.alarm_type) like UPPER(CONCAT('%',#{alarmType},'%'))
  166. </if>
  167. <if test="userId != null and userId != ''">
  168. and UPPER(m.receive_by) like UPPER(CONCAT('%',#{userId},'%'))
  169. </if>
  170. and YEAR(a.alarm_time) = YEAR(SYSDATE())
  171. </where>
  172. group by a.alarm_id
  173. </select>
  174. <resultMap id="AlarmStatisticMonthDtoResult" type="com.ozs.service.entity.vo.AlarmStatisticMonthDto">
  175. <id column="id" property="id"/>
  176. <result column="alarmId" property="alarmId"/>
  177. <result column="railwayName" property="railwayName"/>
  178. <result column="alarmType" property="alarmType"/>
  179. <result column="alarmTime" property="alarmTime"/>
  180. <result column="monthsta" property="monthsta"/>
  181. <result column="frequency" property="frequency"/>
  182. </resultMap>
  183. <select id="listDtoMonth" resultMap="AlarmStatisticMonthDtoResult">
  184. SELECT
  185. a.alarm_id AS alarmId,
  186. MONTH(a.alarm_time) as monthsta,
  187. count(DISTINCT a.alarm_id) as frequency,
  188. a.alarm_type AS alarmType,
  189. a.alarm_time AS alarmTime,
  190. c.railway_name AS railwayName
  191. FROM
  192. msg_alarm AS a left join
  193. base_camera_management AS b on a.camera_code=b.camera_code left join
  194. msg_web_push m on a.alarm_id = m.alarm_id left join
  195. base_railway_management c on b.railway_code=c.railway_code
  196. <where>
  197. <if test="railwayCode != null and railwayCode != ''">
  198. and UPPER(b.railway_code) like UPPER(CONCAT('%',#{railwayCode},'%'))
  199. </if>
  200. <if test="startMonth != null and startMonth != 0">
  201. <![CDATA[and MONTH(a.alarm_time) >=#{startMonth}]]>
  202. </if>
  203. <if test="endMonth != null and endMonth != 0">
  204. <![CDATA[and MONTH(a.alarm_time) <=#{endMonth}]]>
  205. </if>
  206. <if test="alarmType != null and alarmType != ''">
  207. and UPPER(a.alarm_type) like UPPER(CONCAT('%',#{alarmType},'%'))
  208. </if>
  209. <if test="userId != null and userId != ''">
  210. and UPPER(m.receive_by) like UPPER(CONCAT('%',#{userId},'%'))
  211. </if>
  212. and YEAR(a.alarm_time) = YEAR(SYSDATE())
  213. </where>
  214. group by a.alarm_id,MONTH(a.alarm_time)
  215. </select>
  216. <select id="selectCameraCode" parameterType="java.lang.String" resultType="java.util.Map">
  217. select is_lock isLock, max(alarm_time) from msg_alarm where camera_code = #{cameraCode}
  218. </select>
  219. <select id="selectByCameraCode" parameterType="java.lang.String" resultType="com.ozs.service.entity.MsgAlarm">
  220. select *, max(alarm_time) from msg_alarm where camera_code = #{cameraCode}
  221. </select>
  222. </mapper>