预处理兼容pq/pms处理
This commit is contained in:
@@ -116,6 +116,9 @@ public interface CommTerminalGeneralClient {
|
||||
@GetMapping("/getRunMonitorIds")
|
||||
HttpResult<List<String>> getRunMonitorIds();
|
||||
|
||||
|
||||
@PostMapping("/getMonitorDetailList")
|
||||
HttpResult<List<LineDevGetDTO>> getMonitorDetailList(@RequestBody List<String> list);
|
||||
/**
|
||||
* 用于返回pq 还是pms系统
|
||||
* @author cdf
|
||||
|
||||
@@ -92,6 +92,12 @@ public class CommTerminalGeneralClientFallbackFactory implements FallbackFactory
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<List<LineDevGetDTO>> getMonitorDetailList(List<String> list) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "获取监测点详细信息集合", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<String> isPqOrPms() {
|
||||
log.error("{}异常,降级处理,异常为:{}", "返回pq还是pms系统", throwable.toString());
|
||||
|
||||
@@ -63,6 +63,9 @@ public class LineDevGetDTO {
|
||||
*/
|
||||
private Integer comFlag;
|
||||
|
||||
/**
|
||||
* 装置数据最新更新时间
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
|
||||
|
||||
@@ -21,6 +21,10 @@ import com.njcn.device.pms.pojo.po.TerminalLog;
|
||||
import com.njcn.device.pms.pojo.vo.DoubleUserVO;
|
||||
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
|
||||
import com.njcn.device.pms.service.majornetwork.ITerminalLogService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@@ -36,6 +40,7 @@ import com.njcn.web.controller.BaseController;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -58,6 +63,7 @@ public class PmsDistributionMonitorController extends BaseController {
|
||||
|
||||
private final ITerminalLogService iTerminalLogService;
|
||||
|
||||
|
||||
/**
|
||||
* 新增配网监测点表
|
||||
* @author cdf
|
||||
@@ -294,5 +300,20 @@ public class PmsDistributionMonitorController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量给配网监测点录入单位id
|
||||
* @author cdf
|
||||
* @date 2023/9/20
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/disMonitorWriteOrgId")
|
||||
@ApiOperation("批量修改配网里的单位")
|
||||
public HttpResult<Boolean> disMonitorWriteOrgId() {
|
||||
String methodDescribe = getMethodDescribe("disMonitorWriteOrgId");
|
||||
iDistributionMonitorService.disMonitorWriteOrgId();
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -115,4 +115,6 @@ public interface IDistributionMonitorService extends IMppService<DistributionMon
|
||||
*/
|
||||
Boolean batchOpDistributionArea();
|
||||
|
||||
Boolean disMonitorWriteOrgId();
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.device.pms.service.majornetwork.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.TimeInterval;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -110,6 +111,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
||||
distributionMonitor.setMonitorId(monitor.getId());
|
||||
distributionMonitor.setCreatedDate(LocalDateTime.now());
|
||||
distributionMonitor.setIfPowerUser(0);
|
||||
distributionMonitor.setOrgId(monitor.getOrgId());
|
||||
distributionMonitor.setMonitorState(monitor.getMonitorState());
|
||||
distributionMonitor.setVoltageLevel(monitor.getVoltageLevel());
|
||||
distributionMonitor.setStatus(DataStateEnum.ENABLE.getCode());
|
||||
@@ -129,6 +131,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
||||
}
|
||||
PowerDistributionarea powerDistributionareaTem = powerDistributionareaMapper.selectById(powerDistributionarea.getId());
|
||||
distributionMonitor.setMonitorId(powerDistributionarea.getId());
|
||||
distributionMonitor.setOrgId(powerDistributionarea.getOrgId());
|
||||
distributionMonitor.setCreatedDate(LocalDateTime.now());
|
||||
distributionMonitor.setIfPowerUser(0);
|
||||
distributionMonitor.setMonitorState(distributionMonitorParam.getMonitorState());
|
||||
@@ -158,7 +161,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
||||
}
|
||||
distributionMonitor.setIfPowerUser(1);
|
||||
distributionMonitor.setVoltageLevel(powerGenerationUser.getVoltageLevel());
|
||||
|
||||
distributionMonitor.setOrgId(powerGenerationUser.getOrgId());
|
||||
} else {
|
||||
//用电
|
||||
PowerClient powerClient = powerClientMapper.selectById(distributionMonitorParam.getMonitorId());
|
||||
@@ -167,6 +170,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
||||
}
|
||||
distributionMonitor.setIfPowerUser(0);
|
||||
distributionMonitor.setVoltageLevel(powerClient.getVoltageLevel());
|
||||
distributionMonitor.setOrgId(powerClient.getOrgId());
|
||||
|
||||
}
|
||||
distributionMonitor.setMonitorId(distributionMonitorParam.getMonitorId());
|
||||
@@ -486,6 +490,58 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean disMonitorWriteOrgId() {
|
||||
List<DistributionMonitor> distributionMonitorList = this.list();
|
||||
if(CollectionUtil.isNotEmpty(distributionMonitorList)){
|
||||
Map<String,List<DistributionMonitor>> map = distributionMonitorList.stream().collect(Collectors.groupingBy(DistributionMonitor::getMonitorSort));
|
||||
List<DistributionMonitor> po = new ArrayList<>();
|
||||
|
||||
map.forEach((key,val)->{
|
||||
if(key.equals("78a96acb276a5fe9d6eff737fdf1973f")){
|
||||
List<DistributionMonitor> one = map.get("78a96acb276a5fe9d6eff737fdf1973f");
|
||||
List<String> oneIds = one.stream().map(DistributionMonitor::getMonitorId).distinct().collect(Collectors.toList());
|
||||
List<Monitor> monitorList = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>().in(Monitor::getId,oneIds));
|
||||
|
||||
for(Monitor monitor:monitorList){
|
||||
DistributionMonitor distributionMonitor = new DistributionMonitor();
|
||||
distributionMonitor.setMonitorId(monitor.getId());
|
||||
distributionMonitor.setOrgId(monitor.getOrgId());
|
||||
LambdaUpdateWrapper<DistributionMonitor> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.set(DistributionMonitor::getOrgId,distributionMonitor.getOrgId()).eq(DistributionMonitor::getMonitorId,distributionMonitor.getMonitorId());
|
||||
this.update(updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
}else if(key.equals("a5696acb276a5fe9d6eff74fdf1973f")){
|
||||
List<DistributionMonitor> two = map.get("a5696acb276a5fe9d6eff74fdf1973f");
|
||||
List<String> twoIds = two.stream().map(DistributionMonitor::getMonitorId).distinct().collect(Collectors.toList());
|
||||
List<PowerDistributionarea> monitorList = powerDistributionareaMapper.selectList(new LambdaQueryWrapper<PowerDistributionarea>().in(PowerDistributionarea::getId,twoIds));
|
||||
|
||||
for(PowerDistributionarea monitor:monitorList){
|
||||
DistributionMonitor distributionMonitor = new DistributionMonitor();
|
||||
distributionMonitor.setMonitorId(monitor.getId());
|
||||
distributionMonitor.setOrgId(monitor.getOrgId());
|
||||
LambdaUpdateWrapper<DistributionMonitor> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.set(DistributionMonitor::getOrgId,distributionMonitor.getOrgId()).eq(DistributionMonitor::getMonitorId,distributionMonitor.getMonitorId());
|
||||
this.update(updateWrapper);
|
||||
}
|
||||
|
||||
}else {
|
||||
List<DistributionMonitor> two = map.get("a5696acb276a5fe9d6eff74fdf1973f");
|
||||
List<String> twoIds = two.stream().map(DistributionMonitor::getMonitorId).distinct().collect(Collectors.toList());
|
||||
List<PowerDistributionarea> monitorList = powerDistributionareaMapper.selectList(new LambdaQueryWrapper<PowerDistributionarea>().in(PowerDistributionarea::getId,twoIds));
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void overLimitAdd(String voltageLevel, String id) {
|
||||
DictData voltageDic = dicDataFeignClient.getDicDataById(voltageLevel).getData();
|
||||
float voltageLevelValue = Float.parseFloat(voltageDic.getValue());
|
||||
|
||||
@@ -7,10 +7,13 @@ import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.common.utils.LogUtil;
|
||||
import com.njcn.device.biz.pojo.dto.*;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.device.pq.mapper.LineDetailMapper;
|
||||
import com.njcn.device.pq.mapper.LineMapper;
|
||||
import com.njcn.device.pq.pojo.po.LineDetail;
|
||||
import com.njcn.device.pq.service.CommTerminalService;
|
||||
import com.njcn.device.pq.service.LineService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -45,14 +48,16 @@ public class CommTerminalController extends BaseController {
|
||||
private final LineMapper lineMapper;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 通过部门获取所有子集部门所拥有的监测点
|
||||
* 通过部门获取所有子集部门所拥有的监测点基本信息
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2023/4/24
|
||||
*/
|
||||
@PostMapping("deptGetLineIds")
|
||||
@ApiOperation("通过部门获取所有子集部门所拥有的监测点")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiImplicitParam(name = "deptGetLineParam", value = "请求体", required = true)
|
||||
public HttpResult<List<DeptGetChildrenDTO>> deptGetLineList(@RequestBody @Validated DeptGetLineParam deptGetLineParam) {
|
||||
TimeInterval timer = new TimeInterval();
|
||||
@@ -68,6 +73,8 @@ public class CommTerminalController extends BaseController {
|
||||
* @date 2023/5/10
|
||||
*/
|
||||
@PostMapping("getDeptChildrenByParent")
|
||||
@ApiOperation("根据单位获取所有子单位信息")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiImplicitParam(name = "deptGetLineParam", value = "请求体", required = true)
|
||||
public HttpResult<List<DeptGetBase>> getDeptChildrenByParent(@RequestBody @Validated DeptGetLineParam deptGetLineParam) {
|
||||
TimeInterval timer = new TimeInterval();
|
||||
@@ -78,12 +85,13 @@ public class CommTerminalController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据单位获取监测点信息
|
||||
* 根据单位获取监测点详细信息
|
||||
* @author cdf
|
||||
* @date 2023/5/10
|
||||
*/
|
||||
@PostMapping("deptGetLine")
|
||||
@ApiOperation("根据单位获取监测点信息")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiImplicitParam(name = "deptGetLineParam", value = "请求体", required = true)
|
||||
public HttpResult<List<DeptGetChildrenMoreDTO>> deptGetLine(@RequestBody @Validated DeptGetLineParam deptGetLineParam) {
|
||||
TimeInterval timer = new TimeInterval();
|
||||
@@ -103,6 +111,7 @@ public class CommTerminalController extends BaseController {
|
||||
*/
|
||||
@PostMapping("deptGetSubStation")
|
||||
@ApiOperation("根据单位获取所有变电站")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiImplicitParam(name = "deptGetLineParam", value = "请求体", required = true)
|
||||
public HttpResult<List<DeptGetSubStationDTO>> deptSubStation(@RequestBody @Validated DeptGetLineParam deptGetLineParam) {
|
||||
TimeInterval timer = new TimeInterval();
|
||||
@@ -119,6 +128,7 @@ public class CommTerminalController extends BaseController {
|
||||
*/
|
||||
@PostMapping("deptGetBusBar")
|
||||
@ApiOperation("根据单位获取所有母线")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiImplicitParam(name = "deptGetLineParam", value = "请求体", required = true)
|
||||
public HttpResult<List<DeptGetBusBarDTO>> deptBusBar(@RequestBody @Validated DeptGetLineParam deptGetLineParam) {
|
||||
TimeInterval timer = new TimeInterval();
|
||||
@@ -137,6 +147,7 @@ public class CommTerminalController extends BaseController {
|
||||
*/
|
||||
@PostMapping("deptGetDevice")
|
||||
@ApiOperation("根据单位获取所有装置")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiImplicitParam(name = "deptGetLineParam", value = "请求体", required = true)
|
||||
public HttpResult<List<DeptGetDeviceDTO>> deptGetDevice(@RequestBody @Validated DeptGetLineParam deptGetLineParam) {
|
||||
TimeInterval timer = new TimeInterval();
|
||||
@@ -153,6 +164,7 @@ public class CommTerminalController extends BaseController {
|
||||
*/
|
||||
@PostMapping("deptGetDeviceAndMonitor")
|
||||
@ApiOperation("根据单位获取装置以及监测点")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiImplicitParam(name = "deptGetLineParam", value = "请求体", required = true)
|
||||
public HttpResult<List<DeptGetDeviceDTO>> deptGetDeviceAndMonitor(@RequestBody @Validated DeptGetLineParam deptGetLineParam) {
|
||||
TimeInterval timer = new TimeInterval();
|
||||
@@ -169,6 +181,7 @@ public class CommTerminalController extends BaseController {
|
||||
*/
|
||||
@PostMapping("substationGetLine")
|
||||
@ApiOperation("根据电站获取所有监测点")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiImplicitParam(name = "substationId", value = "请求体", required = true)
|
||||
public HttpResult<LineDevGetBandDTO> substationGetLine(@RequestParam("substationId")String substationId) {
|
||||
TimeInterval timer = new TimeInterval();
|
||||
@@ -186,6 +199,7 @@ public class CommTerminalController extends BaseController {
|
||||
*/
|
||||
@PostMapping("busBarGetLine")
|
||||
@ApiOperation("根据母线id获取监测点信息")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiImplicitParam(name = "busBarId", value = "请求体", required = true)
|
||||
public HttpResult<LineDevGetBandDTO> busBarGetLine(@RequestParam("busBarId")String busBarId) {
|
||||
TimeInterval timer = new TimeInterval();
|
||||
@@ -229,4 +243,21 @@ public class CommTerminalController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据监测点集合获取监测点详情
|
||||
* @author cdf
|
||||
* @date 2023/9/21
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getMonitorDetailList")
|
||||
@ApiOperation("根据监测点集合获取监测点详情")
|
||||
@ApiImplicitParam(name = "list", value = "监测点集合")
|
||||
public HttpResult<List<LineDevGetDTO>> getMonitorDetailList(@RequestBody List<String> list) {
|
||||
String methodDescribe = getMethodDescribe("getMonitorDetailList");
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, lineMapper.getMonitorListDetail(list), methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateTime;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.device.pq.pojo.advanced.UpDevVO;
|
||||
@@ -436,6 +437,13 @@ public interface LineMapper extends BaseMapper<Line> {
|
||||
List<LineDevGetDTO> getLineBySubStation(@Param("subId") String subId);
|
||||
|
||||
|
||||
/**
|
||||
* 根据监测点集合获取监测详细信息
|
||||
* @author cdf
|
||||
* @date 2023/9/20
|
||||
*/
|
||||
List<LineDevGetDTO> getMonitorListDetail(@Param("monitorIds") List<String> monitorIds);
|
||||
|
||||
/**
|
||||
* 根据条件进行监测筛选出监测点id
|
||||
*
|
||||
|
||||
@@ -1105,6 +1105,20 @@
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
<select id="getMonitorListDetail" resultType="LineDevGetDTO">
|
||||
select line.id pointId,dev.id devId,0 type,1 lineType,lineDetail.Time_Interval interval
|
||||
from pq_line line
|
||||
inner join pq_line_detail lineDetail on line.id = lineDetail.id
|
||||
inner join pq_line subv on line.pid = subv.id
|
||||
inner join pq_line dev on subv.pid = dev.id
|
||||
where line.id in
|
||||
<foreach collection="monitorIds" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getLineByIDs" resultType="java.lang.String">
|
||||
SELECT DISTINCT
|
||||
line.id
|
||||
|
||||
@@ -36,6 +36,11 @@ public interface CommTerminalService {
|
||||
*/
|
||||
List<DeptGetChildrenMoreDTO> deptGetLine(DeptGetLineParam deptGetLineParam);
|
||||
|
||||
List<DeptGetChildrenMoreDTO> deptGetLineByIdList(List<String> monitorIds);
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据单位获取所有变电站
|
||||
* @author cdf
|
||||
|
||||
@@ -18,9 +18,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@@ -35,6 +33,7 @@ import java.util.stream.Stream;
|
||||
@RequiredArgsConstructor
|
||||
public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
|
||||
//redis前缀
|
||||
private final String commTerminal = "commTerminal#";
|
||||
|
||||
private final DeptLineService deptLineService;
|
||||
@@ -94,13 +93,27 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
lineList.addAll(map.get(i));
|
||||
}
|
||||
});
|
||||
deptGetChildrenMoreDTO.setLineBaseList(lineList);
|
||||
|
||||
//去重
|
||||
ArrayList<LineDevGetDTO> collect = lineList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
||||
Comparator.comparing(LineDevGetDTO::getPointId)
|
||||
)), ArrayList::new));
|
||||
|
||||
deptGetChildrenMoreDTO.setLineBaseList(collect);
|
||||
}
|
||||
result.add(deptGetChildrenMoreDTO);
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DeptGetChildrenMoreDTO> deptGetLineByIdList(List<String> monitorIds) {
|
||||
List<DeptGetChildrenMoreDTO> result = new ArrayList<>();
|
||||
|
||||
lineMapper.getMonitorListDetail(monitorIds);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<DeptGetSubStationDTO> deptSubStation(DeptGetLineParam deptGetLineParam) {
|
||||
|
||||
Reference in New Issue
Block a user