设备监控-实时运行头数据
This commit is contained in:
@ -26,4 +26,13 @@ public class EmsSiteMonitorController extends BaseController{
|
|||||||
{
|
{
|
||||||
return success(iSingleSiteService.getSiteMonitorDataVo(siteId));
|
return success(iSingleSiteService.getSiteMonitorDataVo(siteId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单站监控-设备监控-实时运行头部数据
|
||||||
|
*/
|
||||||
|
@GetMapping("/runingHeadInfo")
|
||||||
|
public AjaxResult getRuningHeadInfo(@RequestParam Long siteId)
|
||||||
|
{
|
||||||
|
return success(iSingleSiteService.getSiteRuningHeadInfo(siteId));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,40 +4,10 @@ import java.math.BigDecimal;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单站监控-设备监控-实时运行数据
|
* 单站监控-设备监控-实时运行曲线数据
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class SiteMonitorRuningInfoVo {
|
public class SiteMonitorRuningInfoVo {
|
||||||
/**
|
|
||||||
* 实时有功功率
|
|
||||||
*/
|
|
||||||
private BigDecimal totalActivePower;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 实时无功功率
|
|
||||||
*/
|
|
||||||
private BigDecimal totalReactivePower;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 电池簇SOC
|
|
||||||
*/
|
|
||||||
private BigDecimal soc;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 电池堆SOH
|
|
||||||
*/
|
|
||||||
private BigDecimal soh;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 今日充电量
|
|
||||||
*/
|
|
||||||
private BigDecimal dayChargedCap;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 今日放电量
|
|
||||||
*/
|
|
||||||
private BigDecimal dayDisChargedCap;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 储能功率list
|
* 储能功率list
|
||||||
*/
|
*/
|
||||||
@ -58,54 +28,6 @@ public class SiteMonitorRuningInfoVo {
|
|||||||
*/
|
*/
|
||||||
private List<BatteryAveTempVo> batteryAveTempList;
|
private List<BatteryAveTempVo> batteryAveTempList;
|
||||||
|
|
||||||
public BigDecimal getTotalActivePower() {
|
|
||||||
return totalActivePower;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTotalActivePower(BigDecimal totalActivePower) {
|
|
||||||
this.totalActivePower = totalActivePower;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getTotalReactivePower() {
|
|
||||||
return totalReactivePower;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTotalReactivePower(BigDecimal totalReactivePower) {
|
|
||||||
this.totalReactivePower = totalReactivePower;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getSoc() {
|
|
||||||
return soc;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSoc(BigDecimal soc) {
|
|
||||||
this.soc = soc;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getSoh() {
|
|
||||||
return soh;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSoh(BigDecimal soh) {
|
|
||||||
this.soh = soh;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getDayChargedCap() {
|
|
||||||
return dayChargedCap;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDayChargedCap(BigDecimal dayChargedCap) {
|
|
||||||
this.dayChargedCap = dayChargedCap;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getDayDisChargedCap() {
|
|
||||||
return dayDisChargedCap;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDayDisChargedCap(BigDecimal dayDisChargedCap) {
|
|
||||||
this.dayDisChargedCap = dayDisChargedCap;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<EnergyStoragePowVo> getEnergyStoragePowList() {
|
public List<EnergyStoragePowVo> getEnergyStoragePowList() {
|
||||||
return energyStoragePowList;
|
return energyStoragePowList;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,69 @@
|
|||||||
|
package com.xzzn.ems.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.xzzn.ems.domain.EmsBatteryData;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单体电池实时数据Mapper接口
|
||||||
|
*
|
||||||
|
* @author xzzn
|
||||||
|
* @date 2025-06-19
|
||||||
|
*/
|
||||||
|
public interface EmsBatteryDataMapper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询单体电池实时数据
|
||||||
|
*
|
||||||
|
* @param id 单体电池实时数据主键
|
||||||
|
* @return 单体电池实时数据
|
||||||
|
*/
|
||||||
|
public EmsBatteryData selectEmsBatteryDataById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询单体电池实时数据列表
|
||||||
|
*
|
||||||
|
* @param emsBatteryData 单体电池实时数据
|
||||||
|
* @return 单体电池实时数据集合
|
||||||
|
*/
|
||||||
|
public List<EmsBatteryData> selectEmsBatteryDataList(EmsBatteryData emsBatteryData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增单体电池实时数据
|
||||||
|
*
|
||||||
|
* @param emsBatteryData 单体电池实时数据
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int insertEmsBatteryData(EmsBatteryData emsBatteryData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改单体电池实时数据
|
||||||
|
*
|
||||||
|
* @param emsBatteryData 单体电池实时数据
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateEmsBatteryData(EmsBatteryData emsBatteryData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除单体电池实时数据
|
||||||
|
*
|
||||||
|
* @param id 单体电池实时数据主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteEmsBatteryDataById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除单体电池实时数据
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的数据主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteEmsBatteryDataByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据siteId查询站点电池实时数据
|
||||||
|
* @param siteId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public EmsBatteryData getBatteryDataBySiteId(Long siteId);
|
||||||
|
}
|
@ -2,8 +2,11 @@ package com.xzzn.ems.mapper;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.xzzn.ems.domain.EmsBatteryData;
|
||||||
import com.xzzn.ems.domain.EmsPcsData;
|
import com.xzzn.ems.domain.EmsPcsData;
|
||||||
import com.xzzn.ems.domain.vo.SiteMonitorDataVo;
|
import com.xzzn.ems.domain.vo.SiteMonitorDataVo;
|
||||||
|
import com.xzzn.ems.domain.vo.SiteMonitorRuningHeadInfoVo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PCS数据Mapper接口
|
* PCS数据Mapper接口
|
||||||
@ -74,4 +77,11 @@ public interface EmsPcsDataMapper
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public BigDecimal getGridNrtPower(Long siteId);
|
public BigDecimal getGridNrtPower(Long siteId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据站点获取设备监控的实时运行头信息
|
||||||
|
* @param siteId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public SiteMonitorRuningHeadInfoVo getSiteRunningHeadInfo(Long siteId);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.xzzn.ems.service;
|
package com.xzzn.ems.service;
|
||||||
|
|
||||||
import com.xzzn.ems.domain.vo.SiteMonitorHomeVo;
|
import com.xzzn.ems.domain.vo.SiteMonitorHomeVo;
|
||||||
import com.xzzn.ems.domain.vo.SiteMonitorRuningInfoVo;
|
import com.xzzn.ems.domain.vo.SiteMonitorRuningHeadInfoVo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单点监控 服务层
|
* 单点监控 服务层
|
||||||
@ -13,5 +13,5 @@ public interface ISingleSiteService
|
|||||||
public SiteMonitorHomeVo getSiteMonitorDataVo(Long siteId);
|
public SiteMonitorHomeVo getSiteMonitorDataVo(Long siteId);
|
||||||
|
|
||||||
|
|
||||||
public SiteMonitorRuningInfoVo getSiteRuningInfo(Long siteId);
|
public SiteMonitorRuningHeadInfoVo getSiteRuningHeadInfo(Long siteId);
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
package com.xzzn.ems.service.impl;
|
package com.xzzn.ems.service.impl;
|
||||||
|
|
||||||
import com.xzzn.common.utils.DateUtils;
|
|
||||||
import com.xzzn.common.utils.StringUtils;
|
import com.xzzn.common.utils.StringUtils;
|
||||||
import com.xzzn.ems.domain.vo.SiteMonitorDataVo;
|
import com.xzzn.ems.domain.EmsBatteryData;
|
||||||
import com.xzzn.ems.domain.vo.SiteMonitorHomeAlarmVo;
|
import com.xzzn.ems.domain.vo.*;
|
||||||
import com.xzzn.ems.domain.vo.SiteMonitorHomeVo;
|
|
||||||
import com.xzzn.ems.domain.vo.SiteMonitorRuningInfoVo;
|
|
||||||
import com.xzzn.ems.mapper.EmsAlarmRecordsMapper;
|
import com.xzzn.ems.mapper.EmsAlarmRecordsMapper;
|
||||||
|
import com.xzzn.ems.mapper.EmsBatteryDataMapper;
|
||||||
import com.xzzn.ems.mapper.EmsPcsDataMapper;
|
import com.xzzn.ems.mapper.EmsPcsDataMapper;
|
||||||
import com.xzzn.ems.service.ISingleSiteService;
|
import com.xzzn.ems.service.ISingleSiteService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -14,7 +12,6 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -27,6 +24,8 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|||||||
private EmsPcsDataMapper emsPcsDataMapper;
|
private EmsPcsDataMapper emsPcsDataMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private EmsAlarmRecordsMapper emsAlarmRecordsMapper;
|
private EmsAlarmRecordsMapper emsAlarmRecordsMapper;
|
||||||
|
@Autowired
|
||||||
|
private EmsBatteryDataMapper emsBatteryDataMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SiteMonitorHomeVo getSiteMonitorDataVo(Long siteId) {
|
public SiteMonitorHomeVo getSiteMonitorDataVo(Long siteId) {
|
||||||
@ -88,8 +87,22 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SiteMonitorRuningInfoVo getSiteRuningInfo(Long siteId) {
|
public SiteMonitorRuningHeadInfoVo getSiteRuningHeadInfo(Long siteId) {
|
||||||
return null;
|
SiteMonitorRuningHeadInfoVo siteMonitorRuningHeadInfoVo = new SiteMonitorRuningHeadInfoVo();
|
||||||
|
|
||||||
|
if (siteId != null) {
|
||||||
|
// 实时有功功率/实时无功功率/今日充电量/今日放电量
|
||||||
|
siteMonitorRuningHeadInfoVo = emsPcsDataMapper.getSiteRunningHeadInfo(siteId);
|
||||||
|
// 电池簇SOC
|
||||||
|
// 电池堆SOH
|
||||||
|
EmsBatteryData emsBatteryData = emsBatteryDataMapper.getBatteryDataBySiteId(siteId);
|
||||||
|
if (emsBatteryData != null) {
|
||||||
|
siteMonitorRuningHeadInfoVo.setSoc(emsBatteryData.getSoc());
|
||||||
|
siteMonitorRuningHeadInfoVo.setSoh(emsBatteryData.getSoh());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return siteMonitorRuningHeadInfoVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,127 @@
|
|||||||
|
<?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.xzzn.ems.mapper.EmsBatteryDataMapper">
|
||||||
|
|
||||||
|
<resultMap type="EmsBatteryData" id="EmsBatteryDataResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="batteryPack" column="battery_pack" />
|
||||||
|
<result property="batteryCluster" column="battery_cluster" />
|
||||||
|
<result property="batteryCellId" column="battery_cell_id" />
|
||||||
|
<result property="voltage" column="voltage" />
|
||||||
|
<result property="temperature" column="temperature" />
|
||||||
|
<result property="soc" column="soc" />
|
||||||
|
<result property="soh" column="soh" />
|
||||||
|
<result property="dataTimestamp" column="data_timestamp" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="updateTime" column="update_time" />
|
||||||
|
<result property="remark" column="remark" />
|
||||||
|
<result property="siteId" column="site_id" />
|
||||||
|
<result property="deviceId" column="device_id" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="selectEmsBatteryDataVo">
|
||||||
|
select id, battery_pack, battery_cluster, battery_cell_id, voltage, temperature, soc, soh, data_timestamp, create_by, create_time, update_by, update_time, remark, site_id, device_id from ems_battery_data
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectEmsBatteryDataList" parameterType="EmsBatteryData" resultMap="EmsBatteryDataResult">
|
||||||
|
<include refid="selectEmsBatteryDataVo"/>
|
||||||
|
<where>
|
||||||
|
<if test="batteryPack != null and batteryPack != ''"> and battery_pack = #{batteryPack}</if>
|
||||||
|
<if test="batteryCluster != null and batteryCluster != ''"> and battery_cluster = #{batteryCluster}</if>
|
||||||
|
<if test="batteryCellId != null and batteryCellId != ''"> and battery_cell_id = #{batteryCellId}</if>
|
||||||
|
<if test="voltage != null "> and voltage = #{voltage}</if>
|
||||||
|
<if test="temperature != null "> and temperature = #{temperature}</if>
|
||||||
|
<if test="soc != null "> and soc = #{soc}</if>
|
||||||
|
<if test="soh != null "> and soh = #{soh}</if>
|
||||||
|
<if test="dataTimestamp != null "> and data_timestamp = #{dataTimestamp}</if>
|
||||||
|
<if test="siteId != null "> and site_id = #{siteId}</if>
|
||||||
|
<if test="deviceId != null "> and device_id = #{deviceId}</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectEmsBatteryDataById" parameterType="Long" resultMap="EmsBatteryDataResult">
|
||||||
|
<include refid="selectEmsBatteryDataVo"/>
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertEmsBatteryData" parameterType="EmsBatteryData" useGeneratedKeys="true" keyProperty="id">
|
||||||
|
insert into ems_battery_data
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="batteryPack != null">battery_pack,</if>
|
||||||
|
<if test="batteryCluster != null">battery_cluster,</if>
|
||||||
|
<if test="batteryCellId != null">battery_cell_id,</if>
|
||||||
|
<if test="voltage != null">voltage,</if>
|
||||||
|
<if test="temperature != null">temperature,</if>
|
||||||
|
<if test="soc != null">soc,</if>
|
||||||
|
<if test="soh != null">soh,</if>
|
||||||
|
<if test="dataTimestamp != null">data_timestamp,</if>
|
||||||
|
<if test="createBy != null">create_by,</if>
|
||||||
|
<if test="createTime != null">create_time,</if>
|
||||||
|
<if test="updateBy != null">update_by,</if>
|
||||||
|
<if test="updateTime != null">update_time,</if>
|
||||||
|
<if test="remark != null">remark,</if>
|
||||||
|
<if test="siteId != null">site_id,</if>
|
||||||
|
<if test="deviceId != null">device_id,</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="batteryPack != null">#{batteryPack},</if>
|
||||||
|
<if test="batteryCluster != null">#{batteryCluster},</if>
|
||||||
|
<if test="batteryCellId != null">#{batteryCellId},</if>
|
||||||
|
<if test="voltage != null">#{voltage},</if>
|
||||||
|
<if test="temperature != null">#{temperature},</if>
|
||||||
|
<if test="soc != null">#{soc},</if>
|
||||||
|
<if test="soh != null">#{soh},</if>
|
||||||
|
<if test="dataTimestamp != null">#{dataTimestamp},</if>
|
||||||
|
<if test="createBy != null">#{createBy},</if>
|
||||||
|
<if test="createTime != null">#{createTime},</if>
|
||||||
|
<if test="updateBy != null">#{updateBy},</if>
|
||||||
|
<if test="updateTime != null">#{updateTime},</if>
|
||||||
|
<if test="remark != null">#{remark},</if>
|
||||||
|
<if test="siteId != null">#{siteId},</if>
|
||||||
|
<if test="deviceId != null">#{deviceId},</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateEmsBatteryData" parameterType="EmsBatteryData">
|
||||||
|
update ems_battery_data
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
<if test="batteryPack != null">battery_pack = #{batteryPack},</if>
|
||||||
|
<if test="batteryCluster != null">battery_cluster = #{batteryCluster},</if>
|
||||||
|
<if test="batteryCellId != null">battery_cell_id = #{batteryCellId},</if>
|
||||||
|
<if test="voltage != null">voltage = #{voltage},</if>
|
||||||
|
<if test="temperature != null">temperature = #{temperature},</if>
|
||||||
|
<if test="soc != null">soc = #{soc},</if>
|
||||||
|
<if test="soh != null">soh = #{soh},</if>
|
||||||
|
<if test="dataTimestamp != null">data_timestamp = #{dataTimestamp},</if>
|
||||||
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
|
<if test="remark != null">remark = #{remark},</if>
|
||||||
|
<if test="siteId != null">site_id = #{siteId},</if>
|
||||||
|
<if test="deviceId != null">device_id = #{deviceId},</if>
|
||||||
|
</trim>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<delete id="deleteEmsBatteryDataById" parameterType="Long">
|
||||||
|
delete from ems_battery_data where id = #{id}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteEmsBatteryDataByIds" parameterType="String">
|
||||||
|
delete from ems_battery_data where id in
|
||||||
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<select id="getBatteryDataBySiteId" parameterType="Long" resultMap="EmsBatteryDataResult">
|
||||||
|
<include refid="selectEmsBatteryDataVo"/>
|
||||||
|
where site_id = #{siteId}
|
||||||
|
and DATE(data_timestamp) = DATE(NOW())
|
||||||
|
</select>
|
||||||
|
</mapper>
|
@ -222,4 +222,13 @@
|
|||||||
where site_id = #{siteId}
|
where site_id = #{siteId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getSiteRunningHeadInfo" parameterType="Long" resultType="com.xzzn.ems.domain.vo.SiteMonitorRuningHeadInfoVo">
|
||||||
|
SELECT total_active_power as totalActivePower,
|
||||||
|
total_reactive_power as totalReactivePower,
|
||||||
|
daily_ac_charge_energy as dayChargedCap,
|
||||||
|
daily_ac_discharge_energy as dayDisChargedCap
|
||||||
|
FROM ems_pcs_data
|
||||||
|
WHERE site_id = #{siteId} AND DATE(create_time) = DATE(NOW())
|
||||||
|
ORDER BY create_time desc limit 1
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
Reference in New Issue
Block a user