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

@@ -14,6 +14,7 @@ import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.pq.pojo.po.line.LineInfoVO; import com.njcn.device.pq.pojo.po.line.LineInfoVO;
import com.njcn.device.pq.pojo.vo.*; import com.njcn.device.pq.pojo.vo.*;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
@@ -356,4 +357,8 @@ public interface LineFeignClient {
*/ */
@PostMapping("/getByName") @PostMapping("/getByName")
HttpResult<List<LineDetail>> getByName(@RequestBody LineBaseQueryParam param); HttpResult<List<LineDetail>> getByName(@RequestBody LineBaseQueryParam param);
@GetMapping("/getLevelMonitorIdByDept")
HttpResult<List<String>> getLevelMonitorIdByDept(@RequestParam("level") String level,@RequestParam("deptId")String deptId);
} }

View File

@@ -288,6 +288,12 @@ public class LineFeignClientFallbackFactory implements FallbackFactory<LineFeign
log.error("{}异常,降级处理,异常为:{}", "根据监测点名称和电网侧变电站名称模糊搜索: ", throwable.toString()); log.error("{}异常,降级处理,异常为:{}", "根据监测点名称和电网侧变电站名称模糊搜索: ", throwable.toString());
throw new BusinessException(finalExceptionEnum); throw new BusinessException(finalExceptionEnum);
} }
@Override
public HttpResult<List<String>> getLevelMonitorIdByDept(String level, String deptId) {
log.error("{}异常,降级处理,异常为:{}", "根据部门查询重要测点id: ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
}; };
} }
} }

View File

@@ -545,4 +545,14 @@ public class LineController extends BaseController {
List<DevAndLine> list = lineService.getByDeptDevLine(id); List<DevAndLine> list = lineService.getByDeptDevLine(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
} }
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("根据部门获取所有指定等级的监测点id")
@GetMapping("/getLevelMonitorIdByDept")
HttpResult<List<String>> getLevelMonitorIdByDept(@RequestParam("level") String level,@RequestParam("deptId")String deptId){
String methodDescribe = getMethodDescribe("getLevelMonitorIdByDept");
List<String> list = lineService.getLevelMonitorByDept(level,deptId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
} }

View File

@@ -13,6 +13,7 @@ import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.pq.pojo.po.LineDetail; import com.njcn.device.pq.pojo.po.LineDetail;
import com.njcn.device.pq.pojo.po.TopMsgPO; import com.njcn.device.pq.pojo.po.TopMsgPO;
import com.njcn.device.pq.pojo.vo.*; import com.njcn.device.pq.pojo.vo.*;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -230,4 +231,7 @@ public interface LineService extends IService<Line> {
* @return * @return
*/ */
List<DevAndLine> getByDeptDevLine(String id); List<DevAndLine> getByDeptDevLine(String id);
List<String> getLevelMonitorByDept(@RequestParam("level") String level, @RequestParam("deptId")String deptId);
} }

View File

@@ -37,6 +37,7 @@ import com.njcn.influx.pojo.po.PqsCommunicate;
import com.njcn.influx.query.InfluxQueryWrapper; import com.njcn.influx.query.InfluxQueryWrapper;
import com.njcn.system.api.AreaFeignClient; import com.njcn.system.api.AreaFeignClient;
import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.Area; import com.njcn.system.pojo.po.Area;
import com.njcn.system.pojo.po.DictData; import com.njcn.system.pojo.po.DictData;
@@ -729,6 +730,14 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
return info; return info;
} }
@Override
public List<String> getLevelMonitorByDept(String level, String deptId) {
List<String> deptIds = deptFeignClient.getDepSonIdtByDeptId(deptId).getData();
List<String> lineIds = deptLineService.list(new LambdaQueryWrapper<DeptLine>().in(DeptLine::getId,deptIds)).stream().map(DeptLine::getLineId).distinct().collect(Collectors.toList());
List<String> result = lineDetailMapper.selectList(new LambdaQueryWrapper<LineDetail>().select(LineDetail::getId).in(LineDetail::getId,lineIds).eq(LineDetail::getLineGrade,level)).stream().map(LineDetail::getId).distinct().collect(Collectors.toList());
return result;
}
@Override @Override
public List<Overlimit> getOverLimitByList(PollutionParamDTO pollutionParamDTO) { public List<Overlimit> getOverLimitByList(PollutionParamDTO pollutionParamDTO) {
return overlimitMapper.selectBatchIds(pollutionParamDTO.getLineList()); return overlimitMapper.selectBatchIds(pollutionParamDTO.getLineList());

View File

@@ -25,6 +25,8 @@ public class EventBaseParam extends BaseParam implements Serializable {
@ApiModelProperty(name = "lineId", value = "监测点索引") @ApiModelProperty(name = "lineId", value = "监测点索引")
private String lineId; private String lineId;
private String deptId;

View File

@@ -1,12 +1,14 @@
package com.njcn.event.controller.majornetwork; package com.njcn.event.controller.majornetwork;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil; 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.param.UniversalFrontEndParam;
import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.po.RmpEventDetailPO;
import com.njcn.event.pojo.vo.AdvanceEventDetailVO; import com.njcn.event.pojo.vo.AdvanceEventDetailVO;
@@ -24,6 +26,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
/** /**
@@ -129,4 +132,18 @@ public class RmpEventDetailController extends BaseController {
} }
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); 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.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.dto.SimpleDTO; 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.api.LineFeignClient;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.param.GridDiagramParam; 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.AreaLineInfoVO;
import com.njcn.device.pq.pojo.vo.GridDiagramVO; import com.njcn.device.pq.pojo.vo.GridDiagramVO;
import com.njcn.event.enums.EventResponseEnum; import com.njcn.event.enums.EventResponseEnum;
import com.njcn.event.mapper.majornetwork.RMpEventDetailMMapper; import com.njcn.event.mapper.majornetwork.RMpEventDetailMMapper;
import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper; 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.param.UniversalFrontEndParam;
import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.po.RmpEventDetailPO;
import com.njcn.event.pojo.vo.*; import com.njcn.event.pojo.vo.*;
@@ -87,10 +90,12 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
private final DistributionMonitorClient distributionMonitorClient; private final DistributionMonitorClient distributionMonitorClient;
private final GeneralDeviceInfoClient generalDeviceInfoClient; private final GeneralDeviceInfoClient generalDeviceInfoClient;
private final CommTerminalGeneralClient commTerminalGeneralClient; private final CommTerminalGeneralClient commTerminalGeneralClient;
private final RMpEventDetailMMapper eventDetailMMapper; private final RMpEventDetailMMapper eventDetailMMapper;
/** /**
* 获取暂态事件明细 * 获取暂态事件明细
* *
@@ -392,6 +397,36 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
return rMpEventDetailM; 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) { private List<Double> setData(List<String> gwLineAllIds, List<RmpEventDetailPO> list) {
List<Double> info=new ArrayList<>(); 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.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.common.pojo.param.StatisticsBizBaseParam; 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.param.GridDiagramParam;
import com.njcn.device.pq.pojo.vo.GridDiagramVO; 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.param.UniversalFrontEndParam;
import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.po.RmpEventDetailPO;
import com.njcn.event.pojo.vo.AdvanceEventDetailVO; 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.event.pojo.po.RMpEventDetailM;
import com.njcn.system.pojo.po.DictData; import com.njcn.system.pojo.po.DictData;
import com.njcn.web.pojo.param.BaseParam; import com.njcn.web.pojo.param.BaseParam;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 暂态事件明细 * 暂态事件明细
@@ -73,4 +77,7 @@ public interface RmpEventDetailService extends IService<RmpEventDetailPO> {
* @Date: 2024/5/4 17:08 * @Date: 2024/5/4 17:08
*/ */
RMpEventDetailM getEventDetailByLine(StatisticsBizBaseParam param); RMpEventDetailM getEventDetailByLine(StatisticsBizBaseParam param);
List<Map<String,Object>> getImMonitorEvents(EventBaseParam param);
} }

View File

@@ -9,9 +9,6 @@ import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.pojo.dto.upload.RUploadMainMonitorDataDTO; import com.njcn.harmonic.pojo.dto.upload.RUploadMainMonitorDataDTO;
import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.param.UploadDataParam;
import com.njcn.harmonic.pojo.po.upload.RUploadCommPointBus;
import com.njcn.harmonic.pojo.po.upload.RUploadMainMonitorData;
import com.njcn.harmonic.service.upload.RUploadCommPointBusService;
import com.njcn.harmonic.service.upload.RUploadMainMonitorService; import com.njcn.harmonic.service.upload.RUploadMainMonitorService;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;