diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java index 6574b4f2c..2783ee573 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/EventRelevantAnalysisController.java @@ -1,5 +1,6 @@ package com.njcn.advance.controller; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.netflix.ribbon.proxy.annotation.Http; import com.njcn.advance.pojo.dto.BalanceInfo; @@ -7,8 +8,10 @@ import com.njcn.advance.pojo.param.AdvanceBaseParam; import com.njcn.advance.pojo.po.PqsRelevanceLog; import com.njcn.advance.service.EventRelevantAnalysisService; import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.PubUtils; @@ -30,6 +33,7 @@ import java.io.DataInputStream; import java.net.URLDecoder; import java.time.LocalDateTime; import java.util.List; +import java.util.Map; /** * pqs @@ -102,6 +106,70 @@ public class EventRelevantAnalysisController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); } + /** + * 新增关联事件主列表 + * @author cdf + * @date 2023/8/11 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/queryEventByTimeRange") + @ApiOperation("新增关联事件主列表") + public HttpResult> queryEventByTimeRange(@RequestBody BaseParam baseParam){ + String methodDescribe = getMethodDescribe("queryEventDetailByAssId"); + Page page = eventRelevantAnalysisService.queryEventByTimeRange(baseParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + + /** + * 把暂降事件添加到指定事件中去 + * @author cdf + * @date 2023/8/16 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD) + @PostMapping("/updateEventToAss") + @ApiOperation("把暂降事件添加到指定事件中去") + public HttpResult> updateEventToAss(@RequestBody Map map){ + if(!map.containsKey("eventId") || !map.containsKey("assId")){ + throw new BusinessException("参数异常"); + } + String methodDescribe = getMethodDescribe("updateEventToAss"); + List eventIds = (List) map.get("eventId"); + if(CollectionUtil.isEmpty(eventIds)){ + throw new BusinessException("暂降事件不可为空"); + } + eventRelevantAnalysisService.updateEventToAss(eventIds, (String) map.get("assId")); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + /** + * 删除指定关联事件中的暂降事件 + * @author cdf + * @date 2023/8/16 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD) + @PostMapping("/delEventToAss") + @ApiOperation("删除指定关联事件中的暂降事件") + public HttpResult> delEventToAss(@RequestBody List eventId){ + String methodDescribe = getMethodDescribe("delEventToAss"); + eventRelevantAnalysisService.delEventToAss(eventId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + /** + * 获取指定事件中的暂降事件 + * @author cdf + * @date 2023/8/16 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/queryEventList") + @ApiOperation("查询关联事件中的暂降事件") + public HttpResult> queryEventList(@RequestBody List eventId){ + String methodDescribe = getMethodDescribe("queryEventList"); + List list = eventRelevantAnalysisService.queryEventList(eventId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + /** * 操作记录查看 * @author cdf diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/EventRelevantAnalysisService.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/EventRelevantAnalysisService.java index 511b6f0f0..61774fe7a 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/EventRelevantAnalysisService.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/EventRelevantAnalysisService.java @@ -45,6 +45,15 @@ public interface EventRelevantAnalysisService extends IService */ Page queryEventDetailByAssId(String assId,Integer pageNum,Integer pageSize); + + + Page queryEventByTimeRange(BaseParam baseParam); + + List queryEventList(List eventId); + + boolean updateEventToAss(List eventId,String assId); + + boolean delEventToAss(List eventId); /** * * @author cdf diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/EventRelevantAnalysisServiceImpl.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/EventRelevantAnalysisServiceImpl.java index 9db68ee6a..a1b2e1c40 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/EventRelevantAnalysisServiceImpl.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/EventRelevantAnalysisServiceImpl.java @@ -3,9 +3,11 @@ package com.njcn.advance.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.date.TimeInterval; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -275,34 +277,32 @@ public class EventRelevantAnalysisServiceImpl extends ServiceImpl timeV = PubUtils.checkLocalDate(baseParam.getSearchBeginTime(), baseParam.getSearchEndTime()); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.between(RmpEventDetailAssPO::getTimeId, timeV.get(0), timeV.get(1)) - .orderByAsc(RmpEventDetailAssPO::getTimeId); + .orderByAsc(RmpEventDetailAssPO::getTimeId); Page page = rmpEventDetailAssMapper.selectPage(new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)), lambdaQueryWrapper); return page; } @Override - public Page queryEventDetailByAssId(String assId,Integer pageNum,Integer pageSize) { - Page pageResult = new Page<>(pageNum,pageSize); + public Page queryEventDetailByAssId(String assId, Integer pageNum, Integer pageSize) { + Page pageResult = new Page<>(pageNum, pageSize); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(RmpEventDetailPO::getEventassIndex,assId) + lambdaQueryWrapper.eq(RmpEventDetailPO::getEventassIndex, assId) .orderByAsc(RmpEventDetailPO::getStartTime); - Page page = eventAdvanceMapper.selectPage(new Page<>(pageNum,pageSize),lambdaQueryWrapper); + Page page = eventAdvanceMapper.selectPage(new Page<>(pageNum, pageSize), lambdaQueryWrapper); List pos = page.getRecords(); - if(CollectionUtil.isEmpty(pos)){ + if (CollectionUtil.isEmpty(pos)) { return pageResult; } List lineIds = pos.stream().map(RmpEventDetailPO::getMeasurementPointId).distinct().collect(Collectors.toList()); List lineAres = lineFeignClient.getBaseLineAreaInfo(lineIds).getData(); - Map map = lineAres.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId,Function.identity())); + Map map = lineAres.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity())); - - - List advanceEventDetailVOList = BeanUtil.copyToList(pos,AdvanceEventDetailVO.class); - advanceEventDetailVOList = advanceEventDetailVOList.stream().peek(item->{ - if(map.containsKey(item.getMeasurementPointId())){ + List advanceEventDetailVOList = BeanUtil.copyToList(pos, AdvanceEventDetailVO.class); + advanceEventDetailVOList = advanceEventDetailVOList.stream().peek(item -> { + if (map.containsKey(item.getMeasurementPointId())) { AreaLineInfoVO areaLineInfoVO = map.get(item.getMeasurementPointId()); item.setGdName(areaLineInfoVO.getGdName()); item.setSubName(areaLineInfoVO.getSubName()); @@ -315,6 +315,91 @@ public class EventRelevantAnalysisServiceImpl extends ServiceImpl queryEventByTimeRange(BaseParam baseParam) { + Page page = new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)); + + PubUtils.checkDateTime(baseParam.getSearchBeginTime()); + PubUtils.checkDateTime(baseParam.getSearchEndTime()); + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.and(item -> item.eq(RmpEventDetailPO::getEventassIndex, "") + .or().isNull(RmpEventDetailPO::getEventassIndex)).between(RmpEventDetailPO::getStartTime, baseParam.getSearchBeginTime(), baseParam.getSearchEndTime()); + Page poPage = eventAdvanceMapper.selectPage(new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)), lambdaQueryWrapper); + + List detailPOList = poPage.getRecords(); + if (CollectionUtil.isEmpty(detailPOList)) { + return page; + } + List lineIds = detailPOList.stream().map(RmpEventDetailPO::getMeasurementPointId).distinct().collect(Collectors.toList()); + List lineAres = lineFeignClient.getBaseLineAreaInfo(lineIds).getData(); + Map map = lineAres.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity())); + + List aList = BeanUtil.copyToList(detailPOList, AdvanceEventDetailVO.class); + aList = aList.stream().peek(item -> { + if (map.containsKey(item.getMeasurementPointId())) { + AreaLineInfoVO areaLineInfoVO = map.get(item.getMeasurementPointId()); + item.setGdName(areaLineInfoVO.getGdName()); + item.setSubName(areaLineInfoVO.getSubName()); + item.setLineName(areaLineInfoVO.getLineName()); + item.setVoltageId(areaLineInfoVO.getVoltageScale()); + } + }).collect(Collectors.toList()); + + page.setRecords(aList); + page.setTotal(poPage.getTotal()); + return page; + } + + @Override + public List queryEventList(List eventId) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(RmpEventDetailPO::getEventId,eventId); + List rmpEventDetailPOList = eventAdvanceMapper.selectList(lambdaQueryWrapper); + if (CollectionUtil.isEmpty(rmpEventDetailPOList)) { + throw new BusinessException(AdvanceResponseEnum.EVENT_EMPTY); + } + List tempLineIds = rmpEventDetailPOList.stream().map(RmpEventDetailPO::getLineId).distinct().collect(Collectors.toList()); + + List temLine = lineFeignClient.getBaseLineAreaInfo(tempLineIds).getData(); + Map map = temLine.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity())); + + List advanceEventDetailVOList = BeanUtil.copyToList(rmpEventDetailPOList, AdvanceEventDetailVO.class); + advanceEventDetailVOList = advanceEventDetailVOList.stream().peek(item -> { + if (map.containsKey(item.getLineId())) { + AreaLineInfoVO areaLineInfoVO = map.get(item.getLineId()); + item.setGdName(areaLineInfoVO.getGdName()); + item.setSubName(areaLineInfoVO.getSubName()); + item.setNum(areaLineInfoVO.getNum()); + item.setLineName(areaLineInfoVO.getLineName()); + item.setVoltageId(areaLineInfoVO.getVoltageScale()); + } + }).collect(Collectors.toList()); + + return advanceEventDetailVOList; + } + + @Override + public boolean updateEventToAss(List eventId, String assId) { + LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + lambdaUpdateWrapper.and(item -> item.eq(RmpEventDetailPO::getEventassIndex, "").or().isNotNull(RmpEventDetailPO::getEventassIndex)) + .in(RmpEventDetailPO::getEventId, eventId); + RmpEventDetailPO rmpEventDetailPO = new RmpEventDetailPO(); + rmpEventDetailPO.setEventassIndex(assId); + eventAdvanceMapper.update(rmpEventDetailPO, lambdaUpdateWrapper); + return true; + } + + @Override + public boolean delEventToAss(List eventId) { + LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + lambdaUpdateWrapper.in(RmpEventDetailPO::getEventId, eventId); + RmpEventDetailPO rmpEventDetailPO = new RmpEventDetailPO(); + rmpEventDetailPO.setEventassIndex(""); + eventAdvanceMapper.update(rmpEventDetailPO, lambdaUpdateWrapper); + return true; + } + @Override public Page queryRelevantLogPage(BaseParam baseParam) { LambdaQueryWrapper logLambdaQueryWrapper = new LambdaQueryWrapper<>(); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/CommTerminalController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/CommTerminalController.java index be6de351c..090e57899 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/CommTerminalController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/CommTerminalController.java @@ -29,7 +29,7 @@ import java.util.List; @RequestMapping("/commTerminal") @RequiredArgsConstructor @Slf4j -@Api(tags = "通用台账-所有子孙部门以及监测点") +@Api(tags = "通用台账查询") public class CommTerminalController extends BaseController { private final IMonitorService monitorService; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java index 9b4de5339..2741b4c0b 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java @@ -30,7 +30,7 @@ import java.util.List; @RequestMapping("commTerminal") @RequiredArgsConstructor @Slf4j -@Api(tags = "通用台账-所有子孙部门以及监测点") +@Api(tags = "通用台账查询") public class CommTerminalController extends BaseController { private final CommTerminalService commTerminalService; @@ -64,7 +64,7 @@ public class CommTerminalController extends BaseController { TimeInterval timer = new TimeInterval(); String methodDescribe = getMethodDescribe("getDeptChildrenByParent"); List result = commTerminalService.getDeptChildrenByParent(deptGetLineParam); - log.info("运行时长" + timer.intervalRestart()); + log.info("运行时长" + timer.intervalSecond()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } @@ -80,7 +80,7 @@ public class CommTerminalController extends BaseController { TimeInterval timer = new TimeInterval(); String methodDescribe = getMethodDescribe("deptGetLine"); List result = commTerminalService.deptGetLine(deptGetLineParam); - log.info("运行时长" + timer.intervalRestart()); + log.info("运行时长" + timer.intervalSecond()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } @@ -99,7 +99,7 @@ public class CommTerminalController extends BaseController { TimeInterval timer = new TimeInterval(); String methodDescribe = getMethodDescribe("deptSubStation"); List result = commTerminalService.deptSubStation(deptGetLineParam); - log.info("运行时长" + timer.intervalRestart()); + log.info("运行时长" + timer.intervalSecond()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } @@ -115,7 +115,7 @@ public class CommTerminalController extends BaseController { TimeInterval timer = new TimeInterval(); String methodDescribe = getMethodDescribe("deptBusBar"); List result = commTerminalService.deptBusBar(deptGetLineParam); - log.info("运行时长" + timer.intervalRestart()); + log.info("运行时长" + timer.intervalSecond()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } @@ -133,7 +133,7 @@ public class CommTerminalController extends BaseController { TimeInterval timer = new TimeInterval(); String methodDescribe = getMethodDescribe("deptGetDevice"); List result = commTerminalService.deptGetDevice(deptGetLineParam,0); - log.info("运行时长" + timer.intervalRestart()); + log.info("运行时长" + timer.intervalSecond()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } @@ -149,7 +149,7 @@ public class CommTerminalController extends BaseController { TimeInterval timer = new TimeInterval(); String methodDescribe = getMethodDescribe("deptGetDeviceAndMonitor"); List result = commTerminalService.deptGetDevice(deptGetLineParam,1); - log.info("运行时长" + timer.intervalRestart()); + log.info("运行时长" + timer.intervalSecond()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } @@ -165,7 +165,7 @@ public class CommTerminalController extends BaseController { TimeInterval timer = new TimeInterval(); String methodDescribe = getMethodDescribe("substationGetLine"); LineDevGetBandDTO result = commTerminalService.substationGetLine(substationId); - log.info("运行时长" + timer.intervalRestart()); + log.info("运行时长" + timer.intervalSecond()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } @@ -182,7 +182,7 @@ public class CommTerminalController extends BaseController { TimeInterval timer = new TimeInterval(); String methodDescribe = getMethodDescribe("busBarGetLine"); LineDevGetBandDTO result = commTerminalService.substationGetLine(busBarId); - log.info("运行时长" + timer.intervalRestart()); + log.info("运行时长" + timer.intervalSecond()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); }