EnergyElectricityMapper.xml 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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.guowei.admin.mapper.EnergyElectricityMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.huimv.guowei.admin.entity.EnergyElectricity">
  6. <id column="id" property="id" />
  7. <result column="electricity_value" property="electricityValue" />
  8. <result column="original_value" property="originalValue" />
  9. <result column="original_date" property="originalDate" />
  10. <result column="unit_id" property="unitId" />
  11. <result column="farm_id" property="farmId" />
  12. <result column="other1" property="other1" />
  13. <result column="other2" property="other2" />
  14. <result column="other3" property="other3" />
  15. <result column="create_date" property="createDate" />
  16. </resultMap>
  17. <select id="listDayDetail" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
  18. SELECT COALESCE(ROUND(electricity_value,2),0) 'electricityValue', create_date FROM `energy_electricity`
  19. WHERE farm_id = #{farmId}
  20. AND TO_DAYS(create_date) = TO_DAYS(NOW()) ORDER BY create_date ASC
  21. </select>
  22. <select id="listWeekDetail" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
  23. SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
  24. WHERE farm_id = #{farmId}
  25. AND create_date BETWEEN (SELECT DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE()) DAY)) AND NOW()
  26. GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
  27. </select>
  28. <select id="listMonthDetail" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
  29. SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
  30. WHERE farm_id = #{farmId}
  31. AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
  32. GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
  33. </select>
  34. <select id="listCustomDetail" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
  35. SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
  36. WHERE farm_id = #{farmId}
  37. AND create_date BETWEEN '${startDate}' AND '${endDate}'
  38. GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
  39. </select>
  40. <select id="getDayElectricity" resultType="java.math.BigDecimal">
  41. SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue' FROM `energy_electricity`
  42. WHERE farm_id = #{farmId}
  43. AND TO_DAYS(create_date) = TO_DAYS(NOW())
  44. </select>
  45. <select id="getMonthElectricity" resultType="java.math.BigDecimal">
  46. SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue' FROM `energy_electricity`
  47. WHERE farm_id = #{farmId}
  48. AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
  49. </select>
  50. <select id="getElectricity" resultType="java.math.BigDecimal">
  51. SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue' FROM `energy_electricity`
  52. ${ew.customSqlSegment}
  53. </select>
  54. <select id="listSixMonthElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
  55. SELECT IFNUll(ROUND(SUM(energy_electricity.electricity_value),2),0) 'electricityValue', calendar.month_date AS create_date FROM (
  56. SELECT DATE_FORMAT(NOW(), '%Y-%m-01') AS month_date
  57. UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m-01')
  58. UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 2 MONTH), '%Y-%m-01')
  59. UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 3 MONTH), '%Y-%m-01')
  60. UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 4 MONTH), '%Y-%m-01')
  61. UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 5 MONTH), '%Y-%m-01')
  62. ) AS calendar
  63. LEFT JOIN `energy_electricity`
  64. ON energy_electricity.farm_id = #{farmId} and energy_electricity.unit_id = #{unitId} AND calendar.month_date = DATE_FORMAT(`energy_electricity`.create_date, "%Y-%m-01")
  65. GROUP BY calendar.month_date
  66. ORDER BY calendar.month_date
  67. </select>
  68. <select id="listSevenDayElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
  69. SELECT IFNULL(ROUND(SUM(energy_electricity.electricity_value), 2), 0) AS 'electricityValue', calendar.date AS create_date
  70. FROM (
  71. SELECT CURDATE() AS date
  72. UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY)
  73. UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 2 DAY)
  74. UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 3 DAY)
  75. UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 4 DAY)
  76. UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY)
  77. UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 6 DAY)
  78. ) AS calendar
  79. LEFT JOIN `energy_electricity`
  80. ON energy_electricity.farm_id = #{farmId}
  81. AND energy_electricity.unit_id = #{unitId}
  82. AND DATE(energy_electricity.create_date) = calendar.date
  83. GROUP BY calendar.date
  84. ORDER BY calendar.date;
  85. </select>
  86. <select id="getLastFlowByUnitId" resultType="java.math.BigDecimal">
  87. SELECT COALESCE(ROUND(electricity_value,2),0) 'electricityValue' FROM `energy_electricity`
  88. WHERE id = ( SELECT MAX(id) FROM `energy_electricity` WHERE unit_id = #{unitId}) AND farm_id = #{farmId}
  89. </select>
  90. <select id="getDayUnitElectricity" resultType="java.math.BigDecimal">
  91. SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue' FROM `energy_electricity`
  92. WHERE farm_id = #{farmId} and unit_id = #{unitId}
  93. AND TO_DAYS(create_date) = TO_DAYS(NOW())
  94. </select>
  95. <select id="listUnitDayElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
  96. SELECT COALESCE(ROUND(electricity_value,2),0) 'electricityValue', create_date FROM `energy_electricity`
  97. WHERE farm_id = #{farmId} and unit_id = #{unitId}
  98. AND TO_DAYS(create_date) = TO_DAYS(NOW())
  99. </select>
  100. <select id="listUnitMonthElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
  101. SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
  102. WHERE farm_id = #{farmId} and unit_id = #{unitId}
  103. AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
  104. GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
  105. </select>
  106. </mapper>