1.大屏重要测点暂降发生次数接口

This commit is contained in:
cdf
2024-11-26 08:42:29 +08:00
parent 5b4b756fc3
commit 92ffdb1931
10 changed files with 131 additions and 39 deletions

View File

@@ -1,12 +1,14 @@
package com.njcn.event.controller.majornetwork;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.event.pojo.param.EventBaseParam;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.po.RmpEventDetailPO;
import com.njcn.event.pojo.vo.AdvanceEventDetailVO;
@@ -24,6 +26,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
@@ -129,4 +132,18 @@ public class RmpEventDetailController extends BaseController {
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
}
/**
* 查询重要监测点指定时间发生的暂降次数
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getImMonitorEvents")
@ApiOperation("暂降事件记录")
public HttpResult<List<Map<String,Object>>> getImMonitorEvents(@RequestBody EventBaseParam param) {
String methodDescribe = getMethodDescribe("getImMonitorEvents");
List<Map<String,Object>> result = rmpEventDetailService.getImMonitorEvents(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -8,6 +8,7 @@ import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.dto.SimpleDTO;
@@ -30,11 +31,13 @@ import com.njcn.device.pq.api.GeneralDeviceInfoClient;
import com.njcn.device.pq.api.LineFeignClient;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.param.GridDiagramParam;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.vo.AreaLineInfoVO;
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
import com.njcn.event.enums.EventResponseEnum;
import com.njcn.event.mapper.majornetwork.RMpEventDetailMMapper;
import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper;
import com.njcn.event.pojo.param.EventBaseParam;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.po.RmpEventDetailPO;
import com.njcn.event.pojo.vo.*;
@@ -87,10 +90,12 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
private final DistributionMonitorClient distributionMonitorClient;
private final GeneralDeviceInfoClient generalDeviceInfoClient;
private final CommTerminalGeneralClient commTerminalGeneralClient;
private final RMpEventDetailMMapper eventDetailMMapper;
/**
* 获取暂态事件明细
*
@@ -392,6 +397,36 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
return rMpEventDetailM;
}
@Override
public List<Map<String, Object>> getImMonitorEvents(EventBaseParam param) {
DictData eventDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.VOLTAGE_DIP.getCode(),DicDataTypeEnum.EVENT_STATIS.getCode()).getData();
DictData dictData = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.MOST_IMPORMENT.getCode(),DicDataTypeEnum.DEV_GRADE.getCode()).getData();
QueryWrapper<RmpEventDetailPO> queryWrapper = new QueryWrapper<>();
if(StrUtil.isNotBlank(param.getLineId())){
queryWrapper.eq("measurement_point_id",param.getSearchValue());
}else {
List<String> lineIds = lineFeignClient.getLevelMonitorIdByDept(dictData.getId(),param.getDeptId()).getData();
queryWrapper.in("measurement_point_id",lineIds);
}
//lineFeignClient.getLevelMonitorIdByDept(dictData.getId(),)
queryWrapper.select("measurement_point_id as lineId","count(event_id) as eventCount").between("start_time",param.getSearchBeginTime(),param.getSearchEndTime())
.eq("event_type",eventDic.getId())
.groupBy("measurement_point_id");
List<Map<String,Object>> mapList = this.baseMapper.selectMaps(queryWrapper);
List<String> ids = mapList.stream().map(it->it.get("lineId").toString()).distinct().collect(Collectors.toList());
List<Line> lineList = lineFeignClient.getBaseLineList(ids).getData();
Map<String,Line> lineMap = lineList.stream().collect(Collectors.toMap(Line::getId,Function.identity()));
mapList.forEach(item->{
item.put("lineName",lineMap.get(item.get("lineId")).getName());
});
return mapList;
}
private List<Double> setData(List<String> gwLineAllIds, List<RmpEventDetailPO> list) {
List<Double> info=new ArrayList<>();

View File

@@ -3,8 +3,10 @@ package com.njcn.event.service.majornetwork;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.pq.pojo.param.GridDiagramParam;
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
import com.njcn.event.pojo.param.EventBaseParam;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.po.RmpEventDetailPO;
import com.njcn.event.pojo.vo.AdvanceEventDetailVO;
@@ -14,8 +16,10 @@ import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.event.pojo.po.RMpEventDetailM;
import com.njcn.system.pojo.po.DictData;
import com.njcn.web.pojo.param.BaseParam;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
/**
* 暂态事件明细
@@ -73,4 +77,7 @@ public interface RmpEventDetailService extends IService<RmpEventDetailPO> {
* @Date: 2024/5/4 17:08
*/
RMpEventDetailM getEventDetailByLine(StatisticsBizBaseParam param);
List<Map<String,Object>> getImMonitorEvents(EventBaseParam param);
}