20250808优化-告警优化&主路线图优化
This commit is contained in:
@ -26,6 +26,9 @@ public class AlarmRecordListRequestVo {
|
||||
/** 设备id */
|
||||
private String deviceId;
|
||||
|
||||
/** 告警状态 */
|
||||
private String status;
|
||||
|
||||
public String getSiteId() {
|
||||
return siteId;
|
||||
}
|
||||
@ -73,4 +76,12 @@ public class AlarmRecordListRequestVo {
|
||||
public void setDeviceId(String deviceId) {
|
||||
this.deviceId = deviceId;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,6 +25,8 @@ public class SiteDeviceListVo {
|
||||
private String id;
|
||||
/** 父类id */
|
||||
private String parentId;
|
||||
/** 单体电池个数-仅stack设备下有 */
|
||||
private int batteryNum;
|
||||
|
||||
public String getSiteId() {
|
||||
return siteId;
|
||||
@ -105,4 +107,12 @@ public class SiteDeviceListVo {
|
||||
public void setParentId(String parentId) {
|
||||
this.parentId = parentId;
|
||||
}
|
||||
|
||||
public int getBatteryNum() {
|
||||
return batteryNum;
|
||||
}
|
||||
|
||||
public void setBatteryNum(int batteryNum) {
|
||||
this.batteryNum = batteryNum;
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,6 +4,8 @@ import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import com.xzzn.ems.domain.EmsBatteryDataDay;
|
||||
import com.xzzn.ems.domain.EmsBatteryDataHour;
|
||||
import com.xzzn.ems.domain.vo.BatteryDataStatsListVo;
|
||||
import com.xzzn.ems.domain.vo.DateSearchRequest;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
@ -69,4 +71,6 @@ public interface EmsBatteryDataDayMapper
|
||||
* 批量插入或更新天级数据(存在则更新,不存在则插入)
|
||||
*/
|
||||
void batchInsertOrUpdate(@Param("list") List<EmsBatteryDataDay> dayDataList);
|
||||
|
||||
public List<BatteryDataStatsListVo> getBatteryDayData(DateSearchRequest requestVo);
|
||||
}
|
||||
|
||||
@ -815,13 +815,13 @@ public class DDSDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
|
||||
dataMete.setCurrentCombActiveFlat(StringUtils.getBigDecimal(obj.get("DQZHYGPDN")));
|
||||
dataMete.setCurrentCombActiveValley(StringUtils.getBigDecimal(obj.get("DQZHYGGDN")));
|
||||
// 电能设置-正向有功
|
||||
dataMete.setCurrentForwardActiveTotal(StringUtils.getBigDecimal(obj.get("DQZXYGZDN")));
|
||||
dataMete.setCurrentForwardActiveTotal(StringUtils.getBigDecimal(obj.get("DQZXZYGDN")));
|
||||
dataMete.setCurrentForwardActivePeak(StringUtils.getBigDecimal(obj.get("DQZXYGJDN")));
|
||||
dataMete.setCurrentForwardActiveHigh(StringUtils.getBigDecimal(obj.get("DQZXYGFDN")));
|
||||
dataMete.setCurrentForwardActiveFlat(StringUtils.getBigDecimal(obj.get("DQZXYGPDN")));
|
||||
dataMete.setCurrentForwardActiveValley(StringUtils.getBigDecimal(obj.get("DQZXYGGDN")));
|
||||
// 电能设置-反向有功
|
||||
dataMete.setCurrentReverseActiveTotal(StringUtils.getBigDecimal(obj.get("DQFXYGZDN")));
|
||||
dataMete.setCurrentReverseActiveTotal(StringUtils.getBigDecimal(obj.get("DQFXZYGDN")));
|
||||
dataMete.setCurrentReverseActivePeak(StringUtils.getBigDecimal(obj.get("DQFXYGJDN")));
|
||||
dataMete.setCurrentReverseActiveHigh(StringUtils.getBigDecimal(obj.get("DQFXYGFDN")));
|
||||
dataMete.setCurrentReverseActiveFlat(StringUtils.getBigDecimal(obj.get("DQFXYGPDN")));
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
package com.xzzn.ems.service.impl;
|
||||
|
||||
import com.xzzn.common.constant.RedisKeyConstants;
|
||||
import com.xzzn.common.core.redis.RedisCache;
|
||||
import com.xzzn.common.enums.DeviceCategory;
|
||||
import com.xzzn.ems.domain.EmsBatteryData;
|
||||
import com.xzzn.ems.domain.EmsSiteSetting;
|
||||
import com.xzzn.ems.domain.vo.SiteDeviceListVo;
|
||||
import com.xzzn.ems.domain.vo.SiteTotalInfoVo;
|
||||
@ -25,6 +28,8 @@ public class EmsSiteServiceImpl implements IEmsSiteService
|
||||
private EmsSiteSettingMapper emsSiteMapper;
|
||||
@Autowired
|
||||
private EmsDevicesSettingMapper emsDevicesMapper;
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
|
||||
@Override
|
||||
public List<EmsSiteSetting> getAllSites() {
|
||||
@ -76,7 +81,20 @@ public class EmsSiteServiceImpl implements IEmsSiteService
|
||||
*/
|
||||
@Override
|
||||
public List<SiteDeviceListVo> getAllDeviceList(String siteId) {
|
||||
return emsSiteMapper.getAllSiteDeviceList(siteId);
|
||||
List<SiteDeviceListVo> resultData = emsSiteMapper.getAllSiteDeviceList(siteId);
|
||||
if(resultData == null || resultData.size() == 0){
|
||||
return resultData;
|
||||
}
|
||||
for (SiteDeviceListVo siteDeviceListVo : resultData) {
|
||||
String clusterId = siteDeviceListVo.getDeviceId();
|
||||
String deviceCategory = siteDeviceListVo.getDeviceCategory();
|
||||
if(DeviceCategory.CLUSTER.getCode().equals(deviceCategory)){
|
||||
// 获取该stack下面有多少单体电池
|
||||
List<EmsBatteryData> batteryDataList = redisCache.getCacheList(RedisKeyConstants.BATTERY + siteId + "_" + clusterId);
|
||||
siteDeviceListVo.setBatteryNum(batteryDataList == null ? 0 : batteryDataList.size());
|
||||
}
|
||||
}
|
||||
return resultData;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -39,6 +39,8 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
|
||||
private EmsBatteryDataMapper emsBatteryDataMapper;
|
||||
@Autowired
|
||||
private EmsBatteryDailyLatestMapper emsBatteryDailyLatestMapper;
|
||||
@Autowired
|
||||
private EmsBatteryDataDayMapper emsBatteryDataDayMapper;
|
||||
|
||||
// 电量指标
|
||||
@Override
|
||||
@ -295,6 +297,6 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
|
||||
public List<BatteryDataStatsListVo> getSingleBatteryData(DateSearchRequest requestVo) {
|
||||
// 默认时间-7天
|
||||
dealRequestTime(requestVo);
|
||||
return emsBatteryDailyLatestMapper.getBatteryDailyLatest(requestVo);
|
||||
return emsBatteryDataDayMapper.getBatteryDayData(requestVo);
|
||||
}
|
||||
}
|
||||
|
||||
@ -162,6 +162,13 @@
|
||||
<if test="deviceId != null and deviceId != ''">
|
||||
AND t.device_id = #{deviceId}
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND t.status IN (
|
||||
<foreach collection="status.split(',')" item="item" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
<if test="alarmStartTime != null and alarmStartTime != null and alarmEndTime != null and alarmEndTime != ''">
|
||||
AND (date_format(t.alarm_start_time,'%Y%m%d') BETWEEN date_format(#{alarmStartTime},'%Y%m%d') and date_format(#{alarmEndTime},'%Y%m%d')
|
||||
or date_format(t.alarm_end_time,'%Y%m%d') BETWEEN date_format(#{alarmStartTime},'%Y%m%d') and date_format(#{alarmEndTime},'%Y%m%d') )
|
||||
|
||||
@ -198,4 +198,19 @@
|
||||
update_by = IF(VALUES(temperature) > temperature, VALUES(update_by), update_by),
|
||||
temperature = IF(VALUES(temperature) > temperature, VALUES(temperature), temperature)
|
||||
</insert>
|
||||
|
||||
<select id="getBatteryDayData" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.BatteryDataStatsListVo">
|
||||
SELECT day_time as dataTimestamp,
|
||||
voltage, temperature, soc, soh,
|
||||
device_id as deviceId,
|
||||
cluster_device_id as clusterDeviceId
|
||||
FROM ems_battery_data_day
|
||||
WHERE site_id = #{siteId}
|
||||
and cluster_device_id = #{clusterDeviceId}
|
||||
and device_id = #{deviceId}
|
||||
and day_time >= #{startDate}
|
||||
and day_time <= #{endDate}
|
||||
order by day_time
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user