diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java index 9d5c1b255..208e134b2 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java @@ -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.vo.*; 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.RequestBody; import org.springframework.web.bind.annotation.RequestParam; @@ -274,12 +275,12 @@ public interface LineFeignClient { HttpResult> getOnLineDevLine(@RequestBody List lineIds); /** - * @Description: 获取变电站和监测点的关系(分稳态暂态) - * @Param: [devDataType] 0:暂态 1:稳态 - * @return: com.njcn.common.pojo.response.HttpResult>> - * @Author: clam - * @Date: 2022/10/20 - */ + * @Description: 获取变电站和监测点的关系(分稳态暂态) + * @Param: [devDataType] 0:暂态 1:稳态 + * @return: com.njcn.common.pojo.response.HttpResult>> + * @Author: clam + * @Date: 2022/10/20 + */ @PostMapping("getLineBySubstationRelation") HttpResult>> getLineBySubstationRelation(@RequestParam("devDataType") Integer devDataType); @@ -356,4 +357,8 @@ public interface LineFeignClient { */ @PostMapping("/getByName") HttpResult> getByName(@RequestBody LineBaseQueryParam param); + + @GetMapping("/getLevelMonitorIdByDept") + HttpResult> getLevelMonitorIdByDept(@RequestParam("level") String level,@RequestParam("deptId")String deptId); + } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java index 8d580e7e6..e27c57e99 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java @@ -288,6 +288,12 @@ public class LineFeignClientFallbackFactory implements FallbackFactory> getLevelMonitorIdByDept(String level, String deptId) { + log.error("{}异常,降级处理,异常为:{}", "根据部门查询重要测点id: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java index 6682b29fb..ccb030e36 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java @@ -545,4 +545,14 @@ public class LineController extends BaseController { List list = lineService.getByDeptDevLine(id); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("根据部门获取所有指定等级的监测点id") + @GetMapping("/getLevelMonitorIdByDept") + HttpResult> getLevelMonitorIdByDept(@RequestParam("level") String level,@RequestParam("deptId")String deptId){ + String methodDescribe = getMethodDescribe("getLevelMonitorIdByDept"); + List list = lineService.getLevelMonitorByDept(level,deptId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java index 4b9fb0da7..2c3c458b5 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java @@ -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.TopMsgPO; import com.njcn.device.pq.pojo.vo.*; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; import java.util.Map; @@ -137,19 +138,19 @@ public interface LineService extends IService { /** * @Description: 通过部门索引查询其下监测点数 * @Param: [deviceInfoParam] 监测点查询条件 - * @return: java.util.List - * @Author: clam - * @Date: 2022/10/10 - */ + * @return: java.util.List + * @Author: clam + * @Date: 2022/10/10 + */ List getDeptLineCount(DeviceInfoParam deviceInfoParam); /** - * @Description: 获取变电站和监测点的关系(分稳态暂态) - * @Param: [devDataType] - * @return: java.util.Map> - * @Author: clam - * @Date: 2022/10/20 - */ + * @Description: 获取变电站和监测点的关系(分稳态暂态) + * @Param: [devDataType] + * @return: java.util.Map> + * @Author: clam + * @Date: 2022/10/20 + */ Map> getLineBySubstationRelation(Integer devDataType); /** @@ -161,20 +162,20 @@ public interface LineService extends IService { */ List getLineDetailList(List lineIds); /** - * @Description: 获取变电站下终端数 - * @Param: [subIndex] - * @return: java.lang.Integer - * @Author: clam - * @Date: 2022/11/9 - */ + * @Description: 获取变电站下终端数 + * @Param: [subIndex] + * @return: java.lang.Integer + * @Author: clam + * @Date: 2022/11/9 + */ Integer getDeviceCountBySubstation(String subIndex); /** - * @Description: 获取变电站下监测点数 + * @Description: 获取变电站下监测点数 * @Param: [subIndex] - * @return: java.lang.Integer - * @Author: clam - * @Date: 2022/11/9 - */ + * @return: java.lang.Integer + * @Author: clam + * @Date: 2022/11/9 + */ Integer getLineCountBySubstation(String subIndex); PagegetNewDeviceRunStatistics(PqsParam deviceInfoParam); @@ -187,7 +188,7 @@ public interface LineService extends IService { /** * @Description: 根据监测点获取监测点信息 - * @param id + * @param id * @return: com.njcn.device.biz.pojo.dto.LineDTO * @Author: wr * @Date: 2023/9/22 10:46 @@ -230,4 +231,7 @@ public interface LineService extends IService { * @return */ List getByDeptDevLine(String id); + + List getLevelMonitorByDept(@RequestParam("level") String level, @RequestParam("deptId")String deptId); + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java index 015c06f0d..455303bc8 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java @@ -37,6 +37,7 @@ import com.njcn.influx.pojo.po.PqsCommunicate; import com.njcn.influx.query.InfluxQueryWrapper; import com.njcn.system.api.AreaFeignClient; import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.pojo.po.Area; import com.njcn.system.pojo.po.DictData; @@ -92,7 +93,7 @@ public class LineServiceImpl extends ServiceImpl implements Li private final TopMsgMapper topMsgMapper; - private final PqsCommunicateMapper pqsCommunicateMapper; + private final PqsCommunicateMapper pqsCommunicateMapper; private final TerminalMaintainMapper terminalMaintainMapper; private final DeptFeignClient deptFeignClient; @@ -398,7 +399,7 @@ public class LineServiceImpl extends ServiceImpl implements Li LineStateVO lineStateVO; //获取状态 - // lineStateVO = lineMapper.getLineStatisticsDetail(generalDeviceDTO.getLineIndexes()); + // lineStateVO = lineMapper.getLineStatisticsDetail(generalDeviceDTO.getLineIndexes()); lineStateVO = lineMapper.getDeviceStatus(generalDeviceDTO.getDeviceIndexes()); BeanUtil.copyProperties(lineStateVO, lineStatisticsDetail); normalStateTail += lineStateVO.getNormalStateNum(); @@ -587,7 +588,7 @@ public class LineServiceImpl extends ServiceImpl implements Li LineDetailDataVO lineDetailDataVO = new LineDetailDataVO(); String areaId = "",gdId="",subStationId = "", devId = "", voId = "",lineId="", - areaName = "",gdName="",subStationName = "", devName = "", voName = "",lineName=""; + areaName = "",gdName="",subStationName = "", devName = "", voName = "",lineName=""; for (LineDataVO lineDataVO : lineDataVOList) { switch (lineDataVO.getLevel()) { case 1: @@ -647,7 +648,7 @@ public class LineServiceImpl extends ServiceImpl implements Li LineALLInfoDTO.LineSubStationDTO lineSubStationDTO = new LineALLInfoDTO.LineSubStationDTO(); lineSubStationDTO.setSubStationId(subStationId); lineSubStationDTO.setSubStationName(subStationName); - + lineALLInfoDTO.setLineSubStationDTO(lineSubStationDTO); //todo 处理部门信息后续需要部门信息在添加 @@ -729,6 +730,14 @@ public class LineServiceImpl extends ServiceImpl implements Li return info; } + @Override + public List getLevelMonitorByDept(String level, String deptId) { + List deptIds = deptFeignClient.getDepSonIdtByDeptId(deptId).getData(); + List lineIds = deptLineService.list(new LambdaQueryWrapper().in(DeptLine::getId,deptIds)).stream().map(DeptLine::getLineId).distinct().collect(Collectors.toList()); + List result = lineDetailMapper.selectList(new LambdaQueryWrapper().select(LineDetail::getId).in(LineDetail::getId,lineIds).eq(LineDetail::getLineGrade,level)).stream().map(LineDetail::getId).distinct().collect(Collectors.toList()); + return result; + } + @Override public List getOverLimitByList(PollutionParamDTO pollutionParamDTO) { return overlimitMapper.selectBatchIds(pollutionParamDTO.getLineList()); @@ -799,10 +808,10 @@ public class LineServiceImpl extends ServiceImpl implements Li /** * @Description: 通过部门索引查询其下监测点数 * @Param: [deviceInfoParam] 监测点查询条件 - * @return: java.util.List - * @Author: clam - * @Date: 2022/10/10 - */ + * @return: java.util.List + * @Author: clam + * @Date: 2022/10/10 + */ @Override public List getDeptLineCount(DeviceInfoParam deviceInfoParam) { List deptLineCountVOList = new ArrayList<> (); diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventBaseParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventBaseParam.java index a8bbf698e..fb8367e7e 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventBaseParam.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventBaseParam.java @@ -25,6 +25,8 @@ public class EventBaseParam extends BaseParam implements Serializable { @ApiModelProperty(name = "lineId", value = "监测点索引") private String lineId; + private String deptId; + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RmpEventDetailController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RmpEventDetailController.java index 1b9c1b2eb..bce381dd2 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RmpEventDetailController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RmpEventDetailController.java @@ -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>> getImMonitorEvents(@RequestBody EventBaseParam param) { + String methodDescribe = getMethodDescribe("getImMonitorEvents"); + List> result = rmpEventDetailService.getImMonitorEvents(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java index 1fb30f5ad..c62c5980f 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java @@ -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> 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 queryWrapper = new QueryWrapper<>(); + + if(StrUtil.isNotBlank(param.getLineId())){ + queryWrapper.eq("measurement_point_id",param.getSearchValue()); + }else { + List 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> mapList = this.baseMapper.selectMaps(queryWrapper); + List ids = mapList.stream().map(it->it.get("lineId").toString()).distinct().collect(Collectors.toList()); + List lineList = lineFeignClient.getBaseLineList(ids).getData(); + Map 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 setData(List gwLineAllIds, List list) { List info=new ArrayList<>(); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RmpEventDetailService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RmpEventDetailService.java index 2f9484e90..26ee7129d 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RmpEventDetailService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RmpEventDetailService.java @@ -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 { * @Date: 2024/5/4 17:08 */ RMpEventDetailM getEventDetailByLine(StatisticsBizBaseParam param); + + + List> getImMonitorEvents(EventBaseParam param); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadMainMonitorController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadMainMonitorController.java index ddeb7f4aa..eb7f0917d 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadMainMonitorController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadMainMonitorController.java @@ -9,9 +9,6 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.harmonic.pojo.dto.upload.RUploadMainMonitorDataDTO; 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.web.controller.BaseController; import io.swagger.annotations.ApiImplicitParam;