From 04ce3eb97ddee408a7678c67dc2f286b4462eea6 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Fri, 22 Nov 2024 09:21:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=B7=E5=8D=97=E5=A4=A7=E5=B1=8Fbug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8C=E6=9A=82=E6=80=81=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=8A=9F=E8=83=BD=E6=96=B0=E5=A2=9E=E4=B8=A4?= =?UTF-8?q?=E4=B8=AA=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/param/EventVerifyReasonParam.java | 23 ++++++++++ .../njcn/event/pojo/param/TransientParam.java | 9 ++++ .../njcn/event/pojo/po/EventDetailNew.java | 7 +++ .../njcn/event/pojo/po/RmpEventDetailPO.java | 8 ++++ .../majornetwork/TransientController.java | 10 +++++ .../Impl/TransientServiceImpl.java | 44 +++++++++++++++++++ .../majornetwork/TransientService.java | 4 +- .../com/njcn/harmonic/pojo/vo/RMpVThdVO.java | 3 ++ .../service/impl/THDistortionServiceImpl.java | 4 +- .../impl/LargeScreenServiceImpl.java | 3 +- .../harmonic/pojo/mysql/RMpEventDetailPO.java | 9 ++++ 11 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventVerifyReasonParam.java diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventVerifyReasonParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventVerifyReasonParam.java new file mode 100644 index 000000000..33bcca6fa --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventVerifyReasonParam.java @@ -0,0 +1,23 @@ +package com.njcn.event.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Description: + * Date: 2024/11/21 14:57【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class EventVerifyReasonParam { + @ApiModelProperty(value = "暂时事件ID") + private String eventId; + + @ApiModelProperty(value = "暂降核实原因") + private String verifyReason; + + @ApiModelProperty(value = "暂降核实原因详情") + private String verifyReasonDetail; +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/TransientParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/TransientParam.java index 3baf8752d..15f910aef 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/TransientParam.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/TransientParam.java @@ -56,6 +56,15 @@ public class TransientParam extends DeviceInfoParam.BusinessParam { @ApiModelProperty("暂降类型") private List eventType; + @ApiModelProperty("变电站") + private List substationIds; + + @ApiModelProperty("线路") + private List lineIds; + + @ApiModelProperty("暂降核实原因") + private List verifyReason; + @ApiModelProperty("波形文件") private Integer fileFlag; diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDetailNew.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDetailNew.java index df8c16639..6d81825a4 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDetailNew.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDetailNew.java @@ -1,5 +1,6 @@ package com.njcn.event.pojo.po; +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -109,6 +110,12 @@ public class EventDetailNew { @ApiModelProperty(value = "暂时事件ID") private String eventId; + @ApiModelProperty(value = "暂降核实原因") + private String verifyReason; + + @ApiModelProperty(value = "暂降核实原因详情") + private String verifyReasonDetail; + public String getStartTime() { return startTime; diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java index 55b22de10..33f0557e3 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java @@ -108,6 +108,14 @@ public class RmpEventDetailPO implements Serializable { @ApiModelProperty(value = "波形路径") private String wavePath; + @ApiModelProperty(value = "暂降核实原因") + @TableField("verify_reason") + private String verifyReason; + + @ApiModelProperty(value = "暂降核实原因详情") + @TableField("verify_reason_detail") + private String verifyReasonDetail; + private Double transientValue; private LocalDateTime createTime; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java index 238162eb3..c8d972537 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java @@ -9,6 +9,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pms.pojo.param.MonitorTerminalParam; import com.njcn.event.file.pojo.dto.WaveDataDTO; +import com.njcn.event.pojo.param.EventVerifyReasonParam; import com.njcn.event.pojo.param.TransientParam; import com.njcn.event.pojo.po.EventDetailNew; import com.njcn.event.pojo.vo.TransientVO; @@ -100,6 +101,15 @@ public class TransientController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.DOWNLOAD) + @PostMapping("/updateEventReason") + @ApiOperation("更新暂降核实原因") + public HttpResult updateEventReason(@RequestBody EventVerifyReasonParam eventVerifyReasonParam) { + String methodDescribe = getMethodDescribe("updateEventReason"); + transientService.updateEventReason(eventVerifyReasonParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java index 3f80a6f30..3b382ba11 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java @@ -13,11 +13,14 @@ import com.njcn.common.utils.PubUtils; import com.njcn.device.pms.api.MonitorClient; import com.njcn.device.pms.pojo.param.MonitorTerminalParam; import com.njcn.device.pms.pojo.vo.MonitorVO; +import com.njcn.device.pq.api.DeviceTreeClient; +import com.njcn.device.pq.pojo.vo.TerminalTree; import com.njcn.event.file.pojo.dto.WaveDataDTO; import com.njcn.event.file.component.WaveFileComponent; import com.njcn.event.file.pojo.enums.WaveFileResponseEnum; import com.njcn.event.mapper.distribution.PwRmpEventDetailMapper; import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper; +import com.njcn.event.pojo.param.EventVerifyReasonParam; import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.oss.constant.GeneralConstant; import com.njcn.oss.constant.OssPath; @@ -52,6 +55,7 @@ import java.text.DecimalFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -90,6 +94,10 @@ public class TransientServiceImpl implements TransientService { private final FileStorageUtil fileStorageUtil; + private final DeviceTreeClient deviceTreeClient; + + + @Override public Page getTransientData(TransientParam transientParam) { Page page = new Page<>(); @@ -286,6 +294,32 @@ public class TransientServiceImpl implements TransientService { } // 获取按终端分类的监测点索引集合 List lineList = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); + List data = deviceTreeClient.getTerminalTree().getData(); + if(CollectionUtils.isEmpty(transientParam.getSubstationIds())){ + List collect = data.stream().map(TerminalTree::getChildren).flatMap(Collection::stream) + .map(TerminalTree::getChildren).flatMap(Collection::stream) + .map(TerminalTree::getChildren).flatMap(Collection::stream) + .map(TerminalTree::getChildren).flatMap(Collection::stream) + .filter(temp->transientParam.getSubstationIds().contains(temp.getId())) + .map(TerminalTree::getChildren).flatMap(Collection::stream) + .map(TerminalTree::getChildren).flatMap(Collection::stream) + .map(TerminalTree::getChildren).flatMap(Collection::stream) + .collect(Collectors.toList()); + lineList.retainAll(collect); + } + + if(CollectionUtils.isEmpty(transientParam.getLineIds())){ + List collect1 = data.stream().map(TerminalTree::getChildren).flatMap(Collection::stream) + .map(TerminalTree::getChildren).flatMap(Collection::stream) + .map(TerminalTree::getChildren).flatMap(Collection::stream) + .map(TerminalTree::getChildren).flatMap(Collection::stream) + .map(TerminalTree::getChildren).flatMap(Collection::stream) + .map(TerminalTree::getChildren).flatMap(Collection::stream) + .map(TerminalTree::getChildren).flatMap(Collection::stream) + .filter(temp->transientParam.getLineIds().contains(temp.getId())) + .collect(Collectors.toList()); + lineList.retainAll(collect1); + } if(CollUtil.isEmpty(lineList)){ return new Page<>(); } @@ -336,6 +370,7 @@ public class TransientServiceImpl implements TransientService { if (Objects.nonNull(transientParam.getFileFlag())) { wrapper.eq(Objects.nonNull(transientParam.getFileFlag()), RmpEventDetailPO::getFileFlag, transientParam.getFileFlag()); } + wrapper.in(!CollectionUtils.isEmpty(transientParam.getVerifyReason()),RmpEventDetailPO::getVerifyReason,transientParam.getVerifyReason()); // Page pageInfo = eventDetailService.page(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()),wrapper); Page pageInfo = pwRmpEventDetailMapper.selectPage(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()), wrapper); List eventDetailData = BeanUtil.copyToList(pageInfo.getRecords(), EventDetailNew.class); @@ -389,6 +424,15 @@ public class TransientServiceImpl implements TransientService { return page; } + @Override + public void updateEventReason(EventVerifyReasonParam eventVerifyReasonParam) { + eventDetailService.lambdaUpdate() + .eq(RmpEventDetailPO::getEventId,eventVerifyReasonParam.getEventId()) + .set(RmpEventDetailPO::getVerifyReason,eventVerifyReasonParam.getVerifyReason()) + .set(RmpEventDetailPO::getVerifyReasonDetail,eventVerifyReasonParam.getVerifyReasonDetail()) + .update(); + } + private boolean filterSearchValue(AreaLineInfoVO item, String searchValue) { if (StringUtils.isBlank(searchValue)) { diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/TransientService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/TransientService.java index bb56acf1e..27733bf3e 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/TransientService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/TransientService.java @@ -3,6 +3,7 @@ package com.njcn.event.service.majornetwork; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.device.pms.pojo.param.MonitorTerminalParam; import com.njcn.event.file.pojo.dto.WaveDataDTO; +import com.njcn.event.pojo.param.EventVerifyReasonParam; import com.njcn.event.pojo.param.TransientParam; import com.njcn.event.pojo.po.EventDetailNew; import com.njcn.event.pojo.vo.TransientVO; @@ -43,6 +44,5 @@ public interface TransientService { Page getTransientValue(TransientParam transientParam); - - + void updateEventReason(EventVerifyReasonParam eventVerifyReasonParam); } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpVThdVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpVThdVO.java index 55f3ca0bd..11e86a098 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpVThdVO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpVThdVO.java @@ -29,6 +29,9 @@ public class RMpVThdVO { @ApiModelProperty(value="监测点名称") private String name; + @ApiModelProperty(value="变电站名称") + private String subStationName; + /** * 排名类型,字典表(0日,1月,2季,3年) */ diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java index 2391d7e94..df9600b98 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java @@ -14,6 +14,7 @@ import com.njcn.device.pq.enums.LineBaseEnum; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.vo.LineDetailDataVO; +import com.njcn.device.pq.pojo.vo.LineDetailVO; import com.njcn.device.pq.pojo.vo.TerminalOnlineRateDataVO; import com.njcn.harmonic.mapper.RMpVThdMapper; import com.njcn.harmonic.mapper.THDistortionMapper; @@ -153,8 +154,9 @@ public class THDistortionServiceImpl implements THDistortionService { RMpVThdVO rMpVThdVO = new RMpVThdVO(); BeanUtils.copyProperties(rMpVThd, rMpVThdVO); /*查询监测点详情获取名称*/ - LineDetailDataVO data = lineFeignClient.getLineDetailData(rMpVThd.getMeasurementPointId()).getData(); + LineDetailVO data = lineFeignClient.getLineSubGdDetail(rMpVThd.getMeasurementPointId()).getData(); rMpVThdVO.setName(data.getLineName()); + rMpVThdVO.setSubStationName(data.getSubName()); return rMpVThdVO; }).collect(Collectors.toList()); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/LargeScreenServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/LargeScreenServiceImpl.java index 06dc39a0a..f3153fc2b 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/LargeScreenServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/LargeScreenServiceImpl.java @@ -69,7 +69,8 @@ public class LargeScreenServiceImpl implements LargeScreenService { if (Objects.equals(generalDeviceDTOList.get(i).getIndex(), map.get("id"))) { HomeostasisAreaVO homeostasisAreaVO = new HomeostasisAreaVO(); homeostasisAreaVO.setName(generalDeviceDTOList.get(i).getName()); - f = Float.parseFloat(map.get("avg").toString()) * 100; + //数据库里已经*100了这里去掉*100,见RStatHarmonicOrgM 65行 + f = Float.parseFloat(map.get("avg").toString()); homeostasisAreaVO.setAvg(String.valueOf(f)); result.add(homeostasisAreaVO); } diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/mysql/RMpEventDetailPO.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/mysql/RMpEventDetailPO.java index 655fa13df..87047067f 100644 --- a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/mysql/RMpEventDetailPO.java +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/mysql/RMpEventDetailPO.java @@ -3,6 +3,7 @@ package com.njcn.prepare.harmonic.pojo.mysql; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @@ -149,6 +150,14 @@ public class RMpEventDetailPO { @TableField(value = "event_describe") private String eventDescribe; + @ApiModelProperty(value = "暂降核实原因") + @TableField("verify_reason") + private String verifyReason; + + @ApiModelProperty(value = "暂降核实原因详情") + @TableField("verify_reason_detail") + private String verifyReasonDetail; + /** * 波形路径 */