From ecf53c9bbbf765588b0f233ed8807ad4de7be2ea Mon Sep 17 00:00:00 2001 From: cdf <857448963@qq.com> Date: Mon, 13 May 2024 20:23:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B2=B3=E5=8C=97pms=E4=B8=A4=E7=BA=A7?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E9=9C=80=E6=B1=82=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pq/controller/TerminalTreeController.java | 2 +- .../com/njcn/device/pq/mapper/TreeMapper.java | 3 + .../service/impl/TerminalTreeServiceImpl.java | 46 ++- .../harmonic/pojo/dto/upload/RDimUpDTO.java | 28 ++ .../pojo/po/upload/PmsRunStatisticM.java | 3 - .../pojo/po/upload/PmsRunStatisticY.java | 3 - .../harmonic/pojo/po/upload/RDimBusUpM.java | 2 - .../harmonic/pojo/po/upload/RDimBusUpY.java | 3 - .../harmonic/pojo/vo/upload/DimBusBarVO.java | 5 + .../upload/EvaluationDownController.java | 24 ++ .../upload/IEvaluationDataService.java | 11 + .../impl/REvaluationDataServiceImpl.java | 293 ++++++++++++++---- .../impl/PmsRunStatisticMServiceImpl.java | 6 +- .../impl/PmsRunStatisticYServiceImpl.java | 4 +- .../upload/impl/RDimBusUpMServiceImpl.java | 2 - .../upload/impl/RDimBusUpYServiceImpl.java | 1 - .../com/njcn/system/enums/DicDataEnum.java | 5 + 17 files changed, 352 insertions(+), 89 deletions(-) create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/dto/upload/RDimUpDTO.java diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalTreeController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalTreeController.java index 38b7bf38c..dad7ac6f4 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalTreeController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalTreeController.java @@ -57,7 +57,7 @@ public class TerminalTreeController extends BaseController { /** * 获取设备树给前端下拉选择 */ - @ApiOperation("获取终端树") + @ApiOperation("获取简单的终端树") @OperateInfo(info = LogEnum.BUSINESS_MEDIUM) @GetMapping("getTerminalSelectTree") public HttpResult> getTerminalSelectTree(Integer level){ diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/TreeMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/TreeMapper.java index fc3e9af2c..03cd86381 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/TreeMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/TreeMapper.java @@ -1,5 +1,6 @@ package com.njcn.device.pq.mapper; +import com.njcn.device.biz.pojo.vo.TerminalSelectTreeVO; import com.njcn.device.pq.pojo.vo.TerminalTree; import org.apache.ibatis.annotations.Param; @@ -40,4 +41,6 @@ public interface TreeMapper { * @return 监测点信息 */ List getLineList(@Param("lineIndex")List lineIndexes); + + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java index 343ae21fc..ac8bff919 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java @@ -1,6 +1,8 @@ package com.njcn.device.pq.service.impl; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.njcn.common.pojo.enums.common.ServerEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.biz.pojo.vo.TerminalSelectTreeVO; import com.njcn.device.pq.enums.LineBaseEnum; @@ -9,6 +11,7 @@ import com.njcn.device.pq.mapper.LineMapper; import com.njcn.device.pq.mapper.TreeMapper; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.param.DeviceInfoParam; +import com.njcn.device.pq.pojo.po.Line; import com.njcn.device.pq.pojo.vo.DeptLineTreeVO; import com.njcn.device.pq.pojo.vo.TerminalTree; import com.njcn.device.pq.service.TerminalTreeService; @@ -16,6 +19,7 @@ import com.njcn.system.api.AreaFeignClient; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.pojo.enums.StatisticsEnum; import com.njcn.system.pojo.po.Area; +import com.njcn.web.utils.RequestUtil; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -24,6 +28,7 @@ import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Map; +import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -222,7 +227,46 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { */ @Override public List getTerminalSelectTree(Integer level) { - return null; + List resultList = new ArrayList<>(); + + DeviceInfoParam deviceInfoParam = new DeviceInfoParam(); + deviceInfoParam.setDeptIndex(RequestUtil.getDeptIndex()); + deviceInfoParam.setServerName(ServerEnum.HARMONIC.getName()); + List generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList())); + + for(GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList){ + if(CollectionUtil.isEmpty(generalDeviceDTO.getLineIndexes())){ + continue; + } + // 通过供电公司索引查询省会 + List children = new ArrayList<>(); + if(level == 4){ + List devList = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId,generalDeviceDTO.getDeviceIndexes())); + for(Line line: devList){ + TerminalSelectTreeVO terminalSelectTreeVO = new TerminalSelectTreeVO(); + terminalSelectTreeVO.setValue(line.getId()); + terminalSelectTreeVO.setLabel(line.getName()); + children.add(terminalSelectTreeVO); + } + }else if(level == 6){ + List busList = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId,generalDeviceDTO.getVoltageIndexes())); + Map map = busList.stream().collect(Collectors.toMap(Line::getId, Function.identity())); + List lineList = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId,generalDeviceDTO.getLineIndexes())); + for(Line line: lineList){ + TerminalSelectTreeVO terminalSelectTreeVO = new TerminalSelectTreeVO(); + terminalSelectTreeVO.setValue(line.getId()); + terminalSelectTreeVO.setLabel(map.get(line.getPid()).getName()+"_"+line.getName()); + children.add(terminalSelectTreeVO); + } + + } + TerminalSelectTreeVO terminalSelectTreeVO = new TerminalSelectTreeVO(); + terminalSelectTreeVO.setValue(generalDeviceDTO.getIndex()); + terminalSelectTreeVO.setLabel(generalDeviceDTO.getName()); + terminalSelectTreeVO.setChildren(children); + resultList.add(terminalSelectTreeVO); + } + return resultList; } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/dto/upload/RDimUpDTO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/dto/upload/RDimUpDTO.java new file mode 100644 index 000000000..f059137d5 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/dto/upload/RDimUpDTO.java @@ -0,0 +1,28 @@ +package com.njcn.harmonic.pojo.dto.upload; + +import lombok.Data; + +/** + * pqs + * + * @author cdf + * @date 2024/5/13 + */ +@Data +public class RDimUpDTO { + + /** + * 中台母线编号 + */ + private String busMidId; + + /** + * 监测母线最优监测点id + */ + private String effectId; + + /** + * 监测母线有效监测点ids + */ + private String effectIds; +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/PmsRunStatisticM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/PmsRunStatisticM.java index df50866b7..37e7befc3 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/PmsRunStatisticM.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/PmsRunStatisticM.java @@ -30,9 +30,6 @@ public class PmsRunStatisticM { @MppMultiId private LocalDate statisticDate; - @MppMultiId - private LocalDate statDate; - @MppMultiId private String deptId; diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/PmsRunStatisticY.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/PmsRunStatisticY.java index 1d5f4742c..879bd1f87 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/PmsRunStatisticY.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/PmsRunStatisticY.java @@ -30,9 +30,6 @@ public class PmsRunStatisticY { @MppMultiId private LocalDate statisticDate; - @MppMultiId - private LocalDate statDate; - @MppMultiId private String deptId; diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpM.java index 3f8f063bb..948f73ab4 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpM.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpM.java @@ -30,8 +30,6 @@ public class RDimBusUpM { @MppMultiId private String phasicType; - @MppMultiId - private LocalDate statDate; @MppMultiId private String busId; diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpY.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpY.java index 228210d53..43c13c544 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpY.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RDimBusUpY.java @@ -27,9 +27,6 @@ public class RDimBusUpY{ @MppMultiId private LocalDate statisticDate; - @MppMultiId - private LocalDate statDate; - @MppMultiId private String phasicType; diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/upload/DimBusBarVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/upload/DimBusBarVO.java index cc46dd8b6..fa8444dbd 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/upload/DimBusBarVO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/upload/DimBusBarVO.java @@ -30,4 +30,9 @@ public class DimBusBarVO { private String stationType; private String stationVoltageLevel; private String stationVoltageLevelName; + + + + private Integer busEfectiveMnitorNum; + private String busEffectiveMonitors; } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/EvaluationDownController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/EvaluationDownController.java index 024d2056d..b68802bf7 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/EvaluationDownController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/EvaluationDownController.java @@ -47,4 +47,28 @@ public class EvaluationDownController extends BaseController { Page page = evaluationDataService.getBaseEvaOnlineBusDetail(param); return new PmsHttpResult<>(0, page); } + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getBaseEvaMonitorBusDetail") + @ApiOperation("国网上送-接收总部基准水平评估监测母线列表详情下穿接口") + @ApiImplicitParam(name = "param", value = "实体参数", required = true) + public PmsHttpResult> getBaseEvaMonitorBusDetail(@RequestBody DimBusBarParam param) { + String methodDescribe = getMethodDescribe("getBaseEvaOnlineBusDetail"); + Page page = evaluationDataService.getBaseEvaMonitorBusDetail(param); + return new PmsHttpResult<>(0, page); + } + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getBusListByVoltageLevel") + @ApiOperation("国网上送-接收总部基准水平评估监测母线列表详情下穿接口") + @ApiImplicitParam(name = "param", value = "实体参数", required = true) + public PmsHttpResult> getBusListByVoltageLevel(@RequestBody DimBusBarParam param) { + String methodDescribe = getMethodDescribe("getBusListByVoltageLevel"); + Page page = evaluationDataService.getBusListByVoltageLevel(param); + return new PmsHttpResult<>(0, page); + } + + } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IEvaluationDataService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IEvaluationDataService.java index b6342aff6..dbd465686 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IEvaluationDataService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/IEvaluationDataService.java @@ -31,6 +31,17 @@ public interface IEvaluationDataService extends IService */ String uploadEvaluationData(UploadParam param); + /** + *接收总部基准水平评估在运母线数量详情下穿接口 + */ Page getBaseEvaOnlineBusDetail(DimBusBarParam param); + /** + *接收总部基准水平评估监测母线列表详情下穿接口 + */ + PagegetBaseEvaMonitorBusDetail(DimBusBarParam param); + + + Page getBusListByVoltageLevel(DimBusBarParam param); + } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java index abe5ec21a..71b4a58ee 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/REvaluationDataServiceImpl.java @@ -7,6 +7,7 @@ import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -16,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.harmonic.mapper.upload.*; import com.njcn.harmonic.pojo.dto.upload.PqEvaluationCreateDTO; +import com.njcn.harmonic.pojo.dto.upload.RDimUpDTO; import com.njcn.harmonic.pojo.param.UploadDataParam; import com.njcn.harmonic.pojo.param.UploadParam; import com.njcn.harmonic.pojo.param.upload.DimBusBarParam; @@ -24,6 +26,7 @@ import com.njcn.harmonic.pojo.vo.upload.DimBusBarVO; import com.njcn.harmonic.pojo.vo.upload.UploadEvaluationDataVo; import com.njcn.harmonic.service.upload.IEvaluationDataService; import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.po.Dept; @@ -39,7 +42,9 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -173,88 +178,245 @@ public class REvaluationDataServiceImpl extends ServiceImpl getBaseEvaOnlineBusDetail(DimBusBarParam param) { - Dept dept = deptFeignClient.getRootDept().getData(); List temBusIds = new ArrayList<>(); + //TODO 非空判断以总部的返回方式返回 //统计类型不为空,则查询指定统计天数的数据 - if (StrUtil.isNotBlank(param.getStatType())) { - //判断日月年不为空时候对应参数不能为空 - if (StrUtil.isBlank(param.getStartTime()) || StrUtil.isBlank(param.getEndTime())) { - //TODO 需要抛出异常,抛异常格式需要和总部要求格式一致 + if (StrUtil.isBlank(param.getStatType())) { + + } + //判断日月年不为空时候对应参数不能为空 + if (StrUtil.isBlank(param.getStartTime()) || StrUtil.isBlank(param.getEndTime())) { + + } + + if (StrUtil.isBlank(param.getNodeId())) { + //没有组织id则认为查询日的省级数据 + + } + + LocalDate begin = LocalDate.parse(param.getStartTime()); + if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_D.getCode())) { + //具体日期投运,监测台账查询 + LambdaQueryWrapper dayLam = new LambdaQueryWrapper<>(); + dayLam.eq(PmsRunStatisticD::getStatisticDate, begin).eq(PmsRunStatisticD::getDeptId, param.getNodeId()); + PmsRunStatisticD pmsRunStatisticD = pmsRunStatisticDMapper.selectOne(dayLam); + if (Objects.nonNull(pmsRunStatisticD)) { + if (StrUtil.isNotBlank(param.getDataSource())) { + temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticD.getOnlineBusMidIds().split(StrUtil.COMMA))); + } else { + temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticD.getRunBusIds().split(StrUtil.COMMA))); + } } - if (StrUtil.isBlank(param.getNodeId())) { - //没有组织id则认为查询日的省级数据 - param.setNodeId(dept.getCode()); + //稳态指标条件筛选 + if (StrUtil.isNotBlank(param.getIndexType())) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + this.harmTarget(param,temBusIds, queryWrapper); + List rDimBusUpDList = rDimBusUpDMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(rDimBusUpDList)) { + return new Page<>(); + } + temBusIds = rDimBusUpDList.stream().map(RDimBusUpD::getMidBusId).distinct().collect(Collectors.toList()); } - List orgIds = deptFeignClient.getDepSonSelfCodetByCode(param.getNodeId()).getData(); - param.setOrgIds(orgIds); - - if (param.getStatType().equals("03")) { - LocalDate day = LocalDate.parse(param.getStartTime()); - //具体日期投运,监测台账查询 - LambdaQueryWrapper dayLam = new LambdaQueryWrapper<>(); - dayLam.eq(PmsRunStatisticD::getStatisticDate, day).in(PmsRunStatisticD::getDeptId, param.getNodeId()); - PmsRunStatisticD pmsRunStatisticD = pmsRunStatisticDMapper.selectOne(dayLam); - if (Objects.nonNull(pmsRunStatisticD)) { - if (StrUtil.isNotBlank(param.getDataSource())) { - temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticD.getOnlineBusMidIds().split(StrUtil.COMMA))); - } else { - temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticD.getRunBusIds().split(StrUtil.COMMA))); - } + } else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())) { + //具体日期投运,监测台账查询 + LambdaQueryWrapper dayLam = new LambdaQueryWrapper<>(); + dayLam.eq(PmsRunStatisticM::getStatisticDate, begin).eq(PmsRunStatisticM::getDeptId, param.getNodeId()); + PmsRunStatisticM pmsRunStatisticM = pmsRunStatisticMMapper.selectOne(dayLam); + if (Objects.nonNull(pmsRunStatisticM)) { + if (StrUtil.isNotBlank(param.getDataSource())) { + temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticM.getOnlineBusMidIds().split(StrUtil.COMMA))); + } else { + temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticM.getRunBusIds().split(StrUtil.COMMA))); } + } - //稳态指标条件筛选 - if (StrUtil.isNotBlank(param.getIndexType())) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - this.harmTarget(param, queryWrapper); - queryWrapper.eq("statistic_date", day).eq("stat_date",param.getStatDate()); - List rDimBusUpDList = rDimBusUpDMapper.selectList(queryWrapper); - if (CollectionUtil.isEmpty(rDimBusUpDList)) { - return new Page<>(); - } - temBusIds = rDimBusUpDList.stream().map(RDimBusUpD::getMidBusId).distinct().collect(Collectors.toList()); + //稳态指标条件筛选 + if (StrUtil.isNotBlank(param.getIndexType())) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + this.harmTarget(param,temBusIds, queryWrapper); + List rDimBusUpMList = rDimBusUpMMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(rDimBusUpMList)) { + return new Page<>(); } - } else if (param.getStatType().equals("02")) { - LocalDate monthBegin = LocalDate.parse(param.getStartTime()); - //具体日期投运,监测台账查询 - LambdaQueryWrapper dayLam = new LambdaQueryWrapper<>(); - dayLam.eq(PmsRunStatisticM::getStatisticDate, monthBegin).in(PmsRunStatisticM::getDeptId, param.getNodeId()).eq(PmsRunStatisticM::getStatDate,param.getStatDate()); - PmsRunStatisticM pmsRunStatisticM = pmsRunStatisticMMapper.selectOne(dayLam); - if (Objects.nonNull(pmsRunStatisticM)) { - if (StrUtil.isNotBlank(param.getDataSource())) { - temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticM.getOnlineBusMidIds().split(StrUtil.COMMA))); - } else { - temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticM.getRunBusIds().split(StrUtil.COMMA))); - } + temBusIds = rDimBusUpMList.stream().map(RDimBusUpM::getMidBusId).distinct().collect(Collectors.toList()); + } + + } else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())) { + + //具体日期投运,监测台账查询 + LambdaQueryWrapper dayLam = new LambdaQueryWrapper<>(); + dayLam.eq(PmsRunStatisticY::getStatisticDate, begin).eq(PmsRunStatisticY::getDeptId, param.getNodeId()); + PmsRunStatisticY pmsRunStatisticY = pmsRunStatisticYMapper.selectOne(dayLam); + if (Objects.nonNull(pmsRunStatisticY)) { + if (StrUtil.isNotBlank(param.getDataSource())) { + temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticY.getOnlineBusMidIds().split(StrUtil.COMMA))); + } else { + temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticY.getRunBusIds().split(StrUtil.COMMA))); } + } - //稳态指标条件筛选 - if (StrUtil.isNotBlank(param.getIndexType())) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - this.harmTarget(param, queryWrapper); - queryWrapper.eq("statistic_date", monthBegin); - List rDimBusUpMList = rDimBusUpMMapper.selectList(queryWrapper); - if (CollectionUtil.isEmpty(rDimBusUpMList)) { - return new Page<>(); - } - temBusIds = rDimBusUpMList.stream().map(RDimBusUpM::getMidBusId).distinct().collect(Collectors.toList()); + //稳态指标条件筛选 + if (StrUtil.isNotBlank(param.getIndexType())) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + this.harmTarget(param,temBusIds, queryWrapper); + List rDimBusUpYList = rDimBusUpYMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(rDimBusUpYList)) { + return new Page<>(); } + temBusIds = rDimBusUpYList.stream().map(RDimBusUpY::getMidBusId).distinct().collect(Collectors.toList()); + } + } - } else if (param.getStatType().equals("01")) { + param.setOnlineBusIds(temBusIds); + if (CollectionUtil.isEmpty(temBusIds)) { + return new Page<>(); + } + return this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param); + } + @Override + public Page getBaseEvaMonitorBusDetail(DimBusBarParam param) { + List temBusIds = new ArrayList<>(); + + List rDimUpDTOList = new ArrayList<>(); + + LocalDate begin = LocalDate.parse(param.getStartTime()); + + String statisticType = param.getStatType(); + if (DicDataEnum.STATISTICAL_TYPE_D.getCode().equals(statisticType)) { + temBusIds = getOnlineBusIds(param.getNodeId(), begin, PmsRunStatisticD.class); + } else if (DicDataEnum.STATISTICAL_TYPE_M.getCode().equals(statisticType)) { + temBusIds = getOnlineBusIds(param.getNodeId(), begin, PmsRunStatisticM.class); + } else if (DicDataEnum.STATISTICAL_TYPE_Y.getCode().equals(statisticType)) { + temBusIds = getOnlineBusIds(param.getNodeId(), begin, PmsRunStatisticY.class); + } + + + if (StrUtil.isNotBlank(param.getIndexType())) { + if (DicDataEnum.STATISTICAL_TYPE_D.getCode().equals(statisticType)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + this.harmTarget(param,temBusIds, queryWrapper); + List rDimBusUpDList = rDimBusUpDMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(rDimBusUpDList)) { + return new Page<>(); + } + rDimBusUpDList.stream().filter(it->it.getPhasicType().equals("A")).forEach(it->{ + RDimUpDTO rDimUpDTO = new RDimUpDTO(); + rDimUpDTO.setBusMidId(it.getMidBusId()); + rDimUpDTO.setEffectId(it.getEffectId()); + rDimUpDTO.setEffectIds(it.getEffectIds()); + rDimUpDTOList.add(rDimUpDTO); + }); + temBusIds = rDimBusUpDList.stream().map(RDimBusUpD::getMidBusId).distinct().collect(Collectors.toList()); + this.harmTarget(param, temBusIds, queryWrapper); + } else if (DicDataEnum.STATISTICAL_TYPE_M.getCode().equals(statisticType)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + this.harmTarget(param,temBusIds, queryWrapper); + List rDimBusUpMList = rDimBusUpMMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(rDimBusUpMList)) { + return new Page<>(); + } + rDimBusUpMList.stream().filter(it->it.getPhasicType().equals("A")).forEach(it->{ + RDimUpDTO rDimUpDTO = new RDimUpDTO(); + rDimUpDTO.setBusMidId(it.getMidBusId()); + rDimUpDTO.setEffectId(it.getEffectId()); + rDimUpDTO.setEffectIds(it.getEffectIds()); + rDimUpDTOList.add(rDimUpDTO); + }); + + if (CollectionUtil.isEmpty(rDimBusUpMList)) { + return new Page<>(); + } + temBusIds = rDimBusUpMList.stream().map(RDimBusUpM::getMidBusId).distinct().collect(Collectors.toList()); + } else if (DicDataEnum.STATISTICAL_TYPE_Y.getCode().equals(statisticType)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + this.harmTarget(param,temBusIds, queryWrapper); + List rDimBusUpYList = rDimBusUpYMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(rDimBusUpYList)) { + return new Page<>(); + } + rDimBusUpYList.stream().filter(it->it.getPhasicType().equals("A")).forEach(it->{ + RDimUpDTO rDimUpDTO = new RDimUpDTO(); + rDimUpDTO.setBusMidId(it.getMidBusId()); + rDimUpDTO.setEffectId(it.getEffectId()); + rDimUpDTO.setEffectIds(it.getEffectIds()); + rDimUpDTOList.add(rDimUpDTO); + }); + + if (CollectionUtil.isEmpty(rDimBusUpYList)) { + return new Page<>(); + } + temBusIds = rDimBusUpYList.stream().map(RDimBusUpY::getMidBusId).distinct().collect(Collectors.toList()); } } param.setOnlineBusIds(temBusIds); if (CollectionUtil.isEmpty(temBusIds)) { return new Page<>(); } - return this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param); - + Page page = this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param); + if(CollectionUtil.isNotEmpty(page.getRecords())){ + Map map = rDimUpDTOList.stream().collect(Collectors.toMap(RDimUpDTO::getBusMidId,Function.identity())); + page.getRecords().forEach(it->{ + it.setBusEfectiveMnitorNum(map.containsKey(it.getAstId())?map.get(it.getAstId()).getEffectIds().split(StrUtil.COMMA).length:0); + it.setBusEffectiveMonitors(map.containsKey(it.getAstId())?map.get(it.getAstId()).getEffectIds():null); + }); + } + return page; } - private void harmTarget(DimBusBarParam param, QueryWrapper queryWrapper) { + + @Override + public Page getBusListByVoltageLevel(DimBusBarParam param) { + List temBusIds = new ArrayList<>(); + + List rDimUpDTOList = new ArrayList<>(); + + LocalDate begin = LocalDate.parse(param.getStartTime()); + + String statisticType = param.getStatType(); + if (DicDataEnum.STATISTICAL_TYPE_D.getCode().equals(statisticType)) { + temBusIds = getOnlineBusIds(param.getNodeId(), begin, PmsRunStatisticD.class); + } else if (DicDataEnum.STATISTICAL_TYPE_M.getCode().equals(statisticType)) { + temBusIds = getOnlineBusIds(param.getNodeId(), begin, PmsRunStatisticM.class); + } else if (DicDataEnum.STATISTICAL_TYPE_Y.getCode().equals(statisticType)) { + temBusIds = getOnlineBusIds(param.getNodeId(), begin, PmsRunStatisticY.class); + } + return null; + } + + + private List getOnlineBusIds(String nodeId, LocalDate begin, Class clazz) { + QueryWrapper dayLam = new QueryWrapper<>(); + dayLam.eq("statisticDate", begin).eq("deptId", nodeId); + Object pmsRunStatistic = null; + if (PmsRunStatisticD.class.equals(clazz)) { + pmsRunStatistic = pmsRunStatisticDMapper.selectOne((QueryWrapper) dayLam); + } else if (PmsRunStatisticM.class.equals(clazz)) { + pmsRunStatistic = pmsRunStatisticMMapper.selectOne((QueryWrapper)dayLam); + } else if (PmsRunStatisticY.class.equals(clazz)) { + pmsRunStatistic = pmsRunStatisticYMapper.selectOne((QueryWrapper)dayLam); + } + if (Objects.nonNull(pmsRunStatistic)) { + String onlineBusMidIds = null; + if (pmsRunStatistic instanceof PmsRunStatisticD) { + onlineBusMidIds = ((PmsRunStatisticD) pmsRunStatistic).getOnlineBusMidIds(); + } else if (pmsRunStatistic instanceof PmsRunStatisticM) { + onlineBusMidIds = ((PmsRunStatisticM) pmsRunStatistic).getOnlineBusMidIds(); + } else { + onlineBusMidIds = ((PmsRunStatisticY) pmsRunStatistic).getOnlineBusMidIds(); + } + if (onlineBusMidIds != null) { + return Arrays.asList(onlineBusMidIds.split(StrUtil.COMMA)); + } + } + return new ArrayList<>(); + } + + + private void harmTarget(DimBusBarParam param,List temBusIds, QueryWrapper queryWrapper) { //稳态指标条件筛选 String target = "", harmV = ""; switch (param.getIndexType()) { @@ -274,24 +436,25 @@ public class REvaluationDataServiceImpl extends ServiceImpl selectListByDate(String startTime, String endTime, String dataDate) { return this.list(new LambdaQueryWrapper() .ge(StrUtil.isNotBlank(startTime), PmsRunStatisticM::getStatisticDate, DateUtil.beginOfDay(DateUtil.parse(startTime))) - .le(StrUtil.isNotBlank(endTime), PmsRunStatisticM::getStatisticDate, DateUtil.endOfDay(DateUtil.parse(endTime))) - .eq(PmsRunStatisticM::getStatDate, dataDate)); + .le(StrUtil.isNotBlank(endTime), PmsRunStatisticM::getStatisticDate, DateUtil.endOfDay(DateUtil.parse(endTime)))); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/PmsRunStatisticYServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/PmsRunStatisticYServiceImpl.java index bfceaed9b..cadad858b 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/PmsRunStatisticYServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/PmsRunStatisticYServiceImpl.java @@ -112,7 +112,6 @@ public class PmsRunStatisticYServiceImpl extends MppServiceImpl selectListByDate(String startTime, String endTime, String dataDate) { return this.list(new LambdaQueryWrapper() .ge(StrUtil.isNotBlank(startTime), PmsRunStatisticY::getStatisticDate, DateUtil.beginOfDay(DateUtil.parse(startTime))) - .le(StrUtil.isNotBlank(endTime), PmsRunStatisticY::getStatisticDate, DateUtil.endOfDay(DateUtil.parse(endTime))) - .eq(PmsRunStatisticY::getStatDate, dataDate)); + .le(StrUtil.isNotBlank(endTime), PmsRunStatisticY::getStatisticDate, DateUtil.endOfDay(DateUtil.parse(endTime)))); } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RDimBusUpMServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RDimBusUpMServiceImpl.java index c60bdb859..387b1056d 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RDimBusUpMServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/upload/impl/RDimBusUpMServiceImpl.java @@ -69,7 +69,6 @@ public class RDimBusUpMServiceImpl extends MppServiceImpl