微调
This commit is contained in:
@@ -10,6 +10,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||||
|
import com.njcn.device.pq.api.DeptLineFeignClient;
|
||||||
|
import com.njcn.device.pq.pojo.po.DeptLine;
|
||||||
import com.njcn.harmonic.api.RStatLimitRateDClient;
|
import com.njcn.harmonic.api.RStatLimitRateDClient;
|
||||||
import com.njcn.harmonic.pojo.param.RStatLimitQueryParam;
|
import com.njcn.harmonic.pojo.param.RStatLimitQueryParam;
|
||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||||
@@ -52,6 +54,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
private final RStatLimitRateDClient limitRateDClient;
|
private final RStatLimitRateDClient limitRateDClient;
|
||||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||||
private final IWarningLeafletService warningLeafletService;
|
private final IWarningLeafletService warningLeafletService;
|
||||||
|
private final DeptLineFeignClient deptLineFeignClient;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@@ -68,7 +71,8 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
List<String> lineList = commTerminalGeneralClient.getRunMonitorIds().getData();
|
List<String> lineList = commTerminalGeneralClient.getRunMonitorIds().getData();
|
||||||
RStatLimitQueryParam param = new RStatLimitQueryParam();
|
RStatLimitQueryParam param = new RStatLimitQueryParam();
|
||||||
String date = DateUtil.format(LocalDateTime.now().minusDays(1), DatePattern.NORM_DATE_PATTERN);
|
String date = DateUtil.format(LocalDateTime.now().minusDays(1), DatePattern.NORM_DATE_PATTERN);
|
||||||
param.setDate(date);
|
// param.setDate(date);
|
||||||
|
param.setDate("2024-01-23");
|
||||||
param.setIds(lineList);
|
param.setIds(lineList);
|
||||||
//获取监测点越限信息
|
//获取监测点越限信息
|
||||||
List<RStatLimitTargetDPO> limitTarget = limitRateDClient.monitorIdsGetLimitTargetInfo(param).getData();
|
List<RStatLimitTargetDPO> limitTarget = limitRateDClient.monitorIdsGetLimitTargetInfo(param).getData();
|
||||||
@@ -76,8 +80,10 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
|
|
||||||
for (RStatLimitTargetDPO item : limitTarget) {
|
for (RStatLimitTargetDPO item : limitTarget) {
|
||||||
List<LineWarning> lineWarnings = lineWarningMap.get(item.getLineId());
|
List<LineWarning> lineWarnings = lineWarningMap.get(item.getLineId());
|
||||||
|
DeptLine deptLine = deptLineFeignClient.getLineByLineIds(item.getLineId()).getData();
|
||||||
|
String deptId = Objects.isNull(deptLine)?null:deptLine.getId();
|
||||||
if (CollUtil.isEmpty(lineWarnings)) {
|
if (CollUtil.isEmpty(lineWarnings)) {
|
||||||
addList.addAll(getTargetInfo(item.getLineId(),targetMap,limitMap));
|
addList.addAll(getTargetInfo(item.getLineId(),targetMap,limitMap,deptId));
|
||||||
} else {
|
} else {
|
||||||
//1.查询各指标越限时间不超过10天,超标则每天递增,不超标则清零
|
//1.查询各指标越限时间不超过10天,超标则每天递增,不超标则清零
|
||||||
//2.越限时间超过10天未超过15天,超标则每天递增,不超标保存当前记录,新增一条记录
|
//2.越限时间超过10天未超过15天,超标则每天递增,不超标保存当前记录,新增一条记录
|
||||||
@@ -85,25 +91,25 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
//4.发过告警单,则重新生成一条数据
|
//4.发过告警单,则重新生成一条数据
|
||||||
RStatLimitTargetDPO dpo = limitMap.get(item.getLineId());
|
RStatLimitTargetDPO dpo = limitMap.get(item.getLineId());
|
||||||
//频率偏差
|
//频率偏差
|
||||||
targetInfo(lineWarnings,targetMap,DicDataEnum.FREQUENCY_DEV.getCode(),dpo,item.getLineId(),addList,updateList);
|
targetInfo(lineWarnings,targetMap,DicDataEnum.FREQUENCY_DEV.getCode(),dpo,item.getLineId(),addList,updateList,deptId);
|
||||||
//电压偏差
|
//电压偏差
|
||||||
targetInfo(lineWarnings,targetMap,DicDataEnum.VOLTAGE_DEV.getCode(),dpo,item.getLineId(),addList,updateList);
|
targetInfo(lineWarnings,targetMap,DicDataEnum.VOLTAGE_DEV.getCode(),dpo,item.getLineId(),addList,updateList,deptId);
|
||||||
//长时闪变
|
//长时闪变
|
||||||
targetInfo(lineWarnings,targetMap,DicDataEnum.FLICKER.getCode(),dpo,item.getLineId(),addList,updateList);
|
targetInfo(lineWarnings,targetMap,DicDataEnum.FLICKER.getCode(),dpo,item.getLineId(),addList,updateList,deptId);
|
||||||
//谐波电压
|
//谐波电压
|
||||||
targetInfo(lineWarnings,targetMap,DicDataEnum.HARMONIC_VOLTAGE.getCode(),dpo,item.getLineId(),addList,updateList);
|
targetInfo(lineWarnings,targetMap,DicDataEnum.HARMONIC_VOLTAGE.getCode(),dpo,item.getLineId(),addList,updateList,deptId);
|
||||||
//谐波电流
|
//谐波电流
|
||||||
targetInfo(lineWarnings,targetMap,DicDataEnum.HARMONIC_CURRENT.getCode(),dpo,item.getLineId(),addList,updateList);
|
targetInfo(lineWarnings,targetMap,DicDataEnum.HARMONIC_CURRENT.getCode(),dpo,item.getLineId(),addList,updateList,deptId);
|
||||||
//间谐波电压
|
//间谐波电压
|
||||||
targetInfo(lineWarnings,targetMap,DicDataEnum.INTERHARMONIC_VOLTAGE.getCode(),dpo,item.getLineId(),addList,updateList);
|
targetInfo(lineWarnings,targetMap,DicDataEnum.INTERHARMONIC_VOLTAGE.getCode(),dpo,item.getLineId(),addList,updateList,deptId);
|
||||||
//负序电压不平衡度
|
//负序电压不平衡度
|
||||||
targetInfo(lineWarnings,targetMap,DicDataEnum.phase_Voltage.getCode(),dpo,item.getLineId(),addList,updateList);
|
targetInfo(lineWarnings,targetMap,DicDataEnum.phase_Voltage.getCode(),dpo,item.getLineId(),addList,updateList,deptId);
|
||||||
//负序电流
|
//负序电流
|
||||||
targetInfo(lineWarnings,targetMap,DicDataEnum.NEG_CURRENT.getCode(),dpo,item.getLineId(),addList,updateList);
|
targetInfo(lineWarnings,targetMap,DicDataEnum.NEG_CURRENT.getCode(),dpo,item.getLineId(),addList,updateList,deptId);
|
||||||
//电压总谐波畸变率
|
//电压总谐波畸变率
|
||||||
targetInfo(lineWarnings,targetMap,DicDataEnum.THD_V.getCode(),dpo,item.getLineId(),addList,updateList);
|
targetInfo(lineWarnings,targetMap,DicDataEnum.THD_V.getCode(),dpo,item.getLineId(),addList,updateList,deptId);
|
||||||
//总稳态指标
|
//总稳态指标
|
||||||
targetInfo(lineWarnings,targetMap,DicDataEnum.TOTAL_INDICATOR.getCode(),dpo,item.getLineId(),addList,updateList);
|
targetInfo(lineWarnings,targetMap,DicDataEnum.TOTAL_INDICATOR.getCode(),dpo,item.getLineId(),addList,updateList,deptId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.saveBatch(addList);
|
this.saveBatch(addList);
|
||||||
@@ -155,11 +161,12 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
/**
|
/**
|
||||||
* 获取监测点各指标的超标天数
|
* 获取监测点各指标的超标天数
|
||||||
*/
|
*/
|
||||||
public List<LineWarning> getTargetInfo(String lineId, Map<String, DictData> map, Map<String, RStatLimitTargetDPO> limitMap) {
|
public List<LineWarning> getTargetInfo(String lineId, Map<String, DictData> map, Map<String, RStatLimitTargetDPO> limitMap,String deptId) {
|
||||||
List<LineWarning> result = new ArrayList<>();
|
List<LineWarning> result = new ArrayList<>();
|
||||||
map.forEach((k,v)->{
|
map.forEach((k,v)->{
|
||||||
LineWarning lineWarning = new LineWarning();
|
LineWarning lineWarning = new LineWarning();
|
||||||
lineWarning.setAlarmTime(LocalDate.now().minusDays(1));
|
lineWarning.setAlarmTime(LocalDate.now().minusDays(1));
|
||||||
|
lineWarning.setDeptId(deptId);
|
||||||
lineWarning.setLineId(lineId);
|
lineWarning.setLineId(lineId);
|
||||||
lineWarning.setTargetType(v.getId());
|
lineWarning.setTargetType(v.getId());
|
||||||
lineWarning.setOverLimitDay(overDay(k,limitMap.get(lineId)));
|
lineWarning.setOverLimitDay(overDay(k,limitMap.get(lineId)));
|
||||||
@@ -273,7 +280,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
/**
|
/**
|
||||||
* 各指标计算 系统默认阈值:预警单10天 告警单15天
|
* 各指标计算 系统默认阈值:预警单10天 告警单15天
|
||||||
*/
|
*/
|
||||||
public void targetInfo(List<LineWarning> lineWarnings, Map<String, DictData> targetMap, String target, RStatLimitTargetDPO dpo, String item, List<LineWarning> addList, List<LineWarning> updateList) {
|
public void targetInfo(List<LineWarning> lineWarnings, Map<String, DictData> targetMap, String target, RStatLimitTargetDPO dpo, String item, List<LineWarning> addList, List<LineWarning> updateList, String deptId) {
|
||||||
List<LineWarning> l1 = lineWarnings.stream().filter(o->Objects.equals(o.getTargetType(),targetMap.get(target).getId())).collect(Collectors.toList());
|
List<LineWarning> l1 = lineWarnings.stream().filter(o->Objects.equals(o.getTargetType(),targetMap.get(target).getId())).collect(Collectors.toList());
|
||||||
//获取最新的一条记录
|
//获取最新的一条记录
|
||||||
LineWarning line = l1.stream().max(Comparator.comparing(LineWarning::getAlarmTime)).orElse(null);
|
LineWarning line = l1.stream().max(Comparator.comparing(LineWarning::getAlarmTime)).orElse(null);
|
||||||
@@ -288,6 +295,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
} else {
|
} else {
|
||||||
LineWarning lineWarning = new LineWarning();
|
LineWarning lineWarning = new LineWarning();
|
||||||
lineWarning.setAlarmTime(LocalDate.now().minusDays(1));
|
lineWarning.setAlarmTime(LocalDate.now().minusDays(1));
|
||||||
|
lineWarning.setDeptId(deptId);
|
||||||
lineWarning.setLineId(item);
|
lineWarning.setLineId(item);
|
||||||
lineWarning.setTargetType(targetMap.get(target).getId());
|
lineWarning.setTargetType(targetMap.get(target).getId());
|
||||||
lineWarning.setOverLimitDay(0);
|
lineWarning.setOverLimitDay(0);
|
||||||
@@ -309,6 +317,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
|||||||
if (line.getInitiateWarningFlag() == 1 && line.getStep() == 2) {
|
if (line.getInitiateWarningFlag() == 1 && line.getStep() == 2) {
|
||||||
LineWarning lineWarning = new LineWarning();
|
LineWarning lineWarning = new LineWarning();
|
||||||
lineWarning.setAlarmTime(LocalDate.now().minusDays(1));
|
lineWarning.setAlarmTime(LocalDate.now().minusDays(1));
|
||||||
|
lineWarning.setDeptId(deptId);
|
||||||
lineWarning.setLineId(item);
|
lineWarning.setLineId(item);
|
||||||
lineWarning.setTargetType(targetMap.get(target).getId());
|
lineWarning.setTargetType(targetMap.get(target).getId());
|
||||||
lineWarning.setOverLimitDay(result);
|
lineWarning.setOverLimitDay(result);
|
||||||
|
|||||||
Reference in New Issue
Block a user