电压暂降:地图概览修改
This commit is contained in:
@@ -6,7 +6,6 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalBaseVO;
|
||||
import com.njcn.event.pojo.po.EventDetailNew;
|
||||
import com.njcn.event.pojo.vo.AreaSubLineVO;
|
||||
import com.njcn.event.service.majornetwork.AreaInfoService;
|
||||
@@ -60,7 +59,7 @@ public class AreaInfoController extends BaseController {
|
||||
@PostMapping("/getNoDealEvents")
|
||||
@ApiOperation("获取区域未处理暂态事件")
|
||||
@ApiImplicitParam(name = "deviceInfoParam", value = "参数体", required = true)
|
||||
public HttpResult<List<EventDetailNew>> getNoDealEvents(@RequestBody @Validated DeviceInfoParam deviceInfoParam) {
|
||||
public HttpResult<List<EventDetailNew>> getNoDealEvents(@RequestBody @Validated DeviceInfoParam.BusinessParam deviceInfoParam) {
|
||||
String methodDescribe = getMethodDescribe("getNoDealEvents");
|
||||
List<EventDetailNew> res = areaInfoService.getNoDealEvents(deviceInfoParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe);
|
||||
@@ -76,9 +75,12 @@ public class AreaInfoController extends BaseController {
|
||||
@GetMapping("/getNoDealEventsByLineId")
|
||||
@ApiOperation("获取监测点下未处理的暂降事件")
|
||||
@ApiImplicitParam(name = "id", value = "监测点id", required = true)
|
||||
public HttpResult<List<EventDetailNew>> getNoDealEventsByLineId(@RequestParam("id") @NotBlank(message = "监测点id不可为空") String id) {
|
||||
public HttpResult<List<EventDetailNew>> getNoDealEventsByLineId(@RequestParam("id") @NotBlank(message = "监测点id不可为空") String id,
|
||||
@RequestParam("searchBeginTime") @NotBlank(message = "开始时间不可为空") String searchBeginTime,
|
||||
@RequestParam("searchEndTime") @NotBlank(message = "结束时间不可为空") String searchEndTime
|
||||
) {
|
||||
String methodDescribe = getMethodDescribe("getNoDealEventsByLineId");
|
||||
List<EventDetailNew> res = areaInfoService.getNoDealEventsByLineId(id);
|
||||
List<EventDetailNew> res = areaInfoService.getNoDealEventsByLineId(id,searchBeginTime,searchEndTime);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.njcn.event.service.majornetwork;
|
||||
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalBaseVO;
|
||||
import com.njcn.event.pojo.po.EventDetailNew;
|
||||
import com.njcn.event.pojo.vo.AreaSubLineVO;
|
||||
|
||||
@@ -17,25 +16,26 @@ public interface AreaInfoService {
|
||||
|
||||
/**
|
||||
* 获取区域监测点地理信息
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2022/6/29
|
||||
*/
|
||||
List<AreaSubLineVO> getAreaLineInfo(DeviceInfoParam.BusinessParam deviceInfoParam);
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取区域监测点地理信息
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2022/6/29
|
||||
*/
|
||||
List<EventDetailNew> getNoDealEvents(DeviceInfoParam deviceInfoParam);
|
||||
List<EventDetailNew> getNoDealEvents(DeviceInfoParam.BusinessParam deviceInfoParam);
|
||||
|
||||
/**
|
||||
* 获取监测点下未处理的暂降事件
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2022/6/29
|
||||
*/
|
||||
List<EventDetailNew> getNoDealEventsByLineId(String id);
|
||||
List<EventDetailNew> getNoDealEventsByLineId(String id, String searchBeginTime, String searchEndTime);
|
||||
}
|
||||
|
||||
@@ -39,13 +39,11 @@ import java.util.stream.Stream;
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
public class AreaInfoServiceImpl implements AreaInfoService {
|
||||
private final InfluxDbUtils influxDbUtils;
|
||||
|
||||
private final GeneralDeviceInfoClient generalDeviceInfoClient;
|
||||
|
||||
private final LineFeignClient lineFeignClient;
|
||||
|
||||
private final TerminalBaseClient terminalBaseClient;
|
||||
private final EventDetailService eventDetailService;
|
||||
|
||||
@Override
|
||||
@@ -60,30 +58,21 @@ public class AreaInfoServiceImpl implements AreaInfoService {
|
||||
//查询监测点未处理暂态事件
|
||||
List<RmpEventDetailPO> eventDetails = eventDetailService.list(new LambdaQueryWrapper<RmpEventDetailPO>()
|
||||
.in(RmpEventDetailPO::getMeasurementPointId, lineIds)
|
||||
.ge(StringUtils.isNotBlank(deviceInfoParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime,DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())))
|
||||
.le(StringUtils.isNotBlank(deviceInfoParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())))
|
||||
.ge(StringUtils.isNotBlank(deviceInfoParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())))
|
||||
.le(StringUtils.isNotBlank(deviceInfoParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())))
|
||||
);
|
||||
//根据监测点分组统计数量
|
||||
Map<String, Long> count = eventDetails.stream().collect(Collectors.groupingBy(RmpEventDetailPO::getMeasurementPointId, Collectors.counting()));
|
||||
|
||||
for (AreaLineInfoVO areaLineInfoVO : resList) {
|
||||
boolean flag = false;
|
||||
if(CollectionUtil.isNotEmpty(count)) {
|
||||
for (String s : count.keySet()) {
|
||||
if (count.containsKey(areaLineInfoVO.getLineId())) {
|
||||
Long aLong = count.get(s);
|
||||
areaLineInfoVO.setNoDealCount(Math.toIntExact(aLong));
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (!flag) {
|
||||
areaLineInfoVO.setNoDealCount(0);
|
||||
if (CollectionUtil.isNotEmpty(count)) {
|
||||
if (count.containsKey(areaLineInfoVO.getLineId())) {
|
||||
Long aLong = count.get(areaLineInfoVO.getLineId());
|
||||
areaLineInfoVO.setNoDealCount(Math.toIntExact(aLong));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//组装成变电站
|
||||
if (CollectionUtil.isNotEmpty(resList)) {
|
||||
@@ -103,9 +92,8 @@ public class AreaInfoServiceImpl implements AreaInfoService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<EventDetailNew> getNoDealEvents(DeviceInfoParam deviceInfoParam) {
|
||||
public List<EventDetailNew> getNoDealEvents(DeviceInfoParam.BusinessParam deviceInfoParam) {
|
||||
List<EventDetailNew> resList = new ArrayList<>();
|
||||
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
|
||||
List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
|
||||
@@ -116,17 +104,20 @@ public class AreaInfoServiceImpl implements AreaInfoService {
|
||||
|
||||
//查询监测点未处理暂态事件
|
||||
List<RmpEventDetailPO> eventDetails = eventDetailService.list(new LambdaQueryWrapper<RmpEventDetailPO>()
|
||||
.in(RmpEventDetailPO::getMeasurementPointId, lineIds).orderByDesc(RmpEventDetailPO::getStartTime));
|
||||
.in(RmpEventDetailPO::getMeasurementPointId, lineIds)
|
||||
.ge(StringUtils.isNotBlank(deviceInfoParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())))
|
||||
.le(StringUtils.isNotBlank(deviceInfoParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())))
|
||||
.orderByDesc(RmpEventDetailPO::getStartTime));
|
||||
EventDetailNew eventDetailNew;
|
||||
for (RmpEventDetailPO eventDetail : eventDetails) {
|
||||
eventDetailNew= BeanUtil.copyProperties(eventDetail,EventDetailNew.class);
|
||||
eventDetailNew = BeanUtil.copyProperties(eventDetail, EventDetailNew.class);
|
||||
//监测点id
|
||||
eventDetailNew.setLineId(eventDetail.getMeasurementPointId());
|
||||
//持续时间
|
||||
eventDetailNew.setDuration(eventDetail.getDuration());
|
||||
//特征幅值
|
||||
eventDetailNew.setFeatureAmplitude(eventDetail.getFeatureAmplitude());
|
||||
if(lineMap.containsKey(eventDetail.getMeasurementPointId())){
|
||||
if (lineMap.containsKey(eventDetail.getMeasurementPointId())) {
|
||||
AreaLineInfoVO areaLineInfoVO = lineMap.get(eventDetail.getMeasurementPointId());
|
||||
eventDetailNew.setLineName(areaLineInfoVO.getLineName());
|
||||
eventDetailNew.setLng(areaLineInfoVO.getLng());
|
||||
@@ -139,33 +130,33 @@ public class AreaInfoServiceImpl implements AreaInfoService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<EventDetailNew> getNoDealEventsByLineId(String id) {
|
||||
public List<EventDetailNew> getNoDealEventsByLineId(String id, String searchBeginTime, String searchEndTime) {
|
||||
List<AreaLineInfoVO> lineList = lineFeignClient.getBaseLineAreaInfo(Stream.of(id).collect(Collectors.toList())).getData();
|
||||
|
||||
List<EventDetailNew> resList = new ArrayList<>();
|
||||
//查询监测点未处理暂态事件
|
||||
List<RmpEventDetailPO> eventDetails = eventDetailService.list(new LambdaQueryWrapper<RmpEventDetailPO>()
|
||||
.eq(RmpEventDetailPO::getMeasurementPointId, id));
|
||||
.eq(RmpEventDetailPO::getMeasurementPointId, id)
|
||||
.ge(StringUtils.isNotBlank(searchBeginTime), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(searchBeginTime)))
|
||||
.le(StringUtils.isNotBlank(searchEndTime), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(searchEndTime)))
|
||||
|
||||
);
|
||||
EventDetailNew eventDetailNew;
|
||||
for (RmpEventDetailPO eventDetail : eventDetails) {
|
||||
eventDetailNew= BeanUtil.copyProperties(eventDetail,EventDetailNew.class);
|
||||
eventDetailNew = BeanUtil.copyProperties(eventDetail, EventDetailNew.class);
|
||||
//监测点id
|
||||
eventDetailNew.setLineId(eventDetail.getMeasurementPointId());
|
||||
//持续时间
|
||||
eventDetailNew.setDuration(eventDetail.getDuration());
|
||||
//特征幅值
|
||||
eventDetailNew.setFeatureAmplitude(eventDetail.getFeatureAmplitude());
|
||||
if(CollectionUtil.isNotEmpty(lineList)){
|
||||
resList = resList.stream().peek(item->{
|
||||
item.setGdName(lineList.get(0).getGdName());
|
||||
item.setSubName(lineList.get(0).getSubName());
|
||||
item.setLineName(lineList.get(0).getLineName());
|
||||
}).collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(lineList)) {
|
||||
eventDetailNew.setGdName(lineList.get(0).getGdName());
|
||||
eventDetailNew.setSubName(lineList.get(0).getSubName());
|
||||
eventDetailNew.setLineName(lineList.get(0).getLineName());
|
||||
}
|
||||
resList.add(eventDetailNew);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return resList;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user