|
|
|
|
@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
|
|
import cn.hutool.core.date.DatePattern;
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
|
|
@@ -15,6 +16,11 @@ import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
import com.njcn.common.pojo.exception.BusinessException;
|
|
|
|
|
import com.njcn.device.pms.api.MonitorClient;
|
|
|
|
|
import com.njcn.device.pms.api.PmsMidLedgerClient;
|
|
|
|
|
import com.njcn.device.pms.pojo.param.TerminalQueryParam;
|
|
|
|
|
import com.njcn.device.pms.pojo.po.Monitor;
|
|
|
|
|
import com.njcn.device.pms.pojo.po.PmsMidLedger;
|
|
|
|
|
import com.njcn.harmonic.mapper.upload.*;
|
|
|
|
|
import com.njcn.harmonic.pojo.dto.upload.PqEvaluationCreateDTO;
|
|
|
|
|
import com.njcn.harmonic.pojo.dto.upload.RDimUpDTO;
|
|
|
|
|
@@ -76,6 +82,12 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|
|
|
|
|
|
|
|
|
private final RDimBusUpYMapper rDimBusUpYMapper;
|
|
|
|
|
|
|
|
|
|
private final MonitorClient monitorClient;
|
|
|
|
|
|
|
|
|
|
private final PmsMidLedgerClient pmsMidLedgerClient;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Page<UploadEvaluationDataVo> getEvaluationData(UploadDataParam param) {
|
|
|
|
|
@@ -208,17 +220,11 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|
|
|
|
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticD.getRunBusIds().split(StrUtil.COMMA)));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//稳态指标条件筛选
|
|
|
|
|
if (StrUtil.isNotBlank(param.getIndexType())) {
|
|
|
|
|
QueryWrapper<RDimBusUpD> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
this.harmTarget(param,temBusIds, queryWrapper);
|
|
|
|
|
List<RDimBusUpD> rDimBusUpDList = rDimBusUpDMapper.selectList(queryWrapper);
|
|
|
|
|
if (CollectionUtil.isEmpty(rDimBusUpDList)) {
|
|
|
|
|
return new Page<>();
|
|
|
|
|
}
|
|
|
|
|
temBusIds = rDimBusUpDList.stream().map(RDimBusUpD::getMidBusId).distinct().collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
QueryWrapper<RDimBusUpD> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
this.harmTarget(param, temBusIds, queryWrapper);
|
|
|
|
|
List<RDimBusUpD> rDimBusUpDList = rDimBusUpDMapper.selectList(queryWrapper);
|
|
|
|
|
temBusIds = rDimBusUpDList.stream().map(RDimBusUpD::getMidBusId).distinct().collect(Collectors.toList());
|
|
|
|
|
} else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())) {
|
|
|
|
|
//具体日期投运,监测台账查询
|
|
|
|
|
LambdaQueryWrapper<PmsRunStatisticM> dayLam = new LambdaQueryWrapper<>();
|
|
|
|
|
@@ -233,16 +239,11 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//稳态指标条件筛选
|
|
|
|
|
if (StrUtil.isNotBlank(param.getIndexType())) {
|
|
|
|
|
QueryWrapper<RDimBusUpM> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
this.harmTarget(param,temBusIds, queryWrapper);
|
|
|
|
|
List<RDimBusUpM> rDimBusUpMList = rDimBusUpMMapper.selectList(queryWrapper);
|
|
|
|
|
if (CollectionUtil.isEmpty(rDimBusUpMList)) {
|
|
|
|
|
return new Page<>();
|
|
|
|
|
}
|
|
|
|
|
temBusIds = rDimBusUpMList.stream().map(RDimBusUpM::getMidBusId).distinct().collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QueryWrapper<RDimBusUpM> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
this.harmTarget(param, temBusIds, queryWrapper);
|
|
|
|
|
List<RDimBusUpM> rDimBusUpMList = rDimBusUpMMapper.selectList(queryWrapper);
|
|
|
|
|
temBusIds = rDimBusUpMList.stream().map(RDimBusUpM::getMidBusId).distinct().collect(Collectors.toList());
|
|
|
|
|
} else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())) {
|
|
|
|
|
|
|
|
|
|
//具体日期投运,监测台账查询
|
|
|
|
|
@@ -258,17 +259,15 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//稳态指标条件筛选
|
|
|
|
|
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());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QueryWrapper<RDimBusUpY> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
this.harmTarget(param, temBusIds, queryWrapper);
|
|
|
|
|
List<RDimBusUpY> rDimBusUpYList = rDimBusUpYMapper.selectList(queryWrapper);
|
|
|
|
|
temBusIds = rDimBusUpYList.stream().map(RDimBusUpY::getMidBusId).distinct().collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
if (CollectionUtil.isEmpty(temBusIds)) {
|
|
|
|
|
return new Page<>();
|
|
|
|
|
}
|
|
|
|
|
param.setOnlineBusIds(temBusIds);
|
|
|
|
|
if (CollectionUtil.isEmpty(temBusIds)) {
|
|
|
|
|
return new Page<>();
|
|
|
|
|
@@ -279,7 +278,6 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|
|
|
|
@Override
|
|
|
|
|
public Page<DimBusBarVO> getBaseEvaMonitorBusDetail(DimBusBarParam param) {
|
|
|
|
|
List<String> temBusIds = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
List<RDimUpDTO> rDimUpDTOList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
LocalDate begin = LocalDate.parse(param.getStartTime());
|
|
|
|
|
@@ -292,82 +290,23 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|
|
|
|
} 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);
|
|
|
|
|
temBusIds = this.busTargetAss(param, temBusIds, rDimUpDTOList);
|
|
|
|
|
if (CollectionUtil.isEmpty(temBusIds)) {
|
|
|
|
|
return new Page<>();
|
|
|
|
|
}
|
|
|
|
|
param.setOnlineBusIds(temBusIds);
|
|
|
|
|
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);
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Page<DimBusBarVO> getBusListByVoltageLevel(DimBusBarParam param) {
|
|
|
|
|
List<String> temBusIds = new ArrayList<>();
|
|
|
|
|
@@ -384,7 +323,141 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|
|
|
|
} else if (DicDataEnum.STATISTICAL_TYPE_Y.getCode().equals(statisticType)) {
|
|
|
|
|
temBusIds = getOnlineBusIds(param.getNodeId(), begin, PmsRunStatisticY.class);
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
temBusIds = this.busTargetAss(param, temBusIds, rDimUpDTOList);
|
|
|
|
|
if (CollectionUtil.isEmpty(temBusIds)) {
|
|
|
|
|
return new Page<>();
|
|
|
|
|
}
|
|
|
|
|
param.setOnlineBusIds(temBusIds);
|
|
|
|
|
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 -> {
|
|
|
|
|
if (map.containsKey(it.getAstId())) {
|
|
|
|
|
RDimUpDTO rDimUpDTO = map.get(it.getAstId());
|
|
|
|
|
it.setBusEfectiveMnitorNum(rDimUpDTO.getEffectIds().split(StrUtil.COMMA).length);
|
|
|
|
|
it.setMonitorId(rDimUpDTO.getEffectId());
|
|
|
|
|
it.setIndexAvgValue(rDimUpDTO.getV().toString());
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
return page;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Page<DimBusBarVO.DimBusBarMonitorVO> getMonitorListByBus(DimBusBarParam param) {
|
|
|
|
|
if(StrUtil.isBlank(param.getBusId())){
|
|
|
|
|
return new Page<>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Page<DimBusBarVO.DimBusBarMonitorVO> result = new Page<>(param.getPageNum(),param.getPageSize());
|
|
|
|
|
|
|
|
|
|
List<RDimUpDTO> rDimUpDTOList = new ArrayList<>();
|
|
|
|
|
List<String> midBusIds = this.busTargetAss(param, Stream.of(param.getBusId()).collect(Collectors.toList()), rDimUpDTOList);
|
|
|
|
|
List<PmsMidLedger> pmsMidLedgerList = pmsMidLedgerClient.getPmsMidLedgerList(midBusIds).getData();
|
|
|
|
|
if(CollectionUtil.isEmpty(pmsMidLedgerList)){
|
|
|
|
|
return new Page<>();
|
|
|
|
|
}
|
|
|
|
|
Map<String,PmsMidLedger> midLedgerMap = pmsMidLedgerList.stream().collect(Collectors.toMap(PmsMidLedger::getId,Function.identity()));
|
|
|
|
|
List<String> effectIds = rDimUpDTOList.stream().map(RDimUpDTO::getEffectIds).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
List<String> effectId = rDimUpDTOList.stream().map(RDimUpDTO::getEffectId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String,RDimUpDTO> busMap = rDimUpDTOList.stream().collect(Collectors.toMap(RDimUpDTO::getBusId,Function.identity()));
|
|
|
|
|
|
|
|
|
|
List<String> monitorIds = new ArrayList<>();
|
|
|
|
|
effectIds.forEach(it-> monitorIds.addAll(Arrays.asList(it.split(StrUtil.COMMA))));
|
|
|
|
|
|
|
|
|
|
TerminalQueryParam terminalQueryParam = new TerminalQueryParam();
|
|
|
|
|
terminalQueryParam.setMonitorIds(monitorIds);
|
|
|
|
|
Page<Monitor> page = monitorClient.getMonitorPage(terminalQueryParam).getData();
|
|
|
|
|
List<DimBusBarVO.DimBusBarMonitorVO> temList = new ArrayList<>();
|
|
|
|
|
page.getRecords().forEach(it->{
|
|
|
|
|
DimBusBarVO.DimBusBarMonitorVO tem = new DimBusBarVO.DimBusBarMonitorVO();
|
|
|
|
|
tem.setMonitorId(it.getMonitorId());
|
|
|
|
|
RDimUpDTO rDimUpDTO = busMap.get(it.getLineId());
|
|
|
|
|
PmsMidLedger pmsMidLedger = midLedgerMap.get(rDimUpDTO.getBusMidId());
|
|
|
|
|
tem.setBusId(pmsMidLedger.getId());
|
|
|
|
|
tem.setBusName(pmsMidLedger.getName());
|
|
|
|
|
tem.setId(IdUtil.simpleUUID());
|
|
|
|
|
tem.setCityOrg(pmsMidLedger.getCityOrg());
|
|
|
|
|
tem.setCityOrgName(pmsMidLedger.getCityOrgName());
|
|
|
|
|
tem.setMaintOrg(pmsMidLedger.getSectionId());
|
|
|
|
|
tem.setMaintOrgName(pmsMidLedger.getSection());
|
|
|
|
|
tem.setStatDate(param.getStatDate());
|
|
|
|
|
tem.setStatus("01");
|
|
|
|
|
tem.setStatusName("投运");
|
|
|
|
|
|
|
|
|
|
if(effectId.contains(it.getId())){
|
|
|
|
|
tem.setWhetherOptimal("是");
|
|
|
|
|
tem.setWhetherOptimalName(it.getName());
|
|
|
|
|
}
|
|
|
|
|
tem.setMonitorName(it.getName());
|
|
|
|
|
temList.add(tem);
|
|
|
|
|
});
|
|
|
|
|
result.setTotal(page.getTotal());
|
|
|
|
|
result.setRecords(temList);
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据稳态指标筛选符合条件的母线
|
|
|
|
|
*
|
|
|
|
|
* @author cdf
|
|
|
|
|
* @date 2024/5/14
|
|
|
|
|
*/
|
|
|
|
|
private List<String> busTargetAss(DimBusBarParam param, List<String> temBusIds, List<RDimUpDTO> rDimUpDTOList) {
|
|
|
|
|
String statisticType = param.getStatType();
|
|
|
|
|
if (DicDataEnum.STATISTICAL_TYPE_D.getCode().equals(statisticType)) {
|
|
|
|
|
QueryWrapper<RDimBusUpD> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
this.harmTarget(param, temBusIds, queryWrapper);
|
|
|
|
|
List<RDimBusUpD> rDimBusUpDList = rDimBusUpDMapper.selectList(queryWrapper);
|
|
|
|
|
Map<String,List<RDimBusUpD>> map = rDimBusUpDList.stream().collect(Collectors.groupingBy(RDimBusUpD::getBusId));
|
|
|
|
|
map.forEach((key,val)->{
|
|
|
|
|
RDimUpDTO rDimUpDTO = new RDimUpDTO();
|
|
|
|
|
rDimUpDTO.setBusMidId(val.get(0).getMidBusId());
|
|
|
|
|
rDimUpDTO.setEffectId(val.get(0).getEffectId());
|
|
|
|
|
rDimUpDTO.setEffectIds(val.get(0).getEffectIds());
|
|
|
|
|
rDimUpDTO.setBusId(val.get(0).getBusId());
|
|
|
|
|
rDimUpDTO.setV(val.stream().mapToDouble(RDimBusUpD::getV).filter(it->it!=3.14159).average().orElse(3.14159));
|
|
|
|
|
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);
|
|
|
|
|
Map<String,List<RDimBusUpM>> map = rDimBusUpMList.stream().collect(Collectors.groupingBy(RDimBusUpM::getBusId));
|
|
|
|
|
map.forEach((key,val)->{
|
|
|
|
|
RDimUpDTO rDimUpDTO = new RDimUpDTO();
|
|
|
|
|
rDimUpDTO.setBusMidId(val.get(0).getMidBusId());
|
|
|
|
|
rDimUpDTO.setBusId(val.get(0).getBusId());
|
|
|
|
|
rDimUpDTO.setEffectId(val.get(0).getEffectId());
|
|
|
|
|
rDimUpDTO.setEffectIds(val.get(0).getEffectIds());
|
|
|
|
|
rDimUpDTO.setV(val.stream().mapToDouble(RDimBusUpM::getV).filter(it->it!=3.14159).average().orElse(3.14159));
|
|
|
|
|
rDimUpDTOList.add(rDimUpDTO);
|
|
|
|
|
});
|
|
|
|
|
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);
|
|
|
|
|
Map<String,List<RDimBusUpY>> map = rDimBusUpYList.stream().collect(Collectors.groupingBy(RDimBusUpY::getBusId));
|
|
|
|
|
map.forEach((key,val)->{
|
|
|
|
|
RDimUpDTO rDimUpDTO = new RDimUpDTO();
|
|
|
|
|
rDimUpDTO.setBusMidId(val.get(0).getMidBusId());
|
|
|
|
|
rDimUpDTO.setBusId(val.get(0).getBusId());
|
|
|
|
|
rDimUpDTO.setEffectId(val.get(0).getEffectId());
|
|
|
|
|
rDimUpDTO.setEffectIds(val.get(0).getEffectIds());
|
|
|
|
|
rDimUpDTO.setV(val.stream().mapToDouble(RDimBusUpY::getV).filter(it->it!=3.14159).average().orElse(3.14159));
|
|
|
|
|
rDimUpDTOList.add(rDimUpDTO);
|
|
|
|
|
});
|
|
|
|
|
temBusIds = rDimBusUpYList.stream().map(RDimBusUpY::getMidBusId).distinct().collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
return temBusIds;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -395,9 +468,9 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|
|
|
|
if (PmsRunStatisticD.class.equals(clazz)) {
|
|
|
|
|
pmsRunStatistic = pmsRunStatisticDMapper.selectOne((QueryWrapper<PmsRunStatisticD>) dayLam);
|
|
|
|
|
} else if (PmsRunStatisticM.class.equals(clazz)) {
|
|
|
|
|
pmsRunStatistic = pmsRunStatisticMMapper.selectOne((QueryWrapper<PmsRunStatisticM>)dayLam);
|
|
|
|
|
pmsRunStatistic = pmsRunStatisticMMapper.selectOne((QueryWrapper<PmsRunStatisticM>) dayLam);
|
|
|
|
|
} else if (PmsRunStatisticY.class.equals(clazz)) {
|
|
|
|
|
pmsRunStatistic = pmsRunStatisticYMapper.selectOne((QueryWrapper<PmsRunStatisticY>)dayLam);
|
|
|
|
|
pmsRunStatistic = pmsRunStatisticYMapper.selectOne((QueryWrapper<PmsRunStatisticY>) dayLam);
|
|
|
|
|
}
|
|
|
|
|
if (Objects.nonNull(pmsRunStatistic)) {
|
|
|
|
|
String onlineBusMidIds = null;
|
|
|
|
|
@@ -416,7 +489,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void harmTarget(DimBusBarParam param,List<String> temBusIds, QueryWrapper queryWrapper) {
|
|
|
|
|
private void harmTarget(DimBusBarParam param, List<String> temBusIds, QueryWrapper queryWrapper) {
|
|
|
|
|
//稳态指标条件筛选
|
|
|
|
|
String target = "", harmV = "";
|
|
|
|
|
switch (param.getIndexType()) {
|
|
|
|
|
@@ -436,25 +509,24 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|
|
|
|
target = "harm_v";
|
|
|
|
|
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", "effect_id", "effect_ids", "voltage_level", "v");
|
|
|
|
|
if (CollectionUtil.isNotEmpty(param.getSeqs())) {
|
|
|
|
|
queryWrapper.in("phasic_type", param.getSeqs());
|
|
|
|
|
}
|
|
|
|
|
queryWrapper.in("mid_bus_id",temBusIds);
|
|
|
|
|
queryWrapper.in("mid_bus_id", temBusIds);
|
|
|
|
|
queryWrapper.eq("statistic_date", LocalDate.parse(param.getStartTime()));
|
|
|
|
|
if (param.getIndexType().equals("05")) {
|
|
|
|
|
harmV = "uharm_" + param.getHarmonicNum() + "_overtime";
|
|
|
|
|
queryWrapper.gt(harmV, 0);
|
|
|
|
|
} else {
|
|
|
|
|
queryWrapper.gt(target, 0);
|
|
|
|
|
|
|
|
|
|
if (StrUtil.isNotBlank(param.getIndexType())) {
|
|
|
|
|
if (param.getIndexType().equals("05")) {
|
|
|
|
|
harmV = "uharm_" + param.getHarmonicNum() + "_overtime";
|
|
|
|
|
queryWrapper.gt(harmV, 0);
|
|
|
|
|
} else {
|
|
|
|
|
queryWrapper.gt(target, 0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取当前单位的层级
|
|
|
|
|
*/
|
|
|
|
|
|