You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

133 lines
5.1 KiB

<?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="org.springblade.modules.nh.mapper.InverterDataMapper">
<!-- 通用查询映射结果 -->
<resultMap id="inverterDataResultMap" type="org.springblade.modules.nh.pojo.vo.InverterDataVO">
<result column="id" property="id"/>
<result column="device_id" property="deviceId"/>
<result column="out_device_id" property="outDeviceId"/>
<result column="pac" property="pac"/>
<result column="pw_hour" property="pwHour"/>
<result column="real_power" property="realPower"/>
<result column="power" property="power"/>
<result column="etd" property="etd"/>
<result column="etm" property="etm"/>
<result column="eto" property="eto"/>
<result column="ety" property="ety"/>
<result column="dc_pac" property="dcPac"/>
<result column="collector_sn" property="collectorSn"/>
<result column="reactive_power" property="reactivePower"/>
<result column="reactive_power_str" property="reactivePowerStr"/>
<result column="apparent_power" property="apparentPower"/>
<result column="apparent_power_str" property="apparentPowerStr"/>
<result column="fac" property="fac"/>
<result column="pv_modules" property="pvModules"/>
<result column="mppt_modules" property="mpptModules"/>
<result column="uvw_modules" property="uvwModules"/>
<result column="temperature" property="temperature"/>
</resultMap>
<select id="selectInverterDataPage" resultMap="inverterDataResultMap">
select * from nh_inverter_data where 0 = 0
</select>
<select id="queryForYXList" resultMap="inverterDataResultMap">
select * from nh_inverter_data
WHERE
sync_time &gt; #{startTime}
<if test="endTime!=null and endTime != ''">
and sync_time &lt; #{endTime}
</if>
ORDER BY sync_time DESC
</select>
<select id="exportInverterData" resultType="org.springblade.modules.nh.excel.InverterDataExcel">
SELECT * FROM nh_inverter_data ${ew.customSqlSegment}
</select>
<select id="sumPacByStationId" resultType="java.lang.Double">
SELECT
IFNULL(SUM(a.pac), 0)
FROM
nh_inverter_data a
LEFT JOIN nh_device b ON a.device_id = b.id
WHERE
b.type = 1
AND b.station_id = #{stationId}
</select>
<update id="updateDataFromInverterStat">
UPDATE nh_inverter_data a
INNER JOIN nh_monitor_inverter_stat b ON a.out_device_id = b.out_inverter_id
SET a.etd = b.etd,
a.etm = b.etm,
a.ety = b.ety,
a.eto = b.eto,
a.real_power = b.real_power,
a.power = b.power,
a.power_factor = b.power_factor,
a.apparent_power = b.apparent_power,
a.apparent_power_str = b.apparent_power_str,
a.reactive_power = b.reactive_power,
a.reactive_power_str = b.reactive_power_str,
a.temperature = b.temperature,
a.fac = b.fac,
a.pac = b.pac,
a.pv_modules = b.pv_modules,
a.uvw_modules = b.ac_modules,
a.pw_hour = b.pw_hour,
a.collector_sn = b.collector_sn,
a.sync_time = NOW()
</update>
<update id="updateDeviceStateFromInverterStat">
UPDATE
nh_device d
LEFT JOIN nh_monitor_inverter_stat i on i.sn = d.sn
SET
d.`status` = i.state
WHERE
i.state is not NULL AND i.state!=-1
</update>
<update id="updateTxbOutStationId">
UPDATE nh_device d
LEFT JOIN nh_power_station s on s.id = d.station_id
SET
d.out_station_id = s.out_station_id
WHERE
s.out_station_id is not NULL
AND d.type=2
</update>
<update id="updateDataFromInverterStatByOutInverterId">
UPDATE nh_inverter_data a
INNER JOIN nh_monitor_inverter_stat b ON a.out_device_id = b.out_inverter_id
SET a.etd = b.etd,
a.etm = b.etm,
a.ety = b.ety,
a.eto = b.eto,
a.real_power = b.real_power,
a.power = b.power,
a.power_factor = b.power_factor,
a.apparent_power = b.apparent_power,
a.apparent_power_str = b.apparent_power_str,
a.reactive_power = b.reactive_power,
a.reactive_power_str = b.reactive_power_str,
a.temperature = b.temperature,
a.fac = b.fac,
a.pac = b.pac,
a.pv_modules = b.pv_modules,
a.uvw_modules = b.ac_modules,
a.pw_hour = b.pw_hour,
a.collector_sn = b.collector_sn,
a.sync_time = NOW()
WHERE
a.out_device_id = #{outDeviceId}
</update>
</mapper>