1.公共方法新增变电站信息查询

2.调整技术监督变电站查询方法
This commit is contained in:
wr
2024-03-21 13:23:47 +08:00
parent 72bb397cbf
commit 082b27720b
19 changed files with 254 additions and 32 deletions

View File

@@ -11,6 +11,7 @@ import com.njcn.device.biz.pojo.dto.StatisticsMonitor;
import com.njcn.device.biz.pojo.dto.*;
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.biz.pojo.param.MonitorGetParam;
import com.njcn.device.biz.pojo.param.SubstationParam;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
import com.njcn.device.pms.pojo.po.Monitor;
@@ -407,6 +408,16 @@ public class CommTerminalController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, busBarAndHisMonitorDTOList, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/tagOrIdGetSub")
@ApiOperation("获取变电站信息")
public HttpResult<List<SubGetBase>> tagOrIdGetSub(@RequestBody SubstationParam substationParam) {
String methodDescribe = getMethodDescribe("tagOrIdGetSub");
List<SubGetBase> subGetBases = commTerminalService.tagOrIdGetSub(substationParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, subGetBases, methodDescribe);
}
/**
* 用于返回pq 还是pms系统
* @author cdf

View File

@@ -1,8 +1,12 @@
package com.njcn.device.pms.mapper.majornetwork;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.device.biz.pojo.dto.SubGetBase;
import com.njcn.device.biz.pojo.param.SubstationParam;
import com.njcn.device.pms.pojo.dto.PmsStatationStatInfoDTO;
import com.njcn.device.pms.pojo.param.PmsStatationStatInfoParam;
import com.njcn.device.pms.pojo.param.TerminalQueryParam;
@@ -41,4 +45,5 @@ public interface StatationStatMapper extends BaseMapper<StatationStat> {
Page<StatationStatVO> getStatationStatPageList(Page<StatationStatVO> page, @Param("baseParam") TerminalQueryParam baseParam, @Param("orgIds")List<String> orgIds);
List<SubGetBase> selectStatationStatList(@Param("param") SubstationParam param);
}

View File

@@ -68,5 +68,39 @@
order by a.org_name,a.Power_Name asc
</select>
<select id="selectStatationStatList" resultType="com.njcn.device.biz.pojo.dto.SubGetBase">
SELECT
Power_Id AS id,
Power_Name AS name,
Org_Id AS orgId,
Org_Name AS orgName,
Voltage_Level AS voltageLevel
FROM
pms_statation_stat
<where>
<if test="param.orgIds!=null and param.orgIds.size!=0">
and pms_statation_stat.Org_Id in
<foreach collection="param.orgIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.powerIds!=null and param.powerIds.size!=0">
and pms_statation_stat.Power_Id in
<foreach collection="param.powerIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.powerName !=null and param.powerName!='' ">
and pms_statation_stat.Power_Name like CONCAT(CONCAT('%', #{param.powerName}), '%')
</if>
<if test="param.powerVoltageLevel!=null and param.powerVoltageLevel.size!=0">
and pms_statation_stat.Voltage_Level in
<foreach collection="param.powerVoltageLevel" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
</mapper>

View File

@@ -598,39 +598,66 @@ public class MonitorSendServiceImpl implements MonitorSendService {
public void exportSend(HttpServletResponse response) throws IOException {
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), WindSourceDto.class).build();
List<WindSourceDto> wind = this.windSend(getMonitors(dictTreeFeignClient.queryByCode("1401").getData().getId()));
List<WindSourceDto> wind = this.windSend(getMonitors(dictTreeFeignClient.queryByCode(DicTreeEnum.Wind_Farms.getCode()).getData().getId()));
WriteSheet writeSheet = EasyExcel.writerSheet(0, "风电场" ).head(WindSourceDto.class).build();
excelWriter.write(wind, writeSheet);
List<PhotovoltaicDto> photovoltaic = this.photovoltaicSend(getMonitors(dictTreeFeignClient.queryByCode("1402").getData().getId()));
List<PhotovoltaicDto> photovoltaic = this.photovoltaicSend(getMonitors(dictTreeFeignClient.queryByCode(DicTreeEnum.Power_Station.getCode()).getData().getId()));
WriteSheet writeSheet2 = EasyExcel.writerSheet(1, "光伏电站" ).head(PhotovoltaicDto.class).build();
excelWriter.write(photovoltaic, writeSheet2);
List<SensitiveUserDto> sensitive = this.sensitiveUserSend(getMonitors(dictTreeFeignClient.queryByCode("2400").getData().getId()));
List<SensitiveUserDto> sensitive = this.sensitiveUserSend(getMonitors(dictTreeFeignClient.queryByCode(DicTreeEnum.Imp_Users.getCode()).getData().getId()));
WriteSheet writeSheet3 = EasyExcel.writerSheet(2, "重要或敏感用户" ).head(SensitiveUserDto.class).build();
excelWriter.write(sensitive, writeSheet3);
List<TractionStationDTO> traction = this.tractionStationSend(getMonitors(dictTreeFeignClient.queryByCode("1300").getData().getId()));
List<TractionStationDTO> traction = this.tractionStationSend(getMonitors(dictTreeFeignClient.queryByCode(DicTreeEnum.Ele_Railways.getCode()).getData().getId()));
WriteSheet writeSheet4 = EasyExcel.writerSheet(3, "牵引站" ).head(TractionStationDTO.class).build();
excelWriter.write(traction, writeSheet4);
List<OtherUserDto> other = this.otherUserSend(getMonitors(dictTreeFeignClient.queryByCode("2300").getData().getId()));
List<OtherUserDto> other = this.otherUserSend(getMonitors("987654321"));
WriteSheet writeSheet5 = EasyExcel.writerSheet(4, "干扰用户" ).head(OtherUserDto.class).build();
excelWriter.write(other, writeSheet5);
excelWriter.finish();
}
private List<Monitor> getMonitors(String id) {
List<DictTreeVO> objType = dictTreeFeignClient.query(id).getData();
SysDicTreePO dicTree;
List<String> objTypeIds=new ArrayList<>();
objTypeIds.add(id);
if(CollUtil.isNotEmpty(objType)){
objTypeIds.addAll(objType.stream().map(DictTreeVO::getId).collect(Collectors.toList()));
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
if(id.equals("987654321")){
dicTree = new SysDicTreePO();
dicTree.setCode("987654321");
dicTree.setName("其他");
//特殊处理
List<SysDicTreePO> sysDicTreePOList = dictTreeFeignClient.queryAll().getData();
List<SysDicTreePO> typicDic =sysDicTreePOList.stream().filter(item-> Objects.equals(DicTreeEnum.Power_Station.getCode(),item.getCode())||Objects.equals(DicTreeEnum.Ele_Railways.getCode(),item.getCode())||
Objects.equals(DicTreeEnum.Wind_Farms.getCode(),item.getCode())||Objects.equals(DicTreeEnum.Imp_Users.getCode(),item.getCode())).collect(Collectors.toList());
for(SysDicTreePO sysDicTreePO : typicDic){
List<DictTreeVO> temList = dictTreeFeignClient.query(sysDicTreePO.getId()).getData();
List<String> ids = temList.stream().map(DictTreeVO::getId).collect(Collectors.toList());
objTypeIds.addAll(ids);
objTypeIds.add(sysDicTreePO.getId());
}
lambdaQueryWrapper.notIn(Monitor::getObjType, objTypeIds);
}else {
dicTree = dictTreeFeignClient.queryById(id).getData();
if(ObjectUtil.isNull(dicTree)){
throw new BusinessException("请检查监测对象类型是否存在");
}
List<DictTreeVO> objType = dictTreeFeignClient.query(id).getData();
objTypeIds.add(id);
if(CollUtil.isNotEmpty(objType)){
objTypeIds.addAll(objType.stream().map(DictTreeVO::getId).collect(Collectors.toList()));
}
lambdaQueryWrapper.in(Monitor::getObjType, objTypeIds);
}
//获取监测点信息
List<Monitor> monitorList = monitorService.list(new LambdaQueryWrapper<Monitor>()
.in(Monitor::getObjType, objTypeIds)
);
lambdaQueryWrapper
.eq(Monitor::getIsUpToGrid,1);
List<Monitor> monitorList = monitorService.list(lambdaQueryWrapper);
List<String> powerIds= monitorList.stream().map(Monitor::getPowerrId).distinct().collect(Collectors.toList());
List<StatationStat> statationStats = statationStatService.listByIds(powerIds);
Map<String, StatationStat> powerMap = statationStats.stream().collect(Collectors

View File

@@ -5,6 +5,7 @@ import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.biz.pojo.dto.StatisticsMonitor;
import com.njcn.device.biz.pojo.dto.*;
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.biz.pojo.param.SubstationParam;
import com.njcn.device.pms.pojo.po.Monitor;
import org.springframework.web.bind.annotation.RequestParam;
@@ -119,4 +120,13 @@ public interface CommTerminalService {
* @return
*/
List<DeptGetSubStationDTO.Info> deptSubStationInfo(DeptGetLineParam deptGetLineParam);
/**
* 变电站信息
* @param
* @return
*/
List<SubGetBase> tagOrIdGetSub(SubstationParam substationParam);
}

View File

@@ -1,5 +1,6 @@
package com.njcn.device.pms.service.ledgerManger.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjUtil;
@@ -15,6 +16,7 @@ import com.njcn.device.biz.pojo.dto.StatisticsMonitor;
import com.njcn.device.biz.pojo.dto.*;
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.biz.pojo.param.SubstationParam;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.biz.utils.COverlimitUtil;
import com.njcn.device.pms.mapper.majornetwork.*;
@@ -876,4 +878,9 @@ public class CommTerminalServiceImpl implements CommTerminalService {
return result;
}
@Override
public List<SubGetBase> tagOrIdGetSub(SubstationParam param) {
return statationStatMapper.selectStatationStatList(param);
}
}

View File

@@ -160,7 +160,9 @@ implements RStatZwAlarmCountWService {
.le(StringUtils.isNotBlank(endTime), RMpTargetWarnD::getDataDate, endTime)
.eq(RMpTargetWarnD::getIsEffective,1);
List<RMpTargetWarnD> measurementPointIdList = rMpTargetWarnDService.list(targetWarnWrapper);
if (CollUtil.isEmpty(measurementPointIdList)) {
return new ArrayList<>();
}
//获取大于四次的监测点集合
List<String> MonitorIdsQuartic = measurementPointIdList.stream()
.filter(obj -> obj.getIsWarn() == 1)