调整异常数据界面业务
This commit is contained in:
@@ -565,7 +565,7 @@ public class SecondaryEvaluationServiceImpl implements SecondaryEvaluationServic
|
|||||||
unblance.add(evaluationResult);
|
unblance.add(evaluationResult);
|
||||||
|
|
||||||
evaluationResult = new AssessResultVO.EvaluationResult();
|
evaluationResult = new AssessResultVO.EvaluationResult();
|
||||||
evaluationResult.setData(result.getApproUnblance().multiply(BigDecimal.valueOf(200)));
|
evaluationResult.setData(result.getApproUnblance());
|
||||||
evaluationResult.setLimitData(overLimit.getUnblance());
|
evaluationResult.setLimitData(overLimit.getUnblance());
|
||||||
evaluationResult.setIsQualified(NumberUtil.isLess(evaluationResult.getData(), evaluationResult.getLimitData()));
|
evaluationResult.setIsQualified(NumberUtil.isLess(evaluationResult.getData(), evaluationResult.getLimitData()));
|
||||||
unblance.add(evaluationResult);
|
unblance.add(evaluationResult);
|
||||||
|
|||||||
@@ -41,4 +41,6 @@ public class MonitorBaseParam extends BaseParam {
|
|||||||
@ApiModelProperty(value = "监测点运行状态")
|
@ApiModelProperty(value = "监测点运行状态")
|
||||||
private Integer lineRunFlag;
|
private Integer lineRunFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "异常天数时间")
|
||||||
|
private List<String> time;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class DetailAbnormalVO {
|
|||||||
|
|
||||||
private String date;
|
private String date;
|
||||||
|
|
||||||
|
private List<String> dateList;
|
||||||
|
|
||||||
private String monitorName;
|
private String monitorName;
|
||||||
|
|
||||||
private String bdName;
|
private String bdName;
|
||||||
@@ -58,6 +60,15 @@ public class DetailAbnormalVO {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class DetailAbnormalCountVO {
|
||||||
|
|
||||||
|
private Integer timeSum;
|
||||||
|
private Integer errCount;
|
||||||
|
private List<DetailAbnormalInnerVO> time;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class DetailLimitInnerVO{
|
public static class DetailLimitInnerVO{
|
||||||
|
|
||||||
|
|||||||
@@ -86,9 +86,9 @@ public class DataVerifyController extends BaseController {
|
|||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
@PostMapping("/monitorAbnormalTableDetail")
|
@PostMapping("/monitorAbnormalTableDetail")
|
||||||
@ApiOperation("弹框-获取异常监测点列表详情")
|
@ApiOperation("弹框-获取异常监测点列表详情")
|
||||||
public HttpResult<List<DetailAbnormalVO.DetailAbnormalInnerVO>> monitorAbnormalTableDetail(@RequestBody MonitorBaseParam monitorBaseParam){
|
public HttpResult<DetailAbnormalVO.DetailAbnormalCountVO> monitorAbnormalTableDetail(@RequestBody MonitorBaseParam monitorBaseParam) {
|
||||||
String methodDescribe = getMethodDescribe("monitorAbnormalTableDetail");
|
String methodDescribe = getMethodDescribe("monitorAbnormalTableDetail");
|
||||||
List<DetailAbnormalVO.DetailAbnormalInnerVO> list = iPqDataVerifyBakService.monitorAbnormalTableDetail(monitorBaseParam);
|
DetailAbnormalVO.DetailAbnormalCountVO list = iPqDataVerifyBakService.monitorAbnormalTableDetail(monitorBaseParam);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,8 +27,7 @@ public interface IPqDataVerifyBakService extends IService<PqDataVerifyBak> {
|
|||||||
List<DetailAbnormalVO> monitorAbnormalTable(MonitorBaseParam monitorBaseParam);
|
List<DetailAbnormalVO> monitorAbnormalTable(MonitorBaseParam monitorBaseParam);
|
||||||
|
|
||||||
|
|
||||||
|
DetailAbnormalVO.DetailAbnormalCountVO monitorAbnormalTableDetail(MonitorBaseParam monitorBaseParam);
|
||||||
List<DetailAbnormalVO.DetailAbnormalInnerVO> monitorAbnormalTableDetail(MonitorBaseParam monitorBaseParam);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -672,6 +672,7 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
|
|||||||
processHarmonicTarget(dto, targetMap, DicDataEnum.HARMONIC_CURRENT.getCode(), "iharm", 2, 25, result);
|
processHarmonicTarget(dto, targetMap, DicDataEnum.HARMONIC_CURRENT.getCode(), "iharm", 2, 25, result);
|
||||||
processHarmonicTarget(dto, targetMap, DicDataEnum.INTERHARMONIC_VOLTAGE.getCode(), "inuharm", 1, 16, result);
|
processHarmonicTarget(dto, targetMap, DicDataEnum.INTERHARMONIC_VOLTAGE.getCode(), "inuharm", 1, 16, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processStandardTarget(DataLimitRateDetailDto dto, Map<String, DictData> targetMap,
|
private void processStandardTarget(DataLimitRateDetailDto dto, Map<String, DictData> targetMap,
|
||||||
String targetCode, String data,
|
String targetCode, String data,
|
||||||
List<DetailAbnormalVO.DetailLimitInnerVO> result) {
|
List<DetailAbnormalVO.DetailLimitInnerVO> result) {
|
||||||
@@ -976,7 +977,7 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
|
|||||||
List<LocalDate> dateList = list.stream().map(it -> it.getTime().toLocalDate()).distinct().sorted(Comparator.comparing(Function.identity())).collect(Collectors.toList());
|
List<LocalDate> dateList = list.stream().map(it -> it.getTime().toLocalDate()).distinct().sorted(Comparator.comparing(Function.identity())).collect(Collectors.toList());
|
||||||
processTable(monitorBaseParam, dateList, result, key);
|
processTable(monitorBaseParam, dateList, result, key);
|
||||||
});
|
});
|
||||||
dealTableResult(result);
|
dealTableResult(result, monitorBaseParam.getSearchValue());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -988,7 +989,7 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
|
|||||||
List<LocalDate> dateList = list.stream().map(DataLimitTargetDto::getTime).distinct().sorted(Comparator.comparing(Function.identity())).collect(Collectors.toList());
|
List<LocalDate> dateList = list.stream().map(DataLimitTargetDto::getTime).distinct().sorted(Comparator.comparing(Function.identity())).collect(Collectors.toList());
|
||||||
processTable(monitorBaseParam, dateList, result, key);
|
processTable(monitorBaseParam, dateList, result, key);
|
||||||
});
|
});
|
||||||
dealTableResult(result);
|
dealTableResult(result, monitorBaseParam.getSearchValue());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1015,34 +1016,40 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void dealTableResult(List<PowerQualityIndicatorsVO> result) {
|
private void dealTableResult(List<PowerQualityIndicatorsVO> result, String searchValue) {
|
||||||
if (CollUtil.isNotEmpty(result)) {
|
if (CollUtil.isNotEmpty(result)) {
|
||||||
List<SysDicTreePO> dicTreePOList = dictTreeFeignClient.queryAllByType(Integer.valueOf(DicDataEnum.Obj_Type.getCode())).getData();
|
// List<SysDicTreePO> dicTreePOList = dictTreeFeignClient.queryAllByType(Integer.valueOf(DicDataEnum.Obj_Type.getCode())).getData();
|
||||||
Map<String, SysDicTreePO> sysDicTreePOMap = dicTreePOList.stream().collect(Collectors.toMap(SysDicTreePO::getId, Function.identity()));
|
// Map<String, SysDicTreePO> sysDicTreePOMap = dicTreePOList.stream().collect(Collectors.toMap(SysDicTreePO::getId, Function.identity()));
|
||||||
List<String> ids = result.stream().map(PowerQualityIndicatorsVO::getMonitorId).distinct().collect(Collectors.toList());
|
List<String> ids = result.stream().map(PowerQualityIndicatorsVO::getMonitorId).distinct().collect(Collectors.toList());
|
||||||
List<AreaLineInfoVO> areaLineInfoVOList = lineMapper.getBaseLineAreaInfo(ids, null, null);
|
List<AreaLineInfoVO> areaLineInfoVOList = lineMapper.getBaseLineAreaInfo(ids, searchValue, null);
|
||||||
Map<String, AreaLineInfoVO> areaMap = areaLineInfoVOList.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity()));
|
Map<String, PowerQualityIndicatorsVO> areaMap = result.stream().collect(Collectors.toMap(PowerQualityIndicatorsVO::getMonitorId, Function.identity()));
|
||||||
|
|
||||||
List<String> objIds = areaLineInfoVOList.stream().map(AreaLineInfoVO::getObjId).distinct().collect(Collectors.toList());
|
// List<String> objIds = areaLineInfoVOList.stream().map(AreaLineInfoVO::getObjId).distinct().collect(Collectors.toList());
|
||||||
List<NewUserReportVO> userLedgerVOList = userLedgerFeignClient.getUserReportByIds(objIds).getData();
|
// List<NewUserReportVO> userLedgerVOList = userLedgerFeignClient.getUserReportByIds(objIds).getData();
|
||||||
Map<String, NewUserReportVO> userMap = userLedgerVOList.stream().collect(Collectors.toMap(NewUserReportVO::getId, Function.identity()));
|
// Map<String, NewUserReportVO> userMap = userLedgerVOList.stream().collect(Collectors.toMap(NewUserReportVO::getId, Function.identity()));
|
||||||
result.forEach(it -> {
|
List<PowerQualityIndicatorsVO> info = new ArrayList<>();
|
||||||
if (areaMap.containsKey(it.getMonitorId())) {
|
for (AreaLineInfoVO lineDetail : areaLineInfoVOList) {
|
||||||
AreaLineInfoVO areaLineInfoVO = areaMap.get(it.getMonitorId());
|
if (areaMap.containsKey(lineDetail.getLineId())) {
|
||||||
it.setMonitorName(areaLineInfoVO.getLineName());
|
PowerQualityIndicatorsVO it = areaMap.get(lineDetail.getLineId());
|
||||||
it.setStationName(areaLineInfoVO.getSubName());
|
it.setMonitorName(lineDetail.getLineName());
|
||||||
it.setDevName(areaLineInfoVO.getDeviceName());
|
it.setStationName(lineDetail.getSubName());
|
||||||
it.setVoltageLevel(areaLineInfoVO.getVoltageScale());
|
it.setDevName(lineDetail.getDeviceName());
|
||||||
it.setIp(Base64.encode(areaLineInfoVO.getIp()));
|
it.setVoltageLevel(lineDetail.getVoltageScale());
|
||||||
it.setManufacturer(areaLineInfoVO.getManufacturer());
|
it.setIp(Base64.encode(lineDetail.getIp()));
|
||||||
if (sysDicTreePOMap.containsKey(areaLineInfoVO.getSmallObjType())) {
|
it.setManufacturer(lineDetail.getManufacturer());
|
||||||
it.setObjType(sysDicTreePOMap.get(areaLineInfoVO.getSmallObjType()).getName());
|
it.setObjType(lineDetail.getLoadType());
|
||||||
}
|
it.setObjName(lineDetail.getObjName());
|
||||||
if (userMap.containsKey(areaLineInfoVO.getObjId())) {
|
info.add(it);
|
||||||
it.setObjName(userMap.get(areaLineInfoVO.getObjId()).getProjectName());
|
// if (sysDicTreePOMap.containsKey(areaLineInfoVO.getSmallObjType())) {
|
||||||
|
// it.setObjType(sysDicTreePOMap.get(areaLineInfoVO.getSmallObjType()).getName());
|
||||||
|
// }
|
||||||
|
// if (userMap.containsKey(areaLineInfoVO.getObjId())) {
|
||||||
|
// it.setObjName(userMap.get(areaLineInfoVO.getObjId()).getProjectName());
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
result.clear();
|
||||||
|
result.addAll(info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,10 +33,7 @@ import com.njcn.device.pq.service.CommTerminalService;
|
|||||||
import com.njcn.device.pq.service.IPqDataVerifyBakService;
|
import com.njcn.device.pq.service.IPqDataVerifyBakService;
|
||||||
import com.njcn.oss.utils.FileStorageUtil;
|
import com.njcn.oss.utils.FileStorageUtil;
|
||||||
import com.njcn.supervision.api.UserLedgerFeignClient;
|
import com.njcn.supervision.api.UserLedgerFeignClient;
|
||||||
import com.njcn.supervision.pojo.vo.user.NewUserReportVO;
|
|
||||||
import com.njcn.system.api.DictTreeFeignClient;
|
import com.njcn.system.api.DictTreeFeignClient;
|
||||||
import com.njcn.system.enums.DicDataEnum;
|
|
||||||
import com.njcn.system.pojo.po.SysDicTreePO;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -94,7 +91,6 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
|
|||||||
} else {
|
} else {
|
||||||
verifyMonitorVO.setRunNum(0);
|
verifyMonitorVO.setRunNum(0);
|
||||||
verifyMonitorVO.setAbnormalNum(0);
|
verifyMonitorVO.setAbnormalNum(0);
|
||||||
|
|
||||||
verifyMonitorVO.setMapList(getRangeAbnormalMonitor(monitorBaseParam, new ArrayList<>()));
|
verifyMonitorVO.setMapList(getRangeAbnormalMonitor(monitorBaseParam, new ArrayList<>()));
|
||||||
verifyMonitorVO.setTargetList(getAbnormalTarget(new ArrayList<>()));
|
verifyMonitorVO.setTargetList(getAbnormalTarget(new ArrayList<>()));
|
||||||
verifyMonitorVO.setMonitorAlarmInfo(getAbnormalTable(new ArrayList<>(), monitorBaseParam));
|
verifyMonitorVO.setMonitorAlarmInfo(getAbnormalTable(new ArrayList<>(), monitorBaseParam));
|
||||||
@@ -111,7 +107,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
|
|||||||
List<LocalDate> dateList = list.stream().map(PqDataVerifyBak::getTimeId).sorted(Comparator.comparing(Function.identity())).collect(Collectors.toList());
|
List<LocalDate> dateList = list.stream().map(PqDataVerifyBak::getTimeId).sorted(Comparator.comparing(Function.identity())).collect(Collectors.toList());
|
||||||
processTable(monitorBaseParam, dateList, result, key);
|
processTable(monitorBaseParam, dateList, result, key);
|
||||||
});
|
});
|
||||||
dealTableResult(result);
|
dealTableResult(result, monitorBaseParam.getSearchValue());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,34 +133,40 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void dealTableResult(List<PowerQualityIndicatorsVO> result) {
|
private void dealTableResult(List<PowerQualityIndicatorsVO> result, String searchValue) {
|
||||||
if (CollUtil.isNotEmpty(result)) {
|
if (CollUtil.isNotEmpty(result)) {
|
||||||
List<SysDicTreePO> dicTreePOList = dictTreeFeignClient.queryAllByType(Integer.valueOf(DicDataEnum.Obj_Type.getCode())).getData();
|
// List<SysDicTreePO> dicTreePOList = dictTreeFeignClient.queryAllByType(Integer.valueOf(DicDataEnum.Obj_Type.getCode())).getData();
|
||||||
Map<String, SysDicTreePO> sysDicTreePOMap = dicTreePOList.stream().collect(Collectors.toMap(SysDicTreePO::getId, Function.identity()));
|
// Map<String, SysDicTreePO> sysDicTreePOMap = dicTreePOList.stream().collect(Collectors.toMap(SysDicTreePO::getId, Function.identity()));
|
||||||
List<String> ids = result.stream().map(PowerQualityIndicatorsVO::getMonitorId).distinct().collect(Collectors.toList());
|
List<String> ids = result.stream().map(PowerQualityIndicatorsVO::getMonitorId).distinct().collect(Collectors.toList());
|
||||||
List<AreaLineInfoVO> areaLineInfoVOList = lineMapper.getBaseLineAreaInfo(ids, null, null);
|
List<AreaLineInfoVO> areaLineInfoVOList = lineMapper.getBaseLineAreaInfo(ids, searchValue, null);
|
||||||
Map<String, AreaLineInfoVO> areaMap = areaLineInfoVOList.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity()));
|
Map<String, PowerQualityIndicatorsVO> areaMap = result.stream().collect(Collectors.toMap(PowerQualityIndicatorsVO::getMonitorId, Function.identity()));
|
||||||
|
|
||||||
List<String> objIds = areaLineInfoVOList.stream().map(AreaLineInfoVO::getObjId).distinct().collect(Collectors.toList());
|
// List<String> objIds = areaLineInfoVOList.stream().map(AreaLineInfoVO::getObjId).distinct().collect(Collectors.toList());
|
||||||
List<NewUserReportVO> userLedgerVOList = userLedgerFeignClient.getUserReportByIds(objIds).getData();
|
// List<NewUserReportVO> userLedgerVOList = userLedgerFeignClient.getUserReportByIds(objIds).getData();
|
||||||
Map<String, NewUserReportVO> userMap = userLedgerVOList.stream().collect(Collectors.toMap(NewUserReportVO::getId, Function.identity()));
|
// Map<String, NewUserReportVO> userMap = userLedgerVOList.stream().collect(Collectors.toMap(NewUserReportVO::getId, Function.identity()));
|
||||||
result.forEach(it -> {
|
List<PowerQualityIndicatorsVO> info = new ArrayList<>();
|
||||||
if (areaMap.containsKey(it.getMonitorId())) {
|
for (AreaLineInfoVO lineDetail : areaLineInfoVOList) {
|
||||||
AreaLineInfoVO areaLineInfoVO = areaMap.get(it.getMonitorId());
|
if (areaMap.containsKey(lineDetail.getLineId())) {
|
||||||
it.setMonitorName(areaLineInfoVO.getLineName());
|
PowerQualityIndicatorsVO it = areaMap.get(lineDetail.getLineId());
|
||||||
it.setStationName(areaLineInfoVO.getSubName());
|
it.setMonitorName(lineDetail.getLineName());
|
||||||
it.setDevName(areaLineInfoVO.getDeviceName());
|
it.setStationName(lineDetail.getSubName());
|
||||||
it.setVoltageLevel(areaLineInfoVO.getVoltageScale());
|
it.setDevName(lineDetail.getDeviceName());
|
||||||
it.setIp(Base64.encode(areaLineInfoVO.getIp()));
|
it.setVoltageLevel(lineDetail.getVoltageScale());
|
||||||
it.setManufacturer(areaLineInfoVO.getManufacturer());
|
it.setIp(Base64.encode(lineDetail.getIp()));
|
||||||
if (sysDicTreePOMap.containsKey(areaLineInfoVO.getSmallObjType())) {
|
it.setManufacturer(lineDetail.getManufacturer());
|
||||||
it.setObjType(sysDicTreePOMap.get(areaLineInfoVO.getSmallObjType()).getName());
|
it.setObjType(lineDetail.getLoadType());
|
||||||
}
|
it.setObjName(lineDetail.getObjName());
|
||||||
if (userMap.containsKey(areaLineInfoVO.getObjId())) {
|
info.add(it);
|
||||||
it.setObjName(userMap.get(areaLineInfoVO.getObjId()).getProjectName());
|
// if (sysDicTreePOMap.containsKey(areaLineInfoVO.getSmallObjType())) {
|
||||||
|
// it.setObjType(sysDicTreePOMap.get(areaLineInfoVO.getSmallObjType()).getName());
|
||||||
|
// }
|
||||||
|
// if (userMap.containsKey(areaLineInfoVO.getObjId())) {
|
||||||
|
// it.setObjName(userMap.get(areaLineInfoVO.getObjId()).getProjectName());
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
result.clear();
|
||||||
|
result.addAll(info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -267,97 +269,29 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
List<PqDataVerifyBak> dataVerifyList = this.list(lambdaQueryWrapper);
|
List<PqDataVerifyBak> dataVerifyList = this.list(lambdaQueryWrapper);
|
||||||
for (PqDataVerifyBak pqDataVerifyBak : dataVerifyList) {
|
Map<String, List<PqDataVerifyBak>> VerifyMap = dataVerifyList.stream().collect(Collectors.groupingBy(PqDataVerifyBak::getLineId));
|
||||||
LineDetailDataVO lineDevGetDTO = lineDetailMap.get(pqDataVerifyBak.getLineId());
|
VerifyMap.forEach((key, value) -> {
|
||||||
|
LineDetailDataVO lineDevGetDTO = lineDetailMap.get(key);
|
||||||
String temBgName = "";
|
String temBgName = "";
|
||||||
if (lineDevGetDTO.getPowerFlag().equals(LineBaseEnum.POWER_FLAG.getCode())) {
|
if (lineDevGetDTO.getPowerFlag().equals(LineBaseEnum.POWER_FLAG.getCode())) {
|
||||||
temBgName = lineDevGetDTO.getBdName();
|
temBgName = lineDevGetDTO.getBdName();
|
||||||
} else if (lineDevGetDTO.getPowerFlag().equals(LineBaseEnum.POWER_FLAG_NOT.getCode())) {
|
} else if (lineDevGetDTO.getPowerFlag().equals(LineBaseEnum.POWER_FLAG_NOT.getCode())) {
|
||||||
temBgName = lineDevGetDTO.getObjName();
|
temBgName = lineDevGetDTO.getObjName();
|
||||||
}
|
}
|
||||||
try (InputStream fileStream = fileStorageUtil.getFileStream(pqDataVerifyBak.getPath())) {
|
|
||||||
JSONArray jsonArray = new JSONArray(new JSONTokener(fileStream, new JSONConfig()));
|
|
||||||
String[] errorTimeCount = {"0"};
|
|
||||||
Long[] errAllCount = {0L};
|
|
||||||
jsonArray.forEach(it -> {
|
|
||||||
JSONObject targetJson = (JSONObject) it;
|
|
||||||
if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
|
|
||||||
if (targetJson.containsKey(monitorBaseParam.getTargetKey())) {
|
|
||||||
JSONArray innerJson = targetJson.getJSONArray(monitorBaseParam.getTargetKey());
|
|
||||||
PqReasonableRangeDto dto = rangeMap.get(monitorBaseParam.getTargetKey());
|
|
||||||
if (Objects.nonNull(dto.getHarmStart()) && Objects.nonNull(dto.getHarmEnd())) {
|
|
||||||
errorTimeCount[0] = targetJson.get("errorTimes").toString();
|
|
||||||
for (Object oJson : innerJson) {
|
|
||||||
JSONObject jsonObjectTem = (JSONObject) oJson;
|
|
||||||
JSONArray list = jsonObjectTem.getJSONArray("list");
|
|
||||||
list.forEach(listItem -> {
|
|
||||||
JSONObject object = (JSONObject) listItem;
|
|
||||||
long errCount = Long.parseLong(object.get("errorCounts").toString());
|
|
||||||
errAllCount[0] += errCount;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for (Object oJson : innerJson) {
|
|
||||||
JSONObject jsonObjectTem = (JSONObject) oJson;
|
|
||||||
JSONArray list = jsonObjectTem.getJSONArray("list");
|
|
||||||
list.forEach(listItem -> {
|
|
||||||
JSONObject object = (JSONObject) listItem;
|
|
||||||
long errCount = Long.parseLong(object.get("errorCounts").toString());
|
|
||||||
errAllCount[0] += errCount;
|
|
||||||
});
|
|
||||||
errorTimeCount[0] = jsonObjectTem.get("errorTimes").toString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
rangeMap.forEach((rangeKey, val) -> {
|
|
||||||
if (targetJson.containsKey(rangeKey)) {
|
|
||||||
JSONArray innerJson = targetJson.getJSONArray(rangeKey);
|
|
||||||
for (Object oJson : innerJson) {
|
|
||||||
JSONObject jsonObjectTem = (JSONObject) oJson;
|
|
||||||
JSONArray list = jsonObjectTem.getJSONArray("list");
|
|
||||||
list.forEach(listItem -> {
|
|
||||||
JSONObject object = (JSONObject) listItem;
|
|
||||||
long errCount = Long.parseLong(object.get("errorCounts").toString());
|
|
||||||
errAllCount[0] += errCount;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (targetJson.containsKey("lineErrorTimes")) {
|
|
||||||
errorTimeCount[0] = targetJson.get("lineErrorTimes").toString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
DetailAbnormalVO detailAbnormalVO = new DetailAbnormalVO();
|
DetailAbnormalVO detailAbnormalVO = new DetailAbnormalVO();
|
||||||
detailAbnormalVO.setTimeSum(errorTimeCount[0]);
|
detailAbnormalVO.setDateList(value.stream().map(x -> x.getTimeId().format(DatePattern.NORM_DATE_FORMATTER)).collect(Collectors.toList()));
|
||||||
detailAbnormalVO.setDate(pqDataVerifyBak.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
|
|
||||||
detailAbnormalVO.setMonitorName(lineDevGetDTO.getLineName());
|
|
||||||
detailAbnormalVO.setBdName(temBgName);
|
|
||||||
detailAbnormalVO.setMonitorId(lineDevGetDTO.getLineId());
|
|
||||||
detailAbnormalVO.setTargetKey(monitorBaseParam.getTargetKey());
|
|
||||||
detailAbnormalVO.setErrCount(errAllCount[0].toString());
|
|
||||||
result.add(detailAbnormalVO);
|
|
||||||
} catch (BusinessException b) {
|
|
||||||
//文件为空时候的特殊处理
|
|
||||||
DetailAbnormalVO detailAbnormalVO = new DetailAbnormalVO();
|
|
||||||
detailAbnormalVO.setTimeSum("/");
|
|
||||||
detailAbnormalVO.setDate(pqDataVerifyBak.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
|
|
||||||
detailAbnormalVO.setMonitorName(lineDevGetDTO.getLineName());
|
detailAbnormalVO.setMonitorName(lineDevGetDTO.getLineName());
|
||||||
detailAbnormalVO.setBdName(temBgName);
|
detailAbnormalVO.setBdName(temBgName);
|
||||||
detailAbnormalVO.setMonitorId(lineDevGetDTO.getLineId());
|
detailAbnormalVO.setMonitorId(lineDevGetDTO.getLineId());
|
||||||
detailAbnormalVO.setTargetKey(monitorBaseParam.getTargetKey());
|
detailAbnormalVO.setTargetKey(monitorBaseParam.getTargetKey());
|
||||||
result.add(detailAbnormalVO);
|
result.add(detailAbnormalVO);
|
||||||
} catch (Exception e) {
|
});
|
||||||
throw new BusinessException("数据异常");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DetailAbnormalVO.DetailAbnormalInnerVO> monitorAbnormalTableDetail(MonitorBaseParam monitorBaseParam) {
|
public DetailAbnormalVO.DetailAbnormalCountVO monitorAbnormalTableDetail(MonitorBaseParam monitorBaseParam) {
|
||||||
Map<String, PqReasonableRangeDto> dtoMap = getStandRange();
|
Map<String, PqReasonableRangeDto> dtoMap = getStandRange();
|
||||||
if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
|
if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
|
||||||
if (!dtoMap.containsKey(monitorBaseParam.getTargetKey())) {
|
if (!dtoMap.containsKey(monitorBaseParam.getTargetKey())) {
|
||||||
@@ -366,21 +300,23 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
|
|||||||
}
|
}
|
||||||
List<DetailAbnormalVO.DetailAbnormalInnerVO> result = new ArrayList<>();
|
List<DetailAbnormalVO.DetailAbnormalInnerVO> result = new ArrayList<>();
|
||||||
LambdaQueryWrapper<PqDataVerifyBak> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PqDataVerifyBak> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.eq(PqDataVerifyBak::getTimeId, DateUtil.beginOfDay(DateUtil.parse(monitorBaseParam.getSearchBeginTime())))
|
lambdaQueryWrapper.in(PqDataVerifyBak::getTimeId, monitorBaseParam.getTime())
|
||||||
.in(PqDataVerifyBak::getLineId, monitorBaseParam.getMonitorIds()).orderByAsc(PqDataVerifyBak::getTimeId);
|
.in(PqDataVerifyBak::getLineId, monitorBaseParam.getMonitorIds());
|
||||||
|
|
||||||
PqDataVerifyBak pqDataVerifyBak = this.getOne(lambdaQueryWrapper);
|
List<PqDataVerifyBak> pqDataVerifyBak = this.list(lambdaQueryWrapper);
|
||||||
try (InputStream fileStream = fileStorageUtil.getFileStream(pqDataVerifyBak.getPath())) {
|
Integer[] errorTimeCount = {0};
|
||||||
|
Integer[] errAllCount = {0};
|
||||||
|
for (PqDataVerifyBak dataVerifyBak : pqDataVerifyBak) {
|
||||||
|
try (InputStream fileStream = fileStorageUtil.getFileStream(dataVerifyBak.getPath())) {
|
||||||
JSONArray jsonArray = new JSONArray(new JSONTokener(fileStream, new JSONConfig()));
|
JSONArray jsonArray = new JSONArray(new JSONTokener(fileStream, new JSONConfig()));
|
||||||
for (Object it : jsonArray) {
|
jsonArray.forEach(it->{
|
||||||
JSONObject targetJson = (JSONObject) it;
|
JSONObject targetJson = (JSONObject) it;
|
||||||
if (targetJson.containsKey("lineErrorTimes")) {
|
if (targetJson.containsKey("lineErrorTimes")) {
|
||||||
continue;
|
errorTimeCount[0] += Integer.valueOf(targetJson.get("lineErrorTimes").toString());
|
||||||
}
|
}else{
|
||||||
if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
|
if (StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
|
||||||
if (targetJson.containsKey(monitorBaseParam.getTargetKey())) {
|
if (targetJson.containsKey(monitorBaseParam.getTargetKey())) {
|
||||||
resultDeal(dtoMap, monitorBaseParam.getTargetKey(), targetJson, result);
|
resultDeal(dtoMap, monitorBaseParam.getTargetKey(), targetJson, result, dataVerifyBak.getTimeId().toString(), errAllCount);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
String tarKey = "";
|
String tarKey = "";
|
||||||
@@ -388,22 +324,26 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
|
|||||||
String key = entry.getKey();
|
String key = entry.getKey();
|
||||||
if (targetJson.containsKey(key)) {
|
if (targetJson.containsKey(key)) {
|
||||||
tarKey = key;
|
tarKey = key;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
resultDeal(dtoMap, tarKey, targetJson, result);
|
resultDeal(dtoMap, tarKey, targetJson, result, dataVerifyBak.getTimeId().toString(), errAllCount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
});
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new BusinessException("数据异常");
|
throw new BusinessException("数据异常" + e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 排序实现
|
// 排序实现
|
||||||
result = result.stream()
|
DetailAbnormalVO.DetailAbnormalCountVO info = new DetailAbnormalVO.DetailAbnormalCountVO();
|
||||||
.sorted(Comparator.comparing(DetailAbnormalVO.DetailAbnormalInnerVO::getTime)
|
info.setTimeSum(errorTimeCount[0]);
|
||||||
|
info.setErrCount(errAllCount[0]);
|
||||||
|
info.setTime(result.stream()
|
||||||
|
.sorted(Comparator.comparing(DetailAbnormalVO.DetailAbnormalInnerVO::getTargetName)
|
||||||
.thenComparing(vo -> extractHarmonicOrder(vo.getTargetName()))
|
.thenComparing(vo -> extractHarmonicOrder(vo.getTargetName()))
|
||||||
.thenComparing(DetailAbnormalVO.DetailAbnormalInnerVO::getTargetName))
|
.thenComparing(DetailAbnormalVO.DetailAbnormalInnerVO::getTime))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList()));
|
||||||
return result;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -431,12 +371,13 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
|
|||||||
* 处理json对象中list数组
|
* 处理json对象中list数组
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private void resultDeal(Map<String, PqReasonableRangeDto> dtoMap, String targetKey, JSONObject targetJson, List<DetailAbnormalVO.DetailAbnormalInnerVO> result) {
|
private void resultDeal(Map<String, PqReasonableRangeDto> dtoMap, String targetKey, JSONObject targetJson, List<DetailAbnormalVO.DetailAbnormalInnerVO> result, String date, Integer[] errorCounts) {
|
||||||
PqReasonableRangeDto pqReasonableRangeDto = dtoMap.get(targetKey);
|
PqReasonableRangeDto pqReasonableRangeDto = dtoMap.get(targetKey);
|
||||||
JSONArray innerJson = targetJson.getJSONArray(targetKey);
|
JSONArray innerJson = targetJson.getJSONArray(targetKey);
|
||||||
innerJson.forEach(oo -> {
|
innerJson.forEach(oo -> {
|
||||||
JSONObject jsonObjectTem = (JSONObject) oo;
|
JSONObject jsonObjectTem = (JSONObject) oo;
|
||||||
String targetName = jsonObjectTem.get("targetName").toString();
|
String targetName = jsonObjectTem.get("targetName").toString();
|
||||||
|
errorCounts[0] += Integer.valueOf(jsonObjectTem.get("errorCounts").toString());
|
||||||
JSONArray list = jsonObjectTem.getJSONArray("list");
|
JSONArray list = jsonObjectTem.getJSONArray("list");
|
||||||
List<DetailAbnormalVO.DetailLimitInnerVO> temList = new ArrayList<>();
|
List<DetailAbnormalVO.DetailLimitInnerVO> temList = new ArrayList<>();
|
||||||
list.forEach(listItem -> {
|
list.forEach(listItem -> {
|
||||||
@@ -447,7 +388,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
|
|||||||
String valueType = object.get("valueType").toString();
|
String valueType = object.get("valueType").toString();
|
||||||
for (int i = 0; i < timeArr.size(); i++) {
|
for (int i = 0; i < timeArr.size(); i++) {
|
||||||
DetailAbnormalVO.DetailLimitInnerVO temData = new DetailAbnormalVO.DetailLimitInnerVO();
|
DetailAbnormalVO.DetailLimitInnerVO temData = new DetailAbnormalVO.DetailLimitInnerVO();
|
||||||
temData.setTime(timeArr.get(i).toString());
|
temData.setTime(date + " " + timeArr.get(i).toString());
|
||||||
temData.setVal(valueArr.get(i).toString());
|
temData.setVal(valueArr.get(i).toString());
|
||||||
temData.setTargetName(targetName);
|
temData.setTargetName(targetName);
|
||||||
temData.setTargetKey(targetKey);
|
temData.setTargetKey(targetKey);
|
||||||
@@ -475,11 +416,11 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
|
|||||||
vo.setTargetKey(targetKey);
|
vo.setTargetKey(targetKey);
|
||||||
vo.setPhaseType(phaseKey);
|
vo.setPhaseType(phaseKey);
|
||||||
|
|
||||||
if ((DataCleanEnum.DataI.getCode() + SEPARATOR + DataCleanEnum.RmsI.getCode() ).equals(targetKey)) {
|
// if ((DataCleanEnum.DataI.getCode() + SEPARATOR + DataCleanEnum.RmsI.getCode() ).equals(targetKey)) {
|
||||||
vo.setRangeDesc(pqReasonableRangeDto.getMinValue() + unit + " ~ " + pqReasonableRangeDto.getMaxValue() + "*CT1" + unit);
|
// vo.setRangeDesc(pqReasonableRangeDto.getMinValue() + unit + " ~ " + pqReasonableRangeDto.getMaxValue() + "*CT1" + unit);
|
||||||
} else {
|
// } else {
|
||||||
vo.setRangeDesc(pqReasonableRangeDto.getMinValue() + unit + " ~ " + pqReasonableRangeDto.getMaxValue() + unit);
|
vo.setRangeDesc(pqReasonableRangeDto.getMinValue() + unit + " ~ " + pqReasonableRangeDto.getMaxValue() + unit);
|
||||||
}
|
// }
|
||||||
valueList.forEach(ites -> {
|
valueList.forEach(ites -> {
|
||||||
switch (ites.getType()) {
|
switch (ites.getType()) {
|
||||||
case "AVG":
|
case "AVG":
|
||||||
@@ -686,12 +627,11 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
|
|||||||
if (StrUtil.isNotBlank(dto.getUnit())) {
|
if (StrUtil.isNotBlank(dto.getUnit())) {
|
||||||
unit = dto.getUnit();
|
unit = dto.getUnit();
|
||||||
}
|
}
|
||||||
if (temStr.equals(Param.rms_i)) {
|
// if (temStr.equals(Param.rms_i)) {
|
||||||
verifyTargetVO.setRangeDesc(dto.getMinValue() + unit + " ~ " + dto.getMaxValue() + "*CT1" + unit);
|
// verifyTargetVO.setRangeDesc(dto.getMinValue() + unit + " ~ " + dto.getMaxValue() + "*CT1" + unit);
|
||||||
} else {
|
// } else {
|
||||||
verifyTargetVO.setRangeDesc(dto.getMinValue() + unit + " ~ " + dto.getMaxValue() + unit);
|
verifyTargetVO.setRangeDesc(dto.getMinValue() + unit + " ~ " + dto.getMaxValue() + unit);
|
||||||
}
|
// }
|
||||||
|
|
||||||
result.add(verifyTargetVO);
|
result.add(verifyTargetVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user