IotBoardMapper.xml 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  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.xunmei.iot.mapper.IotBoardMapper">
  4. <select id="device" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">
  5. SELECT '主机设备' AS `name`,
  6. count(0) AS count,
  7. sum(dd.state IS NULL) AS unknown,
  8. sum(dd.state = 0) AS normal,
  9. sum(dd.state = 1) AS exception,
  10. sum(dd.state = 2) AS other1
  11. FROM iot_device d
  12. LEFT JOIN iot_device_detection dd ON d.equipment_code = dd.equipment_code
  13. WHERE deleted = 0
  14. and d.org_path like concat(#{orgPath}, '%')
  15. </select>
  16. <select id="subsystem" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">
  17. SELECT '报警控制器' AS `name`,
  18. count(0) AS count,
  19. sum(status = 0) AS exception,
  20. sum(status = 1) AS normal,
  21. sum(status = 2) AS unknown
  22. FROM iot_alarm_subsystem
  23. WHERE deleted = 0
  24. and org_path like concat(#{orgPath}, '%')
  25. </select>
  26. <select id="sensor" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">
  27. SELECT '传感器设备' AS `name`,
  28. count(0) AS count,
  29. sum(state = 0) AS normal,
  30. sum(state = 1) AS exception,
  31. sum(state is null) AS unknown
  32. FROM iot_sensor
  33. WHERE deleted = 0
  34. and org_path like concat(#{orgPath}, '%')
  35. </select>
  36. <select id="videoInterity" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">
  37. SELECT '(昨日)录像完整性' AS `name`,
  38. count(0) AS count,
  39. sum(vic.status = 0) AS normal,
  40. sum(vic.status = 1) AS other1,
  41. sum(vic.status = 2) AS exception,
  42. sum(vic.status is null) AS unknown
  43. FROM iot_dvr_channel dc
  44. LEFT JOIN mediator_video_integrity_check vic
  45. on dc.host_code = vic.equipment_code and dc.channel_code = vic.channel_code
  46. WHERE dc.deleted = 0
  47. and dc.org_path like concat(#{orgPath}, '%')
  48. </select>
  49. <select id="videoDays" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">
  50. SELECT '录像存储天数' AS `name`,
  51. count(0) AS count,
  52. sum(vdc.status = 0) AS normal,
  53. sum(vdc.status = 1) AS exception,
  54. sum(vdc.status is null) AS unknown
  55. FROM iot_dvr_channel dc
  56. LEFT JOIN mediator_video_days_check vdc
  57. on dc.host_code = vdc.equipment_code and dc.channel_code = vdc.channel_code
  58. WHERE dc.deleted = 0
  59. and dc.org_path like concat(#{orgPath}, '%')
  60. </select>
  61. <select id="videoQuality" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">
  62. SELECT '(当前)录像质量' AS `name`,
  63. count(0) AS count,
  64. sum(vdr.is_alarm = 0) AS normal,
  65. sum(vdr.is_alarm = 1) AS exception,
  66. sum(vdr.is_alarm is null) AS unknown
  67. FROM iot_dvr_channel dc
  68. LEFT JOIN mediator_video_diagnosis_record vdr
  69. on dc.host_code = vdr.equipment_code and dc.channel_code = vdr.channel_code
  70. WHERE dc.deleted = 0
  71. and dc.org_path like concat(#{orgPath}, '%')
  72. </select>
  73. <select id="dvrDisk" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">
  74. SELECT '录像机硬盘' AS `name`,
  75. count(0) AS count,
  76. sum(dd.other1) AS other1,
  77. sum(dd.normal) AS normal,
  78. sum(dd.exception) AS exception,
  79. sum(dd.unknown) AS unknown
  80. FROM iot_device d
  81. LEFT JOIN (SELECT count(0) AS other1,
  82. sum(state = 0) AS normal,
  83. sum(state = 1) AS exception,
  84. sum(state IS NULL) AS unknown,
  85. host_code
  86. FROM iot_dvr_disk
  87. WHERE deleted = 0
  88. and org_path like concat(#{orgPath}, '%')
  89. GROUP BY host_code) dd ON d.equipment_code = dd.host_code
  90. WHERE d.category_id = 1
  91. AND d.deleted = 0
  92. and d.org_path like concat(#{orgPath}, '%')
  93. </select>
  94. <select id="countDeviceNums" resultType="java.util.Map">
  95. select category_id as categoryId, CAST(COUNT(1) AS CHAR) as nums
  96. from iot_device d
  97. inner join sys_org o on o.id = d.org_id
  98. where d.deleted = 0
  99. and o.deleted = 0
  100. and org_path like concat(#{orgPath}, '%')
  101. group by category_id
  102. </select>
  103. <select id="countDeviceNums2" resultType="java.util.Map">
  104. select 'sensor' as categoryId, CAST(COUNT(1) AS CHAR) as nums
  105. from iot_sensor s
  106. inner join sys_org o on o.id = s.org_id
  107. where s.deleted = 0
  108. and o.deleted = 0
  109. and org_path like concat(#{orgPath}, '%')
  110. union all
  111. select 'channel' as categoryId, CAST(COUNT(1) AS CHAR) as nums
  112. from iot_dvr_channel c
  113. inner join sys_org o on o.id = c.org_id
  114. where c.deleted = 0
  115. and o.deleted = 0
  116. and org_path like concat(#{orgPath}, '%')
  117. union all
  118. select 'disk' as categoryId, CAST(COUNT(1) AS CHAR) as nums
  119. from iot_dvr_disk d
  120. inner join sys_org o on o.id = d.org_id
  121. where d.deleted = 0
  122. and o.deleted = 0
  123. and org_path like concat(#{orgPath}, '%')
  124. </select>
  125. <select id="countSensorNums" resultType="java.util.Map">
  126. select s.device_type as deviceType, CAST(COUNT(1) AS CHAR) as nums
  127. from iot_sensor s
  128. inner join sys_org o on o.id = s.org_id
  129. where o.deleted = 0
  130. and s.deleted = 0
  131. and org_path like concat(#{orgPath}, '%')
  132. group by s.device_type
  133. </select>
  134. <select id="selectVideoDaysStorage" resultType="java.util.Map">
  135. select CAST(c.plan_days AS CHAR) as planDays,CAST(sum(c.plan_days != c.real_days) AS CHAR) as nums
  136. from mediator_video_days_check c
  137. inner join sys_org o on o.id = c.org_id
  138. where o.deleted = 0
  139. and org_path like concat(#{orgPath}, '%')
  140. group by c.plan_days order by c.plan_days
  141. </select>
  142. <select id="selectVideoCheckSelf" resultType="com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckLog">
  143. select *
  144. from mediator_video_integrity_check_log c
  145. inner join sys_org o on o.id = c.org_id
  146. where o.deleted = 0
  147. and record_date >= #{startTime}
  148. and org_path like concat(#{orgPath}, '%')
  149. group by c.equipment_code, c.channel_code, record_date
  150. </select>
  151. </mapper>