合并代码

This commit is contained in:
2022-12-19 10:33:53 +08:00
parent a16f573eae
commit 5df53ce872
24 changed files with 1014 additions and 283 deletions

View File

@@ -32,6 +32,7 @@ public enum PmsDeviceResponseEnum {
GENWIRE_SAME("A00373","母线编号重复"), GENWIRE_SAME("A00373","母线编号重复"),
POWER_CODE_SAME("A00374","台区名称或编号重复"), POWER_CODE_SAME("A00374","台区名称或编号重复"),
POWER_CLIENT_DIS_EMPTY("A00375","发电用电用户参数不可为空"), POWER_CLIENT_DIS_EMPTY("A00375","发电用电用户参数不可为空"),
DIS_ADD_REPEAT("A00376","当前配网中存在该监测点"),
POWER_CLIENT_NOT_FIND("A00380","查无此用电用户"), POWER_CLIENT_NOT_FIND("A00380","查无此用电用户"),

View File

@@ -25,8 +25,8 @@ public class DistributionMonitorParam {
/** /**
* 监测点ID * 监测点ID
*/ */
@ApiModelProperty(value = "监测点类别(字典)") @ApiModelProperty(value = "监测点编号")
@NotBlank(message = "监测点类别不能为空") @NotBlank(message = "监测点编号不能为空")
private String monitorId; private String monitorId;
/** /**

View File

@@ -60,6 +60,34 @@ public class DistributionMonitor extends BaseEntity {
*/ */
private Integer status; private Integer status;
/**
* 关联的监测终端编号(外键)
*/
private String terminalId;
/**
* 监测终端接线方式(字典)
*/
private String terminalWiringMethod;
/**
* pt变比
*/
private Float pt1;
/**
* pt变比
*/
private Float pt2;
/**
* ct变比
*/
private Float ct1;
/**
* ct变比
*/
private Float ct2;
} }

View File

@@ -187,6 +187,24 @@ public class Monitor extends BaseEntity {
*/ */
private Integer isSpecialMonitor; private Integer isSpecialMonitor;
/**
* pt变比
*/
private Float pt1;
/**
* pt变比
*/
private Float pt2;
/**
* ct变比
*/
private Float ct1;
/**
* ct变比
*/
private Float ct2;
} }

View File

@@ -20,7 +20,7 @@ public class SpecialAnalysisMonitorVO implements Serializable {
* 监测点信息 * 监测点信息
*/ */
@ApiModelProperty(name = "specialAnalysisVOList", value = "监测点信息") @ApiModelProperty(name = "specialAnalysisVOList", value = "监测点信息")
List<SpecialAnalysisMonitorVO.SpecialAnalysisVO> specialAnalysisVOList; Map<String,List<SpecialAnalysisMonitorVO.SpecialAnalysisVO>> specialAnalysisVOList;
/** /**
* 电压等级分布(监测点) * 电压等级分布(监测点)
@@ -53,6 +53,18 @@ public class SpecialAnalysisMonitorVO implements Serializable {
@ApiModelProperty(name = "name", value = "监测点名称") @ApiModelProperty(name = "name", value = "监测点名称")
private String name; private String name;
/**
* 监测点名称
*/
@ApiModelProperty(name = "orgName", value = "单位名称")
private String orgName;
/**
* 监测点名称
*/
@ApiModelProperty(name = "orgId", value = "单位Code")
private String orgId;
/** /**
* 电站ID(外键) * 电站ID(外键)
*/ */
@@ -92,8 +104,8 @@ public class SpecialAnalysisMonitorVO implements Serializable {
/** /**
* 监测点标签 * 监测点标签
*/ */
@ApiModelProperty(name = "monitorTag", value = "监测点标签") // @ApiModelProperty(name = "monitorTag", value = "监测点标签")
private String monitorTag; // private String monitorTag;
/** /**
* 关联的监测终端编号(外键) * 关联的监测终端编号(外键)
@@ -219,4 +231,79 @@ public class SpecialAnalysisMonitorVO implements Serializable {
private String ringCapacity4; private String ringCapacity4;
} }
/**
* 专项分析电气化铁路展示详情
*/
@Data
public static class SpecialAnalysisRailwayVO {
private static final long serialVersionUID = 1L;
/**
* 监测点ID
*/
@ApiModelProperty(name = "id", value = "监测点ID")
private String id;
/**
* 监测点名称
*/
@ApiModelProperty(name = "name", value = "监测点名称")
private String name;
/**
* 监测点名称
*/
@ApiModelProperty(name = "orgName", value = "单位名称")
private String orgName;
/**
* 监测点名称
*/
@ApiModelProperty(name = "orgId", value = "单位Code")
private String orgId;
/**
* 电站ID(外键)
*/
@ApiModelProperty(name = "powerrId", value = "电站ID(外键)")
private String powerrId;
/**
* 变电站名称
*/
@ApiModelProperty(name = "powerrName", value = "变电站名称")
private String powerrName;
/**
* 经度
*/
@ApiModelProperty(name = "longitude", value = "经度")
private Double longitude;
/**
* 维度
*/
@ApiModelProperty(name = "latitude", value = "维度")
private Double latitude;
/**
* 电压等级(字典)
*/
@ApiModelProperty(name = "voltageLevel", value = "电压等级(字典)")
private String voltageLevel;
/**
* 监测点容量
*/
@ApiModelProperty(name = "capacity", value = "监测点容量")
private Double capacity;
/**
* 关联的监测终端编号(外键)
*/
@ApiModelProperty(name = "RailwayLineName", value = "铁路名称")
private String railwayLineName;
}
} }

View File

@@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
@@ -72,16 +73,14 @@ public class SpecialAnalysisController extends BaseController {
/** /**
* 获取专项分析-地图展示数据 * 获取专项分析-地图展示数据
* *
* @param param 前端传入参数
* @return 专项分析-地图展示数据 * @return 专项分析-地图展示数据
*/ */
@PostMapping("/getDisplayRailway") @PostMapping("/getDisplayRailway")
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("地图展示数据-地图监测点(电气化铁路)") @ApiOperation("地图展示数据-地图监测点(电气化铁路)")
@ApiImplicitParam(name = "param", value = "条件参数", required = true) public HttpResult<Map<String,List<SpecialAnalysisMonitorVO.SpecialAnalysisRailwayVO>>> getDisplayRailway() {
public HttpResult<List<SpecialAnalysisMonitorVO.SpecialAnalysisVO>> getDisplayRailway(@RequestBody SpecialAnalysisParam param) {
String methodDescribe = getMethodDescribe("getDisplayRailway"); String methodDescribe = getMethodDescribe("getDisplayRailway");
List<SpecialAnalysisMonitorVO.SpecialAnalysisVO> sm= specialAnalysisService.getDisplayRailway(param); Map<String,List<SpecialAnalysisMonitorVO.SpecialAnalysisRailwayVO>> sm= specialAnalysisService.getDisplayRailway();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sm, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sm, methodDescribe);
} }

View File

@@ -1,22 +1,54 @@
package com.njcn.device.pms.controller.majornetwork; package com.njcn.device.pms.controller.majornetwork;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.dto.wave.WaveDataDTO;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.device.pms.service.majornetwork.TransientPmsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
/** /**
* <p> * 暂态事件列表PMS暂用
* 前端控制器
* </p>
*
* @author hongawen * @author hongawen
* @since 2022-10-14 * @since 2022-10-14
*/ */
@Validated
@Slf4j
@RestController @RestController
@RequestMapping("/pms/transientStasticData") @RequestMapping("/pms/transientStasticData")
@Api(tags = "暂态事件列表PMS暂用")
@AllArgsConstructor
public class TransientStasticDataController extends BaseController { public class TransientStasticDataController extends BaseController {
private final TransientPmsService transientPmsService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getTransientAnalyseWavePms")
@ApiOperation("暂态事件波形分析")
@ApiImplicitParams({
@ApiImplicitParam(name = "timeId", value = "暂态时刻", required = true),
@ApiImplicitParam(name = "lineId", value = "暂态监测点Id", required = true),
@ApiImplicitParam(name = "lineType", value = "暂态监测点类型1主网 2配网", required = true)
})
public HttpResult<WaveDataDTO> getTransientAnalyseWavePms(@RequestParam("timeId") String timeId, @RequestParam("lineId") String lineId, @RequestParam("lineType") Integer lineType){
String methodDescribe = getMethodDescribe("getTransientAnalyseWavePms");
WaveDataDTO wave = transientPmsService.getTransientAnalyseWavePms(timeId, lineId,lineType);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, wave, methodDescribe);
}
} }

View File

@@ -37,7 +37,7 @@ public interface SpecialAnalysisMapper {
* @param deptIdList 部门集合Code * @param deptIdList 部门集合Code
* @return * @return
*/ */
List<SpecialAnalysisMonitorVO.SpecialAnalysisVO> selectRailwayList(@Param("deptIdList") List<String> deptIdList); List<SpecialAnalysisMonitorVO.SpecialAnalysisRailwayVO> selectRailwayList(@Param("deptIdList") List<String> deptIdList);
/** /**

View File

@@ -11,16 +11,23 @@
target_type AS targetType target_type AS targetType
FROM FROM
r_stat_target_detail r_stat_target_detail
WHERE <where>
measurement_point_id IN <if test="param!=null and param.checkRules!=null and param.checkRules.size()!=0">
<foreach collection="monitorIds" item="item" open="(" close=")" separator=","> AND check_rules IN
#{item} <foreach collection="param.checkRules" item="item" open="(" close=")" separator=",">
</foreach> #{item}
<if test="param.startTime != null and param.startTime != ''"> </foreach>
AND DATE_FORMAT(data_date, '%Y-%m-%d') &gt;= DATE_FORMAT(#{param.startTime}, '%Y-%m-%d') </if>
</if> and measurement_point_id IN
<if test="param.endTime != null and param.endTime != ''"> <foreach collection="monitorIds" item="item" open="(" close=")" separator=",">
AND DATE_FORMAT(data_date, '%Y-%m-%d') &lt;= DATE_FORMAT(#{param.endTime}, '%Y-%m-%d') #{item}
</if> </foreach>
<if test="param.startTime != null and param.startTime != ''">
AND DATE_FORMAT(data_date, '%Y-%m-%d') &gt;= DATE_FORMAT(#{param.startTime}, '%Y-%m-%d')
</if>
<if test="param.endTime != null and param.endTime != ''">
AND DATE_FORMAT(data_date, '%Y-%m-%d') &lt;= DATE_FORMAT(#{param.endTime}, '%Y-%m-%d')
</if>
</where>
</select> </select>
</mapper> </mapper>

View File

@@ -182,11 +182,12 @@
</where> </where>
</select> </select>
<select id="selectRailwayList" <select id="selectRailwayList"
resultType="com.njcn.device.pms.pojo.vo.SpecialAnalysisMonitorVO$SpecialAnalysisVO"> resultType="com.njcn.device.pms.pojo.vo.SpecialAnalysisMonitorVO$SpecialAnalysisRailwayVO">
SELECT SELECT
pts.Id, pts.Id,
pts.`Name`, pts.`Name`,
pts.Org_Name, pts.Org_Name,
pts.Railway_Line_Name,
pts.Org_Id, pts.Org_Id,
pts.Power_Name as powerrName, pts.Power_Name as powerrName,
pts.Power_Id as powerrId, pts.Power_Id as powerrId,
@@ -242,7 +243,7 @@
<where> <where>
<if test="param != null and param.powerVoltageLevel.size > 0"> <if test="param != null and param.powerVoltageLevel.size > 0">
AND t.voltage_level IN AND t.voltage_level IN
<foreach collection='deptIdList' item='item' index="index" open='(' separator=',' close=')'> <foreach collection='param.powerVoltageLevel' item='item' index="index" open='(' separator=',' close=')'>
#{item} #{item}
</foreach> </foreach>
</if> </if>
@@ -269,8 +270,8 @@
pms_traction_station_expand t pms_traction_station_expand t
<where> <where>
<if test="param != null and param.powerVoltageLevel.size > 0"> <if test="param != null and param.powerVoltageLevel.size > 0">
AND t.power_voltage_level IN AND t.voltage_level IN
<foreach collection='deptIdList' item='item' index="index" open='(' separator=',' close=')'> <foreach collection='param.powerVoltageLevel' item='item' index="index" open='(' separator=',' close=')'>
#{item} #{item}
</foreach> </foreach>
</if> </if>
@@ -299,8 +300,8 @@
pms_traction_station_expand t pms_traction_station_expand t
<where> <where>
<if test="param != null and param.powerVoltageLevel.size > 0"> <if test="param != null and param.powerVoltageLevel.size > 0">
AND t.power_voltage_level IN AND t.voltage_level IN
<foreach collection='deptIdList' item='item' index="index" open='(' separator=',' close=')'> <foreach collection='param.powerVoltageLevel' item='item' index="index" open='(' separator=',' close=')'>
#{item} #{item}
</foreach> </foreach>
</if> </if>
@@ -350,8 +351,17 @@
FROM FROM
pms_traction_station_expand pms_traction_station_expand
<where> <where>
<if test="param!=null and param.year != null ">
and YEAR(Created_Date)=#{param.year}
</if>
<if test="param != null and param.month!=null and param.month.size > 0">
AND MONTH(Created_Date) IN
<foreach collection='param.month' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="deptIdList != null and deptIdList.size > 0"> <if test="deptIdList != null and deptIdList.size > 0">
AND t.Org_Id IN AND Org_Id IN
<foreach collection='deptIdList' item='item' index="index" open='(' separator=',' close=')'> <foreach collection='deptIdList' item='item' index="index" open='(' separator=',' close=')'>
#{item} #{item}
</foreach> </foreach>

View File

@@ -5,6 +5,7 @@ import com.njcn.device.pms.pojo.param.SpecialAnalysisParam;
import com.njcn.device.pms.pojo.vo.SpecialAnalysisMonitorVO; import com.njcn.device.pms.pojo.vo.SpecialAnalysisMonitorVO;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <专项分许> * <专项分许>
@@ -30,10 +31,9 @@ public interface SpecialAnalysisService {
/** /**
* 专项分析-地图数据展示(电气化铁路) * 专项分析-地图数据展示(电气化铁路)
* @param param
* @return * @return
*/ */
List<SpecialAnalysisMonitorVO.SpecialAnalysisVO> getDisplayRailway(SpecialAnalysisParam param); Map<String,List<SpecialAnalysisMonitorVO.SpecialAnalysisRailwayVO>> getDisplayRailway();
/** /**
* 地图展示数据-按电压展示数据(电气化铁路) * 地图展示数据-按电压展示数据(电气化铁路)

View File

@@ -75,6 +75,17 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
if (Objects.isNull(dictData)) { if (Objects.isNull(dictData)) {
throw new BusinessException(PmsDeviceResponseEnum.NO_LINE_SORT); throw new BusinessException(PmsDeviceResponseEnum.NO_LINE_SORT);
} }
//判断配网表里是否已经存在监测点
LambdaQueryWrapper<DistributionMonitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DistributionMonitor::getStatus,DataStateEnum.ENABLE.getCode())
.eq(DistributionMonitor::getMonitorId,distributionMonitorParam.getMonitorId())
.eq(DistributionMonitor::getMonitorSort,dictData.getId());
int count = this.count(lambdaQueryWrapper);
if(count>0){
throw new BusinessException(PmsDeviceResponseEnum.DIS_ADD_REPEAT);
}
DistributionMonitor distributionMonitor = new DistributionMonitor(); DistributionMonitor distributionMonitor = new DistributionMonitor();
distributionMonitor.setMonitorSort(dictData.getId()); distributionMonitor.setMonitorSort(dictData.getId());
switch (dictData.getCode()) { switch (dictData.getCode()) {

View File

@@ -61,7 +61,8 @@ public class RStatDevSignalDServiceImpl extends ServiceImpl<RStatDevSignalDMappe
//查询终端数据 //查询终端数据
LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>();
terminalWrapper.in(PmsTerminal::getOrgId, orgCodeList).like(StringUtils.isNotBlank(deviceName), PmsTerminal::getName, deviceName); terminalWrapper.in(PmsTerminal::getOrgId, orgCodeList)
.like(StringUtils.isNotBlank(deviceName), PmsTerminal::getName, deviceName);
List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper); List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper);
//提取终端id //提取终端id
List<String> terminalIdList = terminalList.stream().map(PmsTerminal::getId).collect(Collectors.toList()); List<String> terminalIdList = terminalList.stream().map(PmsTerminal::getId).collect(Collectors.toList());

View File

@@ -1,5 +1,6 @@
package com.njcn.device.pms.service.majornetwork.impl; package com.njcn.device.pms.service.majornetwork.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.njcn.device.pms.mapper.majornetwork.SpecialAnalysisMapper; import com.njcn.device.pms.mapper.majornetwork.SpecialAnalysisMapper;
import com.njcn.device.pms.pojo.param.SpecialAnalysisParam; import com.njcn.device.pms.pojo.param.SpecialAnalysisParam;
@@ -36,10 +37,16 @@ public class SpecialAnalysisServiceImpl implements SpecialAnalysisService {
public SpecialAnalysisMonitorVO getMonitorList(SpecialAnalysisParam param) { public SpecialAnalysisMonitorVO getMonitorList(SpecialAnalysisParam param) {
//初始化对象 //初始化对象
SpecialAnalysisMonitorVO vo=new SpecialAnalysisMonitorVO(); SpecialAnalysisMonitorVO vo=new SpecialAnalysisMonitorVO();
//获取电压等级的字典
List<DictData> voltageLevelList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
//将电压信息转成mapkeyid valuename
Map<String, String> voltageLevelMap = voltageLevelList.stream().collect(Collectors.toMap(DictData::getId, DictData::getName));
//专项分析-只是统计当前所在部门及下部门直接挂钩的监测点 //专项分析-只是统计当前所在部门及下部门直接挂钩的监测点
List<Dept> deptList = deptFeignClient.getSpecialDeptList().getData(); List<Dept> deptList = deptFeignClient.getSpecialDeptList().getData();
List<String> deptIds = deptList.stream().map(Dept::getCode).collect(Collectors.toList()); List<String> deptIds = deptList.stream().map(Dept::getCode).collect(Collectors.toList());
//1.获取原始数据(参数1部门id。参数2监测点标签字典id集合)
DictData data; DictData data;
switch (param.getType()) { switch (param.getType()) {
//光伏电站 //光伏电站
@@ -55,9 +62,20 @@ public class SpecialAnalysisServiceImpl implements SpecialAnalysisService {
data = dicDataFeignClient.getDicDataByCode(DicDataEnum.ONSHORE_WIND.getCode()).getData(); data = dicDataFeignClient.getDicDataByCode(DicDataEnum.ONSHORE_WIND.getCode()).getData();
break; break;
} }
List<SpecialAnalysisMonitorVO.SpecialAnalysisVO> infoList = specialAnalysisMapper.selectList(deptIds, null); //1.获取原始数据(参数1部门id。参数2监测点标签字典id集合)
List<SpecialAnalysisMonitorVO.SpecialAnalysisVO> infoList = specialAnalysisMapper.selectList(deptIds, data.getId());
//获取部门区域
if(CollectionUtil.isNotEmpty(infoList)){ if(CollectionUtil.isNotEmpty(infoList)){
vo.setSpecialAnalysisVOList(infoList); infoList.stream().forEach(info->{
if(voltageLevelMap.containsKey(info.getVoltageLevel())){
String name = voltageLevelMap.get(info.getVoltageLevel());
info.setVoltageLevel(name);
}
});
Map<String, List<SpecialAnalysisMonitorVO.SpecialAnalysisVO>> listMap =
infoList.stream().collect(Collectors.groupingBy(SpecialAnalysisMonitorVO.SpecialAnalysisVO::getOrgName));
vo.setSpecialAnalysisVOList(listMap);
//2.根据电压等级分组显示数据 //2.根据电压等级分组显示数据
Map<String, Long> map = infoList.stream().collect(Collectors.groupingBy(su -> su.getVoltageLevel(), Collectors.counting())); Map<String, Long> map = infoList.stream().collect(Collectors.groupingBy(su -> su.getVoltageLevel(), Collectors.counting()));
@@ -70,29 +88,49 @@ public class SpecialAnalysisServiceImpl implements SpecialAnalysisService {
maps.add(newMap); maps.add(newMap);
} }
vo.setVoltageLevelMap(maps); vo.setVoltageLevelMap(maps);
}else{
vo.setSpecialAnalysisVOList(new HashMap<>());
vo.setVoltageLevelMap(new ArrayList<>());
} }
return vo; return vo;
} }
@Override @Override
public SpecialAnalysisMonitorVO.CompareDetailVO getYoYList(SpecialAnalysisParam.CompareDateParam param) { public SpecialAnalysisMonitorVO.CompareDetailVO getYoYList(SpecialAnalysisParam.CompareDateParam param) {
//todo 获取部门信息 //获取部门信息
List<Dept> deptList = deptFeignClient.getSpecialDeptList().getData(); List<Dept> deptList = deptFeignClient.getSpecialDeptList().getData();
List<String> deptIds = deptList.stream().map(Dept::getCode).collect(Collectors.toList()); List<String> deptIds = deptList.stream().map(Dept::getCode).collect(Collectors.toList());
return specialAnalysisMapper.selectYoYList(deptIds,param); return specialAnalysisMapper.selectYoYList(deptIds,param);
} }
@Override @Override
public List<SpecialAnalysisMonitorVO.SpecialAnalysisVO> getDisplayRailway(SpecialAnalysisParam param) { public Map<String,List<SpecialAnalysisMonitorVO.SpecialAnalysisRailwayVO>> getDisplayRailway() {
//todo 获取部门信息 // 获取部门信息
List<Dept> deptList = deptFeignClient.getSpecialDeptList().getData(); List<Dept> deptList = deptFeignClient.getSpecialDeptList().getData();
List<String> deptIds = deptList.stream().map(Dept::getCode).collect(Collectors.toList()); List<String> deptIds = deptList.stream().map(Dept::getCode).collect(Collectors.toList());
return specialAnalysisMapper.selectRailwayList(deptIds);
//获取电压等级的字典
List<DictData> voltageLevelList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
//将电压信息转成mapkeyid valuename
Map<String, String> voltageLevelMap = voltageLevelList.stream().collect(Collectors.toMap(DictData::getId, DictData::getName));
List<SpecialAnalysisMonitorVO.SpecialAnalysisRailwayVO> specialAnalysisRailwayVOS = specialAnalysisMapper.selectRailwayList(deptIds);
if(CollUtil.isNotEmpty(specialAnalysisRailwayVOS)){
specialAnalysisRailwayVOS.stream().forEach(info->{
if(voltageLevelMap.containsKey(info.getVoltageLevel())){
String name = voltageLevelMap.get(info.getVoltageLevel());
info.setVoltageLevel(name);
}
});
return specialAnalysisRailwayVOS.stream().collect(
Collectors.groupingBy(SpecialAnalysisMonitorVO.SpecialAnalysisRailwayVO::getRailwayLineName));
}
return new HashMap<>();
} }
@Override @Override
public List<SpecialAnalysisMonitorVO.CompareVO> getMapDisplayRailway(SpecialAnalysisParam.CompareParam param) { public List<SpecialAnalysisMonitorVO.CompareVO> getMapDisplayRailway(SpecialAnalysisParam.CompareParam param) {
//todo 获取部门信息 // 获取部门信息
List<Dept> deptList = deptFeignClient.getSpecialDeptList().getData(); List<Dept> deptList = deptFeignClient.getSpecialDeptList().getData();
List<String> deptIds = deptList.stream().map(Dept::getCode).collect(Collectors.toList()); List<String> deptIds = deptList.stream().map(Dept::getCode).collect(Collectors.toList());
return specialAnalysisMapper.selectMapDisplayRailway(deptIds, param); return specialAnalysisMapper.selectMapDisplayRailway(deptIds, param);
@@ -100,7 +138,7 @@ public class SpecialAnalysisServiceImpl implements SpecialAnalysisService {
@Override @Override
public List<SpecialAnalysisMonitorVO.WiringTypeDetail> getWiringTypeRailway(SpecialAnalysisParam.CompareDateParam param) { public List<SpecialAnalysisMonitorVO.WiringTypeDetail> getWiringTypeRailway(SpecialAnalysisParam.CompareDateParam param) {
//todo 获取部门信息 // 获取部门信息
List<Dept> deptList = deptFeignClient.getSpecialDeptList().getData(); List<Dept> deptList = deptFeignClient.getSpecialDeptList().getData();
List<String> deptIds = deptList.stream().map(Dept::getCode).collect(Collectors.toList()); List<String> deptIds = deptList.stream().map(Dept::getCode).collect(Collectors.toList());
//子节点获取监测点类别(监测标签) //子节点获取监测点类别(监测标签)
@@ -124,7 +162,11 @@ public class SpecialAnalysisServiceImpl implements SpecialAnalysisService {
wiringTypeDetail.setRate99("0"); wiringTypeDetail.setRate99("0");
wiringTypeRailway.add(wiringTypeDetail); wiringTypeRailway.add(wiringTypeDetail);
} }
return wiringTypeRailway; if(CollUtil.isNotEmpty(wiringTypeRailway)){
return wiringTypeRailway;
}
return new ArrayList<>();
} }

View File

@@ -1,15 +1,15 @@
package com.njcn.harmonic.pojo.po; package com.njcn.harmonic.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType; import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDate;
/** /**
* <p> * <p>
* *
@@ -26,336 +26,664 @@ public class RMpPartHarmonicDetailM implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "监测点ID") /**
@TableId(value = "measurement_point_id", type = IdType.ASSIGN_ID) * 监测点ID
*/
@MppMultiId(value = "measurement_point_id")
private String measurementPointId; private String measurementPointId;
@ApiModelProperty(value = "生成数据的时间,每月统计一次") /**
* 生成数据的时间,每月统计一次
*/
@MppMultiId(value = "data_date")
private LocalDate dataDate; private LocalDate dataDate;
@ApiModelProperty(value = "当月超标天数") /**
* 当月超标天数
*/
@TableField(value = "measurement_over_day")
private Integer measurementOverDay; private Integer measurementOverDay;
@ApiModelProperty(value = "频率偏差超标天数") /**
* 频率偏差超标天数
*/
@TableField(value = "freq_over_day")
private Integer freqOverDay; private Integer freqOverDay;
@ApiModelProperty(value = "电压上偏差超标天数") /**
* 电压上偏差超标天数
*/
@TableField(value = "v_dev_up_over_day")
private Integer vDevUpOverDay; private Integer vDevUpOverDay;
@ApiModelProperty(value = "电压下偏差超标天数") /**
* 电压下偏差超标天数
*/
@TableField(value = "v_dev_low_over_day")
private Integer vDevLowOverDay; private Integer vDevLowOverDay;
@ApiModelProperty(value = "电压偏差超标天数") /**
* 电压偏差超标天数
*/
@TableField(value = "v_dev_over_day")
private Integer vDevOverDay; private Integer vDevOverDay;
@ApiModelProperty(value = "电压总谐波畸变率超标天数") /**
* 电压总谐波畸变率超标天数
*/
@TableField(value = "v_thd_over_day")
private Integer vThdOverDay; private Integer vThdOverDay;
@ApiModelProperty(value = "谐波电压超标天数") /**
* 谐波电压超标天数
*/
@TableField(value = "v_over_day")
private Integer vOverDay; private Integer vOverDay;
@ApiModelProperty(value = "谐波电流超标天数") /**
* 谐波电流超标天数
*/
@TableField(value = "i_over_day")
private Integer iOverDay; private Integer iOverDay;
@ApiModelProperty(value = "2次谐波电压含有率超标天数") /**
* 2次谐波电压含有率超标天数
*/
@TableField(value = "v_2_over_day")
private Integer v2OverDay; private Integer v2OverDay;
@ApiModelProperty(value = "3次谐波电压含有率超标天数") /**
* 3次谐波电压含有率超标天数
*/
@TableField(value = "v_3_over_day")
private Integer v3OverDay; private Integer v3OverDay;
@ApiModelProperty(value = "4次谐波电压含有率超标天数") /**
* 4次谐波电压含有率超标天数
*/
@TableField(value = "v_4_over_day")
private Integer v4OverDay; private Integer v4OverDay;
@ApiModelProperty(value = "5次谐波电压含有率超标天数") /**
* 5次谐波电压含有率超标天数
*/
@TableField(value = "v_5_over_day")
private Integer v5OverDay; private Integer v5OverDay;
@ApiModelProperty(value = "6次谐波电压含有率超标天数") /**
* 6次谐波电压含有率超标天数
*/
@TableField(value = "v_6_over_day")
private Integer v6OverDay; private Integer v6OverDay;
@ApiModelProperty(value = "7次谐波电压含有率超标天数") /**
* 7次谐波电压含有率超标天数
*/
@TableField(value = "v_7_over_day")
private Integer v7OverDay; private Integer v7OverDay;
@ApiModelProperty(value = "8次谐波电压含有率超标天数") /**
* 8次谐波电压含有率超标天数
*/
@TableField(value = "v_8_over_day")
private Integer v8OverDay; private Integer v8OverDay;
@ApiModelProperty(value = "9次谐波电压含有率超标天数") /**
* 9次谐波电压含有率超标天数
*/
@TableField(value = "v_9_over_day")
private Integer v9OverDay; private Integer v9OverDay;
@ApiModelProperty(value = "10次谐波电压含有率超标天数") /**
* 10次谐波电压含有率超标天数
*/
@TableField(value = "v_10_over_day")
private Integer v10OverDay; private Integer v10OverDay;
@ApiModelProperty(value = "11次谐波电压含有率超标天数") /**
* 11次谐波电压含有率超标天数
*/
@TableField(value = "v_11_over_day")
private Integer v11OverDay; private Integer v11OverDay;
@ApiModelProperty(value = "12次谐波电压含有率超标天数") /**
* 12次谐波电压含有率超标天数
*/
@TableField(value = "v_12_over_day")
private Integer v12OverDay; private Integer v12OverDay;
@ApiModelProperty(value = "13次谐波电压含有率超标天数") /**
* 13次谐波电压含有率超标天数
*/
@TableField(value = "v_13_over_day")
private Integer v13OverDay; private Integer v13OverDay;
@ApiModelProperty(value = "14次谐波电压含有率超标天数") /**
* 14次谐波电压含有率超标天数
*/
@TableField(value = "v_14_over_day")
private Integer v14OverDay; private Integer v14OverDay;
@ApiModelProperty(value = "15次谐波电压含有率超标天数") /**
* 15次谐波电压含有率超标天数
*/
@TableField(value = "v_15_over_day")
private Integer v15OverDay; private Integer v15OverDay;
@ApiModelProperty(value = "16次谐波电压含有率超标天数") /**
* 16次谐波电压含有率超标天数
*/
@TableField(value = "v_16_over_day")
private Integer v16OverDay; private Integer v16OverDay;
@ApiModelProperty(value = "17次谐波电压含有率超标天数") /**
* 17次谐波电压含有率超标天数
*/
@TableField(value = "v_17_over_day")
private Integer v17OverDay; private Integer v17OverDay;
@ApiModelProperty(value = "18次谐波电压含有率超标天数") /**
* 18次谐波电压含有率超标天数
*/
@TableField(value = "v_18_over_day")
private Integer v18OverDay; private Integer v18OverDay;
@ApiModelProperty(value = "19次谐波电压含有率超标天数") /**
* 19次谐波电压含有率超标天数
*/
@TableField(value = "v_19_over_day")
private Integer v19OverDay; private Integer v19OverDay;
@ApiModelProperty(value = "20次谐波电压含有率超标天数") /**
* 20次谐波电压含有率超标天数
*/
@TableField(value = "v_20_over_day")
private Integer v20OverDay; private Integer v20OverDay;
@ApiModelProperty(value = "21次谐波电压含有率超标天数") /**
* 21次谐波电压含有率超标天数
*/
@TableField(value = "v_21_over_day")
private Integer v21OverDay; private Integer v21OverDay;
@ApiModelProperty(value = "22次谐波电压含有率超标天数") /**
* 22次谐波电压含有率超标天数
*/
@TableField(value = "v_22_over_day")
private Integer v22OverDay; private Integer v22OverDay;
@ApiModelProperty(value = "23次谐波电压含有率超标天数") /**
* 23次谐波电压含有率超标天数
*/
@TableField(value = "v_23_over_day")
private Integer v23OverDay; private Integer v23OverDay;
@ApiModelProperty(value = "24次谐波电压含有率超标天数") /**
* 24次谐波电压含有率超标天数
*/
@TableField(value = "v_24_over_day")
private Integer v24OverDay; private Integer v24OverDay;
@ApiModelProperty(value = "25次谐波电压含有率超标天数") /**
* 25次谐波电压含有率超标天数
*/
@TableField(value = "v_25_over_day")
private Integer v25OverDay; private Integer v25OverDay;
@ApiModelProperty(value = "26次谐波电压含有率超标天数") /**
* 26次谐波电压含有率超标天数
*/
@TableField(value = "v_26_over_day")
private Integer v26OverDay; private Integer v26OverDay;
@ApiModelProperty(value = "27次谐波电压含有率超标天数") /**
* 27次谐波电压含有率超标天数
*/
@TableField(value = "v_27_over_day")
private Integer v27OverDay; private Integer v27OverDay;
@ApiModelProperty(value = "28次谐波电压含有率超标天数") /**
* 28次谐波电压含有率超标天数
*/
@TableField(value = "v_28_over_day")
private Integer v28OverDay; private Integer v28OverDay;
@ApiModelProperty(value = "29次谐波电压含有率超标天数") /**
* 29次谐波电压含有率超标天数
*/
@TableField(value = "v_29_over_day")
private Integer v29OverDay; private Integer v29OverDay;
@ApiModelProperty(value = "30次谐波电压含有率超标天数") /**
* 30次谐波电压含有率超标天数
*/
@TableField(value = "v_30_over_day")
private Integer v30OverDay; private Integer v30OverDay;
@ApiModelProperty(value = "31次谐波电压含有率超标天数") /**
* 31次谐波电压含有率超标天数
*/
@TableField(value = "v_31_over_day")
private Integer v31OverDay; private Integer v31OverDay;
@ApiModelProperty(value = "32次谐波电压含有率超标天数") /**
* 32次谐波电压含有率超标天数
*/
@TableField(value = "v_32_over_day")
private Integer v32OverDay; private Integer v32OverDay;
@ApiModelProperty(value = "33次谐波电压含有率超标天数") /**
* 33次谐波电压含有率超标天数
*/
@TableField(value = "v_33_over_day")
private Integer v33OverDay; private Integer v33OverDay;
@ApiModelProperty(value = "34次谐波电压含有率超标天数") /**
* 34次谐波电压含有率超标天数
*/
@TableField(value = "v_34_over_day")
private Integer v34OverDay; private Integer v34OverDay;
@ApiModelProperty(value = "35次谐波电压含有率超标天数") /**
* 35次谐波电压含有率超标天数
*/
@TableField(value = "v_35_over_day")
private Integer v35OverDay; private Integer v35OverDay;
@ApiModelProperty(value = "36次谐波电压含有率超标天数") /**
* 36次谐波电压含有率超标天数
*/
@TableField(value = "v_36_over_day")
private Integer v36OverDay; private Integer v36OverDay;
@ApiModelProperty(value = "37次谐波电压含有率超标天数") /**
* 37次谐波电压含有率超标天数
*/
@TableField(value = "v_37_over_day")
private Integer v37OverDay; private Integer v37OverDay;
@ApiModelProperty(value = "38次谐波电压含有率超标天数") /**
* 38次谐波电压含有率超标天数
*/
@TableField(value = "v_38_over_day")
private Integer v38OverDay; private Integer v38OverDay;
@ApiModelProperty(value = "39次谐波电压含有率超标天数") /**
* 39次谐波电压含有率超标天数
*/
@TableField(value = "v_39_over_day")
private Integer v39OverDay; private Integer v39OverDay;
@ApiModelProperty(value = "40次谐波电压含有率超标天数") /**
* 40次谐波电压含有率超标天数
*/
@TableField(value = "v_40_over_day")
private Integer v40OverDay; private Integer v40OverDay;
@ApiModelProperty(value = "41次谐波电压含有率超标天数") /**
* 41次谐波电压含有率超标天数
*/
@TableField(value = "v_41_over_day")
private Integer v41OverDay; private Integer v41OverDay;
@ApiModelProperty(value = "42次谐波电压含有率超标天数") /**
* 42次谐波电压含有率超标天数
*/
@TableField(value = "v_42_over_day")
private Integer v42OverDay; private Integer v42OverDay;
@ApiModelProperty(value = "43次谐波电压含有率超标天数") /**
* 43次谐波电压含有率超标天数
*/
@TableField(value = "v_43_over_day")
private Integer v43OverDay; private Integer v43OverDay;
@ApiModelProperty(value = "44次谐波电压含有率超标天数") /**
* 44次谐波电压含有率超标天数
*/
@TableField(value = "v_44_over_day")
private Integer v44OverDay; private Integer v44OverDay;
@ApiModelProperty(value = "45次谐波电压含有率超标天数") /**
* 45次谐波电压含有率超标天数
*/
@TableField(value = "v_45_over_day")
private Integer v45OverDay; private Integer v45OverDay;
@ApiModelProperty(value = "46次谐波电压含有率超标天数") /**
* 46次谐波电压含有率超标天数
*/
@TableField(value = "v_46_over_day")
private Integer v46OverDay; private Integer v46OverDay;
@ApiModelProperty(value = "47次谐波电压含有率超标天数") /**
* 47次谐波电压含有率超标天数
*/
@TableField(value = "v_47_over_day")
private Integer v47OverDay; private Integer v47OverDay;
@ApiModelProperty(value = "48次谐波电压含有率超标天数") /**
* 48次谐波电压含有率超标天数
*/
@TableField(value = "v_48_over_day")
private Integer v48OverDay; private Integer v48OverDay;
@ApiModelProperty(value = "49次谐波电压含有率超标天数") /**
* 49次谐波电压含有率超标天数
*/
@TableField(value = "v_49_over_day")
private Integer v49OverDay; private Integer v49OverDay;
@ApiModelProperty(value = "50次谐波电压含有率超标天数") /**
* 50次谐波电压含有率超标天数
*/
@TableField(value = "v_50_over_day")
private Integer v50OverDay; private Integer v50OverDay;
@ApiModelProperty(value = "2次谐波电流含有率超标天数") /**
* 2次谐波电流含有率超标天数
*/
@TableField(value = "i_2_over_day")
private Integer i2OverDay; private Integer i2OverDay;
@ApiModelProperty(value = "3次谐波电流含有率超标天数") /**
* 3次谐波电流含有率超标天数
*/
@TableField(value = "i_3_over_day")
private Integer i3OverDay; private Integer i3OverDay;
@ApiModelProperty(value = "4次谐波电流含有率超标天数") /**
* 4次谐波电流含有率超标天数
*/
@TableField(value = "i_4_over_day")
private Integer i4OverDay; private Integer i4OverDay;
@ApiModelProperty(value = "5次谐波电流含有率超标天数") /**
* 5次谐波电流含有率超标天数
*/
@TableField(value = "i_5_over_day")
private Integer i5OverDay; private Integer i5OverDay;
@ApiModelProperty(value = "6次谐波电流含有率超标天数") /**
* 6次谐波电流含有率超标天数
*/
@TableField(value = "i_6_over_day")
private Integer i6OverDay; private Integer i6OverDay;
@ApiModelProperty(value = "7次谐波电流含有率超标天数") /**
* 7次谐波电流含有率超标天数
*/
@TableField(value = "i_7_over_day")
private Integer i7OverDay; private Integer i7OverDay;
@ApiModelProperty(value = "8次谐波电流含有率超标天数") /**
* 8次谐波电流含有率超标天数
*/
@TableField(value = "i_8_over_day")
private Integer i8OverDay; private Integer i8OverDay;
@ApiModelProperty(value = "9次谐波电流含有率超标天数") /**
* 9次谐波电流含有率超标天数
*/
@TableField(value = "i_9_over_day")
private Integer i9OverDay; private Integer i9OverDay;
@ApiModelProperty(value = "10次谐波电流含有率超标天数") /**
* 10次谐波电流含有率超标天数
*/
@TableField(value = "i_10_over_day")
private Integer i10OverDay; private Integer i10OverDay;
@ApiModelProperty(value = "11次谐波电流含有率超标天数") /**
* 11次谐波电流含有率超标天数
*/
@TableField(value = "i_11_over_day")
private Integer i11OverDay; private Integer i11OverDay;
@ApiModelProperty(value = "12次谐波电流含有率超标天数") /**
* 12次谐波电流含有率超标天数
*/
@TableField(value = "i_12_over_day")
private Integer i12OverDay; private Integer i12OverDay;
@ApiModelProperty(value = "13次谐波电流含有率超标天数") /**
* 13次谐波电流含有率超标天数
*/
@TableField(value = "i_13_over_day")
private Integer i13OverDay; private Integer i13OverDay;
@ApiModelProperty(value = "14次谐波电流含有率超标天数") /**
* 14次谐波电流含有率超标天数
*/
@TableField(value = "i_14_over_day")
private Integer i14OverDay; private Integer i14OverDay;
@ApiModelProperty(value = "15次谐波电流含有率超标天数") /**
* 15次谐波电流含有率超标天数
*/
@TableField(value = "i_15_over_day")
private Integer i15OverDay; private Integer i15OverDay;
@ApiModelProperty(value = "16次谐波电流含有率超标天数") /**
* 16次谐波电流含有率超标天数
*/
@TableField(value = "i_16_over_day")
private Integer i16OverDay; private Integer i16OverDay;
@ApiModelProperty(value = "17次谐波电流含有率超标天数") /**
* 17次谐波电流含有率超标天数
*/
@TableField(value = "i_17_over_day")
private Integer i17OverDay; private Integer i17OverDay;
@ApiModelProperty(value = "18次谐波电流含有率超标天数") /**
* 18次谐波电流含有率超标天数
*/
@TableField(value = "i_18_over_day")
private Integer i18OverDay; private Integer i18OverDay;
@ApiModelProperty(value = "19次谐波电流含有率超标天数") /**
* 19次谐波电流含有率超标天数
*/
@TableField(value = "i_19_over_day")
private Integer i19OverDay; private Integer i19OverDay;
@ApiModelProperty(value = "20次谐波电流含有率超标天数") /**
* 20次谐波电流含有率超标天数
*/
@TableField(value = "i_20_over_day")
private Integer i20OverDay; private Integer i20OverDay;
@ApiModelProperty(value = "21次谐波电流含有率超标天数") /**
* 21次谐波电流含有率超标天数
*/
@TableField(value = "i_21_over_day")
private Integer i21OverDay; private Integer i21OverDay;
@ApiModelProperty(value = "22次谐波电流含有率超标天数") /**
* 22次谐波电流含有率超标天数
*/
@TableField(value = "i_22_over_day")
private Integer i22OverDay; private Integer i22OverDay;
@ApiModelProperty(value = "23次谐波电流含有率超标天数") /**
* 23次谐波电流含有率超标天数
*/
@TableField(value = "i_23_over_day")
private Integer i23OverDay; private Integer i23OverDay;
@ApiModelProperty(value = "24次谐波电流含有率超标天数") /**
* 24次谐波电流含有率超标天数
*/
@TableField(value = "i_24_over_day")
private Integer i24OverDay; private Integer i24OverDay;
@ApiModelProperty(value = "25次谐波电流含有率超标天数") /**
* 25次谐波电流含有率超标天数
*/
@TableField(value = "i_25_over_day")
private Integer i25OverDay; private Integer i25OverDay;
@ApiModelProperty(value = "26次谐波电流含有率超标天数") /**
* 26次谐波电流含有率超标天数
*/
@TableField(value = "i_26_over_day")
private Integer i26OverDay; private Integer i26OverDay;
@ApiModelProperty(value = "27次谐波电流含有率超标天数") /**
* 27次谐波电流含有率超标天数
*/
@TableField(value = "i_27_over_day")
private Integer i27OverDay; private Integer i27OverDay;
@ApiModelProperty(value = "28次谐波电流含有率超标天数") /**
* 28次谐波电流含有率超标天数
*/
@TableField(value = "i_28_over_day")
private Integer i28OverDay; private Integer i28OverDay;
@ApiModelProperty(value = "29次谐波电流含有率超标天数") /**
* 29次谐波电流含有率超标天数
*/
@TableField(value = "i_29_over_day")
private Integer i29OverDay; private Integer i29OverDay;
@ApiModelProperty(value = "30次谐波电流含有率超标天数") /**
* 30次谐波电流含有率超标天数
*/
@TableField(value = "i_30_over_day")
private Integer i30OverDay; private Integer i30OverDay;
@ApiModelProperty(value = "31次谐波电流含有率超标天数") /**
* 31次谐波电流含有率超标天数
*/
@TableField(value = "i_31_over_day")
private Integer i31OverDay; private Integer i31OverDay;
@ApiModelProperty(value = "32次谐波电流含有率超标天数") /**
* 32次谐波电流含有率超标天数
*/
@TableField(value = "i_32_over_day")
private Integer i32OverDay; private Integer i32OverDay;
@ApiModelProperty(value = "33次谐波电流含有率超标天数") /**
* 33次谐波电流含有率超标天数
*/
@TableField(value = "i_33_over_day")
private Integer i33OverDay; private Integer i33OverDay;
@ApiModelProperty(value = "34次谐波电流含有率超标天数") /**
* 34次谐波电流含有率超标天数
*/
@TableField(value = "i_34_over_day")
private Integer i34OverDay; private Integer i34OverDay;
@ApiModelProperty(value = "35次谐波电流含有率超标天数") /**
* 35次谐波电流含有率超标天数
*/
@TableField(value = "i_35_over_day")
private Integer i35OverDay; private Integer i35OverDay;
@ApiModelProperty(value = "36次谐波电流含有率超标天数") /**
* 36次谐波电流含有率超标天数
*/
@TableField(value = "i_36_over_day")
private Integer i36OverDay; private Integer i36OverDay;
@ApiModelProperty(value = "37次谐波电流含有率超标天数") /**
* 37次谐波电流含有率超标天数
*/
@TableField(value = "i_37_over_day")
private Integer i37OverDay; private Integer i37OverDay;
@ApiModelProperty(value = "38次谐波电流含有率超标天数") /**
* 38次谐波电流含有率超标天数
*/
@TableField(value = "i_38_over_day")
private Integer i38OverDay; private Integer i38OverDay;
@ApiModelProperty(value = "39次谐波电流含有率超标天数") /**
* 39次谐波电流含有率超标天数
*/
@TableField(value = "i_39_over_day")
private Integer i39OverDay; private Integer i39OverDay;
@ApiModelProperty(value = "40次谐波电流含有率超标天数") /**
* 40次谐波电流含有率超标天数
*/
@TableField(value = "i_40_over_day")
private Integer i40OverDay; private Integer i40OverDay;
@ApiModelProperty(value = "41次谐波电流含有率超标天数") /**
* 41次谐波电流含有率超标天数
*/
@TableField(value = "i_41_over_day")
private Integer i41OverDay; private Integer i41OverDay;
@ApiModelProperty(value = "42次谐波电流含有率超标天数") /**
* 42次谐波电流含有率超标天数
*/
@TableField(value = "i_42_over_day")
private Integer i42OverDay; private Integer i42OverDay;
@ApiModelProperty(value = "43次谐波电流含有率超标天数") /**
* 43次谐波电流含有率超标天数
*/
@TableField(value = "i_43_over_day")
private Integer i43OverDay; private Integer i43OverDay;
@ApiModelProperty(value = "44次谐波电流含有率超标天数") /**
* 44次谐波电流含有率超标天数
*/
@TableField(value = "i_44_over_day")
private Integer i44OverDay; private Integer i44OverDay;
@ApiModelProperty(value = "45次谐波电流含有率超标天数") /**
* 45次谐波电流含有率超标天数
*/
@TableField(value = "i_45_over_day")
private Integer i45OverDay; private Integer i45OverDay;
@ApiModelProperty(value = "46次谐波电流含有率超标天数") /**
* 46次谐波电流含有率超标天数
*/
@TableField(value = "i_46_over_day")
private Integer i46OverDay; private Integer i46OverDay;
@ApiModelProperty(value = "47次谐波电流含有率超标天数") /**
* 47次谐波电流含有率超标天数
*/
@TableField(value = "i_47_over_day")
private Integer i47OverDay; private Integer i47OverDay;
@ApiModelProperty(value = "48次谐波电流含有率超标天数") /**
* 48次谐波电流含有率超标天数
*/
@TableField(value = "i_48_over_day")
private Integer i48OverDay; private Integer i48OverDay;
@ApiModelProperty(value = "49次谐波电流含有率超标天数") /**
* 49次谐波电流含有率超标天数
*/
@TableField(value = "i_49_over_day")
private Integer i49OverDay; private Integer i49OverDay;
@ApiModelProperty(value = "50次谐波电流含有率超标天数") /**
* 50次谐波电流含有率超标天数
*/
@TableField(value = "i_50_over_day")
private Integer i50OverDay; private Integer i50OverDay;
@ApiModelProperty(value = "三相电压不平衡度超标天数") /**
* 三相电压不平衡度超标天数
*/
@TableField(value = "unbalance_over_day")
private Integer unbalanceOverDay; private Integer unbalanceOverDay;
@ApiModelProperty(value = "负序电流超标天数") /**
* 负序电流超标天数
*/
@TableField(value = "i_neg_over_day")
private Integer iNegOverDay; private Integer iNegOverDay;
} }

View File

@@ -1,15 +1,15 @@
package com.njcn.harmonic.pojo.po; package com.njcn.harmonic.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType; import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDate;
/** /**
* <p> * <p>
* *
@@ -26,168 +26,328 @@ public class RMpSurplusHarmonicDetailM implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "监测点ID") /**
@TableId(value = "measurement_point_id", type = IdType.ASSIGN_ID) * 监测点ID
*/
@MppMultiId(value = "measurement_point_id")
private String measurementPointId; private String measurementPointId;
@ApiModelProperty(value = "生成数据的时间,每月统计一次") /**
* 生成数据的时间,每月统计一次
*/
@MppMultiId(value = "data_date")
private LocalDate dataDate; private LocalDate dataDate;
@ApiModelProperty(value = "间谐波电压超标天数") /**
* 间谐波电压超标天数
*/
@TableField(value = "inuharm_over_day")
private Integer inuharmOverDay; private Integer inuharmOverDay;
@ApiModelProperty(value = "0.5次间谐波电压含有率超标天数") /**
* 0.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_1_over_day")
private Integer inuharm1OverDay; private Integer inuharm1OverDay;
@ApiModelProperty(value = "1.5次间谐波电压含有率超标天数") /**
* 1.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_2_over_day")
private Integer inuharm2OverDay; private Integer inuharm2OverDay;
@ApiModelProperty(value = "2.5次间谐波电压含有率超标天数") /**
* 2.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_3_over_day")
private Integer inuharm3OverDay; private Integer inuharm3OverDay;
@ApiModelProperty(value = "3.5次间谐波电压含有率超标天数") /**
* 3.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_4_over_day")
private Integer inuharm4OverDay; private Integer inuharm4OverDay;
@ApiModelProperty(value = "4.5次间谐波电压含有率超标天数") /**
* 4.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_5_over_day")
private Integer inuharm5OverDay; private Integer inuharm5OverDay;
@ApiModelProperty(value = "5.5次间谐波电压含有率超标天数") /**
* 5.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_6_over_day")
private Integer inuharm6OverDay; private Integer inuharm6OverDay;
@ApiModelProperty(value = "6.5次间谐波电压含有率超标天数") /**
* 6.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_7_over_day")
private Integer inuharm7OverDay; private Integer inuharm7OverDay;
@ApiModelProperty(value = "7.5次间谐波电压含有率超标天数") /**
* 7.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_8_over_day")
private Integer inuharm8OverDay; private Integer inuharm8OverDay;
@ApiModelProperty(value = "8.5次间谐波电压含有率超标天数") /**
* 8.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_9_over_day")
private Integer inuharm9OverDay; private Integer inuharm9OverDay;
@ApiModelProperty(value = "9.5次间谐波电压含有率超标天数") /**
* 9.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_10_over_day")
private Integer inuharm10OverDay; private Integer inuharm10OverDay;
@ApiModelProperty(value = "10.5次间谐波电压含有率超标天数") /**
* 10.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_11_over_day")
private Integer inuharm11OverDay; private Integer inuharm11OverDay;
@ApiModelProperty(value = "11.5次间谐波电压含有率超标天数") /**
* 11.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_12_over_day")
private Integer inuharm12OverDay; private Integer inuharm12OverDay;
@ApiModelProperty(value = "12.5次间谐波电压含有率超标天数") /**
* 12.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_13_over_day")
private Integer inuharm13OverDay; private Integer inuharm13OverDay;
@ApiModelProperty(value = "13.5次间谐波电压含有率超标天数") /**
* 13.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_14_over_day")
private Integer inuharm14OverDay; private Integer inuharm14OverDay;
@ApiModelProperty(value = "14.5次间谐波电压含有率超标天数") /**
* 14.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_15_over_day")
private Integer inuharm15OverDay; private Integer inuharm15OverDay;
@ApiModelProperty(value = "15.5次间谐波电压含有率超标天数") /**
* 15.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_16_over_day")
private Integer inuharm16OverDay; private Integer inuharm16OverDay;
@ApiModelProperty(value = "16.5次间谐波电压含有率超标天数") /**
* 16.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_17_over_day")
private Integer inuharm17OverDay; private Integer inuharm17OverDay;
@ApiModelProperty(value = "17.5次间谐波电压含有率超标天数") /**
* 17.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_18_over_day")
private Integer inuharm18OverDay; private Integer inuharm18OverDay;
@ApiModelProperty(value = "18.5次间谐波电压含有率超标天数") /**
* 18.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_19_over_day")
private Integer inuharm19OverDay; private Integer inuharm19OverDay;
@ApiModelProperty(value = "19.5次间谐波电压含有率超标天数") /**
* 19.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_20_over_day")
private Integer inuharm20OverDay; private Integer inuharm20OverDay;
@ApiModelProperty(value = "20.5次间谐波电压含有率超标天数") /**
* 20.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_21_over_day")
private Integer inuharm21OverDay; private Integer inuharm21OverDay;
@ApiModelProperty(value = "21.5次间谐波电压含有率超标天数") /**
* 21.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_22_over_day")
private Integer inuharm22OverDay; private Integer inuharm22OverDay;
@ApiModelProperty(value = "22.5次间谐波电压含有率超标天数") /**
* 22.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_23_over_day")
private Integer inuharm23OverDay; private Integer inuharm23OverDay;
@ApiModelProperty(value = "23.5次间谐波电压含有率超标天数") /**
* 23.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_24_over_day")
private Integer inuharm24OverDay; private Integer inuharm24OverDay;
@ApiModelProperty(value = "24.5次间谐波电压含有率超标天数") /**
* 24.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_25_over_day")
private Integer inuharm25OverDay; private Integer inuharm25OverDay;
@ApiModelProperty(value = "25.5次间谐波电压含有率超标天数") /**
* 25.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_26_over_day")
private Integer inuharm26OverDay; private Integer inuharm26OverDay;
@ApiModelProperty(value = "26.5次间谐波电压含有率超标天数") /**
* 26.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_27_over_day")
private Integer inuharm27OverDay; private Integer inuharm27OverDay;
@ApiModelProperty(value = "27.5次间谐波电压含有率超标天数") /**
* 27.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_28_over_day")
private Integer inuharm28OverDay; private Integer inuharm28OverDay;
@ApiModelProperty(value = "28.5次间谐波电压含有率超标天数") /**
* 28.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_29_over_day")
private Integer inuharm29OverDay; private Integer inuharm29OverDay;
@ApiModelProperty(value = "29.5次间谐波电压含有率超标天数") /**
* 29.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_30_over_day")
private Integer inuharm30OverDay; private Integer inuharm30OverDay;
@ApiModelProperty(value = "30.5次间谐波电压含有率超标天数") /**
* 30.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_31_over_day")
private Integer inuharm31OverDay; private Integer inuharm31OverDay;
@ApiModelProperty(value = "31.5次间谐波电压含有率超标天数") /**
* 31.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_32_over_day")
private Integer inuharm32OverDay; private Integer inuharm32OverDay;
@ApiModelProperty(value = "32.5次间谐波电压含有率超标天数") /**
* 32.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_33_over_day")
private Integer inuharm33OverDay; private Integer inuharm33OverDay;
@ApiModelProperty(value = "33.5次间谐波电压含有率超标天数") /**
* 33.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_34_over_day")
private Integer inuharm34OverDay; private Integer inuharm34OverDay;
@ApiModelProperty(value = "34.5次间谐波电压含有率超标天数") /**
* 34.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_35_over_day")
private Integer inuharm35OverDay; private Integer inuharm35OverDay;
@ApiModelProperty(value = "35.5次间谐波电压含有率超标天数") /**
* 35.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_36_over_day")
private Integer inuharm36OverDay; private Integer inuharm36OverDay;
@ApiModelProperty(value = "36.5次间谐波电压含有率超标天数") /**
* 36.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_37_over_day")
private Integer inuharm37OverDay; private Integer inuharm37OverDay;
@ApiModelProperty(value = "37.5次间谐波电压含有率超标天数") /**
* 37.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_38_over_day")
private Integer inuharm38OverDay; private Integer inuharm38OverDay;
@ApiModelProperty(value = "38.5次间谐波电压含有率超标天数") /**
* 38.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_39_over_day")
private Integer inuharm39OverDay; private Integer inuharm39OverDay;
@ApiModelProperty(value = "39.5次间谐波电压含有率超标天数") /**
* 39.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_40_over_day")
private Integer inuharm40OverDay; private Integer inuharm40OverDay;
@ApiModelProperty(value = "40.5次间谐波电压含有率超标天数") /**
* 40.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_41_over_day")
private Integer inuharm41OverDay; private Integer inuharm41OverDay;
@ApiModelProperty(value = "41.5次间谐波电压含有率超标天数") /**
* 41.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_42_over_day")
private Integer inuharm42OverDay; private Integer inuharm42OverDay;
@ApiModelProperty(value = "42.5次间谐波电压含有率超标天数") /**
* 42.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_43_over_day")
private Integer inuharm43OverDay; private Integer inuharm43OverDay;
@ApiModelProperty(value = "43.5次间谐波电压含有率超标天数") /**
* 43.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_44_over_day")
private Integer inuharm44OverDay; private Integer inuharm44OverDay;
@ApiModelProperty(value = "44.5次间谐波电压含有率超标天数") /**
* 44.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_45_over_day")
private Integer inuharm45OverDay; private Integer inuharm45OverDay;
@ApiModelProperty(value = "45.5次间谐波电压含有率超标天数") /**
* 45.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_46_over_day")
private Integer inuharm46OverDay; private Integer inuharm46OverDay;
@ApiModelProperty(value = "46.5次间谐波电压含有率超标天数") /**
* 46.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_47_over_day")
private Integer inuharm47OverDay; private Integer inuharm47OverDay;
@ApiModelProperty(value = "47.5次间谐波电压含有率超标天数") /**
* 47.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_48_over_day")
private Integer inuharm48OverDay; private Integer inuharm48OverDay;
@ApiModelProperty(value = "48.5次间谐波电压含有率超标天数") /**
* 48.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_49_over_day")
private Integer inuharm49OverDay; private Integer inuharm49OverDay;
@ApiModelProperty(value = "49.5次间谐波电压含有率超标天数") /**
* 49.5次间谐波电压含有率超标天数
*/
@TableField(value = "inuharm_50_over_day")
private Integer inuharm50OverDay; private Integer inuharm50OverDay;
@ApiModelProperty(value = "闪变超标天数") /**
* 闪变超标天数
*/
@TableField(value = "flicker_over_day")
private Integer flickerOverDay; private Integer flickerOverDay;
} }

View File

@@ -1,11 +1,12 @@
package com.njcn.harmonic.controller.specialanalysis; package com.njcn.harmonic.controller.specialanalysis;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.pojo.param.PowerQualityParam;
import com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO; import com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO;
import com.njcn.harmonic.service.specialanalysis.DistributedPvVolOverService; import com.njcn.harmonic.service.specialanalysis.DistributedPvVolOverService;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
@@ -19,7 +20,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** /**
* 专项分析-分布式光伏-电压越限分析 * 专项分析-分布式光伏-电压越限分析
@@ -48,9 +48,9 @@ public class DistributedPvVolOverController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("获取分布式光伏电压越限分析") @ApiOperation("获取分布式光伏电压越限分析")
@ApiImplicitParam(name = "param", value = "条件参数", required = true) @ApiImplicitParam(name = "param", value = "条件参数", required = true)
public HttpResult<List<RMpPvPowerDetailVO>> getVoltageOutOfLimitAnalysis(@RequestBody StatisticsBizBaseParam param) { public HttpResult<Page<RMpPvPowerDetailVO>> getVoltageOutOfLimitAnalysis(@RequestBody PowerQualityParam param) {
String methodDescribe = getMethodDescribe("getVoltageOutOfLimitAnalysis"); String methodDescribe = getMethodDescribe("getVoltageOutOfLimitAnalysis");
List<RMpPvPowerDetailVO> list = distributedPvVolOverService.getVoltageOutOfLimitAnalysis(param); Page<RMpPvPowerDetailVO> list = distributedPvVolOverService.getVoltageOutOfLimitAnalysis(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
} }
} }

View File

@@ -243,7 +243,7 @@ public class CustomReportServiceImpl implements CustomReportService {
if (excelRpts.size() > 0){ if (excelRpts.size() > 0){
content = minIoUtils.getObjectUrl(minIoProperties.getBucket(), excelRpts.get(0).getContent(), 7 * 24 * 60 * 60); content = minIoUtils.getObjectUrl(minIoProperties.getBucket(), excelRpts.get(0).getContent(), 7 * 24 * 60 * 60);
}else{ }else{
content = analyzeReport(reportSearchParam,excelRptTemp); content = minIoUtils.getObjectUrl(minIoProperties.getBucket(), analyzeReport(reportSearchParam,excelRptTemp), 7 * 24 * 60 * 60);
} }
//拼接数据 //拼接数据

View File

@@ -10,7 +10,6 @@ import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.pojo.param.RStatHarmonicMParam; import com.njcn.harmonic.pojo.param.RStatHarmonicMParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgM; import com.njcn.harmonic.pojo.po.RStatHarmonicOrgM;
import com.njcn.harmonic.mapper.StatHarmonicOrgMMapper; import com.njcn.harmonic.mapper.StatHarmonicOrgMMapper;
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgQ;
import com.njcn.harmonic.pojo.vo.RArrayVO; import com.njcn.harmonic.pojo.vo.RArrayVO;
import com.njcn.harmonic.pojo.vo.RIconVO; import com.njcn.harmonic.pojo.vo.RIconVO;
import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO; import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO;

View File

@@ -7,14 +7,9 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.event.pojo.po.RStatEventOrgY;
import com.njcn.harmonic.pojo.param.RStatHarmonicMParam; import com.njcn.harmonic.pojo.param.RStatHarmonicMParam;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgM;
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgQ; import com.njcn.harmonic.pojo.po.RStatHarmonicOrgQ;
import com.njcn.harmonic.mapper.StatHarmonicOrgQMapper; import com.njcn.harmonic.mapper.StatHarmonicOrgQMapper;
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgY;
import com.njcn.harmonic.pojo.vo.DeptLevelVO;
import com.njcn.harmonic.pojo.vo.RArrayVO; import com.njcn.harmonic.pojo.vo.RArrayVO;
import com.njcn.harmonic.pojo.vo.RIconVO; import com.njcn.harmonic.pojo.vo.RIconVO;
import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO; import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO;

View File

@@ -1,22 +1,17 @@
package com.njcn.harmonic.service.majornetwork.impl; package com.njcn.harmonic.service.majornetwork.impl;
import java.util.Date;
import com.google.common.collect.Lists;
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.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.constant.BizParamConstant;
import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.event.pojo.po.RStatEventOrgY;
import com.njcn.harmonic.mapper.StatHarmonicOrgMMapper; import com.njcn.harmonic.mapper.StatHarmonicOrgMMapper;
import com.njcn.harmonic.mapper.StatHarmonicOrgQMapper; import com.njcn.harmonic.mapper.StatHarmonicOrgQMapper;
import com.njcn.harmonic.pojo.param.RStatHarmonicMParam; import com.njcn.harmonic.pojo.param.RStatHarmonicMParam;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgQ;
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgY; import com.njcn.harmonic.pojo.po.RStatHarmonicOrgY;
import com.njcn.harmonic.mapper.StatHarmonicOrgYMapper; import com.njcn.harmonic.mapper.StatHarmonicOrgYMapper;
import com.njcn.harmonic.pojo.vo.*; import com.njcn.harmonic.pojo.vo.*;

View File

@@ -1,6 +1,8 @@
package com.njcn.harmonic.service.specialanalysis; package com.njcn.harmonic.service.specialanalysis;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.pojo.param.PowerQualityParam;
import com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO; import com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO;
import java.util.List; import java.util.List;
@@ -20,5 +22,5 @@ public interface DistributedPvVolOverService {
* @author yzh * @author yzh
* @date 2022/11/22 * @date 2022/11/22
*/ */
List<RMpPvPowerDetailVO> getVoltageOutOfLimitAnalysis(StatisticsBizBaseParam param); Page<RMpPvPowerDetailVO> getVoltageOutOfLimitAnalysis(PowerQualityParam param);
} }

View File

@@ -1,6 +1,7 @@
package com.njcn.harmonic.service.specialanalysis.impl; package com.njcn.harmonic.service.specialanalysis.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.device.pms.api.PwMonitorClient; import com.njcn.device.pms.api.PwMonitorClient;
@@ -25,6 +26,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -63,11 +65,15 @@ public class DistributedPvOverviewServiceImpl implements DistributedPvOverviewSe
} }
// 取出单位 // 取出单位
List<String> deptIds = monitorDtoList.stream().map(PwPmsMonitorDTO::getOrgId).collect(Collectors.toList()); List<String> deptIds = monitorDtoList.stream().map(PwPmsMonitorDTO::getOrgId).collect(Collectors.toList());
Map<String, String> deptMap =
monitorDtoList.stream()
.collect(Collectors.toMap(PwPmsMonitorDTO::getOrgId, PwPmsMonitorDTO::getOrgName,(key1,key2)->key2));
// 按电压等级获取分布式光伏总览 // 按电压等级获取分布式光伏总览
LambdaQueryWrapper<RStatOrgPvAreaPO> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<RStatOrgPvAreaPO> lqw = new LambdaQueryWrapper<>();
lqw.in(RStatOrgPvAreaPO::getOrgNo, deptIds); lqw.in(RStatOrgPvAreaPO::getOrgNo, deptIds);
lqw.ge(param.getStartTime() != null, RStatOrgPvAreaPO::getDataDate, param.getStartTime()); lqw.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgPvAreaPO::getDataDate, param.getStartTime());
lqw.le(param.getEndTime() != null, RStatOrgPvAreaPO::getDataDate, param.getEndTime()); lqw.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgPvAreaPO::getDataDate, param.getEndTime());
List<RStatOrgPvAreaPO> poList = rStatOrgPvAreaService.list(lqw); List<RStatOrgPvAreaPO> poList = rStatOrgPvAreaService.list(lqw);
if (CollUtil.isEmpty(poList)) { if (CollUtil.isEmpty(poList)) {
new RStatOrgPvVO(); new RStatOrgPvVO();
@@ -86,38 +92,41 @@ public class DistributedPvOverviewServiceImpl implements DistributedPvOverviewSe
List<RStatOrgPvVO.PvPermeability> pvPermeabilityList = new ArrayList<>(); List<RStatOrgPvVO.PvPermeability> pvPermeabilityList = new ArrayList<>();
List<RStatOrgPvVO.LowPowerFactor> lowPowerFactorList = new ArrayList<>(); List<RStatOrgPvVO.LowPowerFactor> lowPowerFactorList = new ArrayList<>();
poMap.forEach((key, value) -> { poMap.forEach((key, value) -> {
for (RStatOrgPvAreaPO po : value) { if(deptMap.containsKey(key)){
// 潮流倒送 key=deptMap.get(key);
if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_U.getCode())){ for (RStatOrgPvAreaPO po : value) {
RStatOrgPvVO.FlowReversal flowReversal = new RStatOrgPvVO.FlowReversal(); // 潮流倒送
Integer monitorPointNum = po.getMonitorPointNum(); if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_U.getCode())){
flowReversal.setMonitor(monitorPointNum.toString()); RStatOrgPvVO.FlowReversal flowReversal = new RStatOrgPvVO.FlowReversal();
flowReversal.setType(key); Integer monitorPointNum = po.getMonitorPointNum();
flowReversalList.add(flowReversal); flowReversal.setMonitor(monitorPointNum.toString());
} flowReversal.setType(key);
// 电压越限 flowReversalList.add(flowReversal);
if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_W.getCode())){ }
RStatOrgPvVO.VoltageOutOfLimit voltageOutOfLimit = new RStatOrgPvVO.VoltageOutOfLimit(); // 电压越限
Integer monitorPointNum = po.getMonitorPointNum(); if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_W.getCode())){
voltageOutOfLimit.setMonitor(monitorPointNum.toString()); RStatOrgPvVO.VoltageOutOfLimit voltageOutOfLimit = new RStatOrgPvVO.VoltageOutOfLimit();
voltageOutOfLimit.setType(key); Integer monitorPointNum = po.getMonitorPointNum();
voltageOutOfLimitList.add(voltageOutOfLimit); voltageOutOfLimit.setMonitor(monitorPointNum.toString());
} voltageOutOfLimit.setType(key);
// 渗透率超上限 voltageOutOfLimitList.add(voltageOutOfLimit);
if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.PENET_LIMIT.getCode())){ }
RStatOrgPvVO.PvPermeability pvPermeability = new RStatOrgPvVO.PvPermeability(); // 渗透率超上限
Integer monitorPointNum = po.getMonitorPointNum(); if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.PENET_LIMIT.getCode())){
pvPermeability.setMonitor(monitorPointNum.toString()); RStatOrgPvVO.PvPermeability pvPermeability = new RStatOrgPvVO.PvPermeability();
pvPermeability.setType(key); Integer monitorPointNum = po.getMonitorPointNum();
pvPermeabilityList.add(pvPermeability); pvPermeability.setMonitor(monitorPointNum.toString());
} pvPermeability.setType(key);
// 低功率因数 pvPermeabilityList.add(pvPermeability);
if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_I.getCode())){ }
RStatOrgPvVO.LowPowerFactor lowPowerFactor = new RStatOrgPvVO.LowPowerFactor(); // 低功率因数
Integer monitorPointNum = po.getMonitorPointNum(); if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_I.getCode())){
lowPowerFactor.setMonitor(monitorPointNum.toString()); RStatOrgPvVO.LowPowerFactor lowPowerFactor = new RStatOrgPvVO.LowPowerFactor();
lowPowerFactor.setType(key); Integer monitorPointNum = po.getMonitorPointNum();
lowPowerFactorList.add(lowPowerFactor); lowPowerFactor.setMonitor(monitorPointNum.toString());
lowPowerFactor.setType(key);
lowPowerFactorList.add(lowPowerFactor);
}
} }
} }
}); });
@@ -149,8 +158,8 @@ public class DistributedPvOverviewServiceImpl implements DistributedPvOverviewSe
// 按电压等级获取分布式光伏总览 // 按电压等级获取分布式光伏总览
LambdaQueryWrapper<RStatOrgPvVoltagePO> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<RStatOrgPvVoltagePO> lqw = new LambdaQueryWrapper<>();
lqw.in(RStatOrgPvVoltagePO::getOrgNo, deptIds); lqw.in(RStatOrgPvVoltagePO::getOrgNo, deptIds);
lqw.ge(param.getStartTime() != null, RStatOrgPvVoltagePO::getDataDate, param.getStartTime()); lqw.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgPvVoltagePO::getDataDate, param.getStartTime());
lqw.le(param.getEndTime() != null, RStatOrgPvVoltagePO::getDataDate, param.getEndTime()); lqw.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgPvVoltagePO::getDataDate, param.getEndTime());
List<RStatOrgPvVoltagePO> poList = rStatOrgPvVoltageService.list(lqw); List<RStatOrgPvVoltagePO> poList = rStatOrgPvVoltageService.list(lqw);
if (CollUtil.isEmpty(poList)) { if (CollUtil.isEmpty(poList)) {
new RStatOrgPvVO(); new RStatOrgPvVO();

View File

@@ -1,13 +1,17 @@
package com.njcn.harmonic.service.specialanalysis.impl; package com.njcn.harmonic.service.specialanalysis.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.device.pms.api.PwMonitorClient; import com.njcn.device.pms.api.PwMonitorClient;
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
import com.njcn.harmonic.pojo.param.PowerQualityParam;
import com.njcn.harmonic.pojo.po.RMpPvPowerDetailMPO; import com.njcn.harmonic.pojo.po.RMpPvPowerDetailMPO;
import com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO; import com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO;
import com.njcn.harmonic.pojo.vo.RMpWpPowerDetailVO;
import com.njcn.harmonic.service.specialanalysis.DistributedPvVolOverService; import com.njcn.harmonic.service.specialanalysis.DistributedPvVolOverService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -42,37 +46,40 @@ public class DistributedPvVolOverServiceImpl implements DistributedPvVolOverServ
* @date 2022/11/22 * @date 2022/11/22
*/ */
@Override @Override
public List<RMpPvPowerDetailVO> getVoltageOutOfLimitAnalysis(StatisticsBizBaseParam param) { public Page<RMpPvPowerDetailVO> getVoltageOutOfLimitAnalysis(PowerQualityParam param) {
// 获取当前单位下的监测点信息 // 获取当前单位下的监测点信息
PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
pwPmsMonitorParam.setOrgId(param.getId()); pwPmsMonitorParam.setOrgId(param.getId());
List<PwPmsMonitorDTO> pwMonitorList = monitorClient.getPwMonitorList(pwPmsMonitorParam).getData(); List<PwPmsMonitorDTO> pwMonitorList = monitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
if (CollUtil.isEmpty(pwMonitorList)) { if (CollUtil.isEmpty(pwMonitorList)) {
return Collections.emptyList(); return new Page<>();
} }
// 取出监测点id // 取出监测点id
List<String> monitorIds = pwMonitorList List<String> monitorIds = pwMonitorList
.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); .stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList());
if (CollUtil.isEmpty(monitorIds)) { if (CollUtil.isEmpty(monitorIds)) {
return Collections.emptyList(); return new Page<>();
} }
// 获取电压越限分析 // 获取电压越限分析
LambdaQueryWrapper<RMpPvPowerDetailMPO> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<RMpPvPowerDetailMPO> lqw = new LambdaQueryWrapper<>();
lqw.in(RMpPvPowerDetailMPO::getMeasurementPointId, monitorIds); lqw.in(RMpPvPowerDetailMPO::getMeasurementPointId, monitorIds);
lqw.ge(param.getStartTime() != null, RMpPvPowerDetailMPO::getDataDate, param.getStartTime()); lqw.ge(param.getStartTime() != null, RMpPvPowerDetailMPO::getDataDate, param.getStartTime());
lqw.le(param.getEndTime() != null, RMpPvPowerDetailMPO::getDataDate, param.getEndTime()); lqw.le(param.getEndTime() != null, RMpPvPowerDetailMPO::getDataDate, param.getEndTime());
List<RMpPvPowerDetailMPO> pos = rMpPvPowerDetailMService.list(lqw); Page<RMpPvPowerDetailMPO> pos = rMpPvPowerDetailMService.page(new Page<>(param.getPageNum(), param.getPageSize()),lqw);
// 将监测点信息转换成map集合 // 将监测点信息转换成map集合
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream() Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream()
.collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, PwPmsMonitorDTO -> PwPmsMonitorDTO)); .collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, PwPmsMonitorDTO -> PwPmsMonitorDTO));
// 数据赋值 // 数据赋值
return pos.stream().map(po -> { List<RMpPvPowerDetailVO> infoList = pos.getRecords().stream().map(po -> {
RMpPvPowerDetailVO vo = new RMpPvPowerDetailVO(); RMpPvPowerDetailVO vo = new RMpPvPowerDetailVO();
BeanUtils.copyProperties(po,vo); BeanUtils.copyProperties(po, vo);
vo.setMonitorSort(monitorMap.get(po.getMeasurementPointId()).getMonitorSort()); vo.setMonitorSort(monitorMap.get(po.getMeasurementPointId()).getMonitorSort());
vo.setOrgName(monitorMap.get(po.getMeasurementPointId()).getOrgName()); vo.setOrgName(monitorMap.get(po.getMeasurementPointId()).getOrgName());
return vo; return vo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
Page<RMpPvPowerDetailVO> page=BeanUtil.copyProperties(pos,Page.class);
page.setRecords(infoList);
return page;
} }
} }