BaseRoomMapper.xml 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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.environ.eco.mapper.BaseRoomMapper">
  4. <update id="setS">
  5. SET sql_mode =
  6. "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
  7. </update>
  8. <select id="getAllRoomEnvironment" resultType="com.huimv.environ.eco.entity.dto.AllRoomEnvironment">
  9. SELECT br.room_name room,br.id room_id , tem.value temperature, hum.value humidity
  10. FROM
  11. `base_room` br
  12. LEFT JOIN (
  13. SELECT a.tem_id ,a.room_id , a.value `value` FROM `sys_temperature` a RIGHT JOIN
  14. (
  15. SELECT MAX(tem_id) AS tem_id, room_id , `value` FROM `sys_temperature`
  16. WHERE TO_DAYS(create_time) = TO_DAYS(NOW()) AND `value` &lt;= 50 AND `value` &gt;= -50
  17. GROUP BY room_id
  18. ) b
  19. ON a.tem_id= b.tem_id
  20. ) tem ON tem.room_id = br.id
  21. LEFT JOIN (
  22. SELECT a.hum_id ,a.room_id , a.value `value` FROM `sys_humidity` a RIGHT JOIN
  23. (
  24. SELECT MAX(hum_id) AS hum_id, room_id , `value` FROM `sys_humidity`
  25. WHERE TO_DAYS(create_time) = TO_DAYS(NOW()) AND `value` &lt;= 100 AND`value` &gt;= 0
  26. GROUP BY room_id
  27. ) b
  28. ON a.hum_id= b.hum_id
  29. ) hum ON hum.room_id = br.id WHERE br.farm_id =#{farmId}
  30. </select>
  31. <select id="getAllDayWater" resultType="com.huimv.environ.eco.entity.dto.AllDayWater">
  32. SELECT CONCAT(br.alias ,br.room_name) room, ROUND (water.`value`,2) water
  33. FROM `base_room` br
  34. LEFT JOIN (
  35. SELECT SUM(increase_value)`value` ,room_id FROM `sys_month_water` WHERE TO_DAYS(create_time) = TO_DAYS(NOW()) GROUP BY room_id
  36. )water ON water.room_id = br.id
  37. WHERE br.farm_id = #{farmId}
  38. </select>
  39. <select id="listAllWaterEnvPowerApp" resultType="com.huimv.environ.eco.entity.dto.AllWaterEnvPowerApp">
  40. SELECT CONCAT(br.alias ,br.room_name) room_name,br.id room_id , ROUND(tem.value ,2)tem, ROUND(hum.value,2)hum , ROUND(water.`value` ,2) water,bf.id floor_id ,br.box_id box_id
  41. FROM
  42. `base_room` br
  43. LEFT JOIN (
  44. SELECT a.tem_id ,a.room_id , a.value `value` FROM `sys_temperature` a RIGHT JOIN
  45. (
  46. SELECT MAX(tem_id) AS tem_id, room_id , `value` FROM `sys_temperature`
  47. WHERE TO_DAYS(create_time) = TO_DAYS(NOW()) AND `value` &lt;= 50 AND`value` &gt;= -50
  48. GROUP BY room_id
  49. ) b
  50. ON a.tem_id= b.tem_id
  51. ) tem ON tem.room_id = br.id
  52. LEFT JOIN (
  53. SELECT a.hum_id ,a.room_id , a.value `value` FROM `sys_humidity` a RIGHT JOIN
  54. (
  55. SELECT MAX(hum_id) AS hum_id, room_id , `value` FROM `sys_humidity`
  56. WHERE TO_DAYS(create_time) = TO_DAYS(NOW()) AND `value` &lt;= 100 AND`value` &gt;= 0
  57. GROUP BY room_id
  58. ) b
  59. ON a.hum_id= b.hum_id
  60. ) hum ON hum.room_id = br.id
  61. LEFT JOIN (
  62. SELECT SUM(increase_value)`value` ,room_id FROM `sys_month_water` WHERE TO_DAYS(create_time) = TO_DAYS(NOW()) GROUP BY room_id
  63. )water ON water.room_id = br.id
  64. LEFT JOIN `base_box` bb ON bb.uid = br.box_id
  65. LEFT JOIN `base_floor` bf ON bb.floor_id = bf.id
  66. ${ew.customSqlSegment}
  67. </select>
  68. </mapper>