河北pms两级文档需求开发

This commit is contained in:
cdf
2024-05-13 20:23:50 +08:00
parent cc24fc3124
commit ecf53c9bbb
17 changed files with 352 additions and 89 deletions

View File

@@ -57,7 +57,7 @@ public class TerminalTreeController extends BaseController {
/** /**
* 获取设备树给前端下拉选择 * 获取设备树给前端下拉选择
*/ */
@ApiOperation("获取终端树") @ApiOperation("获取简单的终端树")
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM) @OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
@GetMapping("getTerminalSelectTree") @GetMapping("getTerminalSelectTree")
public HttpResult<List<TerminalSelectTreeVO>> getTerminalSelectTree(Integer level){ public HttpResult<List<TerminalSelectTreeVO>> getTerminalSelectTree(Integer level){

View File

@@ -1,5 +1,6 @@
package com.njcn.device.pq.mapper; package com.njcn.device.pq.mapper;
import com.njcn.device.biz.pojo.vo.TerminalSelectTreeVO;
import com.njcn.device.pq.pojo.vo.TerminalTree; import com.njcn.device.pq.pojo.vo.TerminalTree;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -40,4 +41,6 @@ public interface TreeMapper {
* @return 监测点信息 * @return 监测点信息
*/ */
List<TerminalTree> getLineList(@Param("lineIndex")List<String> lineIndexes); List<TerminalTree> getLineList(@Param("lineIndex")List<String> lineIndexes);
} }

View File

@@ -1,6 +1,8 @@
package com.njcn.device.pq.service.impl; package com.njcn.device.pq.service.impl;
import cn.hutool.core.collection.CollectionUtil; 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.common.pojo.response.HttpResult;
import com.njcn.device.biz.pojo.vo.TerminalSelectTreeVO; import com.njcn.device.biz.pojo.vo.TerminalSelectTreeVO;
import com.njcn.device.pq.enums.LineBaseEnum; 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.mapper.TreeMapper;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.param.DeviceInfoParam; 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.DeptLineTreeVO;
import com.njcn.device.pq.pojo.vo.TerminalTree; import com.njcn.device.pq.pojo.vo.TerminalTree;
import com.njcn.device.pq.service.TerminalTreeService; 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.api.DicDataFeignClient;
import com.njcn.system.pojo.enums.StatisticsEnum; import com.njcn.system.pojo.enums.StatisticsEnum;
import com.njcn.system.pojo.po.Area; import com.njcn.system.pojo.po.Area;
import com.njcn.web.utils.RequestUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
@@ -24,6 +28,7 @@ import java.util.ArrayList;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
@@ -222,7 +227,46 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
*/ */
@Override @Override
public List<TerminalSelectTreeVO> getTerminalSelectTree(Integer level) { public List<TerminalSelectTreeVO> getTerminalSelectTree(Integer level) {
return null; List<TerminalSelectTreeVO> resultList = new ArrayList<>();
DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
deviceInfoParam.setDeptIndex(RequestUtil.getDeptIndex());
deviceInfoParam.setServerName(ServerEnum.HARMONIC.getName());
List<GeneralDeviceDTO> 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<TerminalSelectTreeVO> children = new ArrayList<>();
if(level == 4){
List<Line> devList = lineMapper.selectList(new LambdaQueryWrapper<Line>().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<Line> busList = lineMapper.selectList(new LambdaQueryWrapper<Line>().in(Line::getId,generalDeviceDTO.getVoltageIndexes()));
Map<String,Line> map = busList.stream().collect(Collectors.toMap(Line::getId, Function.identity()));
List<Line> lineList = lineMapper.selectList(new LambdaQueryWrapper<Line>().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;
} }

View File

@@ -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;
}

View File

@@ -30,9 +30,6 @@ public class PmsRunStatisticM {
@MppMultiId @MppMultiId
private LocalDate statisticDate; private LocalDate statisticDate;
@MppMultiId
private LocalDate statDate;
@MppMultiId @MppMultiId
private String deptId; private String deptId;

View File

@@ -30,9 +30,6 @@ public class PmsRunStatisticY {
@MppMultiId @MppMultiId
private LocalDate statisticDate; private LocalDate statisticDate;
@MppMultiId
private LocalDate statDate;
@MppMultiId @MppMultiId
private String deptId; private String deptId;

View File

@@ -30,8 +30,6 @@ public class RDimBusUpM {
@MppMultiId @MppMultiId
private String phasicType; private String phasicType;
@MppMultiId
private LocalDate statDate;
@MppMultiId @MppMultiId
private String busId; private String busId;

View File

@@ -27,9 +27,6 @@ public class RDimBusUpY{
@MppMultiId @MppMultiId
private LocalDate statisticDate; private LocalDate statisticDate;
@MppMultiId
private LocalDate statDate;
@MppMultiId @MppMultiId
private String phasicType; private String phasicType;

View File

@@ -30,4 +30,9 @@ public class DimBusBarVO {
private String stationType; private String stationType;
private String stationVoltageLevel; private String stationVoltageLevel;
private String stationVoltageLevelName; private String stationVoltageLevelName;
private Integer busEfectiveMnitorNum;
private String busEffectiveMonitors;
} }

View File

@@ -47,4 +47,28 @@ public class EvaluationDownController extends BaseController {
Page<DimBusBarVO> page = evaluationDataService.getBaseEvaOnlineBusDetail(param); Page<DimBusBarVO> page = evaluationDataService.getBaseEvaOnlineBusDetail(param);
return new PmsHttpResult<>(0, page); return new PmsHttpResult<>(0, page);
} }
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getBaseEvaMonitorBusDetail")
@ApiOperation("国网上送-接收总部基准水平评估监测母线列表详情下穿接口")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public PmsHttpResult<Page<DimBusBarVO>> getBaseEvaMonitorBusDetail(@RequestBody DimBusBarParam param) {
String methodDescribe = getMethodDescribe("getBaseEvaOnlineBusDetail");
Page<DimBusBarVO> 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<Page<DimBusBarVO>> getBusListByVoltageLevel(@RequestBody DimBusBarParam param) {
String methodDescribe = getMethodDescribe("getBusListByVoltageLevel");
Page<DimBusBarVO> page = evaluationDataService.getBusListByVoltageLevel(param);
return new PmsHttpResult<>(0, page);
}
} }

View File

@@ -31,6 +31,17 @@ public interface IEvaluationDataService extends IService<RUploadEvaluationDataD>
*/ */
String uploadEvaluationData(UploadParam param); String uploadEvaluationData(UploadParam param);
/**
*接收总部基准水平评估在运母线数量详情下穿接口
*/
Page<DimBusBarVO> getBaseEvaOnlineBusDetail(DimBusBarParam param); Page<DimBusBarVO> getBaseEvaOnlineBusDetail(DimBusBarParam param);
/**
*接收总部基准水平评估监测母线列表详情下穿接口
*/
Page<DimBusBarVO>getBaseEvaMonitorBusDetail(DimBusBarParam param);
Page<DimBusBarVO> getBusListByVoltageLevel(DimBusBarParam param);
} }

View File

@@ -7,6 +7,7 @@ import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; 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.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 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.common.pojo.exception.BusinessException;
import com.njcn.harmonic.mapper.upload.*; import com.njcn.harmonic.mapper.upload.*;
import com.njcn.harmonic.pojo.dto.upload.PqEvaluationCreateDTO; 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.UploadDataParam;
import com.njcn.harmonic.pojo.param.UploadParam; import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.harmonic.pojo.param.upload.DimBusBarParam; 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.pojo.vo.upload.UploadEvaluationDataVo;
import com.njcn.harmonic.service.upload.IEvaluationDataService; import com.njcn.harmonic.service.upload.IEvaluationDataService;
import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.pojo.po.DictData; import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient; import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept; import com.njcn.user.pojo.po.Dept;
@@ -39,7 +42,9 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
@@ -173,28 +178,28 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
@Override @Override
public Page<DimBusBarVO> getBaseEvaOnlineBusDetail(DimBusBarParam param) { public Page<DimBusBarVO> getBaseEvaOnlineBusDetail(DimBusBarParam param) {
Dept dept = deptFeignClient.getRootDept().getData();
List<String> temBusIds = new ArrayList<>(); List<String> temBusIds = new ArrayList<>();
//TODO 非空判断以总部的返回方式返回
//统计类型不为空,则查询指定统计天数的数据 //统计类型不为空,则查询指定统计天数的数据
if (StrUtil.isNotBlank(param.getStatType())) { if (StrUtil.isBlank(param.getStatType())) {
}
//判断日月年不为空时候对应参数不能为空 //判断日月年不为空时候对应参数不能为空
if (StrUtil.isBlank(param.getStartTime()) || StrUtil.isBlank(param.getEndTime())) { if (StrUtil.isBlank(param.getStartTime()) || StrUtil.isBlank(param.getEndTime())) {
//TODO 需要抛出异常,抛异常格式需要和总部要求格式一致
} }
if (StrUtil.isBlank(param.getNodeId())) { if (StrUtil.isBlank(param.getNodeId())) {
//没有组织id则认为查询日的省级数据 //没有组织id则认为查询日的省级数据
param.setNodeId(dept.getCode());
}
List<String> orgIds = deptFeignClient.getDepSonSelfCodetByCode(param.getNodeId()).getData();
param.setOrgIds(orgIds);
if (param.getStatType().equals("03")) { }
LocalDate day = LocalDate.parse(param.getStartTime());
LocalDate begin = LocalDate.parse(param.getStartTime());
if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_D.getCode())) {
//具体日期投运,监测台账查询 //具体日期投运,监测台账查询
LambdaQueryWrapper<PmsRunStatisticD> dayLam = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PmsRunStatisticD> dayLam = new LambdaQueryWrapper<>();
dayLam.eq(PmsRunStatisticD::getStatisticDate, day).in(PmsRunStatisticD::getDeptId, param.getNodeId()); dayLam.eq(PmsRunStatisticD::getStatisticDate, begin).eq(PmsRunStatisticD::getDeptId, param.getNodeId());
PmsRunStatisticD pmsRunStatisticD = pmsRunStatisticDMapper.selectOne(dayLam); PmsRunStatisticD pmsRunStatisticD = pmsRunStatisticDMapper.selectOne(dayLam);
if (Objects.nonNull(pmsRunStatisticD)) { if (Objects.nonNull(pmsRunStatisticD)) {
if (StrUtil.isNotBlank(param.getDataSource())) { if (StrUtil.isNotBlank(param.getDataSource())) {
@@ -207,19 +212,17 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
//稳态指标条件筛选 //稳态指标条件筛选
if (StrUtil.isNotBlank(param.getIndexType())) { if (StrUtil.isNotBlank(param.getIndexType())) {
QueryWrapper<RDimBusUpD> queryWrapper = new QueryWrapper<>(); QueryWrapper<RDimBusUpD> queryWrapper = new QueryWrapper<>();
this.harmTarget(param, queryWrapper); this.harmTarget(param,temBusIds, queryWrapper);
queryWrapper.eq("statistic_date", day).eq("stat_date",param.getStatDate());
List<RDimBusUpD> rDimBusUpDList = rDimBusUpDMapper.selectList(queryWrapper); List<RDimBusUpD> rDimBusUpDList = rDimBusUpDMapper.selectList(queryWrapper);
if (CollectionUtil.isEmpty(rDimBusUpDList)) { if (CollectionUtil.isEmpty(rDimBusUpDList)) {
return new Page<>(); return new Page<>();
} }
temBusIds = rDimBusUpDList.stream().map(RDimBusUpD::getMidBusId).distinct().collect(Collectors.toList()); temBusIds = rDimBusUpDList.stream().map(RDimBusUpD::getMidBusId).distinct().collect(Collectors.toList());
} }
} else if (param.getStatType().equals("02")) { } else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())) {
LocalDate monthBegin = LocalDate.parse(param.getStartTime());
//具体日期投运,监测台账查询 //具体日期投运,监测台账查询
LambdaQueryWrapper<PmsRunStatisticM> dayLam = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PmsRunStatisticM> dayLam = new LambdaQueryWrapper<>();
dayLam.eq(PmsRunStatisticM::getStatisticDate, monthBegin).in(PmsRunStatisticM::getDeptId, param.getNodeId()).eq(PmsRunStatisticM::getStatDate,param.getStatDate()); dayLam.eq(PmsRunStatisticM::getStatisticDate, begin).eq(PmsRunStatisticM::getDeptId, param.getNodeId());
PmsRunStatisticM pmsRunStatisticM = pmsRunStatisticMMapper.selectOne(dayLam); PmsRunStatisticM pmsRunStatisticM = pmsRunStatisticMMapper.selectOne(dayLam);
if (Objects.nonNull(pmsRunStatisticM)) { if (Objects.nonNull(pmsRunStatisticM)) {
if (StrUtil.isNotBlank(param.getDataSource())) { if (StrUtil.isNotBlank(param.getDataSource())) {
@@ -232,8 +235,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
//稳态指标条件筛选 //稳态指标条件筛选
if (StrUtil.isNotBlank(param.getIndexType())) { if (StrUtil.isNotBlank(param.getIndexType())) {
QueryWrapper<RDimBusUpM> queryWrapper = new QueryWrapper<>(); QueryWrapper<RDimBusUpM> queryWrapper = new QueryWrapper<>();
this.harmTarget(param, queryWrapper); this.harmTarget(param,temBusIds, queryWrapper);
queryWrapper.eq("statistic_date", monthBegin);
List<RDimBusUpM> rDimBusUpMList = rDimBusUpMMapper.selectList(queryWrapper); List<RDimBusUpM> rDimBusUpMList = rDimBusUpMMapper.selectList(queryWrapper);
if (CollectionUtil.isEmpty(rDimBusUpMList)) { if (CollectionUtil.isEmpty(rDimBusUpMList)) {
return new Page<>(); return new Page<>();
@@ -241,20 +243,180 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
temBusIds = rDimBusUpMList.stream().map(RDimBusUpM::getMidBusId).distinct().collect(Collectors.toList()); temBusIds = rDimBusUpMList.stream().map(RDimBusUpM::getMidBusId).distinct().collect(Collectors.toList());
} }
} else if (param.getStatType().equals("01")) { } else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())) {
//具体日期投运,监测台账查询
LambdaQueryWrapper<PmsRunStatisticY> 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<RDimBusUpY> queryWrapper = new QueryWrapper<>();
this.harmTarget(param,temBusIds, queryWrapper);
List<RDimBusUpY> rDimBusUpYList = rDimBusUpYMapper.selectList(queryWrapper);
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);
}
@Override
public Page<DimBusBarVO> getBaseEvaMonitorBusDetail(DimBusBarParam param) {
List<String> temBusIds = new ArrayList<>();
List<RDimUpDTO> 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<RDimBusUpD> queryWrapper = new QueryWrapper<>();
this.harmTarget(param,temBusIds, queryWrapper);
List<RDimBusUpD> 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<RDimBusUpM> queryWrapper = new QueryWrapper<>();
this.harmTarget(param,temBusIds, queryWrapper);
List<RDimBusUpM> 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<RDimBusUpY> queryWrapper = new QueryWrapper<>();
this.harmTarget(param,temBusIds, queryWrapper);
List<RDimBusUpY> 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); param.setOnlineBusIds(temBusIds);
if (CollectionUtil.isEmpty(temBusIds)) { if (CollectionUtil.isEmpty(temBusIds)) {
return new Page<>(); return new Page<>();
} }
return this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param); Page<DimBusBarVO> page = this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param);
if(CollectionUtil.isNotEmpty(page.getRecords())){
Map<String,RDimUpDTO> 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<DimBusBarVO> getBusListByVoltageLevel(DimBusBarParam param) {
List<String> temBusIds = new ArrayList<>();
List<RDimUpDTO> 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<String> 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<PmsRunStatisticD>) dayLam);
} else if (PmsRunStatisticM.class.equals(clazz)) {
pmsRunStatistic = pmsRunStatisticMMapper.selectOne((QueryWrapper<PmsRunStatisticM>)dayLam);
} else if (PmsRunStatisticY.class.equals(clazz)) {
pmsRunStatistic = pmsRunStatisticYMapper.selectOne((QueryWrapper<PmsRunStatisticY>)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<String> temBusIds, QueryWrapper queryWrapper) {
//稳态指标条件筛选 //稳态指标条件筛选
String target = "", harmV = ""; String target = "", harmV = "";
switch (param.getIndexType()) { switch (param.getIndexType()) {
@@ -274,24 +436,25 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
target = "harm_v"; target = "harm_v";
break; break;
} }
queryWrapper.select("statistic_date", "phasic_type", "bus_id", "mid_bus_id","effect_id","effect_ids","voltage_level","v");
queryWrapper.select("statistic_date", "phasic_type", "bus_id", "mid_bus_id");
if (CollectionUtil.isNotEmpty(param.getSeqs())) { if (CollectionUtil.isNotEmpty(param.getSeqs())) {
queryWrapper.in("phasic_type", param.getSeqs()); queryWrapper.in("phasic_type", param.getSeqs());
} }
queryWrapper.in("mid_bus_id",temBusIds);
queryWrapper.eq("statistic_date", LocalDate.parse(param.getStartTime()));
if (param.getIndexType().equals("05")) { if (param.getIndexType().equals("05")) {
harmV = "uharm_" + param.getHarmonicNum() + "_overtime"; harmV = "uharm_" + param.getHarmonicNum() + "_overtime";
queryWrapper.gt(harmV, 0); queryWrapper.gt(harmV, 0);
} else { } else {
queryWrapper.gt(target, 0); queryWrapper.gt(target, 0);
} }
} }
/** /**
* 获取当前单位的层级 * 获取当前单位的层级
*/ */

View File

@@ -110,11 +110,8 @@ public class PmsRunStatisticMServiceImpl extends MppServiceImpl<PmsRunStatisticM
pmsRunStatisticM.setRunBusIds(String.join(StrUtil.COMMA,busRunSet)); pmsRunStatisticM.setRunBusIds(String.join(StrUtil.COMMA,busRunSet));
pmsRunStatisticM.setRunStationNum(temStation); pmsRunStatisticM.setRunStationNum(temStation);
pmsRunStatisticM.setStatDate(LocalDate.parse(date));
poList.add(pmsRunStatisticM); poList.add(pmsRunStatisticM);
}); });
this.saveOrUpdateBatchByMultiId(poList); this.saveOrUpdateBatchByMultiId(poList);
} }
@@ -123,8 +120,7 @@ public class PmsRunStatisticMServiceImpl extends MppServiceImpl<PmsRunStatisticM
public List<PmsRunStatisticM> selectListByDate(String startTime, String endTime, String dataDate) { public List<PmsRunStatisticM> selectListByDate(String startTime, String endTime, String dataDate) {
return this.list(new LambdaQueryWrapper<PmsRunStatisticM>() return this.list(new LambdaQueryWrapper<PmsRunStatisticM>()
.ge(StrUtil.isNotBlank(startTime), PmsRunStatisticM::getStatisticDate, DateUtil.beginOfDay(DateUtil.parse(startTime))) .ge(StrUtil.isNotBlank(startTime), PmsRunStatisticM::getStatisticDate, DateUtil.beginOfDay(DateUtil.parse(startTime)))
.le(StrUtil.isNotBlank(endTime), PmsRunStatisticM::getStatisticDate, DateUtil.endOfDay(DateUtil.parse(endTime))) .le(StrUtil.isNotBlank(endTime), PmsRunStatisticM::getStatisticDate, DateUtil.endOfDay(DateUtil.parse(endTime))));
.eq(PmsRunStatisticM::getStatDate, dataDate));
} }

View File

@@ -112,7 +112,6 @@ public class PmsRunStatisticYServiceImpl extends MppServiceImpl<PmsRunStatisticY
pmsRunStatisticY.setRunBusIds(String.join(StrUtil.COMMA,busRunSet)); pmsRunStatisticY.setRunBusIds(String.join(StrUtil.COMMA,busRunSet));
pmsRunStatisticY.setRunStationNum(temStation); pmsRunStatisticY.setRunStationNum(temStation);
pmsRunStatisticY.setStatDate(LocalDate.parse(date));
poList.add(pmsRunStatisticY); poList.add(pmsRunStatisticY);
}); });
@@ -126,8 +125,7 @@ public class PmsRunStatisticYServiceImpl extends MppServiceImpl<PmsRunStatisticY
public List<PmsRunStatisticY> selectListByDate(String startTime, String endTime, String dataDate) { public List<PmsRunStatisticY> selectListByDate(String startTime, String endTime, String dataDate) {
return this.list(new LambdaQueryWrapper<PmsRunStatisticY>() return this.list(new LambdaQueryWrapper<PmsRunStatisticY>()
.ge(StrUtil.isNotBlank(startTime), PmsRunStatisticY::getStatisticDate, DateUtil.beginOfDay(DateUtil.parse(startTime))) .ge(StrUtil.isNotBlank(startTime), PmsRunStatisticY::getStatisticDate, DateUtil.beginOfDay(DateUtil.parse(startTime)))
.le(StrUtil.isNotBlank(endTime), PmsRunStatisticY::getStatisticDate, DateUtil.endOfDay(DateUtil.parse(endTime))) .le(StrUtil.isNotBlank(endTime), PmsRunStatisticY::getStatisticDate, DateUtil.endOfDay(DateUtil.parse(endTime))));
.eq(PmsRunStatisticY::getStatDate, dataDate));
} }
} }

View File

@@ -69,7 +69,6 @@ public class RDimBusUpMServiceImpl extends MppServiceImpl<RDimBusUpMMapper, RDim
@Override @Override
public void handMonth(String date) { public void handMonth(String date) {
TimeInterval timeInterval = new TimeInterval(); TimeInterval timeInterval = new TimeInterval();
LocalDate localDate = LocalDate.parse(date);
DateTime start = DateUtil.beginOfMonth(DateUtil.parse(date,DatePattern.NORM_DATE_PATTERN)); DateTime start = DateUtil.beginOfMonth(DateUtil.parse(date,DatePattern.NORM_DATE_PATTERN));
DateTime end = DateUtil.parse(date); DateTime end = DateUtil.parse(date);
LocalDate statDate = LocalDate.parse(DateUtil.format(start, DatePattern.NORM_DATE_PATTERN)); LocalDate statDate = LocalDate.parse(DateUtil.format(start, DatePattern.NORM_DATE_PATTERN));
@@ -136,7 +135,6 @@ public class RDimBusUpMServiceImpl extends MppServiceImpl<RDimBusUpMMapper, RDim
rDimBusUpM.setBusId(key); rDimBusUpM.setBusId(key);
rDimBusUpM.setMidBusId(generatrixWire.getMidBusId()); rDimBusUpM.setMidBusId(generatrixWire.getMidBusId());
rDimBusUpM.setStatisticDate(statDate); rDimBusUpM.setStatisticDate(statDate);
rDimBusUpM.setStatDate(localDate);
rDimBusUpM.setEffectId(maxR.getLineIndex()); rDimBusUpM.setEffectId(maxR.getLineIndex());
rDimBusUpM.setEffectIds(effectIds); rDimBusUpM.setEffectIds(effectIds);
rDimBusUpM.setVoltageLevel(generatrixWire.getScale()); rDimBusUpM.setVoltageLevel(generatrixWire.getScale());

View File

@@ -135,7 +135,6 @@ public class RDimBusUpYServiceImpl extends MppServiceImpl<RDimBusUpYMapper, RDim
RDimBusUpY.setBusId(key); RDimBusUpY.setBusId(key);
RDimBusUpY.setMidBusId(generatrixWire.getMidBusId()); RDimBusUpY.setMidBusId(generatrixWire.getMidBusId());
RDimBusUpY.setStatisticDate(statDate); RDimBusUpY.setStatisticDate(statDate);
RDimBusUpY.setStatDate(localDate);
RDimBusUpY.setEffectId(maxR.getLineIndex()); RDimBusUpY.setEffectId(maxR.getLineIndex());
RDimBusUpY.setEffectIds(effectIds); RDimBusUpY.setEffectIds(effectIds);
RDimBusUpY.setVoltageLevel(generatrixWire.getScale()); RDimBusUpY.setVoltageLevel(generatrixWire.getScale());

View File

@@ -576,6 +576,11 @@ public enum DicDataEnum {
SPECIAL_USER("专变用户","special_user"),//专变用户 SPECIAL_USER("专变用户","special_user"),//专变用户
PUBLIC_USER("公变用户","public_user"),// ,公变用户 PUBLIC_USER("公变用户","public_user"),// ,公变用户
//统计类型
STATISTICAL_TYPE_Y("年数据","01"),
STATISTICAL_TYPE_M("月数据","02"),
STATISTICAL_TYPE_D("日数据","03"),
/**pms******************************end*/ /**pms******************************end*/
//pq干扰源类型 //pq干扰源类型