EnvWarningMapper.xml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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.huimv.admin.mapper.EnvWarningMapper">
  4. <select id="getCount" resultType="integer">
  5. select count(*) from `env_warning`
  6. ${ew.customSqlSegment}
  7. </select>
  8. <select id="getMonthCount" resultType="com.huimv.admin.entity.vo.WarningCountVo">
  9. select count(*) as 'value',update_time as 'date' from `env_warning`
  10. ${ew.customSqlSegment}
  11. GROUP BY DATE_FORMAT(update_time,"%y-%m-%d")
  12. </select>
  13. <select id="listWarning" resultType="com.huimv.admin.entity.vo.WarningVo">
  14. SELECT CONCAT(b.build_name,a.build_name) AS 'location',w.warning_content,w.update_time AS DATE
  15. FROM `base_pigpen` a INNER JOIN `base_pigpen` b ON a.parent_id =b.id AND b.parent_id != 0
  16. LEFT JOIN `env_warning` w ON w.unit_id = a.id
  17. WHERE w.farm_id = #{farmId}
  18. ORDER BY w.update_time DESC
  19. </select>
  20. <select id="listTop" resultType="com.huimv.admin.entity.vo.WarningTopVo">
  21. SELECT build_name as location,SUM(COUNT) as count
  22. FROM (
  23. SELECT c.id,c.build_name, SUM((SELECT COUNT(w.id) FROM env_warning w WHERE a.id=w.unit_id )) COUNT
  24. FROM base_pigpen a
  25. INNER JOIN base_pigpen b ON a.parent_id =b.id
  26. INNER JOIN base_pigpen c ON b.parent_id =c.id
  27. WHERE a.farm_id = #{farmId}
  28. GROUP BY c.build_name
  29. ) AS subquery
  30. GROUP BY id
  31. ORDER BY COUNT DESC
  32. LIMIT 8
  33. </select>
  34. </mapper>