123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.huimv.guowei.admin.mapper.EnergyElectricityMapper">
- <!-- 通用查询映射结果 -->
- <resultMap id="BaseResultMap" type="com.huimv.guowei.admin.entity.EnergyElectricity">
- <id column="id" property="id" />
- <result column="electricity_value" property="electricityValue" />
- <result column="original_value" property="originalValue" />
- <result column="original_date" property="originalDate" />
- <result column="unit_id" property="unitId" />
- <result column="farm_id" property="farmId" />
- <result column="other1" property="other1" />
- <result column="other2" property="other2" />
- <result column="other3" property="other3" />
- <result column="create_date" property="createDate" />
- </resultMap>
- <select id="listDayDetail" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
- SELECT COALESCE(ROUND(electricity_value,2),0) 'electricityValue', create_date FROM `energy_electricity`
- WHERE farm_id = #{farmId}
- AND TO_DAYS(create_date) = TO_DAYS(NOW()) ORDER BY create_date ASC
- </select>
- <select id="listWeekDetail" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
- SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
- WHERE farm_id = #{farmId}
- AND create_date BETWEEN (SELECT DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE()) DAY)) AND NOW()
- GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
- </select>
- <select id="listMonthDetail" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
- SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
- WHERE farm_id = #{farmId}
- AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
- GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
- </select>
- <select id="listCustomDetail" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
- SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
- WHERE farm_id = #{farmId}
- AND create_date BETWEEN '${startDate}' AND '${endDate}'
- GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
- </select>
- <select id="getDayElectricity" resultType="java.math.BigDecimal">
- SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue' FROM `energy_electricity`
- WHERE farm_id = #{farmId}
- AND TO_DAYS(create_date) = TO_DAYS(NOW())
- </select>
- <select id="getMonthElectricity" resultType="java.math.BigDecimal">
- SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue' FROM `energy_electricity`
- WHERE farm_id = #{farmId}
- AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
- </select>
- <select id="getElectricity" resultType="java.math.BigDecimal">
- SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue' FROM `energy_electricity`
- ${ew.customSqlSegment}
- </select>
- <select id="listSixMonthElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
- SELECT IFNUll(ROUND(SUM(energy_electricity.electricity_value),2),0) 'electricityValue', calendar.month_date AS create_date FROM (
- SELECT DATE_FORMAT(NOW(), '%Y-%m-01') AS month_date
- UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m-01')
- UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 2 MONTH), '%Y-%m-01')
- UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 3 MONTH), '%Y-%m-01')
- UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 4 MONTH), '%Y-%m-01')
- UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 5 MONTH), '%Y-%m-01')
- ) AS calendar
- LEFT JOIN `energy_electricity`
- 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")
- GROUP BY calendar.month_date
- ORDER BY calendar.month_date
- </select>
- <select id="listSevenDayElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
- SELECT IFNULL(ROUND(SUM(energy_electricity.electricity_value), 2), 0) AS 'electricityValue', calendar.date AS create_date
- FROM (
- SELECT CURDATE() AS date
- UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY)
- UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 2 DAY)
- UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 3 DAY)
- UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 4 DAY)
- UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY)
- UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 6 DAY)
- ) AS calendar
- LEFT JOIN `energy_electricity`
- ON energy_electricity.farm_id = #{farmId}
- AND energy_electricity.unit_id = #{unitId}
- AND DATE(energy_electricity.create_date) = calendar.date
- GROUP BY calendar.date
- ORDER BY calendar.date;
- </select>
- <select id="getLastFlowByUnitId" resultType="java.math.BigDecimal">
- SELECT COALESCE(ROUND(electricity_value,2),0) 'electricityValue' FROM `energy_electricity`
- WHERE id = ( SELECT MAX(id) FROM `energy_electricity` WHERE unit_id = #{unitId}) AND farm_id = #{farmId}
- </select>
- <select id="getDayUnitElectricity" resultType="java.math.BigDecimal">
- SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue' FROM `energy_electricity`
- WHERE farm_id = #{farmId} and unit_id = #{unitId}
- AND TO_DAYS(create_date) = TO_DAYS(NOW())
- </select>
- <select id="listUnitDayElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
- SELECT COALESCE(ROUND(electricity_value,2),0) 'electricityValue', create_date FROM `energy_electricity`
- WHERE farm_id = #{farmId} and unit_id = #{unitId}
- AND TO_DAYS(create_date) = TO_DAYS(NOW())
- </select>
- <select id="listUnitMonthElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
- SELECT COALESCE(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
- WHERE farm_id = #{farmId} and unit_id = #{unitId}
- AND create_date BETWEEN (SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AND NOW()
- GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
- </select>
- </mapper>
|