1.pmsbug修改,配网统计报表报告

2.技术监督策略,代码提交
This commit is contained in:
wurui
2023-03-22 18:22:04 +08:00
parent 4bb8482bfa
commit 41566d6acc
8 changed files with 168 additions and 58 deletions

View File

@@ -1,8 +1,8 @@
package com.njcn.process.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.process.pojo.param.MonitorParam;
import com.njcn.process.pojo.param.StrategyParam;
import com.njcn.process.pojo.po.ThsDeptAlarm;
import com.njcn.process.pojo.po.ThsWarnStrategy;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -74,14 +74,14 @@ public interface ThsWarnStrategyService extends IService<ThsWarnStrategy> {
*/
Boolean updateStrategyState(StrategyParam.StrategyStateParam param);
/***
* 监测点查询接口
* @author wr
* @date 2023-03-10 14:52
* @param monitorTag
* @return List<PmsMonitorInfoDTO>
*/
List<StrategyParam.MonitorTree> getMonitor(List<String> monitorTag, String orgId);
/***
* 监测点查询接口
* @author wr
* @date 2023-03-22 17:38
* @param orgId
* @return List<MonitorTree>
*/
List<StrategyParam.MonitorTree> getMonitor( String orgId);
/***
@@ -91,8 +91,17 @@ public interface ThsWarnStrategyService extends IService<ThsWarnStrategy> {
* @param param
* @return Boolean
*/
Boolean bindMonitor(List<ThsDeptAlarm> param);
Boolean bindMonitor(MonitorParam param);
/***
* 监测点回显
* @author wr
* @date 2023-03-22 10:44
* @param org
* @param type
* @return List<ThsDeptAlarm>
*/
List<String> echoMonitor(String org,Integer type);
/***
* 预警单/告警单删除

View File

@@ -1,7 +1,6 @@
package com.njcn.process.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@@ -13,10 +12,9 @@ import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.enums.PmsDeviceResponseEnum;
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
import com.njcn.device.pms.pojo.param.PmsMonitorParam;
import com.njcn.device.pms.pojo.po.DistributionMonitor;
import com.njcn.process.enums.ProcessResponseEnum;
import com.njcn.process.pojo.param.MonitorParam;
import com.njcn.process.pojo.param.StrategyParam;
import com.njcn.process.pojo.po.PmsTerminalDetection;
import com.njcn.process.pojo.po.ThsDeptAlarm;
import com.njcn.process.pojo.po.ThsWarnStrategy;
import com.njcn.process.mapper.ThsWarnStrategyMapper;
@@ -67,15 +65,24 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl<ThsWarnStrategyMappe
@Override
@Transactional(rollbackFor = {Exception.class})
public Boolean insertStrategy(StrategyParam.StrategyInsertParam param) {
int count = this.count(new LambdaQueryWrapper<ThsWarnStrategy>()
ThsWarnStrategy one = this.getOne(new LambdaQueryWrapper<ThsWarnStrategy>()
.eq(ThsWarnStrategy::getName, param.getName())
.or(wrapper ->
wrapper.eq(ThsWarnStrategy::getGrade, param.getGrade())
.eq(ThsWarnStrategy::getBigType, 0)
)
);
if (count > 0) {
throw new BusinessException(PmsDeviceResponseEnum.MODEL_NAME_REPEAT);
if (ObjectUtil.isNotNull(one)) {
if(one.getName().equals(param.getName())){
throw new BusinessException(PmsDeviceResponseEnum.MODEL_NAME_REPEAT);
}
throw new BusinessException(ProcessResponseEnum.THERE_IS_ONLY_ONE_STRATEGY);
}
ThsWarnStrategy thsWarnStrategy = BeanUtil.copyProperties(param, ThsWarnStrategy.class);
thsWarnStrategy.setCreateBy(RequestUtil.getUserNickname());
thsWarnStrategy.setState(2);
thsWarnStrategy.setBigType(param.getBigType());
return this.save(thsWarnStrategy);
}
@@ -111,13 +118,21 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl<ThsWarnStrategyMappe
.and(wrapper ->
wrapper.eq(ThsWarnStrategy::getName, param.getName())
)
.or(wrapper ->
wrapper.eq( ThsWarnStrategy::getGrade, param.getGrade())
.eq(ThsWarnStrategy::getBigType, 0)
)
);
if (ObjectUtil.isNotNull(one)) {
throw new BusinessException(PmsDeviceResponseEnum.MODEL_NAME_REPEAT);
if(one.getName().equals(param.getName())){
throw new BusinessException(PmsDeviceResponseEnum.MODEL_NAME_REPEAT);
}
throw new BusinessException(ProcessResponseEnum.THERE_IS_ONLY_ONE_STRATEGY);
}
ThsWarnStrategy thsWarnStrategy = BeanUtil.copyProperties(param, ThsWarnStrategy.class);
thsWarnStrategy.setUpdateBy(RequestUtil.getUserNickname());
thsWarnStrategy.setBigType(param.getBigType());
return this.updateById(thsWarnStrategy);
}
@@ -131,9 +146,8 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl<ThsWarnStrategyMappe
}
@Override
public List<StrategyParam.MonitorTree> getMonitor(List<String> monitorTag, String orgId) {
public List<StrategyParam.MonitorTree> getMonitor(String orgId) {
PmsMonitorParam param = new PmsMonitorParam();
param.setMonitorTags(monitorTag);
List<PmsMonitorDTO> data = monitorClient.getMonitorInfoListByCond(param).getData();
//获取部门结构
List<DeptDTO> deptInfos = deptFeignClient.getDeptDescendantIndexes(orgId, WebUtil.filterDeptType()).getData();
@@ -144,22 +158,50 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl<ThsWarnStrategyMappe
StrategyParam.MonitorTree tree = new StrategyParam.MonitorTree();
tree.setId(deptDTOS.get(0).getId());
tree.setName(deptDTOS.get(0).getName());
tree.setChildPower(getPowers(deptDTOS.get(0).getCode(), data));
tree.setChildren(recursionSelectList(orgId, deptInfos, data));
List<StrategyParam.MonitorTree> powers = getPowers(deptDTOS.get(0).getCode(), data);
powers.addAll(recursionSelectList(orgId, deptInfos, data));
tree.setChildren(powers);
monitorTrees.add(tree);
return monitorTrees;
}
@Override
@Transactional(rollbackFor = {Exception.class})
public Boolean bindMonitor(List<ThsDeptAlarm> param) {
//删除之前数据
public Boolean bindMonitor(MonitorParam param) {
//删除之前数据(根据部门和策略类型)
LambdaQueryWrapper<ThsDeptAlarm> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(ThsDeptAlarm::getDeptId, param.get(0).getDeptId());
lambdaQueryWrapper.in(ThsDeptAlarm::getAlarmId, param.get(0).getDeptId());
lambdaQueryWrapper.in(ThsDeptAlarm::getType, param.get(0).getType());
lambdaQueryWrapper.eq(ThsDeptAlarm::getDeptId, param.getDeptId());
lambdaQueryWrapper.eq(ThsDeptAlarm::getType, param.getType());
thsDeptAlarmService.remove(lambdaQueryWrapper);
return thsDeptAlarmService.saveBatch(param);
//信息添加
List<ThsDeptAlarm> info=new ArrayList();
List<String> alarmIds= param.getAlarmId();
List<String> monitorIds= param.getMonitorId();
String deptId= param.getDeptId();
Integer type= param.getType();
//便利信息
ThsDeptAlarm alarm;
for (String s : alarmIds) {
for (String monitorId : monitorIds) {
alarm=new ThsDeptAlarm();
alarm.setDeptId(deptId);
alarm.setType(type);
alarm.setAlarmId(s);
alarm.setMonitorId(monitorId);
info.add(alarm);
}
}
return thsDeptAlarmService.saveBatch(info);
}
@Override
public List<String> echoMonitor(String org,Integer type) {
List<ThsDeptAlarm> list = thsDeptAlarmService.list(new LambdaQueryWrapper<ThsDeptAlarm>()
.eq(ThsDeptAlarm::getDeptId, org)
.eq(ThsDeptAlarm::getType, type)
);
return list.stream().map(ThsDeptAlarm::getMonitorId).distinct().collect(Collectors.toList());
}
@Override
@@ -213,8 +255,9 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl<ThsWarnStrategyMappe
StrategyParam.MonitorTree tree = new StrategyParam.MonitorTree();
tree.setId(customer.getId());
tree.setName(customer.getName());
tree.setChildPower(getPowers(customer.getCode(), data));
List<StrategyParam.MonitorTree> children = recursionSelectList(customer.getId(), deptInfos, data);
List<StrategyParam.MonitorTree> children = new ArrayList<>();
children.addAll(getPowers(customer.getCode(), data));
children.addAll(recursionSelectList(customer.getId(), deptInfos, data));
tree.setChildren(children);
menuSelectList.add(tree);
}));
@@ -229,9 +272,9 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl<ThsWarnStrategyMappe
* @param data
* @return List<Power>
*/
private static List<StrategyParam.Power> getPowers(String orgCode, List<PmsMonitorDTO> data) {
private static List<StrategyParam.MonitorTree> getPowers(String orgCode, List<PmsMonitorDTO> data) {
//变电站信息初始化
List<StrategyParam.Power> powers = new ArrayList<>();
List<StrategyParam.MonitorTree> powers = new ArrayList<>();
//获取监测点信息
List<PmsMonitorDTO> monitorDTOS = data.stream().filter(dept -> dept.getOrgId().equals(orgCode)).collect(Collectors.toList());
Map<String, List<PmsMonitorDTO>> collect = monitorDTOS.stream().collect(
@@ -239,18 +282,18 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl<ThsWarnStrategyMappe
//获取变电站和监测点信息
collect.forEach((key, value) -> {
String[] split = key.split("_");
StrategyParam.Power power = new StrategyParam.Power();
StrategyParam.MonitorTree power = new StrategyParam.MonitorTree();
power.setId(split[0]);
power.setName(split[1]);
power.setName("变电站名称: "+split[1]);
//监测点信息
List<StrategyParam.Power> monitors = new ArrayList();
List<StrategyParam.Monitor> monitors = new ArrayList();
for (PmsMonitorDTO dto : value) {
StrategyParam.Power childMonitor = new StrategyParam.Power();
StrategyParam.Monitor childMonitor = new StrategyParam.Monitor();
childMonitor.setId(dto.getId());
childMonitor.setName(dto.getName());
childMonitor.setName("监测点名称: "+getMonitorEventCountdto.getName());
monitors.add(childMonitor);
}
power.setChildMonitor(monitors);
power.setChildren(monitors);
powers.add(power);
});
return powers;