1.冀北分布式光伏代码提交
2.审计日志管理代码提交修改 3.暂降推送日志,筛选添加
This commit is contained in:
@@ -3,6 +3,7 @@ package com.njcn.harmonic.controller.distribution;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
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.utils.HttpResultUtil;
|
||||
import com.njcn.harmonic.pojo.param.OverviewParam;
|
||||
@@ -91,4 +92,13 @@ public class PwOverviewController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, groupVOS, methodDescribe);
|
||||
}
|
||||
|
||||
@PostMapping("/getPVVoltage")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("高低电压问题(冀北)")
|
||||
@ApiImplicitParam(name = "param", value = "条件参数", required = true)
|
||||
public HttpResult<List<List<Object>>> getPVVoltage(@RequestBody StatisticsBizBaseParam param) {
|
||||
String methodDescribe = getMethodDescribe("getPVVoltage");
|
||||
List<List<Object>> pvVoltage = rStatOrgPvPowerQualityService.getPVVoltage(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, pvVoltage, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,17 +9,16 @@
|
||||
(
|
||||
SELECT
|
||||
measurement_point_id,
|
||||
data_date,
|
||||
sum( is_v_dev_warn + is_freq_warn + is_unbalance_warn + is_v_warn + is_flicker_warn + is_sag_warn + is_interrupt_warn + is_swell_warn ) AS num
|
||||
FROM
|
||||
r_mp_target_warn_d
|
||||
r_mp_target_warn_d rmtwd
|
||||
<where>
|
||||
is_effective = 1 AND is_warn = 1
|
||||
<if test="param!=null and param.startTime != null and param.startTime !=''">
|
||||
AND rmphd.data_date >= #{param.startTime} AND rmshd.data_date >= #{param.startTime}
|
||||
AND rmtwd.data_date >= #{param.startTime} AND rmtwd.data_date >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param!=null and param.endTime != null and param.endTime != ''">
|
||||
AND rmphd.data_date <= #{param.endTime} AND rmshd.data_date <= #{param.endTime}
|
||||
AND rmtwd.data_date <= #{param.endTime} AND rmtwd.data_date <= #{param.endTime}
|
||||
</if>
|
||||
<if test="id != null and id.size > 0">
|
||||
AND measurement_point_id IN
|
||||
@@ -29,10 +28,9 @@
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY
|
||||
measurement_point_id,
|
||||
data_date
|
||||
measurement_point_id
|
||||
HAVING
|
||||
num > 1
|
||||
num > 0
|
||||
) x UNION ALL
|
||||
SELECT
|
||||
count(*)
|
||||
@@ -40,17 +38,16 @@
|
||||
(
|
||||
SELECT
|
||||
measurement_point_id,
|
||||
data_date,
|
||||
sum( is_v_dev_warn + is_freq_warn + is_unbalance_warn + is_v_warn + is_flicker_warn + is_sag_warn + is_interrupt_warn + is_swell_warn ) AS num
|
||||
FROM
|
||||
r_mp_target_warn_d
|
||||
r_mp_target_warn_d rmtwd
|
||||
<where>
|
||||
is_effective = 1 AND is_harmonic = 1
|
||||
<if test="param!=null and param.startTime != null and param.startTime !=''">
|
||||
AND rmphd.data_date >= #{param.startTime} AND rmshd.data_date >= #{param.startTime}
|
||||
AND rmtwd.data_date >= #{param.startTime} AND rmtwd.data_date >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param!=null and param.endTime != null and param.endTime != ''">
|
||||
AND rmphd.data_date <= #{param.endTime} AND rmshd.data_date <= #{param.endTime}
|
||||
AND rmtwd.data_date <= #{param.endTime} AND rmtwd.data_date <= #{param.endTime}
|
||||
</if>
|
||||
<if test="id != null and id.size > 0">
|
||||
AND measurement_point_id IN
|
||||
@@ -60,10 +57,9 @@
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY
|
||||
measurement_point_id,
|
||||
data_date
|
||||
measurement_point_id
|
||||
HAVING
|
||||
num > 1
|
||||
num > 0
|
||||
) x
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -543,7 +543,6 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
dto.setPowerCompany(power.getOrgName());
|
||||
dto.setSubstation(power.getPowerName());
|
||||
dto.setSubstationId(power.getPowerId());
|
||||
dto.setBusBar(power.getGeneratrixName());
|
||||
if(CollectionUtil.isNotEmpty(lineMap)){
|
||||
if(lineMap.containsKey(power.getMonitorId())){
|
||||
dto.setData(lineMap.get(power.getMonitorId()));
|
||||
|
||||
@@ -53,9 +53,11 @@ public class PVOverviewServiceImpl implements PVOverviewService {
|
||||
List<DeptGetChildrenDTO> data = commTerminalGeneralClient.deptGetLineList(deptGetLineParam).getData();
|
||||
if(CollUtil.isNotEmpty(data)){
|
||||
List<String> monitorIds = data.stream().flatMap(dto -> dto.getLineIds().stream()).collect(Collectors.toList());
|
||||
return pvOverviewMapper.selectPVSynthesisCount(param, monitorIds);
|
||||
List<Integer> integers = pvOverviewMapper.selectPVSynthesisCount(param, monitorIds);
|
||||
integers.add(monitorIds.size());
|
||||
return integers;
|
||||
}
|
||||
return new ArrayList<Integer>(2){{add(0);add(0);}};
|
||||
return new ArrayList<Integer>(3){{add(0);add(0);add(0);}};
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -109,7 +111,6 @@ public class PVOverviewServiceImpl implements PVOverviewService {
|
||||
dto.setPowerCompany(power.getOrgName());
|
||||
dto.setSubstation(power.getPowerName());
|
||||
dto.setSubstationId(power.getPowerId());
|
||||
dto.setBusBar(power.getGeneratrixName());
|
||||
dto.setPowerVoltageLevel(power.getPowerVoltageLevel());
|
||||
dto.setData(substationDPO.getValue());
|
||||
return dto;
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.harmonic.service.specialanalysis;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.param.OverviewParam;
|
||||
import com.njcn.harmonic.pojo.param.PowerQualityParam;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityQPO;
|
||||
@@ -56,4 +57,11 @@ public interface RStatOrgPvPowerQualityService extends IService<RStatOrgPvPowerQ
|
||||
* @return
|
||||
*/
|
||||
List<OverviewVO.IcoVO> getBackTheTide(OverviewParam param);
|
||||
|
||||
/**
|
||||
* 高低电压问题(冀北)
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<List<Object>> getPVVoltage(StatisticsBizBaseParam param);
|
||||
}
|
||||
|
||||
@@ -3,17 +3,26 @@ package com.njcn.harmonic.service.specialanalysis.impl;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
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.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
|
||||
import com.njcn.device.pms.api.PwMonitorClient;
|
||||
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
|
||||
import com.njcn.harmonic.mapper.specialanalysis.*;
|
||||
import com.njcn.harmonic.pojo.param.OverviewParam;
|
||||
import com.njcn.harmonic.pojo.param.PowerQualityParam;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityMPO;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityQPO;
|
||||
import com.njcn.harmonic.pojo.vo.OverviewVO;
|
||||
import com.njcn.harmonic.pojo.vo.RStatOrgPvDetailVO;
|
||||
@@ -27,6 +36,7 @@ import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.dto.DeptDTO;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.math3.analysis.function.Add;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
@@ -48,6 +58,8 @@ public class RStatOrgPvPowerQualityServiceImpl extends ServiceImpl<RStatOrgPvPow
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
private final PwMonitorClient pwMonitorClient;
|
||||
private final RStatOrgPvPowerQualityMMapper rStatOrgPvPowerQualityMMapper;
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
|
||||
|
||||
@Override
|
||||
public Page<RStatOrgPvPowerStreamVO> getPowerQualityStream(PowerQualityParam param) {
|
||||
@@ -440,6 +452,90 @@ public class RStatOrgPvPowerQualityServiceImpl extends ServiceImpl<RStatOrgPvPow
|
||||
return vos;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<List<Object>> getPVVoltage(StatisticsBizBaseParam param) {
|
||||
//获取部门信息
|
||||
Dept dept = deptFeignClient.getDeptById(param.getId()).getData();
|
||||
DeptGetLineParam deptGetLineParam =new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(param.getId());
|
||||
List<DeptGetChildrenDTO> data = commTerminalGeneralClient.deptGetLineList(deptGetLineParam).getData();
|
||||
|
||||
List<String> monitorIds = data.stream().flatMap(dto -> dto.getPwMonitorIds().stream()).collect(Collectors.toList());
|
||||
ArrayList<List<Object>> info = new ArrayList<List<Object>>(2) {
|
||||
{
|
||||
new ArrayList<Object>() {{
|
||||
add(0);
|
||||
add(0);
|
||||
add(monitorIds.size());
|
||||
}};
|
||||
}
|
||||
|
||||
{
|
||||
new ArrayList<Object>() {{
|
||||
add(0);
|
||||
add(0);
|
||||
add(monitorIds.size());
|
||||
}};
|
||||
}
|
||||
};
|
||||
if(CollUtil.isNotEmpty(monitorIds)){
|
||||
//获取台区电能质量事件类型
|
||||
List<DictData> areaType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.AREA_PQ_EVENT_TYPE.getCode()).getData();
|
||||
//typeIDOne:高压 typeIDTwe是低压
|
||||
List<String> typeIDOne=new ArrayList<>();
|
||||
//取出电压相关的字典
|
||||
for (DictData dictData : areaType) {
|
||||
|
||||
//电压 电压越上限15%以上
|
||||
if (DicDataEnum.EVENT_TYPE_T.getCode().equals(dictData.getCode())) {
|
||||
typeIDOne.add(dictData.getId());
|
||||
}
|
||||
//电压 电压越上限7%-15%
|
||||
if (DicDataEnum.EVENT_TYPE_R.getCode().equals(dictData.getCode())) {
|
||||
typeIDOne.add(dictData.getId());
|
||||
}
|
||||
//电压 超标3%-10%
|
||||
if (DicDataEnum.EVENT_TYPE_Z.getCode().equals(dictData.getCode())) {
|
||||
typeIDOne.add(dictData.getId());
|
||||
}
|
||||
//电压 超标10%以下
|
||||
if (DicDataEnum.EVENT_TYPE_X.getCode().equals(dictData.getCode())) {
|
||||
typeIDOne.add(dictData.getId());
|
||||
}
|
||||
}
|
||||
List<RStatOrgPvPowerQualityMPO> rStatOrgPvPowerQualityMPOS = rStatOrgPvPowerQualityMMapper.selectList(new LambdaQueryWrapper<RStatOrgPvPowerQualityMPO>()
|
||||
.in(CollUtil.isNotEmpty(typeIDOne), RStatOrgPvPowerQualityMPO::getAreaPqEventType, typeIDOne)
|
||||
.eq(ObjectUtil.isNotNull(dept), RStatOrgPvPowerQualityMPO::getOrgNo, dept.getCode())
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgPvPowerQualityMPO::getDataDate, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())))
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgPvPowerQualityMPO::getDataDate, DateUtil.endOfDay(DateUtil.parse(param.getEndTime())))
|
||||
);
|
||||
Map<String, RStatOrgPvPowerQualityMPO> count = rStatOrgPvPowerQualityMPOS.stream().collect(Collectors.toMap(RStatOrgPvPowerQualityMPO::getAreaPqEventType, Function.identity(), (Key1, kye2) -> Key1));
|
||||
List<Object> list1=new ArrayList<>();
|
||||
List<Object> list2=new ArrayList<>();
|
||||
for (int i = 0; i < typeIDOne.size(); i++) {
|
||||
if(i<2){
|
||||
if(count.containsKey(typeIDOne.get(i))){
|
||||
list1.add(count.get(typeIDOne.get(i)).getTotalMonitorNum());
|
||||
}else{
|
||||
list1.add(0);
|
||||
}
|
||||
}else{
|
||||
if(count.containsKey(typeIDOne.get(i))){
|
||||
list2.add(count.get(typeIDOne.get(i)).getTotalMonitorNum());
|
||||
}else{
|
||||
list2.add(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
list1.add(monitorIds.size());
|
||||
list2.add(monitorIds.size());
|
||||
info.clear();
|
||||
info.add(list1);
|
||||
info.add(list2);
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
/**
|
||||
* 潮流倒送对象赋值
|
||||
* @param areaMap
|
||||
|
||||
Reference in New Issue
Block a user