辽宁功能调整

This commit is contained in:
2025-05-06 15:53:07 +08:00
parent a8b4a9615b
commit 8e5cab30c9
12 changed files with 212 additions and 72 deletions

View File

@@ -564,4 +564,13 @@ public class LineController extends BaseController {
List<LineDetail> list = lineService.getMonitorByObjId(objId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("根据监测点集合获取电网侧以及用户侧场站")
@PostMapping("/getPowerStationByMonitorIds")
public HttpResult<List<PollutionSubstationDTO>> getPowerStationByMonitorIds(@RequestBody List<String> ids){
String methodDescribe = getMethodDescribe("getPowerStationByMonitorIds");
List<PollutionSubstationDTO> list = lineService.getPowerStationByMonitorIds(ids);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}

View File

@@ -238,6 +238,8 @@ public interface LineService extends IService<Line> {
List<LineDetail> getMonitorByObjId(String objId);
List<PollutionSubstationDTO> getPowerStationByMonitorIds(List<String> ids);
/**
* 获取污区值监测点相关信息
* @author hongawen

View File

@@ -1,6 +1,7 @@
package com.njcn.device.pq.service.impl;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.*;
import cn.hutool.core.util.ArrayUtil;
@@ -742,6 +743,8 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
it.setStationName(areaLineInfoVO.getSubName());
it.setDevName(areaLineInfoVO.getDeviceName());
it.setVoltageLevel(areaLineInfoVO.getVoltageScale());
it.setIp(Base64.encode(areaLineInfoVO.getIp()));
it.setManufacturer(areaLineInfoVO.getManufacturer());
if (sysDicTreePOMap.containsKey(areaLineInfoVO.getSmallObjType())) {
it.setObjType(sysDicTreePOMap.get(areaLineInfoVO.getSmallObjType()).getName());
}

View File

@@ -22,12 +22,10 @@ import com.njcn.device.biz.pojo.dto.LineDTO;
import com.njcn.device.biz.pojo.dto.PollutionLineInfoDTO;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.pq.enums.LineBaseEnum;
import com.njcn.device.pq.enums.PowerFlagEnum;
import com.njcn.device.pq.mapper.*;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.dto.*;
import com.njcn.device.biz.pojo.dto.PollutionLineDTO;
import com.njcn.device.pq.pojo.dto.MonitorPowerDTO;
import com.njcn.device.pq.pojo.dto.PollutionParamDTO;
import com.njcn.device.pq.pojo.dto.PollutionSubstationDTO;
import com.njcn.device.pq.pojo.param.*;
import com.njcn.device.pq.pojo.po.*;
import com.njcn.device.pq.pojo.vo.*;
@@ -37,6 +35,9 @@ import com.njcn.influx.constant.InfluxDbSqlConstant;
import com.njcn.influx.imapper.PqsCommunicateMapper;
import com.njcn.influx.pojo.po.PqsCommunicate;
import com.njcn.influx.query.InfluxQueryWrapper;
import com.njcn.supervision.api.UserLedgerFeignClient;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.vo.user.NewUserReportVO;
import com.njcn.system.api.AreaFeignClient;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
@@ -44,6 +45,7 @@ import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.Area;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.api.UserFeignClient;
import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.pojo.vo.LineDataVO;
import com.njcn.web.utils.GeneralUtil;
@@ -100,6 +102,7 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
private final TerminalMaintainMapper terminalMaintainMapper;
private final DeptFeignClient deptFeignClient;
private final DeptLineService deptLineService;
private final UserLedgerFeignClient userLedgerFeignClient;
@Override
public LineDetailDataVO getLineDetailData(String id) {
@@ -753,6 +756,50 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
return result;
}
@Override
public List<PollutionSubstationDTO> getPowerStationByMonitorIds(List<String> ids) {
List<PollutionSubstationDTO> result = new ArrayList<>();
List<LineDetail> lineDetailList = lineDetailMapper.selectList(new LambdaQueryWrapper<LineDetail>().in(LineDetail::getId, ids));
List<LineDetail> userLedgerList = lineDetailList.stream().filter(it->StrUtil.isNotBlank(it.getObjId())).collect(Collectors.toList());
List<LineDetail> powerLedgerList = lineDetailList.stream().filter(it->StrUtil.isBlank(it.getObjId())).collect(Collectors.toList());
if(CollUtil.isNotEmpty(userLedgerList)){
List<String> objIds = userLedgerList.stream().map(LineDetail::getObjId).distinct().collect(Collectors.toList());
List<NewUserReportVO> newUserReportVOList = userLedgerFeignClient.getUserReportByIds(objIds).getData();
Map<String,NewUserReportVO> map = newUserReportVOList.stream().collect(Collectors.toMap(NewUserReportVO::getId,Function.identity()));
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData();
Map<String,DictData> dictDataMap = dictDataList.stream().collect(Collectors.toMap(DictData::getId,Function.identity()));
map.forEach((objId,item)->{
PollutionSubstationDTO pollutionSubstationDTO = new PollutionSubstationDTO();
pollutionSubstationDTO.setPowerFlag(PowerFlagEnum.NO_GRID_SIDE.getCode());
pollutionSubstationDTO.setId(objId);
pollutionSubstationDTO.setName(item.getProjectName());
pollutionSubstationDTO.setLng(item.getLongitude());
pollutionSubstationDTO.setLat(item.getLatitude());
pollutionSubstationDTO.setVoltageLevel(dictDataMap.get(item.getVoltageLevel()).getName());
result.add(pollutionSubstationDTO);
});
}
if(CollUtil.isNotEmpty(powerLedgerList)){
List<Line> lineList = lineMapper.selectList(new LambdaQueryWrapper<Line>().in(Line::getId, powerLedgerList.stream().map(LineDetail::getId).distinct().collect(Collectors.toList())).eq(Line::getState, DataStateEnum.ENABLE.getCode()));
List<String> stationIds = lineList.stream().map(it->it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]).collect(Collectors.toList());
List<SubstationDTO> stationList = substationMapper.getSubstationById(stationIds);
stationList.forEach(item->{
PollutionSubstationDTO pollutionSubstationDTO = new PollutionSubstationDTO();
pollutionSubstationDTO.setPowerFlag(PowerFlagEnum.GRID_SIDE.getCode());
pollutionSubstationDTO.setId(item.getId());
pollutionSubstationDTO.setName(item.getName());
pollutionSubstationDTO.setLng(item.getLng());
pollutionSubstationDTO.setLat(item.getLat());
pollutionSubstationDTO.setVoltageLevel(item.getScale());
result.add(pollutionSubstationDTO);
});
}
return result;
}
@Override
public List<PollutionLineInfoDTO> getPollutionLineInfo(List<String> lineId) {
List<PollutionLineInfoDTO> pollutionLineInfoDTOList;