AlarmMsgMapper.xml 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.zhili.dashboard.mapper.AlarmMsgMapper">
  6. <resultMap type="com.zhili.dashboard.entity.AlarmMsg" id="HzCarModel">
  7. <result property="faultLevel" column="fault_level"/>
  8. <result property="quantity" column="quantity"/>
  9. </resultMap>
  10. <resultMap type="com.zhili.dashboard.entity.AlarmMsg" id="CommonModel">
  11. <result property="item" column="item"/>
  12. <result property="quantity" column="quantity"/>
  13. </resultMap>
  14. <select id="getAlarmLevelPie" resultMap="HzCarModel">
  15. SELECT fault_level, count(1) as quantity
  16. from t_alarm_msg
  17. WHERE is_delete = 0
  18. AND fault_status = 0
  19. <if test="dateStr != null and dateStr!=''">
  20. and fault_time &gt; #{dateStr}
  21. </if>
  22. AND fault_level in (1,2,3,4,5)
  23. GROUP BY fault_level
  24. </select>
  25. <select id="getAlarmHistoryDay" resultType="Map">
  26. SELECT
  27. TIMESTAMPDIFF( HOUR, am.fault_time, NOW() ) AS num,
  28. count(1) as quantity
  29. FROM
  30. t_alarm_msg am
  31. WHERE am.is_delete = 0
  32. <if test="dateStr != null and dateStr!=''">
  33. AND am.fault_time &gt; #{dateStr}
  34. </if>
  35. and am.fault_time &lt;= now()
  36. group by num
  37. </select>
  38. <select id="getAlarmHistoryDayOverRate" resultType="Map">
  39. SELECT
  40. TIMESTAMPDIFF( HOUR, am.fault_time, NOW() ) AS num,
  41. count(1) as quantity
  42. FROM
  43. t_alarm_msg am
  44. WHERE am.is_delete = 0 and am.fault_status=1
  45. <if test="dateStr != null and dateStr!=''">
  46. AND am.fault_time &gt; #{dateStr}
  47. </if>
  48. and am.fault_time &lt;= now()
  49. group by num
  50. </select>
  51. <select id="getAlarmHistoryMonth" resultType="Map">
  52. SELECT
  53. date_format(fault_time,'%Y-%m-%d') as item,
  54. count(1) as quantity
  55. FROM
  56. t_alarm_msg am
  57. WHERE am.is_delete = 0
  58. <if test="dateStr != null and dateStr!=''">
  59. AND am.fault_time &gt; #{dateStr}
  60. </if>
  61. and am.fault_time &lt;= now()
  62. group by item
  63. </select>
  64. <select id="getAlarmHistoryOveMonthRate" resultType="Map">
  65. SELECT
  66. date_format(fault_time,'%Y-%m-%d') as item,
  67. count(1) as quantity
  68. FROM
  69. t_alarm_msg am
  70. WHERE am.is_delete = 0 and fault_status=1
  71. <if test="dateStr != null and dateStr!=''">
  72. AND am.fault_time &gt; #{dateStr}
  73. </if>
  74. and am.fault_time &lt;= now()
  75. group by item
  76. </select>
  77. <select id="getDeviceStatusGroup" resultType="Map">
  78. SELECT count(1)
  79. FROM t_alarm_msg t
  80. WHERE t.is_delete = 0
  81. AND t.fault_status = 0
  82. </select>
  83. <select id="getOnLine" resultType="Map">
  84. SELECT count(1) as quantity,
  85. t.online_flag as item
  86. FROM t_device t
  87. WHERE t.is_delete = 0
  88. group by item
  89. </select>
  90. <select id="getDeviceStatusList" resultType="Map">
  91. SELECT count(1) as quantity,
  92. TIMESTAMPDIFF( HOUR, t.update_time, NOW() ) AS num,
  93. t.status as item
  94. FROM t_device t
  95. WHERE t.is_delete = 0
  96. <if test="dateStr != null and dateStr!=''">
  97. AND t.update_time &gt; #{dateStr}
  98. </if>
  99. group by item,num
  100. </select>
  101. <select id="getDistrictFaultOrder" resultType="Map">
  102. SELECT count(e.id) AS quantity,
  103. e.province AS item
  104. FROM (
  105. SELECT b.id,
  106. a.province
  107. FROM (SELECT sn, id FROM t_alarm_msg t WHERE is_delete = 0 AND t.fault_status = 0) b
  108. INNER JOIN (SELECT sn, province FROM t_device d WHERE is_delete=0 and province is not null
  109. <if test="province != null and province!=''">
  110. AND d.province = #{province}
  111. </if>
  112. ) a ON b.sn = a.sn
  113. ) e
  114. GROUP BY item
  115. order by quantity desc
  116. </select>
  117. <select id="getDistrictDeviceOrder" resultType="Map">
  118. SELECT count(1) AS quantity,
  119. province AS item
  120. FROM t_device
  121. WHERE is_delete = 0 and province is not null
  122. <if test="province != null and province!=''">
  123. AND province = #{province}
  124. </if>
  125. GROUP BY item
  126. order by quantity desc
  127. </select>
  128. <select id="getDistrictDeviceOrderSix" resultType="Map">
  129. SELECT count(1) AS quantity,
  130. province AS item
  131. FROM t_device
  132. WHERE is_delete = 0
  133. <if test="province != null and province!=''">
  134. AND province = #{province}
  135. </if>
  136. GROUP BY item
  137. order by quantity desc limit 6
  138. </select>
  139. <select id="getSceneFaultGroup" resultType="Map">
  140. SELECT count(1) AS quantity,
  141. d.scene AS item
  142. FROM t_alarm_msg t
  143. left join t_device d on t.sn = d.sn
  144. WHERE t.is_delete = 0
  145. AND t.fault_status = 0 and d.scene is not null
  146. <if test="province != null and province!=''">
  147. AND d.province = #{province}
  148. </if>
  149. GROUP BY item
  150. </select>
  151. <select id="getSceneDeviceGroup" resultType="Map">
  152. SELECT count(1) AS quantity,
  153. scene AS item
  154. FROM t_device
  155. WHERE is_delete = 0 and scene is not null
  156. <if test="province != null and province!=''">
  157. AND province = #{province}
  158. </if>
  159. GROUP BY item
  160. </select>
  161. <select id="getInterval" resultType="Long">
  162. SELECT TIMESTAMPDIFF(DAY , max(fault_time), NOW()) AS num
  163. FROM t_alarm_msg
  164. where fault_level = 5
  165. and is_delete = 0 limit 1
  166. </select>
  167. <select id="getCumulativeInfo" resultType="Map">
  168. SELECT data_info, info_json
  169. FROM t_statistics
  170. WHERE is_delete = 0
  171. ORDER BY id desc LIMIT 1
  172. </select>
  173. <select id="getDetail" resultType="Map">
  174. SELECT
  175. am.sn,d.organ_id,d.scene,am.fault_time,d.city,d.province,d.district,am.fault_advice,am.fault_info,am.update_by,o.fault_influence
  176. FROM t_alarm_msg am
  177. left join t_device d on am.sn=d.sn
  178. left join algo_list o on am.fault_code=o.fault_code
  179. WHERE am.is_delete = 0
  180. <if test="id != null">
  181. AND d.id = #{id}
  182. </if>
  183. </select>
  184. <!-- 电芯过压-C401 电芯过流-C305 内短路-C490-->
  185. <select id="getRadarItems" resultType="Map">
  186. SELECT count(1) as quantity,
  187. fault_code as item
  188. FROM t_alarm_msg
  189. WHERE is_delete = 0
  190. <if test="sn != null and sn != ''">
  191. AND sn = #{sn}
  192. </if>
  193. and fault_code in ('C490','C305','C401')
  194. group by item
  195. </select>
  196. <!-- and am.fault_time &gt;= DATE_ADD(now(), INTERVAL -1 DAY )-->
  197. <select id="getBatteryMap" resultType="Map">
  198. SELECT am.fault_level, d.longitude, d.latitude
  199. FROM t_device d
  200. INNER JOIN t_alarm_msg am on d.sn = am.sn
  201. WHERE d.is_delete = 0
  202. <if test="province != null and province != ''">
  203. and d.province = #{province}
  204. </if>
  205. and am.fault_status = 0
  206. </select>
  207. </mapper>