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