1.冀北分布式光伏代码提交
2.审计日志管理代码提交修改 3.暂降推送日志,筛选添加
This commit is contained in:
@@ -428,4 +428,12 @@ public interface LineMapper extends BaseMapper<Line> {
|
||||
* @date 2023/5/10
|
||||
*/
|
||||
List<LineDevGetDTO> getLineBySubStation(@Param("subId")String subId);
|
||||
|
||||
|
||||
/**
|
||||
* 根据条件进行监测筛选出监测点id
|
||||
* @author wr
|
||||
* @date 2023/5/25
|
||||
*/
|
||||
List<String> getLineByIDs(@Param("searchValue")String searchValue);
|
||||
}
|
||||
|
||||
@@ -1084,5 +1084,29 @@
|
||||
|
||||
|
||||
</select>
|
||||
<select id="getLineByIDs" resultType="java.lang.String">
|
||||
SELECT DISTINCT
|
||||
line.id
|
||||
FROM
|
||||
pq_line line,
|
||||
pq_line voltage,
|
||||
pq_line device,
|
||||
pq_line substation,
|
||||
pq_line gd
|
||||
|
||||
<where>
|
||||
line.pid = voltage.id
|
||||
AND voltage.pid = device.id
|
||||
AND device.pid = substation.id
|
||||
AND substation.pid = gd.id
|
||||
<if test="searchValue!=null and searchValue!=''">
|
||||
and (
|
||||
gd.name like CONCAT('%', #{searchValue}, '%')
|
||||
or substation.name like CONCAT('%', #{searchValue}, '%')
|
||||
or line.NAME like CONCAT('%', #{searchValue},'%')
|
||||
)
|
||||
</if>
|
||||
</where>
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -2,9 +2,12 @@ package com.njcn.device.pq.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.njcn.db.constant.DbConstant;
|
||||
import com.njcn.device.pq.mapper.EventPushLogsMapper;
|
||||
import com.njcn.device.pq.mapper.LineMapper;
|
||||
import com.njcn.device.pq.mapper.LogManageMapper;
|
||||
@@ -97,6 +100,10 @@ public class LogManageServiceImpl implements LogManageService {
|
||||
|
||||
@Override
|
||||
public Page<EventLogVO> getEventLogData(EventLogParam eventLogParam) {
|
||||
|
||||
//查询全部时间
|
||||
List<String> lineByIDs = lineMapper.getLineByIDs(eventLogParam.getSearchValue());
|
||||
|
||||
Page<EventLogVO> page = new Page<>();
|
||||
page.setSize(eventLogParam.getPageSize());
|
||||
page.setCurrent(eventLogParam.getPageNum());
|
||||
@@ -105,35 +112,44 @@ public class LogManageServiceImpl implements LogManageService {
|
||||
Page<EventPushLogs> p = new Page<>();
|
||||
p.setSize(eventLogParam.getPageSize());
|
||||
p.setCurrent(eventLogParam.getPageNum());
|
||||
LambdaQueryWrapper<EventPushLogs> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.between(EventPushLogs::getTimeId,DateUtil.beginOfDay(DateUtil.parse(eventLogParam.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(eventLogParam.getSearchEndTime())));
|
||||
wrapper.eq(EventPushLogs::getResult,eventLogParam.getResult());
|
||||
QueryWrapper<EventPushLogs> wrapper = new QueryWrapper<>();
|
||||
wrapper.between("start_time",DateUtil.beginOfDay(DateUtil.parse(eventLogParam.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(eventLogParam.getSearchEndTime())));
|
||||
wrapper.eq(eventLogParam.getResult()!=null,"Result",eventLogParam.getResult());
|
||||
wrapper.in("measurement_point_id",lineByIDs);
|
||||
if (ObjectUtil.isAllNotEmpty(eventLogParam.getSortBy(), eventLogParam.getOrderBy())) {
|
||||
wrapper.orderBy(true, eventLogParam.getOrderBy().equals(DbConstant.ASC), StrUtil.toUnderlineCase(eventLogParam.getSortBy()));
|
||||
} else {
|
||||
//没有排序参数,默认根据sort字段排序,没有排序字段的,根据updateTime更新时间排序
|
||||
wrapper.orderBy(true, false, "start_time");
|
||||
}
|
||||
Page<EventPushLogs> rawPage = eventPushLogsMapper.selectPage(p, wrapper);
|
||||
List<EventPushLogs> rawLogs = rawPage.getRecords();
|
||||
if (CollectionUtil.isNotEmpty(rawLogs)) {
|
||||
List<String> lineIndexes = rawLogs.stream().map(EventPushLogs::getLineId).distinct().collect(Collectors.toList());
|
||||
List<EventDetail> rawEventDetailData = eventDetailFeignClient.getEventDetailLimit(lineIndexes, eventLogParam.getSearchBeginTime(), eventLogParam.getSearchEndTime(), eventLogParam.getPageSize(), eventLogParam.getPageNum()).getData();
|
||||
List<String> lineIndexes = rawLogs.stream().map(EventPushLogs::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
List<EventDetail> rawEventDetailData = eventDetailFeignClient.getEventDetail(lineIndexes, eventLogParam.getSearchBeginTime(), eventLogParam.getSearchEndTime()).getData();
|
||||
List<EventDetail> eventDetails = rawEventDetailData.stream().filter(eventDetail -> filterLineIdAndTime(eventDetail, rawLogs)).collect(Collectors.toList());
|
||||
|
||||
Map<String, List<EventDetail>> eventDetailMap = eventDetails.stream().collect(Collectors.groupingBy(EventDetail::getLineId));
|
||||
List<String> lineList = eventDetails.stream().map(EventDetail::getLineId).collect(Collectors.toList());
|
||||
List<AreaLineInfoVO> lineAreaInfos = lineMapper.getBaseLineAreaInfo(lineList, null, null);
|
||||
Map<String, List<AreaLineInfoVO>> areaMap = lineAreaInfos.stream().collect(Collectors.groupingBy(AreaLineInfoVO::getLineId));
|
||||
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
|
||||
for (EventPushLogs rawLog : rawLogs) {
|
||||
if (Objects.isNull(areaMap.get(rawLog.getLineId()).get(0)) || Objects.isNull(eventDetailMap.get(rawLog.getLineId()).get(0))) {
|
||||
if (Objects.isNull(areaMap.get(rawLog.getMeasurementPointId()).get(0)) || Objects.isNull(eventDetailMap.get(rawLog.getMeasurementPointId()).get(0))) {
|
||||
continue;
|
||||
}
|
||||
EventLogVO eventLogVO = new EventLogVO();
|
||||
eventLogVO.setLineId(rawLog.getLineId());
|
||||
eventLogVO.setTime(dateTimeFormatter.format(rawLog.getTimeId()));
|
||||
eventLogVO.setLine(areaMap.get(rawLog.getLineId()).get(0).getLineName());
|
||||
eventLogVO.setSubstation(areaMap.get(rawLog.getLineId()).get(0).getSubName());
|
||||
eventLogVO.setPowerCompany(areaMap.get(rawLog.getLineId()).get(0).getGdName());
|
||||
Double e=eventDetailMap.get(rawLog.getLineId()).get(0).getFeatureAmplitude();
|
||||
eventLogVO.setLineId(rawLog.getMeasurementPointId());
|
||||
eventLogVO.setTime(dateTimeFormatter.format(rawLog.getStartTime()));
|
||||
eventLogVO.setLine(areaMap.get(rawLog.getMeasurementPointId()).get(0).getLineName());
|
||||
eventLogVO.setSubstation(areaMap.get(rawLog.getMeasurementPointId()).get(0).getSubName());
|
||||
eventLogVO.setPowerCompany(areaMap.get(rawLog.getMeasurementPointId()).get(0).getGdName());
|
||||
Double e=eventDetailMap.get(rawLog.getMeasurementPointId()).get(0).getFeatureAmplitude();
|
||||
BigDecimal bd = new BigDecimal(e);
|
||||
e= bd.setScale(2, BigDecimal.ROUND_DOWN).doubleValue();
|
||||
eventLogVO.setEventValue(String.valueOf(e*100));
|
||||
double i = eventDetailMap.get(rawLog.getLineId()).get(0).getDuration();
|
||||
double i = eventDetailMap.get(rawLog.getMeasurementPointId()).get(0).getDuration();
|
||||
eventLogVO.setPersistTime(String.valueOf(i));
|
||||
eventLogVO.setCreatTime(dateTimeFormatter.format(rawLog.getCreateTime()));
|
||||
eventLogVO.setCreatTimed(dateTimeFormatter.format(rawLog.getCreateTime()));
|
||||
@@ -155,72 +171,14 @@ public class LogManageServiceImpl implements LogManageService {
|
||||
page.setRecords(list);
|
||||
}
|
||||
return page;
|
||||
|
||||
|
||||
// /** 查询event_push_logs表数据*/
|
||||
// List<EventPushLogs> eventPushLogs = getEventPushLogs(eventLogParam.getSearchBeginTime(), eventLogParam.getSearchEndTime(), eventLogParam.getResult());
|
||||
// //待分页数据总量
|
||||
// page.setTotal(eventPushLogs.size());
|
||||
// //分页总页数
|
||||
// int pages = (int)Math.ceil(eventPushLogs.size()*1.0/eventLogParam.getPageSize());
|
||||
// page.setPages(pages);
|
||||
// if (!CollectionUtils.isEmpty(eventPushLogs)) {
|
||||
// List<String> lineIndexes = eventPushLogs.stream().map(EventPushLogs::getLineId).collect(Collectors.toList());
|
||||
// lineIndexes = lineIndexes.stream().distinct().collect(Collectors.toList());
|
||||
// /** 分页查询pqs_eventdetail表数据*/
|
||||
// List<EventDetail> eventDetailData = eventDetailFeignClient.getEventDetailLimit(lineIndexes, eventLogParam.getSearchBeginTime(), eventLogParam.getSearchEndTime(), eventLogParam.getPageSize(), eventLogParam.getPageNum()).getData();
|
||||
// if (!CollectionUtils.isEmpty(eventDetailData)) {
|
||||
// for (EventPushLogs pushLogs: eventPushLogs) {
|
||||
// for (EventDetail eventDetail: eventDetailData) {
|
||||
// if (pushLogs.getLineId().equals(eventDetail.getLineId()) && pushLogs.getTimeId().equals(eventDetail.getStartTime())) {
|
||||
// EventLogVO event = logManageMapper.getEventLogData(pushLogs.getLineId());
|
||||
// if (Objects.isNull(event)) {
|
||||
// continue;
|
||||
// }
|
||||
// EventLogVO eventLogVO = new EventLogVO();
|
||||
// eventLogVO.setLineId(pushLogs.getLineId());
|
||||
// LocalDateTime localDateTime = LocalDateTime.ofInstant(pushLogs.getTimeId(), ZoneId.systemDefault());
|
||||
// DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
|
||||
// String format = dateTimeFormatter.format(localDateTime);
|
||||
// eventLogVO.setTime(format);
|
||||
// eventLogVO.setLine(event.getLine());
|
||||
// eventLogVO.setSubstation(event.getSubstation());
|
||||
// eventLogVO.setPowerCompany(event.getPowerCompany());
|
||||
// Double e = eventDetail.getFeatureAmplitude();
|
||||
// BigDecimal bd = new BigDecimal(e);
|
||||
// e= bd.setScale(2, BigDecimal.ROUND_DOWN).doubleValue();
|
||||
// eventLogVO.setEventValue(String.valueOf(e*100));
|
||||
// double i = eventDetail.getDuration() / 1000;
|
||||
// eventLogVO.setPersistTime(String.valueOf(i));
|
||||
// eventLogVO.setCreatTime(pushLogs.getCreateTime());
|
||||
// eventLogVO.setCreatTimed(pushLogs.getCreateTime());
|
||||
// eventLogVO.setPushFailed(pushLogs.getPushFailed());
|
||||
// if (pushLogs.getResult()==0) {
|
||||
// eventLogVO.setResult("失败");
|
||||
// eventLogVO.setState("未推送");
|
||||
// } else {
|
||||
// eventLogVO.setResult("成功");
|
||||
// eventLogVO.setState("已推送");
|
||||
// }
|
||||
// eventLogVO.setUpdateTime(pushLogs.getUpdateTime());
|
||||
//
|
||||
// list.add(eventLogVO);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// //当前页数据
|
||||
// page.setRecords(list);
|
||||
// }
|
||||
// return page;
|
||||
}
|
||||
|
||||
private boolean filterLineIdAndTime(EventDetail eventDetail, List<EventPushLogs> eventPushLogs) {
|
||||
boolean flag = false;
|
||||
String evenDetailTime = eventDetail.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
for (EventPushLogs log : eventPushLogs) {
|
||||
String logTime = log.getTimeId().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
if (log.getLineId().equals(eventDetail.getLineId()) && evenDetailTime.equals(logTime)) {
|
||||
String logTime = log.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
if (log.getMeasurementPointId().equals(eventDetail.getLineId())&& log.getEventId().equals(eventDetail.getEventId())&& evenDetailTime.equals(logTime)) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user