diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsGeneralDeviceInfoClient.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsGeneralDeviceInfoClient.java index 8d3e74ec9..7b0439751 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsGeneralDeviceInfoClient.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsGeneralDeviceInfoClient.java @@ -5,9 +5,12 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pms.api.fallback.PmsGeneralDeviceInfoClientFallbackFactory; import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; +import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; 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; import java.util.List; @@ -39,4 +42,8 @@ public interface PmsGeneralDeviceInfoClient { */ @PostMapping("/getPwPmsDeviceInfoWithOrgId") HttpResult> getPwPmsDeviceInfoWithOrgId(@RequestBody PmsDeviceInfoParam pmsDeviceInfoParam); + + + @PostMapping("/getPwPmsMonitorIds") + HttpResult> getPwPmsMonitorIds(@RequestBody PwPmsMonitorParam pwPmsMonitorParam); } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsGeneralDeviceInfoClientFallbackFactory.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsGeneralDeviceInfoClientFallbackFactory.java index 33ee43349..c55c336e4 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsGeneralDeviceInfoClientFallbackFactory.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsGeneralDeviceInfoClientFallbackFactory.java @@ -7,10 +7,12 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; +import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; import com.njcn.device.pms.utils.PmsDeviceEnumUtil; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -46,6 +48,12 @@ public class PmsGeneralDeviceInfoClientFallbackFactory implements FallbackFactor log.error("{}异常,降级处理,异常为:{}", "获取指定组织下配网台账综合信息", throwable.toString()); throw new BusinessException(finalExceptionEnum); } + + @Override + public HttpResult> getPwPmsMonitorIds(PwPmsMonitorParam pwPmsMonitorParam) { + log.error("{}异常,降级处理,异常为:{}", "获取指定组织下配网监测点索引", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/RMpMonitorAlarmCountMParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/RMpMonitorAlarmCountMParam.java index abb98fd91..455c83a52 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/RMpMonitorAlarmCountMParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/RMpMonitorAlarmCountMParam.java @@ -1,9 +1,12 @@ package com.njcn.device.pms.pojo.param; import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @Title RMpMonitorAlarmCountMParam * @Package com.njcn.device.pms.pojo.param @@ -12,7 +15,7 @@ import lombok.Data; * @Version V1.0 */ @Data -public class RMpMonitorAlarmCountMParam extends StatisticsBizBaseParam { +public class RMpMonitorAlarmCountMParam extends BaseParam { @ApiModelProperty(name = "voltage_Level", value = "电压等级id") private String voltageLevel; //电压等级 @@ -23,4 +26,33 @@ public class RMpMonitorAlarmCountMParam extends StatisticsBizBaseParam { @ApiModelProperty(name = "measurementPointName", value = "监测点名称") private String measurementPointName; + private List monitorSort; + + /** + * 按台账统计,id为台账索引 + * 按单位统计,id为单位索引 + */ + @ApiModelProperty(name="id",value="按台账统计,id为台账索引;按单位统计,id为单位索引") + private String id; + + /** + * 统计类型 + */ + @ApiModelProperty(name="type",value="类型(1年 2季度 3月份 4周 5日)") + private Integer type; + + + /** + * 统计起始日期 + */ + @ApiModelProperty(name="startTime",value="统计起始日期(yyyy-MM-dd)") + private String startTime; + + /** + * 统计截止日期 + */ + @ApiModelProperty(name="endTime",value="统计截止日期(yyyy-MM-dd)") + private String endTime; + + } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/DistributionMonitor.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/DistributionMonitor.java index 6e283f07a..b5a88000b 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/DistributionMonitor.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/DistributionMonitor.java @@ -36,6 +36,8 @@ public class DistributionMonitor extends BaseEntity { @MppMultiId private String monitorId; + private String orgId; + /** * 电压等级(字典) */ diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/distribution/PwRMpMonitorAlarmCountMController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/distribution/PwRMpMonitorAlarmCountMController.java index 2383f1aca..b40f1545c 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/distribution/PwRMpMonitorAlarmCountMController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/distribution/PwRMpMonitorAlarmCountMController.java @@ -1,5 +1,6 @@ package com.njcn.device.pms.controller.distribution; +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; @@ -45,9 +46,9 @@ public class PwRMpMonitorAlarmCountMController extends BaseController { @PostMapping("/getPwRMpMonitorAlarmCountMList") @OperateInfo(info = LogEnum.BUSINESS_COMMON) @ApiOperation("查询监测点告警统计(月)(配网)") - public HttpResult> getPwRMpMonitorAlarmCountMList(@RequestBody RMpMonitorAlarmCountMParam rMpMonitorAlarmCountMParam) { + public HttpResult> getPwRMpMonitorAlarmCountMList(@RequestBody RMpMonitorAlarmCountMParam rMpMonitorAlarmCountMParam) { String methodDescribe = getMethodDescribe("getPwRMpMonitorAlarmCountMList"); - List list = rMpMonitorAlarmCountMService.getPwRMpMonitorAlarmCountMList(rMpMonitorAlarmCountMParam); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + Page page = rMpMonitorAlarmCountMService.getPwRMpMonitorAlarmCountMList(rMpMonitorAlarmCountMParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); } } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsDistributionMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsDistributionMonitorController.java index 136a8ec43..d51d66b34 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsDistributionMonitorController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsDistributionMonitorController.java @@ -262,7 +262,7 @@ public class PmsDistributionMonitorController extends BaseController { */ @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/pwMonitorAreaDetailInfo") - @ApiOperation("修改配网监测点数据状态") + @ApiOperation("根据监测点获取配网监测点的详细信息") @ApiImplicitParam(name = "monitorIds", value = "配网监测点实体", required = true) public HttpResult> pwMonitorAreaDetailInfo(@RequestBody List monitorIds) { String methodDescribe = getMethodDescribe("pwMonitorAreaDetailInfo"); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsGeneralDeviceController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsGeneralDeviceController.java index ce81b4e28..b4fb22ed3 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsGeneralDeviceController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsGeneralDeviceController.java @@ -9,6 +9,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; +import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; import com.njcn.device.pms.service.majornetwork.IPmsGeneralDeviceService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -18,10 +19,8 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; import java.util.List; @@ -99,6 +98,25 @@ public class PmsGeneralDeviceController extends BaseController { } + /** + * 根据单位获取单位的配网监测点集合 + * @author cdf + * @date 2023/9/4 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getPwPmsMonitorIds") + @ApiOperation("获取指定单位下配网监测点") + @ApiImplicitParam(name = "deptId", value = "查询台账条件", required = true) + @ApiIgnore + public HttpResult> getPwPmsMonitorIds(@RequestBody PwPmsMonitorParam pwPmsMonitorParam) { + String methodDescribe = getMethodDescribe("getPwPmsMonitorIds"); + List deptDeviceInfos = generalPmsDeviceService.getPwPmsMonitorIds(pwPmsMonitorParam.getOrgId(),pwPmsMonitorParam.getMonitorSort()); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, deptDeviceInfos, methodDescribe); + } + + + + diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/PwMonitorMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/PwMonitorMapper.java index d7b209fe9..ad4b9fc01 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/PwMonitorMapper.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/PwMonitorMapper.java @@ -35,4 +35,9 @@ public interface PwMonitorMapper { */ List getPwPhotovoltaicMonitorList(@Param("deptIdList") List deptIdList, @Param("pwPmsMonitorParam") PwPmsMonitorParam pwPmsMonitorParam); + + + + List getPwBaseMonitorInfo(@Param("pwMonitorIds") List pwMonitorIds, + @Param("pwPmsMonitorParam") PwPmsMonitorParam pwPmsMonitorParam); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwMonitorMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwMonitorMapper.xml index 1dafcdb21..2607c9b0a 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwMonitorMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwMonitorMapper.xml @@ -224,4 +224,9 @@ + + + diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java index 1f9abaac1..f42ee5775 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java @@ -9,6 +9,7 @@ import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; import com.njcn.device.pms.pojo.dto.PmsSimpleDTO; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; +import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; import com.njcn.device.pms.pojo.param.TaiZhangParam; import com.njcn.device.pms.pojo.po.DistributionMonitor; import com.njcn.device.pms.pojo.po.Monitor; @@ -87,4 +88,6 @@ public interface DistributionMonitorMapper extends MppBaseMapper pwMonitorAreaDetailInfo(@Param("monitorIds") List monitorIds); + + List getBaseDisMonitorIds(@Param("list")List list,@Param("monitorSortIds")List monitorSortIds); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml index 50d0e36ca..f8d0edd06 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml @@ -383,9 +383,21 @@ #{item} - + diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/PwRMpMonitorAlarmCountMService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/PwRMpMonitorAlarmCountMService.java index 3b1352947..360222ab8 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/PwRMpMonitorAlarmCountMService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/PwRMpMonitorAlarmCountMService.java @@ -1,5 +1,6 @@ package com.njcn.device.pms.service.distribution; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.device.pms.pojo.param.RMpMonitorAlarmCountMParam; import com.njcn.device.pms.pojo.po.RMpMonitorAlarmCountM; @@ -21,5 +22,5 @@ public interface PwRMpMonitorAlarmCountMService extends IService */ - List getPwRMpMonitorAlarmCountMList(RMpMonitorAlarmCountMParam rMpMonitorAlarmCountMParam); + Page getPwRMpMonitorAlarmCountMList(RMpMonitorAlarmCountMParam rMpMonitorAlarmCountMParam); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwRMpMonitorAlarmCountMServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwRMpMonitorAlarmCountMServiceImpl.java index a34e99804..1ec2b0f07 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwRMpMonitorAlarmCountMServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwRMpMonitorAlarmCountMServiceImpl.java @@ -2,6 +2,7 @@ package com.njcn.device.pms.service.distribution.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; @@ -11,11 +12,15 @@ import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PmsMonitorParam; import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; import com.njcn.device.pms.pojo.param.RMpMonitorAlarmCountMParam; +import com.njcn.device.pms.pojo.po.DistributionMonitor; import com.njcn.device.pms.pojo.po.RMpMonitorAlarmCountM; import com.njcn.device.pms.pojo.po.RStatAreaAlarmCountM; +import com.njcn.device.pms.pojo.vo.DistributionMonitorVO; import com.njcn.device.pms.pojo.vo.PwRMpMonitorAlarmCountMVO; import com.njcn.device.pms.service.distribution.PwRMpMonitorAlarmCountMService; +import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService; import com.njcn.device.pms.service.majornetwork.IMonitorService; +import com.njcn.device.pms.service.majornetwork.IPmsGeneralDeviceService; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; @@ -23,6 +28,7 @@ import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.dto.DeptDTO; +import com.njcn.web.factory.PageFactory; import com.njcn.web.utils.WebUtil; import lombok.RequiredArgsConstructor; import org.apache.commons.lang.StringUtils; @@ -56,6 +62,10 @@ implements PwRMpMonitorAlarmCountMService { private final IPwMonitorServiceImpl iPwMonitorService; //【配网监测点】服务类 + private final IPmsGeneralDeviceService iPmsGeneralDeviceService; + + private final IDistributionMonitorService iDistributionMonitorService; + /*** * 根据条件查询监测点告警统计(月)(配网) * @author jianghaifei @@ -64,7 +74,9 @@ implements PwRMpMonitorAlarmCountMService { * @return java.util.List */ @Override - public List getPwRMpMonitorAlarmCountMList(RMpMonitorAlarmCountMParam rMpMonitorAlarmCountMParam) { + public Page getPwRMpMonitorAlarmCountMList(RMpMonitorAlarmCountMParam rMpMonitorAlarmCountMParam) { + + Page pageResult = new Page<>(PageFactory.getPageNum(rMpMonitorAlarmCountMParam),PageFactory.getPageSize(rMpMonitorAlarmCountMParam)); //提取查询条件 String id = rMpMonitorAlarmCountMParam.getId(); //单位id if (StringUtils.isBlank(id)) { @@ -72,14 +84,12 @@ implements PwRMpMonitorAlarmCountMService { } String startTime = rMpMonitorAlarmCountMParam.getStartTime(); //开始时间 String endTime = rMpMonitorAlarmCountMParam.getEndTime(); //结束时间 -// String monitorObjectType = rMpMonitorAlarmCountMParam.getMonitorObjectType(); //监测点对象类型id -// List voltageLevelParamList = StringUtils.isNotBlank(rMpMonitorAlarmCountMParam.getVoltageLevel()) ? Arrays.asList(rMpMonitorAlarmCountMParam.getVoltageLevel().split(",")) : null; //电压等级 String monitorName = rMpMonitorAlarmCountMParam.getMeasurementPointName(); //监测点名称 /*获取下级子部门信息*/ List deptDTOList = deptFeignClient.getDeptDescendantIndexes (id, WebUtil.filterDeptType()).getData (); if (CollUtil.isEmpty(deptDTOList)) { - return Collections.emptyList(); + return new Page<>(); } List orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); Map deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO)); @@ -91,28 +101,25 @@ implements PwRMpMonitorAlarmCountMService { Map lineSortIdMap = lineSortDict.stream().collect(Collectors.toMap(DictData::getCode, DictData::getId)); //根据条件查询单位下面的所有配网监测点 - PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); - pwPmsMonitorParam.setOrgId(id); //单位id - pwPmsMonitorParam.setMonitorName(monitorName); //监测点名称 - List pwMonitorList = iPwMonitorService.getPwMonitorList(pwPmsMonitorParam); - //监测点id集合 - List monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); - if (CollUtil.isEmpty(monitorIdList)) { - return new ArrayList<>(); - } - //监测点map key:监测点id value:监测点实体 - Map monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1,kye2)->key1)); + List pwMonitorIds = iPmsGeneralDeviceService.getPwPmsMonitorIds(id,rMpMonitorAlarmCountMParam.getMonitorSort()); //根据监测点idList等条件查询【监测点告警月统计】表数据 LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(CollUtil.isNotEmpty(orgCodeList), RMpMonitorAlarmCountM::getOrgNo, orgCodeList) - .in(RMpMonitorAlarmCountM::getMeasurementPointId, monitorIdList) + lambdaQueryWrapper + .in(RMpMonitorAlarmCountM::getMeasurementPointId, pwMonitorIds) .ge(RMpMonitorAlarmCountM::getDataDate, startTime) .le(RMpMonitorAlarmCountM::getDataDate, endTime) .eq(RMpMonitorAlarmCountM::getDataType, dataType); - List alarmCountMList = this.list(lambdaQueryWrapper); + Page page = this.page(new Page<>(PageFactory.getPageNum(rMpMonitorAlarmCountMParam),PageFactory.getPageSize(rMpMonitorAlarmCountMParam)),lambdaQueryWrapper); + List alarmCountMList = page.getRecords(); List resultList; if (CollUtil.isNotEmpty(alarmCountMList)) { + //监测点id集合 + List monitorIdList = alarmCountMList.stream().map(RMpMonitorAlarmCountM::getMeasurementPointId).distinct().collect(Collectors.toList()); + List pwMonitorList = iDistributionMonitorService.pwMonitorAreaDetailInfo(monitorIdList); + //监测点map key:监测点id value:监测点实体 + Map monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1,kye2)->key1)); + //封装前端展示的数据 resultList = alarmCountMList.stream().map(item -> { PwRMpMonitorAlarmCountMVO pwRMpMonitorAlarmCountMVO = new PwRMpMonitorAlarmCountMVO(); @@ -166,10 +173,10 @@ implements PwRMpMonitorAlarmCountMService { } return pwRMpMonitorAlarmCountMVO; }).collect(Collectors.toList()); - + pageResult.setRecords(resultList); } else { - resultList = new ArrayList<>(); + return new Page<>(); } - return resultList; + return pageResult; } } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/RStatPwAlarmCountWServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/RStatPwAlarmCountWServiceImpl.java index 923be96a9..0d8d963a9 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/RStatPwAlarmCountWServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/RStatPwAlarmCountWServiceImpl.java @@ -6,7 +6,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; +import com.njcn.device.pms.mapper.distribution.PwMonitorMapper; import com.njcn.device.pms.mapper.distribution.RStatPwAlarmCountWMapper; +import com.njcn.device.pms.mapper.majornetwork.DistributionMonitorMapper; import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PmsMonitorParam; @@ -21,6 +24,7 @@ import com.njcn.device.pms.service.distribution.IPwMonitorService; import com.njcn.device.pms.service.distribution.RMpPwAlarmDetailDService; import com.njcn.device.pms.service.distribution.RStatPwAlarmCountWService; import com.njcn.device.pms.service.majornetwork.IMonitorService; +import com.njcn.device.pms.service.majornetwork.IPmsGeneralDeviceService; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; @@ -54,10 +58,14 @@ public class RStatPwAlarmCountWServiceImpl extends ServiceImpl deptDTOList = deptFeignClient.getDeptDescendantIndexes(id, WebUtil.filterDeptType()).getData(); -// if (CollUtil.isEmpty(deptDTOList)) { -// throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在"); -// } -// //单位code集合 -// List orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); -// //将单位信息转为map集合 key: 单位id value: 单位实体 -// Map deptNameMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, DeptDTO::getName)); + /*获取下级子部门信息*/ List deptDTOList = deptFeignClient.getDepSonDetailByDeptId (id).getData ( ); if (CollUtil.isEmpty(deptDTOList)) { @@ -140,24 +140,34 @@ public class RStatPwAlarmCountWServiceImpl extends ServiceImpl pwMonitorList = iPwMonitorService.getPwMonitorList(pwPmsMonitorParam); + List pwMonitorIds= iPmsGeneralDeviceService.getPwPmsMonitorIds(id,pwPmsMonitorParam.getMonitorSort()); - //配网监测点id集合 - List monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); - if (CollUtil.isEmpty(monitorIdList)) { + if(CollUtil.isEmpty(pwMonitorIds)){ return new Page<>(); } - //监测点map key:监测点id value:监测点实体 - Map monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1,key2)->key1)); //查询监测点的告警明细 LambdaQueryWrapper alarmDetailWrapper = new LambdaQueryWrapper<>(); - alarmDetailWrapper.in(RMpPwAlarmDetailD::getMeasurementPointId, monitorIdList) + alarmDetailWrapper.in(RMpPwAlarmDetailD::getMeasurementPointId, pwMonitorIds) .in(CollUtil.isNotEmpty(alarmTypeList), RMpPwAlarmDetailD::getAlarmType, alarmTypeList) .ge(StringUtils.isNotBlank(startTime), RMpPwAlarmDetailD::getDataDate, startTime) .le(StringUtils.isNotBlank(endTime), RMpPwAlarmDetailD::getDataDate, endTime); Page alarmDetailListPage = rMpPwAlarmDetailDService.page(new Page<>(pageNum, pageSize), alarmDetailWrapper); + List temList = alarmDetailListPage.getRecords(); + List monitorIds = new ArrayList<>(); + if(CollUtil.isEmpty(temList)){ + return new Page<>(); + } + monitorIds = temList.stream().map(RMpPwAlarmDetailD::getMeasurementPointId).distinct().collect(Collectors.toList()); + + //配网监测点id集合 + + List pwMonitorDataList = distributionMonitorMapper.pwMonitorAreaDetailInfo(monitorIds); + + //监测点map key:监测点id value:监测点实体 + Map monitorMap = pwMonitorDataList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1,key2)->key1)); + List resultList = alarmDetailListPage.getRecords().stream().map(item -> { RStatPwAlarmDetailVO rStatPwAlarmDetailVO = new RStatPwAlarmDetailVO(); rStatPwAlarmDetailVO.setAlarmType(item.getAlarmType()); //告警类型 diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IDistributionMonitorService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IDistributionMonitorService.java index 9d9c81c90..5e8b88d2c 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IDistributionMonitorService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IDistributionMonitorService.java @@ -100,6 +100,13 @@ public interface IDistributionMonitorService extends IMppService pwMonitorAreaDetailInfo(List monitorIds); + /** + * 根据单位获取配网监测点id集合 + * @author cdf + * @date 2023/9/11 + */ + List getBaseDisMonitorIds(List orgIds,List monitorSortIds); + /** * 批量同步台区到配网表 diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPmsGeneralDeviceService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPmsGeneralDeviceService.java index ccab4bc82..7ae044309 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPmsGeneralDeviceService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPmsGeneralDeviceService.java @@ -32,4 +32,7 @@ public interface IPmsGeneralDeviceService { List getPmsDeviceInfoByOrgId(PmsDeviceInfoParam pmsDeviceInfoParam); + List getPwPmsMonitorIds(String deptId,List monitorSortIds); + + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DistributionMonitorServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DistributionMonitorServiceImpl.java index bde90da77..d4f65973f 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DistributionMonitorServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DistributionMonitorServiceImpl.java @@ -93,7 +93,6 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(DistributionMonitor::getStatus, DataStateEnum.ENABLE.getCode()) .eq(DistributionMonitor::getMonitorId, distributionMonitorParam.getMonitorId()); - /*.eq(DistributionMonitor::getMonitorSort,dictData.getId());*/ int count = this.count(lambdaQueryWrapper); if (count > 0) { throw new BusinessException(PmsDeviceResponseEnum.DIS_ADD_REPEAT); @@ -370,7 +369,6 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl getBaseDisMonitorIds(List orgIds,List monitorSortIds) { + return distributionMonitorMapper.getBaseDisMonitorIds(orgIds,monitorSortIds); + } + @Override @Transactional(rollbackFor = Exception.class) public Boolean batchOpDistributionArea() { @@ -459,7 +462,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl() .select(PowerDistributionarea::getId, PowerDistributionarea::getState, - PowerDistributionarea::getVoltageLevel) + PowerDistributionarea::getVoltageLevel,PowerDistributionarea::getOrgId) .last(true, "limit " + page+ ",10000")); List poList= new ArrayList<>(); @@ -467,6 +470,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl getPwPmsMonitorIds(String deptId,List monitorSortIds) { + List deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(deptId).getData(); + return iDistributionMonitorService.getBaseDisMonitorIds(deptIds,monitorSortIds); + } + /** * 查询当前部门pms台账信息 * @param deptDTO 部门信息 diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/PwUniversalFrontEndParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/PwUniversalFrontEndParam.java index 17cb3a229..da5943248 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/PwUniversalFrontEndParam.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/PwUniversalFrontEndParam.java @@ -23,4 +23,8 @@ public class PwUniversalFrontEndParam extends StatisticsBizBaseParam implements */ @ApiModelProperty(name = "monitorSort", value = "监测点类别") private List monitorSort; + + private Integer pageNum; + + private Integer pageSize; } diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/UniversalFrontEndParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/UniversalFrontEndParam.java index bbdeade6a..d4cb5406d 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/UniversalFrontEndParam.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/UniversalFrontEndParam.java @@ -52,4 +52,8 @@ public class UniversalFrontEndParam extends StatisticsBizBaseParam implements Se private String monitorName; + private Integer pageNum; + + private Integer pageSize; + } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRmpEventDetailController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRmpEventDetailController.java index 022dd5a34..77ee11a53 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRmpEventDetailController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRmpEventDetailController.java @@ -1,5 +1,6 @@ package com.njcn.event.controller.distribution; +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; @@ -44,9 +45,9 @@ public class PwRmpEventDetailController extends BaseController { @OperateInfo(info = LogEnum.SYSTEM_COMMON) @ApiOperation("获取暂态事件明细") @ApiImplicitParam(name = "param", value = "条件参数", required = true) - public HttpResult> getPwRmpEventDetail(@RequestBody UniversalFrontEndParam param) { + public HttpResult> getPwRmpEventDetail(@RequestBody UniversalFrontEndParam param) { String methodDescribe = getMethodDescribe("getPwRmpEventDetail"); - List list = pwRmpEventDetailService.getPwRmpEventDetail(param); + Page list = pwRmpEventDetailService.getPwRmpEventDetail(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java index 2b0264eba..82add6dbf 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java @@ -28,7 +28,7 @@ public interface PwRmpEventDetailMapper extends BaseMapper { * @author yzh * @date 2022/10/31 */ - List getPwRmpEventDetail(@Param("param") UniversalFrontEndParam param, + Page getPwRmpEventDetail(@Param("page")Page page,@Param("param") UniversalFrontEndParam param, @Param("monitorIdList") List monitorIdList); /** diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwEventCategoryDetailsMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwEventCategoryDetailsMapper.xml index c9f272735..bbefb6fb7 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwEventCategoryDetailsMapper.xml +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwEventCategoryDetailsMapper.xml @@ -208,6 +208,7 @@ feature_amplitude AS featureAmplitude FROM `r_mp_event_detail` + where start_time between #{startTime} and #{endTime} - \ No newline at end of file + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwEventCategoryDetailsServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwEventCategoryDetailsServiceImpl.java index d250b95ce..dd727501b 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwEventCategoryDetailsServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwEventCategoryDetailsServiceImpl.java @@ -70,24 +70,20 @@ public class PwEventCategoryDetailsServiceImpl implements PwEventCategoryDetails @Override public List getPwEventCategoryDetails(StatisticsBizBaseParam param) { // 获取单位下的监测点id集合 - List pwPmsMonitorDTOList = getPwMonitorList(param); - if (CollectionUtil.isEmpty(pwPmsMonitorDTOList)) { - return Collections.emptyList(); - } + + PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); + pwPmsMonitorParam.setOrgId(param.getId()); + List monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); // 创建集合,返回数据 List vos = new ArrayList<>(); - // 将监测点id取出 - List monitorIdList = pwPmsMonitorDTOList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); - - if (CollectionUtil.isEmpty(monitorIdList)) { + if (CollectionUtil.isEmpty(monitorIds)) { return Collections.emptyList(); - } // 获取暂态指标分布统计 EventDistributionStatisticsPO po = pwEventCategoryDetailsMapper.getPwEventCategoryDetailsMapper( - monitorIdList, + monitorIds, param.getStartTime(), param.getEndTime()); @@ -177,23 +173,19 @@ public class PwEventCategoryDetailsServiceImpl implements PwEventCategoryDetails */ @Override public List getPwDurationLineChart(StatisticsBizBaseParam param) { - // 获取单位下的监测点id集合 - List pwPmsMonitorDTOList = getPwMonitorList(param); - if (CollectionUtil.isEmpty(pwPmsMonitorDTOList)) { - return Collections.emptyList(); - } - // 创建集合返回数据 List result = new ArrayList<>(); - // 将监测点id取出 - List monitorIdList = pwPmsMonitorDTOList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); + // 获取单位下的监测点id集合 + PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); + pwPmsMonitorParam.setOrgId(param.getId()); + List monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); - if (CollectionUtil.isEmpty(monitorIdList)) { + if (CollectionUtil.isEmpty(monitorIds)) { return Collections.emptyList(); } // 获取持续时间折线图 EventDurationLineChartPO po = pwEventCategoryDetailsMapper.getPwEventDurationLineChart( - monitorIdList, + monitorIds, param.getStartTime(), param.getEndTime()); if (ObjectUtil.isEmpty(po)) { @@ -236,22 +228,19 @@ public class PwEventCategoryDetailsServiceImpl implements PwEventCategoryDetails */ @Override public List getPwFeatureAmplitudeLineChart(StatisticsBizBaseParam param) { - // 获取单位下的监测点id集合 - List pwPmsMonitorDTOList = getPwMonitorList(param); - if (CollectionUtil.isEmpty(pwPmsMonitorDTOList)) { - return Collections.emptyList(); - } - // 创建集合返回数据 List result = new ArrayList<>(); - // 将监测点id取出 - List monitorIdList = pwPmsMonitorDTOList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); - if (CollectionUtil.isEmpty(monitorIdList)) { + // 获取单位下的监测点id集合 + PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); + pwPmsMonitorParam.setOrgId(param.getId()); + List monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); + + if (CollectionUtil.isEmpty(monitorIds)) { return Collections.emptyList(); } // 获取特征幅值折线图 - EventFeatureAmplitudeLineChartPO po = pwEventCategoryDetailsMapper.getPwEventFeatureAmplitudeLineChart(monitorIdList, + EventFeatureAmplitudeLineChartPO po = pwEventCategoryDetailsMapper.getPwEventFeatureAmplitudeLineChart(monitorIds, param.getStartTime(), param.getEndTime()); @@ -312,23 +301,16 @@ public class PwEventCategoryDetailsServiceImpl implements PwEventCategoryDetails @Override public EventFeatureAmplitudeCurveVO getPwEventFeatureAmplitudeCurve(StatisticsBizBaseParam param) { // 获取单位下的监测点id集合 - List pwPmsMonitorDTOList = getPwMonitorList(param); + PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); + pwPmsMonitorParam.setOrgId(param.getId()); + List monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); - if (CollectionUtil.isEmpty(pwPmsMonitorDTOList)) { - return EventFeatureAmplitudeCurveVO.empty(); - } - - // 创建集合返回数据 - List result = new ArrayList<>(); - // 将监测点id取出 - List monitorIdList = pwPmsMonitorDTOList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); - - if (CollectionUtil.isEmpty(monitorIdList)) { + if (CollectionUtil.isEmpty(monitorIds)) { return EventFeatureAmplitudeCurveVO.empty(); } // 获取监测点暂态事件明细数据 - List rmpEventDetailList = pwEventCategoryDetailsMapper.getPwRmpEventDetail(monitorIdList, param.getStartTime(), param.getEndTime()); + List rmpEventDetailList = pwEventCategoryDetailsMapper.getPwRmpEventDetail(monitorIds, param.getStartTime(), param.getEndTime()); if (CollUtil.isEmpty(rmpEventDetailList)) { return EventFeatureAmplitudeCurveVO.empty(); } @@ -345,7 +327,6 @@ public class PwEventCategoryDetailsServiceImpl implements PwEventCategoryDetails return eventFeatureAmplitudeCurve; }) - //.sorted(VoltageToleranceCurveDataList.sortAscTime()) .collect(Collectors.toCollection(() -> Collections.synchronizedList(new ArrayList<>()))); return EventFeatureAmplitudeCurveVO.buildVO(rmpEventDetailList.size(), curveDataList); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwEventMonitorReportServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwEventMonitorReportServiceImpl.java index 0da6df3e1..1131fbcbf 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwEventMonitorReportServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwEventMonitorReportServiceImpl.java @@ -2,6 +2,7 @@ package com.njcn.event.service.distribution.Impl; import cn.hutool.core.collection.CollUtil; import com.njcn.common.pojo.constant.BizParamConstant; +import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.api.PwMonitorClient; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; @@ -41,6 +42,8 @@ public class PwEventMonitorReportServiceImpl implements PwEventMonitorReportServ private final PwEventDistributionStatisticsMapper eventDistributionStatisticsMapper; + private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient; + /*** * 监测点暂态事件发生次数 @@ -52,8 +55,7 @@ public class PwEventMonitorReportServiceImpl implements PwEventMonitorReportServ @Override public List getMonitorEventCount(EventMonitorReportParam eventMonitorReportParam) { //提取查询参数 -// String monitorName = eventMonitorReportParam.getMonitorName(); //监测点名称 -// String id = eventMonitorReportParam.getId(); //单位id + String startTime = eventMonitorReportParam.getStartTime(); //开始时间 String endTime = eventMonitorReportParam.getEndTime(); //结束时间 Integer type = eventMonitorReportParam.getType(); //时间类型(日/月) @@ -61,6 +63,7 @@ public class PwEventMonitorReportServiceImpl implements PwEventMonitorReportServ //查询监测点信息 List monitorList = this.getMonitorList(eventMonitorReportParam); List monitorIdList = monitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); //监测点id信息 + Map monitorMap = monitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(kye1,key2)->kye1)); //获取电压等级的字典 @@ -137,16 +140,15 @@ public class PwEventMonitorReportServiceImpl implements PwEventMonitorReportServ @Override public List getEventDipShortDistributionByCond(EventMonitorReportParam eventMonitorReportParam) { //提取参数 -// String monitorName = eventMonitorReportParam.getMonitorName(); //监测点名称 -// String id = eventMonitorReportParam.getId(); //单位id + String startTime = eventMonitorReportParam.getStartTime(); //开始时间 String endTime = eventMonitorReportParam.getEndTime(); //结束时间 Integer type = eventMonitorReportParam.getType(); //时间类型(日/月) //查询监测点信息 - List monitorList = this.getMonitorList(eventMonitorReportParam); - List monitorIdList = monitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); //监测点id集合 - + PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); + pwPmsMonitorParam.setOrgId(eventMonitorReportParam.getId()); + List monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); //获取暂态指标的字典 List eventStatisList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData(); //将暂态指标信息转成map,key:code value:实体 @@ -154,7 +156,7 @@ public class PwEventMonitorReportServiceImpl implements PwEventMonitorReportServ //短时中断、暂降分布情况 Map condMap = new HashMap<>(); - condMap.put("monitorIdList", monitorIdList); + condMap.put("monitorIdList", monitorIds); condMap.put("startTime", startTime); condMap.put("endTime", endTime); condMap.put("eventTypeList", Arrays.asList(eventStatisMapByCode.get(DicDataEnum.VOLTAGE_DIP.getCode()).getId(), eventStatisMapByCode.get(DicDataEnum.SHORT_INTERRUPTIONS.getCode()).getId())); @@ -292,23 +294,21 @@ public class PwEventMonitorReportServiceImpl implements PwEventMonitorReportServ @Override public List getEventRiseDistributionByCond(EventMonitorReportParam eventMonitorReportParam) { //提取参数 -// String monitorName = eventMonitorReportParam.getMonitorName(); //监测点名称 -// String id = eventMonitorReportParam.getId(); //单位id String startTime = eventMonitorReportParam.getStartTime(); //开始时间 String endTime = eventMonitorReportParam.getEndTime(); //结束时间 Integer type = eventMonitorReportParam.getType(); //时间类型(日/月) //查询监测点信息 - List monitorList = this.getMonitorList(eventMonitorReportParam); - List monitorIdList = monitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); //监测点id集合 - + PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); + pwPmsMonitorParam.setOrgId(eventMonitorReportParam.getId()); + List monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); //获取暂态指标的字典 List eventStatisList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData(); //将暂态指标信息转成map,key:code value:实体 Map eventStatisMapByCode = eventStatisList.stream().collect(Collectors.toMap(DictData::getCode, data -> data)); //暂升分布情况 Map riseCondMap = new HashMap<>(); - riseCondMap.put("monitorIdList", monitorIdList); + riseCondMap.put("monitorIdList", monitorIds); riseCondMap.put("startTime", startTime); riseCondMap.put("endTime", endTime); riseCondMap.put("eventTypeList", Collections.singletonList(eventStatisMapByCode.get(DicDataEnum.VOLTAGE_RISE.getCode()).getId())); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwRStatOrgServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwRStatOrgServiceImpl.java index 7a550eff1..e1ed83568 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwRStatOrgServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwRStatOrgServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.event.service.distribution.Impl; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.device.pms.api.PwMonitorClient; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; @@ -17,6 +18,8 @@ import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.pojo.po.DictData; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.dto.DeptDTO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -27,6 +30,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -49,6 +53,8 @@ public class PwRStatOrgServiceImpl implements PwRStatOrgService { private final PwRStatOrgClassifiedMapper pwRStatOrgClassifiedMapper; + private final DeptFeignClient deptFeignClient; + private final DecimalFormat df = new DecimalFormat("###.00"); /** @@ -60,16 +66,15 @@ public class PwRStatOrgServiceImpl implements PwRStatOrgService { @Override public List getPwRStatOrg(PwUniversalFrontEndParam param) { // 获取单位下的监测点id集合 - List pwPmsMonitorDTOList = getPwMonitorList(param); - if (CollUtil.isEmpty(pwPmsMonitorDTOList)) { - return Collections.emptyList(); - } + List deptDTOList = deptFeignClient.getDepSonDetailByDeptId(param.getId()).getData(); + Map map = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); + // 查询字典表 List dictDataList = dicDataFeignClient .getDicDataByTypeCode(DicDataTypeEnum.LINE_SORT.getCode()) .getData(); // 取出单位id - List deptIdList = pwPmsMonitorDTOList.stream().map(PwPmsMonitorDTO::getOrgId).collect(Collectors.toList()); + List deptIdList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); // 获取配网id String distributionPoint = getDistributionPoint(); // 创建集合封装查询数据 @@ -110,25 +115,26 @@ public class PwRStatOrgServiceImpl implements PwRStatOrgService { return rStatOrgPO.stream().map(po -> { RStatOrgVO vo = new RStatOrgVO(); BeanUtils.copyProperties(po, vo); - for (PwPmsMonitorDTO dto : pwPmsMonitorDTOList) { - if (dto.getOrgId().equals(po.getOrgNo())) { - vo.setOrgName(dto.getOrgName()); - for (DictData dictData : dictDataList) { - if (po.getMeasurementTypeClass().equals(dictData.getId())) { - vo.setMonitorSort(dictData.getName()); - if (dictData.getCode().equals(DicDataEnum.ONE_LINE.getCode())) { - vo.setEventMeasurementRatioAverage(df.format(((po.getEventMeasurementAverage() * 1.0) / (po.getEffectiveMeasurementAverage() * 1.0)) * 100)); - vo.setEventMeasurementRatioAccrued(df.format(((po.getEventMeasurementAccrued() * 1.0) / (po.getEffectiveMeasurementAccrued() * 1.0)) * 100)); - vo.setEventFreq(po.getEventFreq().toString()); - } else { - vo.setEventMeasurementRatioAverage("/"); - vo.setEventMeasurementRatioAccrued("/"); - vo.setEventFreq("/"); - } + if(map.containsKey(po.getOrgNo())){ + DeptDTO dto = map.get(po.getOrgNo()); + vo.setOrgName(dto.getName()); + for (DictData dictData : dictDataList) { + if (po.getMeasurementTypeClass().equals(dictData.getId())) { + vo.setMonitorSort(dictData.getName()); + if (dictData.getCode().equals(DicDataEnum.ONE_LINE.getCode())) { + vo.setEventMeasurementRatioAverage(df.format(((po.getEventMeasurementAverage() * 1.0) / (po.getEffectiveMeasurementAverage() * 1.0)) * 100)); + vo.setEventMeasurementRatioAccrued(df.format(((po.getEventMeasurementAccrued() * 1.0) / (po.getEffectiveMeasurementAccrued() * 1.0)) * 100)); + vo.setEventFreq(po.getEventFreq().toString()); + } else { + vo.setEventMeasurementRatioAverage("/"); + vo.setEventMeasurementRatioAccrued("/"); + vo.setEventFreq("/"); } } } } + + return vo; }).collect(Collectors.toList()); } @@ -141,14 +147,12 @@ public class PwRStatOrgServiceImpl implements PwRStatOrgService { */ @Override public List getPwRStatOrgClassified(PwUniversalFrontEndParam param) { - List pwPmsMonitorDTOList = getPwMonitorList(param); - if (CollUtil.isEmpty(pwPmsMonitorDTOList)) { - return Collections.emptyList(); - } + List deptDTOList = deptFeignClient.getDepSonDetailByDeptId(param.getId()).getData(); + // 创建集合封装返回数据 List result = new ArrayList<>(); // 取出单位id - List deptIdList = pwPmsMonitorDTOList.stream().map(PwPmsMonitorDTO::getOrgId).collect(Collectors.toList()); + List deptIdList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); // 创建集合封装查询数据 List rStatEventOrgVOList = new ArrayList<>(); // 获取配网id @@ -199,16 +203,15 @@ public class PwRStatOrgServiceImpl implements PwRStatOrgService { Map lineSortMap = lineSortList.stream().collect(Collectors.toMap(DictData::getId, DictData -> DictData)); // 根据暂态指标code转换成map Map eventStatisMap = eventStatisList.stream().collect(Collectors.toMap(DictData::getId, DictData -> DictData)); - // 蒋配网监测点信息根据单位转换成map - Map> pwPmsMonitorDTOMap = - pwPmsMonitorDTOList.stream().collect(Collectors.groupingBy(PwPmsMonitorDTO::getOrgId)); + // 数据处理 + Map map = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); rStatEventOrgVOMap.forEach((orgOn, pos) -> { PwRStatEventOrgVO vo = new PwRStatEventOrgVO(); // 基础属性赋值 if (vo.getOrgNo() == null) { vo.setOrgNo(pos.get(0).getOrgNo()); - vo.setOrgName(pwPmsMonitorDTOMap.get(pos.get(0).getOrgNo()).get(0).getOrgName()); + vo.setOrgName(map.get(orgOn).getName()); vo.setDataDate(pos.get(0).getDataDate()); vo.setMeasurementTypeClass(pos.get(0).getMeasurementTypeClass()); vo.setEffectiveMeasurementAverage(pos.get(0).getEffectiveMeasurementAverage()); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwRmpEventDetailServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwRmpEventDetailServiceImpl.java index fca86d284..3a4d264b9 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwRmpEventDetailServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwRmpEventDetailServiceImpl.java @@ -1,7 +1,10 @@ package com.njcn.event.service.distribution.Impl; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.device.pms.api.DistributionMonitorClient; import com.njcn.device.pms.api.MonitorClient; +import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.api.PwMonitorClient; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; @@ -19,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; @@ -44,6 +48,10 @@ public class PwRmpEventDetailServiceImpl implements PwRmpEventDetailService { private final MonitorClient monitorClient; + private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient; + + private final DistributionMonitorClient distributionMonitorClient; + /** * 获取配网暂态事件明细 * @@ -53,31 +61,38 @@ public class PwRmpEventDetailServiceImpl implements PwRmpEventDetailService { * @date 2022/10/31 */ @Override - public List getPwRmpEventDetail(UniversalFrontEndParam param) { + public Page getPwRmpEventDetail(UniversalFrontEndParam param) { + Page pageResult = new Page<>(param.getPageNum(),param.getPageSize()); // 获取单位下的监测点id集合 PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); pwPmsMonitorParam.setOrgId(param.getId()); pwPmsMonitorParam.setMonitorName(param.getMonitorName()); - List pwPmsMonitorDTOList = pwMonitorClient - .getPwMonitorList(pwPmsMonitorParam) - .getData(); + List pwPmsMonitorDTOList = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); if (CollectionUtil.isEmpty(pwPmsMonitorDTOList)) { - return Collections.emptyList(); + return pageResult; } // 获取配网暂态事件明细 - List rmpEventDetailsPO = pwRmpEventDetailMapper.getPwRmpEventDetail(param, - pwPmsMonitorDTOList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList())); - if (CollectionUtil.isEmpty(rmpEventDetailsPO)) { - return Collections.emptyList(); + Page rmpEventDetailsPO = pwRmpEventDetailMapper.getPwRmpEventDetail(new Page<>(param.getPageNum(),param.getPageSize()),param, + pwPmsMonitorDTOList); + + List temList = rmpEventDetailsPO.getRecords(); + if (CollectionUtil.isEmpty(temList)) { + return pageResult; } + List ids = temList.stream().map(RmpEventDetailPO::getMeasurementPointId).distinct().collect(Collectors.toList()); + List pList = distributionMonitorClient.pwMonitorAreaDetailInfo(ids).getData(); + Map pwPmsMonitorDTOMap = pList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId,Function.identity())); + // 查询检测点类型字典 List lineSortList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_SORT.getCode()).getData(); // 将单位信息转为map集合 key: 单位id value: 单位实体 - Map pwPmsMonitorDTOMap = pwPmsMonitorDTOList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, PwPmsMonitorDTO -> PwPmsMonitorDTO, (oldValue, newValue) -> oldValue)); + + // 属性赋值 - return rmpEventDetailsPO.stream().map(po -> { + List t = new ArrayList<>(); + temList.forEach(po -> { PwRmpEventDetailVO vo = new PwRmpEventDetailVO(); BeanUtils.copyProperties(po, vo); vo.setMonitorId(po.getMeasurementPointId()); @@ -109,8 +124,10 @@ public class PwRmpEventDetailServiceImpl implements PwRmpEventDetailService { } } } - return vo; - }).collect(Collectors.toList()); + t.add(vo); + }); + pageResult.setRecords(t); + return pageResult; } } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/PwRStatOrgService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/PwRStatOrgService.java index 792e8c4de..0e85c679d 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/PwRStatOrgService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/PwRStatOrgService.java @@ -1,5 +1,6 @@ package com.njcn.event.service.distribution; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.event.pojo.param.PwUniversalFrontEndParam; import com.njcn.event.pojo.vo.PwRStatEventOrgVO; import com.njcn.event.pojo.vo.RStatOrgVO; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/PwRmpEventDetailService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/PwRmpEventDetailService.java index 29228d496..148c88219 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/PwRmpEventDetailService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/PwRmpEventDetailService.java @@ -1,5 +1,6 @@ package com.njcn.event.service.distribution; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.event.pojo.param.UniversalFrontEndParam; import com.njcn.event.pojo.vo.PwRmpEventDetailVO; @@ -22,5 +23,5 @@ public interface PwRmpEventDetailService { * @author yzh * @date 2022/10/31 */ - List getPwRmpEventDetail(UniversalFrontEndParam param); + Page getPwRmpEventDetail(UniversalFrontEndParam param); } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RStatOrgParam.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RStatOrgParam.java index 5a58b31fd..09c72fb5b 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RStatOrgParam.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RStatOrgParam.java @@ -30,7 +30,10 @@ public class RStatOrgParam extends StatisticsBizBaseParam { @ApiModelProperty(name = "monitorSort", value = "监测点类别") private List monitorSort; -// @ApiModelProperty(name = "voltageLevels", value = "电压等级") -// private List voltageLevels; + private Integer pageNum; + + private Integer pageSize; + + } } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpPartHarmonicDetailVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpPartHarmonicDetailVO.java index 5d2ea744e..e7ee019fa 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpPartHarmonicDetailVO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpPartHarmonicDetailVO.java @@ -2,6 +2,7 @@ package com.njcn.harmonic.pojo.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import lombok.EqualsAndHashCode; import java.time.LocalDate; @@ -215,6 +216,7 @@ public class RMpPartHarmonicDetailVO { private Integer flickerOverDay; @Data + @EqualsAndHashCode(callSuper = true) public static class PwRMpPartHarmonicDetailDVO extends RMpPartHarmonicDetailVO { /** * 监测点类别 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/distribution/PwRStatOrgController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/distribution/PwRStatOrgController.java index 4bc1a8726..be55b8a5a 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/distribution/PwRStatOrgController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/distribution/PwRStatOrgController.java @@ -1,6 +1,7 @@ package com.njcn.harmonic.controller.distribution; +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; @@ -77,9 +78,9 @@ public class PwRStatOrgController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @ApiOperation("稳态指标超标明细表") @ApiImplicitParam(name = "param", value = "超标明细参数", required = true) - public HttpResult> getPwRMpPartHarmonicDetail(@RequestBody RStatOrgParam.PwRStatOrgParam param) { + public HttpResult> getPwRMpPartHarmonicDetail(@RequestBody RStatOrgParam.PwRStatOrgParam param) { String methodDescribe = getMethodDescribe("getPwRMpPartHarmonicDetail"); - List rMpPartHarmonicDetail = pwRStatOrgService.getRMpPartHarmonicDetail(param); + Page rMpPartHarmonicDetail = pwRStatOrgService.getRMpPartHarmonicDetail(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rMpPartHarmonicDetail, methodDescribe); } @@ -123,11 +124,11 @@ public class PwRStatOrgController extends BaseController { */ @PostMapping("/getPwRMpPassRateInfo") @OperateInfo(info = LogEnum.BUSINESS_COMMON) - @ApiOperation("稳态指标合格率明细表") + @ApiOperation("配网稳态指标合格率明细表") @ApiImplicitParam(name = "param", value = "超标合格率明细参数", required = true) - public HttpResult> getPwRMpPassRateInfo(@RequestBody RStatOrgParam.PwRStatOrgParam param) { + public HttpResult> getPwRMpPassRateInfo(@RequestBody RStatOrgParam.PwRStatOrgParam param) { String methodDescribe = getMethodDescribe("getPwRMpPassRateInfo"); - List rStatOrg = pwRStatOrgService.getRMpPassRateInfo(param); + Page rStatOrg = pwRStatOrgService.getRMpPassRateInfo(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatOrg, methodDescribe); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpPassRateMMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpPassRateMMapper.java index ffeadb489..5a79f2656 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpPassRateMMapper.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpPassRateMMapper.java @@ -1,5 +1,6 @@ package com.njcn.harmonic.mapper.majornetwork; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.RMpPassRateM; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -24,4 +25,6 @@ public interface RMpPassRateMMapper extends BaseMapper { * @return */ List getMonthPassRate(@Param("param") StatSubstationBizBaseParam baseParam); + + Page getPwMonthPassRate(@Param("page") Page page, @Param("param") StatSubstationBizBaseParam baseParam); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpPassRateQMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpPassRateQMapper.java index b33870533..60892f5a0 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpPassRateQMapper.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpPassRateQMapper.java @@ -1,5 +1,6 @@ package com.njcn.harmonic.mapper.majornetwork; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.RMpPassRateQ; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -24,4 +25,6 @@ public interface RMpPassRateQMapper extends BaseMapper { * @return */ List getQuarterPassRate(@Param("param") StatSubstationBizBaseParam baseParam); + + Page getPwQuarterPassRate(@Param("page")Page page,@Param("param") StatSubstationBizBaseParam baseParam); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpPassRateYMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpPassRateYMapper.java index 0ce82a5e8..3c0090aa3 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpPassRateYMapper.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpPassRateYMapper.java @@ -1,5 +1,6 @@ package com.njcn.harmonic.mapper.majornetwork; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.RMpPassRateY; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -24,4 +25,6 @@ public interface RMpPassRateYMapper extends BaseMapper { * @return */ List getYearPassRate(@Param("param") StatSubstationBizBaseParam baseParam); + + Page getPageYearPassRate(Page page, @Param("param") StatSubstationBizBaseParam baseParam); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpSurplusHarmonicDetailMMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpSurplusHarmonicDetailMMapper.java index 1ed378c58..23c9da8d4 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpSurplusHarmonicDetailMMapper.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/RMpSurplusHarmonicDetailMMapper.java @@ -1,5 +1,6 @@ package com.njcn.harmonic.mapper.majornetwork; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailM; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -24,4 +25,8 @@ public interface RMpSurplusHarmonicDetailMMapper extends BaseMapper getRMpPartHarmonicDetail(@Param("param") StatSubstationBizBaseParam param); + + + + Page getPwRMpPartHarmonicDetail(Page page,@Param("param") StatSubstationBizBaseParam param); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpPassRateMMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpPassRateMMapper.xml index aba881b3d..5718b46ea 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpPassRateMMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpPassRateMMapper.xml @@ -35,4 +35,28 @@ + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpPassRateQMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpPassRateQMapper.xml index 780857c9e..1f128b70d 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpPassRateQMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpPassRateQMapper.xml @@ -35,4 +35,30 @@ + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpPassRateYMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpPassRateYMapper.xml index 4f5ab69d4..40ecad13d 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpPassRateYMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpPassRateYMapper.xml @@ -35,4 +35,30 @@ + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpSurplusHarmonicDetailMMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpSurplusHarmonicDetailMMapper.xml index 964611810..63b513353 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpSurplusHarmonicDetailMMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RMpSurplusHarmonicDetailMMapper.xml @@ -167,4 +167,114 @@ + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/PwRStatOrgService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/PwRStatOrgService.java index 5c745f7a0..3887b0c5b 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/PwRStatOrgService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/PwRStatOrgService.java @@ -1,5 +1,6 @@ package com.njcn.harmonic.service.distribution; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.harmonic.pojo.param.RStatOrgParam; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; @@ -40,7 +41,7 @@ public interface PwRStatOrgService extends IService { * @param param * @return */ - List getRMpPassRateInfo(RStatOrgParam.PwRStatOrgParam param); + Page getRMpPassRateInfo(RStatOrgParam.PwRStatOrgParam param); /** * 配网区域稳态指标超标分类统计表 @@ -56,7 +57,7 @@ public interface PwRStatOrgService extends IService { * @param param * @return */ - List getRMpPartHarmonicDetail(RStatOrgParam.PwRStatOrgParam param); + Page getRMpPartHarmonicDetail(RStatOrgParam.PwRStatOrgParam param); /** * 变电站稳态指标超标分类统计表 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRMpBenchmarkLevelMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRMpBenchmarkLevelMServiceImpl.java index 613bd9dcd..3d74a22b2 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRMpBenchmarkLevelMServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRMpBenchmarkLevelMServiceImpl.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pms.api.DistributionMonitorClient; +import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.api.PwMonitorClient; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; @@ -37,6 +39,10 @@ public class PwRMpBenchmarkLevelMServiceImpl extends ServiceImpl getPwRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) { + + Page pageResult = new Page<>(rMpBenchmarkLevelParam.getPageNum(),rMpBenchmarkLevelParam.getPageSize()); //提取查询条件 String id = rMpBenchmarkLevelParam.getId(); //单位id if (StringUtils.isBlank(id)) { @@ -62,25 +70,33 @@ public class PwRMpBenchmarkLevelMServiceImpl extends ServiceImpl pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData(); - if (CollUtil.isEmpty(pwMonitorList)) { + + List monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); + if (CollUtil.isEmpty(monitorIds)) { return new Page<>(); } - //监测点id集合 - List monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); - //监测点map key:监测点id value:监测点实体 - Map monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key1)); //查询【基准水平-月】数据 - /*组装条件:where measurement_point_id in (monitorIdList) and data_date >= startTime - and data_date <= endTime and voltage_level - */ + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(CollUtil.isNotEmpty(monitorIdList), RMpBenchmarkLevelM::getMeasurementPointId, monitorIdList) + lambdaQueryWrapper.in(RMpBenchmarkLevelM::getMeasurementPointId, monitorIds) .ge(StringUtils.isNotBlank(startTime), RMpBenchmarkLevelM::getDataDate, startTime) .le(StringUtils.isNotBlank(endTime), RMpBenchmarkLevelM::getDataDate, endTime); Page listPage = this.page(new Page<>(pageNum, pageSize), lambdaQueryWrapper); - List resultList = listPage.getRecords().stream().map(item -> { + List temList = listPage.getRecords(); + if(CollUtil.isEmpty(temList)){ + pageResult.setTotal(listPage.getTotal()); + return pageResult; + } + + //监测点id集合 + List monitorIdList = temList.stream().map(RMpBenchmarkLevelM::getMeasurementPointId).distinct().collect(Collectors.toList()); + List pwMonitorList = distributionMonitorClient.pwMonitorAreaDetailInfo(monitorIdList).getData(); + + //监测点map key:监测点id value:监测点实体 + Map monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key1)); + + List resultList = temList.stream().map(item -> { //封装前端需要的对象 PwRMpBenchmarkLevelVO rMpBenchmarkLevelVO = new PwRMpBenchmarkLevelVO(); BeanUtils.copyProperties(item, rMpBenchmarkLevelVO); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRMpBenchmarkLevelQServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRMpBenchmarkLevelQServiceImpl.java index 1cb5cc1c2..9812c3cc4 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRMpBenchmarkLevelQServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRMpBenchmarkLevelQServiceImpl.java @@ -6,14 +6,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pms.api.DistributionMonitorClient; +import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.api.PwMonitorClient; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; +import com.njcn.device.pms.pojo.vo.PwRMpMonitorAlarmCountMVO; import com.njcn.harmonic.mapper.distribution.PwRMpBenchmarkLevelQMapper; import com.njcn.harmonic.pojo.param.RMpBenchmarkLevelParam; +import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelM; import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelQ; import com.njcn.harmonic.pojo.vo.PwRMpBenchmarkLevelVO; import com.njcn.harmonic.service.distribution.PwRMpBenchmarkLevelQService; +import com.njcn.web.factory.PageFactory; import lombok.RequiredArgsConstructor; import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; @@ -37,6 +42,11 @@ implements PwRMpBenchmarkLevelQService { private final PwMonitorClient pwMonitorClient; + private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient; + + private final DistributionMonitorClient distributionMonitorClient; + + /*** * 配网-全网基准水平 * @author jianghaifei @@ -46,6 +56,8 @@ implements PwRMpBenchmarkLevelQService { */ @Override public Page getPwRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) { + Page pageResult = new Page<>(rMpBenchmarkLevelParam.getPageNum(),rMpBenchmarkLevelParam.getPageSize()); + //提取查询条件 String id = rMpBenchmarkLevelParam.getId(); //单位id if (StringUtils.isBlank(id)) { @@ -61,24 +73,30 @@ implements PwRMpBenchmarkLevelQService { PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); pwPmsMonitorParam.setOrgId(id); //单位id pwPmsMonitorParam.setVoltageLevels(voltageLevelParamList); //电压等级 - List pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData(); - if (CollUtil.isEmpty(pwMonitorList)) { + List monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); + if (CollUtil.isEmpty(monitorIds)) { return new Page<>(); } - //监测点id集合 - List monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); - //监测点map key:监测点id value:监测点实体 - Map monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2)->key1)); //查询【基准水平-季】数据 - /*组装条件:where measurement_point_id in (monitorIdList) and data_date >= startTime - and data_date <= endTime and voltage_level - */ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(CollUtil.isNotEmpty(monitorIdList), RMpBenchmarkLevelQ::getMeasurementPointId, monitorIdList) + lambdaQueryWrapper.in(RMpBenchmarkLevelQ::getMeasurementPointId, monitorIds) .ge(StringUtils.isNotBlank(startTime), RMpBenchmarkLevelQ::getDataDate, startTime) .le(StringUtils.isNotBlank(endTime), RMpBenchmarkLevelQ::getDataDate, endTime); Page listPage = this.page(new Page<>(pageNum, pageSize), lambdaQueryWrapper); + List temList = listPage.getRecords(); + if(CollUtil.isEmpty(temList)){ + pageResult.setTotal(listPage.getTotal()); + return pageResult; + } + //监测点id集合 + List monitorIdList = temList.stream().map(RMpBenchmarkLevelQ::getMeasurementPointId).distinct().collect(Collectors.toList()); + + List pwMonitorList = distributionMonitorClient.pwMonitorAreaDetailInfo(monitorIdList).getData(); + //监测点map key:监测点id value:监测点实体 + Map monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2)->key1)); + + List resultList = listPage.getRecords().stream().map(item -> { //封装前端需要的对象 PwRMpBenchmarkLevelVO rMpBenchmarkLevelVO = new PwRMpBenchmarkLevelVO(); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRMpBenchmarkLevelYServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRMpBenchmarkLevelYServiceImpl.java index 81144e0b8..9cd1cabf1 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRMpBenchmarkLevelYServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRMpBenchmarkLevelYServiceImpl.java @@ -6,11 +6,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pms.api.DistributionMonitorClient; +import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.api.PwMonitorClient; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; import com.njcn.harmonic.mapper.distribution.PwRMpBenchmarkLevelYMapper; import com.njcn.harmonic.pojo.param.RMpBenchmarkLevelParam; +import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelM; import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelY; import com.njcn.harmonic.pojo.vo.PwRMpBenchmarkLevelVO; import com.njcn.harmonic.service.distribution.PwRMpBenchmarkLevelYService; @@ -38,6 +41,11 @@ implements PwRMpBenchmarkLevelYService { private final PwMonitorClient pwMonitorClient; + + private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient; + + private final DistributionMonitorClient distributionMonitorClient; + /*** * 配网-全网基准水平 * @author jianghaifei @@ -47,6 +55,8 @@ implements PwRMpBenchmarkLevelYService { */ @Override public Page getPwRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) { + Page pageResult = new Page<>(rMpBenchmarkLevelParam.getPageNum(),rMpBenchmarkLevelParam.getPageSize()); + //提取查询条件 String id = rMpBenchmarkLevelParam.getId(); //单位id if (StringUtils.isBlank(id)) { @@ -58,29 +68,39 @@ implements PwRMpBenchmarkLevelYService { Integer pageNum = rMpBenchmarkLevelParam.getPageNum() != null && rMpBenchmarkLevelParam.getPageNum() != 0 ? rMpBenchmarkLevelParam.getPageNum() : 1; //页码 Integer pageSize = rMpBenchmarkLevelParam.getPageSize() != null && rMpBenchmarkLevelParam.getPageSize() != 0 ? rMpBenchmarkLevelParam.getPageSize() : 10; //页面尺寸 + + + //根据条件查询单位下面的所有配网监测点 PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); pwPmsMonitorParam.setOrgId(id); //单位id pwPmsMonitorParam.setVoltageLevels(voltageLevelParamList); //电压等级 - List pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData(); - if (CollUtil.isEmpty(pwMonitorList)) { + + List monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); + if (CollUtil.isEmpty(monitorIds)) { return new Page<>(); } - //监测点id集合 - List monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); - //监测点map key:监测点id value:监测点实体 - Map monitorMap = pwMonitorList.stream().collect( - Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key1)); + //查询【基准水平-年】数据 - /*组装条件:where measurement_point_id in (monitorIdList) and data_date >= startTime - and data_date <= endTime and voltage_level - */ + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(CollUtil.isNotEmpty(monitorIdList), RMpBenchmarkLevelY::getMeasurementPointId, monitorIdList) + lambdaQueryWrapper.in(RMpBenchmarkLevelY::getMeasurementPointId, monitorIds) .ge(StringUtils.isNotBlank(startTime), RMpBenchmarkLevelY::getDataDate, startTime) .le(StringUtils.isNotBlank(endTime), RMpBenchmarkLevelY::getDataDate, endTime); Page listPage = this.page(new Page<>(pageNum, pageSize), lambdaQueryWrapper); + List temList = listPage.getRecords(); + if(CollUtil.isEmpty(temList)){ + pageResult.setTotal(listPage.getTotal()); + return pageResult; + } + + //监测点id集合 + List monitorIdList = temList.stream().map(RMpBenchmarkLevelY::getMeasurementPointId).distinct().collect(Collectors.toList()); + List pwMonitorList = distributionMonitorClient.pwMonitorAreaDetailInfo(monitorIdList).getData(); + //监测点map key:监测点id value:监测点实体 + Map monitorMap = pwMonitorList.stream().collect( + Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key1)); List resultList = listPage.getRecords().stream().map(item -> { //封装前端需要的对象 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRStatOrgServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRStatOrgServiceImpl.java index 921fec7de..0e70e304c 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRStatOrgServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRStatOrgServiceImpl.java @@ -3,9 +3,11 @@ package com.njcn.harmonic.service.distribution.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.dto.SimpleDTO; +import com.njcn.device.pms.api.DistributionMonitorClient; import com.njcn.device.pms.api.MonitorClient; import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.api.PwMonitorClient; @@ -69,6 +71,8 @@ public class PwRStatOrgServiceImpl extends ServiceImpl getRStatHarmonicAll(StatSubstationBizBaseParam param) { //获取当前部门下所有部门信息 @@ -161,7 +165,8 @@ public class PwRStatOrgServiceImpl extends ServiceImpl getRMpPassRateInfo(RStatOrgParam.PwRStatOrgParam param) { + public Page getRMpPassRateInfo(RStatOrgParam.PwRStatOrgParam param) { + Page pageResult = new Page<>(param.getPageNum(),param.getPageSize()); //初始化对象 List info = new ArrayList<>(); // 获取当前用户的部门的子部门信息 @@ -176,34 +181,41 @@ public class PwRStatOrgServiceImpl extends ServiceImpl monitorDTOList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData(); + List monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); + + if (CollectionUtil.isNotEmpty(monitorIds)) { + + - if (CollectionUtil.isNotEmpty(monitorDTOList)) { - Map monitorDTOMap = monitorDTOList.stream().collect( - Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key2)); //获取最新过滤的监测点id - List ids = monitorDTOList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); - baseParam.setIds(ids); + baseParam.setIds(monitorIds); // 类型(1年 2季度 3月份 + Page temPage = new Page<>(); switch (param.getType().toString()) { case BizParamConstant.STAT_BIZ_YEAR: // 获取年稳态指标合格率明细表 - info = rMpPassRateYMapper.getYearPassRate(baseParam); + temPage = rMpPassRateYMapper.getPageYearPassRate(new Page<>(param.getPageNum(),param.getPageSize()),baseParam); break; case BizParamConstant.STAT_BIZ_QUARTER: // 获取季稳态指标合格率明细表 - info = rMpPassRateQMapper.getQuarterPassRate(baseParam); + temPage = rMpPassRateQMapper.getPwQuarterPassRate(new Page<>(param.getPageNum(),param.getPageSize()),baseParam); break; case BizParamConstant.STAT_BIZ_MONTH: // 获取月稳态指标合格率明细表 - info = rMpPassRateMMapper.getMonthPassRate(baseParam); + temPage = rMpPassRateMMapper.getPwMonthPassRate(new Page<>(param.getPageNum(),param.getPageSize()),baseParam); break; default: break; } + info = temPage.getRecords(); if (CollectionUtil.isNotEmpty(info)) { + List ids = info.stream().map(RStatOrgIndexVO::getMeasurementPointId).distinct().collect(Collectors.toList()); + List pwPmsMonitorDTOList = distributionMonitorClient.pwMonitorAreaDetailInfo(ids).getData(); + Map monitorDTOMap = pwPmsMonitorDTOList.stream().collect( + Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key2)); + //初始化 List temp = new ArrayList<>(); //便利对象 @@ -227,10 +239,10 @@ public class PwRStatOrgServiceImpl extends ServiceImpl(); + return pageResult; } @Override @@ -402,7 +414,9 @@ public class PwRStatOrgServiceImpl extends ServiceImpl getRMpPartHarmonicDetail(RStatOrgParam.PwRStatOrgParam param) { + public Page getRMpPartHarmonicDetail(RStatOrgParam.PwRStatOrgParam param) { + Page pageResult = new Page<>(param.getPageNum(),param.getPageSize()); + PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); //部门id pwPmsMonitorParam.setOrgId(param.getId()); @@ -413,40 +427,40 @@ public class PwRStatOrgServiceImpl extends ServiceImpl pwPmsMonitorDTOS = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData(); - Map pwPmsMonitorDTOMap = pwPmsMonitorDTOS.stream().collect( - Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key2)); + List monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); - if (CollectionUtil.isNotEmpty(pwPmsMonitorDTOS)) { + if (CollectionUtil.isNotEmpty(monitorIds)) { //获取监测点id - List ids = pwPmsMonitorDTOS.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); //筛选出数据库对应监测点 StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); - baseParam.setIds(ids); - List rMpPartHarmonicDetail = rMpSurplusHarmonicDetailMMapper.getRMpPartHarmonicDetail(baseParam); - List newList = BeanUtil.copyToList( - rMpPartHarmonicDetail, RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO.class); - if (CollectionUtil.isNotEmpty(newList)) { - //因为只有月表,数据进行查询可能出现重复数据。进行分组 - Map> detailVOMap = newList.stream() - .collect(Collectors.groupingBy(RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO::getMeasurementPointId)); - detailVOMap.forEach((Key, value) -> { - if (pwPmsMonitorDTOMap.containsKey(Key)) { - PwPmsMonitorDTO dto1 = pwPmsMonitorDTOMap.get(Key); - for (RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO rmp : value) { - rmp.setOrgName(dto1.getOrgName()); - rmp.setPowerrName(dto1.getPowerName()); - rmp.setMeasurementPointName(dto1.getMonitorName()); - rmp.setMonitorSort(dto1.getMonitorSort()); - rmp.setMonitorVoltageName(dto1.getVoltageLevel()); - } - - } - }); + baseParam.setIds(monitorIds); + Page rMpPartHarmonicDetail = rMpSurplusHarmonicDetailMMapper.getPwRMpPartHarmonicDetail(new Page<>(param.getPageNum(),param.getPageSize()),baseParam); + List tmpList = rMpPartHarmonicDetail.getRecords(); + if(CollUtil.isEmpty(tmpList)){ + return pageResult; + } + List newList = BeanUtil.copyToList( + tmpList, RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO.class); + + List ids = tmpList.stream().map(RMpPartHarmonicDetailVO::getMeasurementPointId).distinct().collect(Collectors.toList()); + List pwPmsMonitorDTOList = distributionMonitorClient.pwMonitorAreaDetailInfo(ids).getData(); + Map monitorDTOMap = pwPmsMonitorDTOList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId,Function.identity())); + + if (CollectionUtil.isNotEmpty(newList)) { + newList = newList.stream().peek(item->{ + if (monitorDTOMap.containsKey(item.getMeasurementPointId())) { + PwPmsMonitorDTO dto1 = monitorDTOMap.get(item.getMeasurementPointId()); + item.setOrgName(dto1.getOrgName()); + item.setPowerrName(dto1.getPowerName()); + item.setMeasurementPointName(dto1.getMonitorName()); + item.setMonitorSort(dto1.getMonitorSort()); + item.setMonitorVoltageName(dto1.getVoltageLevel()); + } + }).collect(Collectors.toList()); + pageResult.setRecords(newList); } - return newList; } - return Lists.newArrayList(); + return pageResult; } @Override diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/RStatPwPermeabilityMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/RStatPwPermeabilityMServiceImpl.java index 1b8904a9e..336875c8d 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/RStatPwPermeabilityMServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/RStatPwPermeabilityMServiceImpl.java @@ -3,7 +3,10 @@ package com.njcn.harmonic.service.distribution.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.device.pms.api.DistributionMonitorClient; +import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.api.PwMonitorClient; +import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; import com.njcn.harmonic.mapper.distribution.RStatPwPermeabilityMMapper; @@ -37,6 +40,11 @@ public class RStatPwPermeabilityMServiceImpl extends ServiceImpl getPwPermeabilityList(RStatPwPermeabilityMParam rStatPwPermeabilityMParam) { + Page pageResult = new Page<>(rStatPwPermeabilityMParam.getPageNum(),rStatPwPermeabilityMParam.getPageSize()); + //提起参数 String id = rStatPwPermeabilityMParam.getId(); //单位id String psrName = rStatPwPermeabilityMParam.getPsrName(); //台区名称 @@ -58,25 +68,34 @@ public class RStatPwPermeabilityMServiceImpl extends ServiceImpl pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData(); - if (CollUtil.isEmpty(pwMonitorList)) { + List monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); + if (CollUtil.isEmpty(monitorIds)) { return new Page<>(); } - //监测点id集合 - List monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); - //监测点map key:监测点id value:监测点实体 - Map monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1, key2)->key1)); //获取各渗透率字典 List rateList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.PERMEABILITY_TYPE.getCode()).getData(); Map condMap = rateList.stream().collect(Collectors.toMap(DictData::getCode, DictData::getId)); condMap.put("startTime", startTime); condMap.put("endTime", endTime); - condMap.put("idList", monitorIdList); + condMap.put("idList", monitorIds); - Page listPage = this.baseMapper.getPwPermeabilityList(new Page<>(pageNum, pageSize), condMap); - List list = listPage.getRecords().stream().peek(item -> { + Page listPage = this.baseMapper.getPwPermeabilityList( + new Page<>(pageNum, pageSize), condMap); + List temList = listPage.getRecords(); + if(CollUtil.isEmpty(temList)){ + pageResult.setTotal(listPage.getTotal()); + return pageResult; + } + + //监测点id集合 + Listids = temList.stream().map(RStatPwPermeabilityMVO::getPsrId).distinct().collect(Collectors.toList()); + List pwMonitorList = distributionMonitorClient.pwMonitorAreaDetailInfo(ids).getData(); + //监测点map key:监测点id value:监测点实体 + Map monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1, key2)->key1)); + + + List list = temList.stream().peek(item -> { item.setOrgName(monitorMap.get(item.getPsrId()).getOrgName()); //单位名称 item.setPsrName(monitorMap.get(item.getPsrId()).getMonitorName()); //台区名称 }).collect(Collectors.toList());