1.冀北分布式光伏代码提交

2.审计日志管理代码提交修改
3.暂降推送日志,筛选添加
This commit is contained in:
wr
2023-05-26 08:52:00 +08:00
parent 376aab019d
commit c7e063a6ae
29 changed files with 434 additions and 219 deletions

View File

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

View File

@@ -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 &lt;= #{param.endTime} AND rmshd.data_date &lt;= #{param.endTime}
AND rmtwd.data_date &lt;= #{param.endTime} AND rmtwd.data_date &lt;= #{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 &lt;= #{param.endTime} AND rmshd.data_date &lt;= #{param.endTime}
AND rmtwd.data_date &lt;= #{param.endTime} AND rmtwd.data_date &lt;= #{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>

View File

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

View File

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

View File

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

View File

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