1.冀北分布式光伏:一类监测点只查询监测点标签为分布式光伏的监测点

This commit is contained in:
wr
2023-05-12 09:50:12 +08:00
parent 1b854f6f4c
commit 6019d49ad0
5 changed files with 27 additions and 4 deletions

View File

@@ -35,4 +35,7 @@ public class PwPmsMonitorParam {
@ApiModelProperty(name = "ifPowerUser",value = "是否发电用户0-否1-是") @ApiModelProperty(name = "ifPowerUser",value = "是否发电用户0-否1-是")
private String ifPowerUser; private String ifPowerUser;
@ApiModelProperty(name = "monitorTag", value = "监测点标签")
private List<String> monitorTag;
} }

View File

@@ -18,10 +18,12 @@ public interface PwMonitorMapper {
* 获取配网监测点信息 * 获取配网监测点信息
* *
* @param deptIdList 所有子部门索引 * @param deptIdList 所有子部门索引
* @param monitorTag 监测点标签
* @param pwPmsMonitorParam 查询条件 * @param pwPmsMonitorParam 查询条件
* @return 配网监测点信息 * @return 配网监测点信息
*/ */
List<PwPmsMonitorDTO> getPwMonitorDataList(@Param("deptIdList") List<String> deptIdList, List<PwPmsMonitorDTO> getPwMonitorDataList(@Param("deptIdList") List<String> deptIdList,
@Param("monitorTag") List<String> monitorTag,
@Param("pwPmsMonitorParam") PwPmsMonitorParam pwPmsMonitorParam); @Param("pwPmsMonitorParam") PwPmsMonitorParam pwPmsMonitorParam);
/** /**

View File

@@ -39,6 +39,15 @@
pm.Line_Name pm.Line_Name
FROM FROM
pms_monitor AS pm pms_monitor AS pm
<where>
<if test="monitorTag!=null and monitorTag.size()!=0">
AND pm.Monitor_Tag IN
<foreach collection="monitorTag" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
) UNION ALL ) UNION ALL
( (
SELECT SELECT

View File

@@ -3,6 +3,9 @@ package com.njcn.device.pms.service.distribution.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.device.pms.mapper.distribution.PwMonitorMapper; import com.njcn.device.pms.mapper.distribution.PwMonitorMapper;
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
@@ -63,7 +66,7 @@ public class IPwMonitorServiceImpl implements IPwMonitorService {
.filter(deptDTO -> deptDTO.getId().equals(pwPmsMonitorParam.getOrgId())) .filter(deptDTO -> deptDTO.getId().equals(pwPmsMonitorParam.getOrgId()))
.collect(Collectors.toList()); .collect(Collectors.toList());
//获取monitor详细数据 //获取monitor详细数据
pwPmsMonitorDTOS = pwMonitorMapper.getPwMonitorDataList(Collections.singletonList(dept.get(0).getCode()), pwPmsMonitorParam); pwPmsMonitorDTOS = pwMonitorMapper.getPwMonitorDataList(Collections.singletonList(dept.get(0).getCode()),pwPmsMonitorParam.getMonitorTag(), pwPmsMonitorParam);
if (CollUtil.isEmpty(pwPmsMonitorDTOS)) { if (CollUtil.isEmpty(pwPmsMonitorDTOS)) {
PwPmsMonitorDTO pwPmsMonitorDTO = new PwPmsMonitorDTO(); PwPmsMonitorDTO pwPmsMonitorDTO = new PwPmsMonitorDTO();
@@ -84,7 +87,7 @@ public class IPwMonitorServiceImpl implements IPwMonitorService {
.distinct() .distinct()
.collect(Collectors.toList()); .collect(Collectors.toList());
deptIdList.add(deptDTO.getCode()); deptIdList.add(deptDTO.getCode());
List<PwPmsMonitorDTO> pwMonitorDataList = pwMonitorMapper.getPwMonitorDataList(deptIdList, pwPmsMonitorParam); List<PwPmsMonitorDTO> pwMonitorDataList = pwMonitorMapper.getPwMonitorDataList(deptIdList,pwPmsMonitorParam.getMonitorTag(), pwPmsMonitorParam);
pwPmsMonitorDTOS.addAll(pwMonitorDataList); pwPmsMonitorDTOS.addAll(pwMonitorDataList);
} }
} }
@@ -121,7 +124,7 @@ public class IPwMonitorServiceImpl implements IPwMonitorService {
.filter(deptDTO -> deptDTO.getId().equals(pwPmsMonitorParam.getOrgId())) .filter(deptDTO -> deptDTO.getId().equals(pwPmsMonitorParam.getOrgId()))
.collect(Collectors.toList()); .collect(Collectors.toList());
//获取monitor详细数据 //获取monitor详细数据
pwPmsMonitorDTOS = pwMonitorMapper.getPwMonitorDataList(Collections.singletonList(dept.get(0).getCode()), pwPmsMonitorParam); pwPmsMonitorDTOS = pwMonitorMapper.getPwMonitorDataList(Collections.singletonList(dept.get(0).getCode()),pwPmsMonitorParam.getMonitorTag(), pwPmsMonitorParam);
if (CollUtil.isEmpty(pwPmsMonitorDTOS)) { if (CollUtil.isEmpty(pwPmsMonitorDTOS)) {
PwPmsMonitorDTO pwPmsMonitorDTO = new PwPmsMonitorDTO(); PwPmsMonitorDTO pwPmsMonitorDTO = new PwPmsMonitorDTO();
pwPmsMonitorDTO.setOrgId(dept.get(0).getCode()); pwPmsMonitorDTO.setOrgId(dept.get(0).getCode());
@@ -131,7 +134,7 @@ public class IPwMonitorServiceImpl implements IPwMonitorService {
} else { } else {
// 遍历子单位id // 遍历子单位id
List<String> deptCodes = directDeptInfos.stream().map(DeptDTO::getCode).collect(Collectors.toList()); List<String> deptCodes = directDeptInfos.stream().map(DeptDTO::getCode).collect(Collectors.toList());
List<PwPmsMonitorDTO> pwMonitorDataList = pwMonitorMapper.getPwMonitorDataList(deptCodes, pwPmsMonitorParam); List<PwPmsMonitorDTO> pwMonitorDataList = pwMonitorMapper.getPwMonitorDataList(deptCodes,pwPmsMonitorParam.getMonitorTag(), pwPmsMonitorParam);
pwPmsMonitorDTOS.addAll(pwMonitorDataList); pwPmsMonitorDTOS.addAll(pwMonitorDataList);
} }
return pwPmsMonitorDTOS; return pwPmsMonitorDTOS;
@@ -144,6 +147,11 @@ public class IPwMonitorServiceImpl implements IPwMonitorService {
Map<String, DictData> dictDataMap = monitorType.stream() Map<String, DictData> dictDataMap = monitorType.stream()
.collect(Collectors.toMap(DictData::getId, Function.identity())); .collect(Collectors.toMap(DictData::getId, Function.identity()));
PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
DictData data = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTED_PHOTOVOLTAICS.getCode()).getData();
if(ObjectUtil.isNull(data)){
throw new BusinessException(CommonResponseEnum.NO_DATA, "分布式光伏字典,为空");
}
pwPmsMonitorParam.setMonitorTag(Arrays.asList(data.getId()));
pwPmsMonitorParam.setOrgId(param.getId()); //单位id pwPmsMonitorParam.setOrgId(param.getId()); //单位id
List<PwPmsMonitorDTO> pwMonitorList = this.getPwMonitorList(pwPmsMonitorParam); List<PwPmsMonitorDTO> pwMonitorList = this.getPwMonitorList(pwPmsMonitorParam);
Map<String, List<PwPmsMonitorDTO>> collect = pwMonitorList.stream().collect(Collectors.groupingBy(PwPmsMonitorDTO::getMonitorSort)); Map<String, List<PwPmsMonitorDTO>> collect = pwMonitorList.stream().collect(Collectors.groupingBy(PwPmsMonitorDTO::getMonitorSort));

View File

@@ -162,6 +162,7 @@ public enum DicDataEnum {
POWER_STATION("光伏电站","Power_Station"), POWER_STATION("光伏电站","Power_Station"),
ELECTRIFIED_RAILWAYS("电气化铁路","Electrified_Railways"), ELECTRIFIED_RAILWAYS("电气化铁路","Electrified_Railways"),
SMELT_LOAD("冶炼负荷","Smelt_Load"), SMELT_LOAD("冶炼负荷","Smelt_Load"),
DISTRIBUTED_PHOTOVOLTAICS("分布式光伏","Distributed_Photovoltaics"),
/** /**
* 电压等级 * 电压等级