微调
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.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
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.pojo.param.RStatLimitQueryParam;
|
||||
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 CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
private final IWarningLeafletService warningLeafletService;
|
||||
private final DeptLineFeignClient deptLineFeignClient;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -68,7 +71,8 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
||||
List<String> lineList = commTerminalGeneralClient.getRunMonitorIds().getData();
|
||||
RStatLimitQueryParam param = new RStatLimitQueryParam();
|
||||
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);
|
||||
//获取监测点越限信息
|
||||
List<RStatLimitTargetDPO> limitTarget = limitRateDClient.monitorIdsGetLimitTargetInfo(param).getData();
|
||||
@@ -76,8 +80,10 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
||||
|
||||
for (RStatLimitTargetDPO item : limitTarget) {
|
||||
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)) {
|
||||
addList.addAll(getTargetInfo(item.getLineId(),targetMap,limitMap));
|
||||
addList.addAll(getTargetInfo(item.getLineId(),targetMap,limitMap,deptId));
|
||||
} else {
|
||||
//1.查询各指标越限时间不超过10天,超标则每天递增,不超标则清零
|
||||
//2.越限时间超过10天未超过15天,超标则每天递增,不超标保存当前记录,新增一条记录
|
||||
@@ -85,25 +91,25 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
||||
//4.发过告警单,则重新生成一条数据
|
||||
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);
|
||||
@@ -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<>();
|
||||
map.forEach((k,v)->{
|
||||
LineWarning lineWarning = new LineWarning();
|
||||
lineWarning.setAlarmTime(LocalDate.now().minusDays(1));
|
||||
lineWarning.setDeptId(deptId);
|
||||
lineWarning.setLineId(lineId);
|
||||
lineWarning.setTargetType(v.getId());
|
||||
lineWarning.setOverLimitDay(overDay(k,limitMap.get(lineId)));
|
||||
@@ -273,7 +280,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
||||
/**
|
||||
* 各指标计算 系统默认阈值:预警单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());
|
||||
//获取最新的一条记录
|
||||
LineWarning line = l1.stream().max(Comparator.comparing(LineWarning::getAlarmTime)).orElse(null);
|
||||
@@ -288,6 +295,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
||||
} else {
|
||||
LineWarning lineWarning = new LineWarning();
|
||||
lineWarning.setAlarmTime(LocalDate.now().minusDays(1));
|
||||
lineWarning.setDeptId(deptId);
|
||||
lineWarning.setLineId(item);
|
||||
lineWarning.setTargetType(targetMap.get(target).getId());
|
||||
lineWarning.setOverLimitDay(0);
|
||||
@@ -309,6 +317,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
|
||||
if (line.getInitiateWarningFlag() == 1 && line.getStep() == 2) {
|
||||
LineWarning lineWarning = new LineWarning();
|
||||
lineWarning.setAlarmTime(LocalDate.now().minusDays(1));
|
||||
lineWarning.setDeptId(deptId);
|
||||
lineWarning.setLineId(item);
|
||||
lineWarning.setTargetType(targetMap.get(target).getId());
|
||||
lineWarning.setOverLimitDay(result);
|
||||
|
||||
Reference in New Issue
Block a user