技术监督用户信息迁移

This commit is contained in:
wr
2026-03-05 19:32:03 +08:00
parent 94037d588b
commit eec2560fd2
45 changed files with 1127 additions and 212 deletions

View File

@@ -1,6 +1,5 @@
package com.njcn.device.pq.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam;
import com.njcn.device.pq.pojo.po.DataVerify;
@@ -10,7 +9,6 @@ import com.njcn.device.pq.pojo.vo.dataClean.PowerQualityIndicatorsVO;
import com.njcn.device.pq.pojo.vo.dataClean.VerifyMonitorVO;
import java.util.List;
import java.util.Map;
/**
* <p>
@@ -22,19 +20,6 @@ import java.util.Map;
*/
public interface IDataVerifyService extends IService<DataVerify> {
VerifyMonitorVO getMonitorVerifyData(MonitorBaseParam monitorBaseParam);
List<PowerQualityIndicatorsVO> getMonitorVerifyDay(MonitorBaseParam monitorBaseParam);
List<DetailAbnormalVO> monitorAbnormalTable(MonitorBaseParam monitorBaseParam);
List<DetailAbnormalVO.DetailAbnormalInnerVO> monitorAbnormalTableDetail(MonitorBaseParam monitorBaseParam);
VerifyMonitorVO getMonitorLimitData(MonitorBaseParam monitorBaseParam);
List<PowerQualityIndicatorsVO> getMonitorLimitDataDay(MonitorBaseParam monitorBaseParam);
@@ -43,6 +28,5 @@ public interface IDataVerifyService extends IService<DataVerify> {
DetailAbnormalVO.DetailLimitCountVO monitorLimitTableDetail(MonitorBaseParam monitorBaseParam);
DetailAbnormalVO.Assess limitTableDetail(MonitorBaseParam monitorBaseParam);
}

View File

@@ -31,13 +31,11 @@ import com.njcn.device.pq.mapper.DataVerifyMapper;
import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam;
import com.njcn.device.pq.pojo.po.DataVerify;
import com.njcn.device.pq.pojo.po.DeptLine;
import com.njcn.device.pq.pojo.po.PqDataVerifyBak;
import com.njcn.device.pq.pojo.vo.AreaLineInfoVO;
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
import com.njcn.device.pq.pojo.vo.dataClean.*;
import com.njcn.device.pq.service.CommTerminalService;
import com.njcn.device.pq.service.IDataVerifyService;
import com.njcn.supervision.api.UserLedgerFeignClient;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.DictTreeFeignClient;
import com.njcn.system.enums.DicDataEnum;
@@ -51,7 +49,6 @@ import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.function.Function;
@@ -76,7 +73,6 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
private final CommTerminalService commTerminalService;
private final LineMapper lineMapper;
private final DictTreeFeignClient dictTreeFeignClient;
private final UserLedgerFeignClient userLedgerFeignClient;
private final PqReasonableRangeFeignClient pqReasonableRangeFeignClient;
private final DataLimitTargetFeignClient dataLimitTargetFeignClient;
private final DataLimitRateFeignClient dataLimitRateFeignClient;
@@ -86,121 +82,6 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
private final DeptLineService deptLineService;
@Override
public VerifyMonitorVO getMonitorVerifyData(MonitorBaseParam monitorBaseParam) {
List<String> monitorIds = commTerminalService.getRunMonitorByDept(monitorBaseParam);
if (CollUtil.isEmpty(monitorIds)) {
throw new BusinessException(DeviceResponseEnum.QUERY_LINE_DATA_EMPTY);
}
List<DataVerify> dataVerifyList = commQuery(monitorIds, monitorBaseParam);
VerifyMonitorVO verifyMonitorVO = new VerifyMonitorVO();
verifyMonitorVO.setRunNum(monitorIds.size());
verifyMonitorVO.setAbnormalNum(dataVerifyList.stream().collect(Collectors.groupingBy(DataVerify::getLineId)).size());
verifyMonitorVO.setMapList(getRangeAbnormalMonitor(monitorBaseParam, dataVerifyList));
verifyMonitorVO.setTargetList(getAbnormalTarget(dataVerifyList));
verifyMonitorVO.setMonitorAlarmInfo(getAbnormalTable(dataVerifyList, monitorBaseParam));
return verifyMonitorVO;
}
@Override
public List<PowerQualityIndicatorsVO> getMonitorVerifyDay(MonitorBaseParam monitorBaseParam) {
List<String> monitorIds = commTerminalService.getRunMonitorByDept(monitorBaseParam);
List<DataVerify> dataVerifyList = commQuery(monitorIds, monitorBaseParam);
return getAbnormalTable(dataVerifyList, monitorBaseParam);
}
@Override
public List<DetailAbnormalVO> monitorAbnormalTable(MonitorBaseParam monitorBaseParam) {
List<DetailAbnormalVO> result = new ArrayList<>();
List<LineDevGetDTO> lineDetailList = lineMapper.getMonitorListDetail(monitorBaseParam.getMonitorIds());
Map<String, LineDevGetDTO> lineDetailMap = lineDetailList.stream().collect(Collectors.toMap(LineDevGetDTO::getPointId, Function.identity()));
LambdaQueryWrapper<DataVerify> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.between(DataVerify::getTime, DateUtil.beginOfDay(DateUtil.parse(monitorBaseParam.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(monitorBaseParam.getSearchEndTime())))
.in(DataVerify::getLineId, monitorBaseParam.getMonitorIds()).orderByAsc(DataVerify::getTime);
if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
String[] target = monitorBaseParam.getTargetKey().split(SEPARATOR);
lambdaQueryWrapper.eq(DataVerify::getIndexCode, target[0]).eq(DataVerify::getIndexTable, target[1]);
}
List<DataVerify> dataVerifyList = this.list(lambdaQueryWrapper);
Map<String, List<DataVerify>> dataMap = dataVerifyList.stream().collect(Collectors.groupingBy(it -> it.getTime().format(DATE_FORMAT)));
dataMap.forEach((dateStr, data) -> {
Map<String, List<DataVerify>> lineMap = data.stream().collect(Collectors.groupingBy(DataVerify::getLineId));
lineMap.forEach((lineId, lineList) -> {
long count = lineList.stream().map(DataVerify::getTime).distinct().count();
DetailAbnormalVO detailAbnormalVO = new DetailAbnormalVO();
LineDevGetDTO lineDevGetDTO = lineDetailMap.get(lineId);
detailAbnormalVO.setTimeSum("");
detailAbnormalVO.setDate(dateStr);
detailAbnormalVO.setMonitorName(lineDevGetDTO.getPointName());
detailAbnormalVO.setMonitorId(lineDevGetDTO.getPointId());
detailAbnormalVO.setTargetKey(monitorBaseParam.getTargetKey());
result.add(detailAbnormalVO);
});
});
return result;
}
@Override
public List<DetailAbnormalVO.DetailAbnormalInnerVO> monitorAbnormalTableDetail(MonitorBaseParam monitorBaseParam) {
Map<String, PqReasonableRangeDto> dtoMap = getStandRange();
List<DetailAbnormalVO.DetailAbnormalInnerVO> result = new ArrayList<>();
LambdaQueryWrapper<DataVerify> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.between(DataVerify::getTime, DateUtil.beginOfDay(DateUtil.parse(monitorBaseParam.getSearchBeginTime())), DateUtil.endOfDay(DateUtil.parse(monitorBaseParam.getSearchBeginTime())))
.in(DataVerify::getLineId, monitorBaseParam.getMonitorIds()).orderByAsc(DataVerify::getTime);
if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
String[] queryTarget = monitorBaseParam.getTargetKey().split(SEPARATOR);
lambdaQueryWrapper.eq(DataVerify::getIndexCode, queryTarget[0]).eq(DataVerify::getIndexTable, queryTarget[1]);
}
List<DataVerify> dataVerifyList = this.list(lambdaQueryWrapper);
Map<LocalDateTime, List<DataVerify>> listMap = dataVerifyList.stream().collect(Collectors.groupingBy(DataVerify::getTime, TreeMap::new,
Collectors.toList()));
listMap.forEach((time, timeList) -> {
Map<String, List<DataVerify>> indexMap = timeList.stream().collect(Collectors.groupingBy(it -> it.getIndexCode() + SEPARATOR + it.getIndexTable() + SEPARATOR + it.getIndexName()));
indexMap.forEach((target, list) -> {
String[] temKey = target.split(SEPARATOR);
PqReasonableRangeDto pqReasonableRangeDto = dtoMap.get(temKey[0] + SEPARATOR + temKey[1]);
String unit;
if (StrUtil.isNotBlank(pqReasonableRangeDto.getUnit())) {
unit = pqReasonableRangeDto.getUnit();
} else {
unit = "";
}
Map<String, List<DataVerify>> phaseMap = list.stream().collect(Collectors.groupingBy(DataVerify::getPhasicType));
phaseMap.forEach((phaseKey, valueList) -> {
DetailAbnormalVO.DetailAbnormalInnerVO vo = new DetailAbnormalVO.DetailAbnormalInnerVO();
vo.setTime(time.format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
vo.setTargetName(temKey[2]);
vo.setTargetKey(temKey[0] + temKey[1]);
vo.setPhaseType(phaseKey);
vo.setRangeDesc(pqReasonableRangeDto.getMinValue() + unit + " ~ " + pqReasonableRangeDto.getMaxValue() + unit);
valueList.forEach(it -> {
switch (it.getValueType()) {
case "AVG":
vo.setAvg(it.getAbnormalValue().toString());
break;
case "MAX":
vo.setMax(it.getAbnormalValue().toString());
break;
case "MIN":
vo.setMin(it.getAbnormalValue().toString());
break;
case "CP95":
vo.setCp95(it.getAbnormalValue().toString());
break;
}
});
result.add(vo);
});
});
});
return result;
}
@Override
public VerifyMonitorVO getMonitorLimitData(MonitorBaseParam monitorBaseParam) {
List<String> monitorIds = commTerminalService.getRunMonitorByDept(monitorBaseParam);

View File

@@ -29,10 +29,10 @@ import com.njcn.device.pq.pojo.vo.*;
import com.njcn.device.pq.service.DeviceRunEvaluateService;
import com.njcn.device.pq.service.IPqDataVerifyCountService;
import com.njcn.device.rstatintegrity.mapper.RStatIntegrityDMapper;
import com.njcn.device.userledger.service.UserLedgerService;
import com.njcn.harmonic.api.RStatLimitRateDClient;
import com.njcn.harmonic.pojo.param.RStatLimitQueryParam;
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
import com.njcn.supervision.api.UserLedgerFeignClient;
import com.njcn.supervision.pojo.vo.user.NewUserReportVO;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataTypeEnum;
@@ -64,7 +64,7 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
private final RStatOnlinerateDMapper onLineRateDMapper;
private final RStatIntegrityDMapper integrityDMapper;
private final LineMapper lineMapper;
private final UserLedgerFeignClient userLedgerFeignClient;
private final UserLedgerService userLedgerService;
private final DeptLineService deptLineService;
private final GeneralDeviceService deviceService;
private final OnLineRateMapper onLineRateMapper;
@@ -523,7 +523,7 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
private Map<String, NewUserReportVO> getUserLedgerByObjIds(List<String> objIds) {
List<NewUserReportVO> userReportVOList = userLedgerFeignClient.getUserReportByIds(objIds).getData();
List<NewUserReportVO> userReportVOList = userLedgerService.getUserReportByIds(objIds);
return userReportVOList.stream().collect(Collectors.toMap(NewUserReportVO::getId, Function.identity()));
}

View File

@@ -3,7 +3,6 @@ package com.njcn.device.pq.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.config.GeneralInfo;
@@ -28,8 +27,8 @@ import com.njcn.device.pq.pojo.vo.RStatIntegrityVO;
import com.njcn.device.pq.service.LineIntegrityDataService;
import com.njcn.device.pq.utils.DataStatisticsUtil;
import com.njcn.device.rstatintegrity.mapper.RStatIntegrityDMapper;
import com.njcn.device.userledger.service.UserLedgerService;
import com.njcn.harmonic.pojo.vo.IntegrityIconVO;
import com.njcn.supervision.api.UserLedgerFeignClient;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.vo.user.UserLedgerVO;
import com.njcn.system.pojo.enums.StatisticsEnum;
@@ -38,8 +37,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.Collator;
import java.util.*;
import java.util.function.Function;
@@ -59,18 +56,12 @@ import java.util.stream.Stream;
public class LineIntegrityDataServiceImpl extends ServiceImpl<LineIntegrityDataMapper, LineIntegrityDataVO> implements LineIntegrityDataService {
private final LineIntegrityDataMapper lineIntegrityDataMapper;
private final AlarmClient alarmClient;
private final GeneralDeviceService generalDeviceService;
private final RStatIntegrityDMapper rStatIntegrityDMapper;
private final GeneralInfo generalInfo;
private final GeneralDeviceInfoClient generalDeviceInfoClient;
private final UserLedgerFeignClient userLedgerFeignClient;
private final UserLedgerService userLedgerService;
/**
* 监测点数据完整性
@@ -88,7 +79,7 @@ public class LineIntegrityDataServiceImpl extends ServiceImpl<LineIntegrityDataM
if (CollectionUtil.isNotEmpty(generalDeviceDTOList)) {
Map<String, UserLedgerVO> userLedgerVOMap;
if (lineIntegrityDataParam.isUserLedger()) {
List<UserLedgerVO> userLedgerVOList = userLedgerFeignClient.selectUserList(new UserReportParam()).getData();
List<UserLedgerVO> userLedgerVOList = userLedgerService.selectUserList(new UserReportParam());
userLedgerVOMap = userLedgerVOList.stream().collect(Collectors.toMap(UserLedgerVO::getId, Function.identity()));
} else {
userLedgerVOMap = new HashMap<>();

View File

@@ -45,7 +45,6 @@ import com.njcn.device.pq.service.IPqDataVerifyBakService;
import com.njcn.device.pq.utils.DataLineExcelUtil;
import com.njcn.device.rstatintegrity.mapper.RStatIntegrityDMapper;
import com.njcn.oss.utils.FileStorageUtil;
import com.njcn.supervision.api.UserLedgerFeignClient;
import com.njcn.system.api.DictTreeFeignClient;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -86,7 +85,6 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
private final PqReasonableRangeFeignClient pqReasonableRangeFeignClient;
private final LineMapper lineMapper;
private final DictTreeFeignClient dictTreeFeignClient;
private final UserLedgerFeignClient userLedgerFeignClient;
private final FileStorageUtil fileStorageUtil;
private final DeptLineService deptLineService;
private final GeneralDeviceService deviceService;

View File

@@ -25,7 +25,7 @@ import com.njcn.device.pq.pojo.vo.RunManageVO;
import com.njcn.device.pq.pojo.vo.RunTimeVO;
import com.njcn.device.pq.pojo.vo.TerminalLedgerVO;
import com.njcn.device.pq.service.RunManageService;
import com.njcn.supervision.api.UserLedgerFeignClient;
import com.njcn.device.userledger.service.UserLedgerService;
import com.njcn.supervision.pojo.vo.user.NewUserReportVO;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataTypeEnum;
@@ -70,7 +70,7 @@ public class RunManageServiceImpl implements RunManageService {
private final LineDetailMapper lineDetailMapper;
private final UserLedgerFeignClient userLedgerFeignClient;
private final UserLedgerService userLedgerService;
@Override
public List<RunManageVO> getLineLedger(RunManageParam runManageParam) {
@@ -89,7 +89,7 @@ public class RunManageServiceImpl implements RunManageService {
resultList = deviceMapper.getRunManageList(lineIndexes, runManageParam.getComFlag(),Objects.isNull(runManageParam.getRunFlag())?new ArrayList<>():runManageParam.getRunFlag(), Objects.isNull(runManageParam.getSearchValue())?null:runManageParam.getSearchValue());
if(CollUtil.isNotEmpty(resultList)){
List<String> objIds = resultList.stream().map(RunManageVO::getObjId).collect(Collectors.toList());
Map<String,NewUserReportVO> runManageVOMap = userLedgerFeignClient.getUserReportByIds(objIds).getData().stream().collect(Collectors.toMap(NewUserReportVO::getId,Function.identity()));
Map<String,NewUserReportVO> runManageVOMap = userLedgerService.getUserReportByIds(objIds).stream().collect(Collectors.toMap(NewUserReportVO::getId,Function.identity()));
resultList.forEach(it->{
if(StrUtil.isNotBlank(it.getObjId())){
if(runManageVOMap.containsKey(it.getObjId())){

View File

@@ -23,14 +23,13 @@ import com.njcn.device.pq.pojo.po.LineDetail;
import com.njcn.device.pq.pojo.vo.DeptLineTreeVO;
import com.njcn.device.pq.pojo.vo.TerminalTree;
import com.njcn.device.pq.service.TerminalTreeService;
import com.njcn.supervision.api.UserLedgerFeignClient;
import com.njcn.device.userledger.service.UserLedgerService;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.vo.user.UserLedgerVO;
import com.njcn.system.api.AreaFeignClient;
import com.njcn.system.pojo.enums.StatisticsEnum;
import com.njcn.system.pojo.po.Area;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
import com.njcn.web.utils.RequestUtil;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@@ -66,7 +65,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
private final TreeMapper treeMapper;
private final UserLedgerFeignClient userLedgerFeignClient;
private final UserLedgerService userLedgerService;
/**
* 台账页面终端树
@@ -114,7 +113,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
UserReportParam userReportParam = new UserReportParam();
List<UserLedgerVO> userReportPOList = userLedgerFeignClient.selectUserList(userReportParam).getData();
List<UserLedgerVO> userReportPOList = userLedgerService.selectUserList(userReportParam);
userReportPOList = userReportPOList.stream().filter(it -> StrUtil.isNotBlank(it.getStationId())).collect(Collectors.toList());
Map<String, List<UserLedgerVO>> userMap = userReportPOList.stream().collect(Collectors.groupingBy(UserLedgerVO::getStationId));
@@ -272,7 +271,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
} else {
// 获取用户
UserReportParam userReportParam = new UserReportParam();
List<UserLedgerVO> userReportPOList = userLedgerFeignClient.selectUserList(userReportParam).getData();
List<UserLedgerVO> userReportPOList = userLedgerService.selectUserList(userReportParam);
userReportPOList = userReportPOList.stream().filter(it -> StrUtil.isNotBlank(it.getStationId())).collect(Collectors.toList());
Map<String, UserLedgerVO> userMap = userReportPOList.stream().collect(Collectors.toMap(UserLedgerVO::getId, Function.identity()));