diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/DetailAbnormalVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/DetailAbnormalVO.java index 2819b2985..291632ea1 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/DetailAbnormalVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/DetailAbnormalVO.java @@ -16,7 +16,9 @@ public class DetailAbnormalVO { private String monitorName; - private Long timeSum; + private String timeSum; + + private String errCount; private String targetKey; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java index a205bd8ae..b04d56b4d 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java @@ -151,7 +151,7 @@ public class DataVerifyServiceImpl extends ServiceImpl monitorAbnormalTable(MonitorBaseParam monitorBaseParam) { List result = new ArrayList<>(); - //参数校验 Map rangeMap= getStandRange(); if(StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) { @@ -264,56 +263,84 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl dataVerifyList = this.list(lambdaQueryWrapper); - for (PqDataVerifyBak pqDataVerifyBak : dataVerifyList) { - Set set = new HashSet<>(); 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()); - for(Object oJson : innerJson){ - JSONObject jsonObjectTem = (JSONObject) oJson; - JSONArray list = jsonObjectTem.getJSONArray("list"); - list.forEach(listItem -> { - JSONObject object = (JSONObject) listItem; - JSONArray timeArr = object.getJSONArray("time"); - timeArr.forEach(timeJson -> set.add((String) timeJson)); - }); + 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){ + for(Object oJson : innerJson){ JSONObject jsonObjectTem = (JSONObject) oJson; JSONArray list = jsonObjectTem.getJSONArray("list"); list.forEach(listItem -> { JSONObject object = (JSONObject) listItem; - JSONArray timeArr = object.getJSONArray("time"); - timeArr.forEach(timeJson -> set.add((String) timeJson)); + 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(); LineDevGetDTO lineDevGetDTO = lineDetailMap.get(pqDataVerifyBak.getLineId()); - detailAbnormalVO.setTimeSum((long) lineDevGetDTO.getTimeInterval() * set.size()); + detailAbnormalVO.setTimeSum(errorTimeCount[0]); detailAbnormalVO.setDate(pqDataVerifyBak.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN))); detailAbnormalVO.setMonitorName(lineDevGetDTO.getPointName()); detailAbnormalVO.setMonitorId(lineDevGetDTO.getPointId()); - detailAbnormalVO.setTargetKey(""); + detailAbnormalVO.setTargetKey(monitorBaseParam.getTargetKey()); + detailAbnormalVO.setErrCount(errAllCount[0].toString()); + result.add(detailAbnormalVO); + } catch (BusinessException b){ + //文件为空时候的特殊处理 + DetailAbnormalVO detailAbnormalVO = new DetailAbnormalVO(); + LineDevGetDTO lineDevGetDTO = lineDetailMap.get(pqDataVerifyBak.getLineId()); + detailAbnormalVO.setTimeSum("/"); + detailAbnormalVO.setDate(pqDataVerifyBak.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN))); + detailAbnormalVO.setMonitorName(lineDevGetDTO.getPointName()); + detailAbnormalVO.setMonitorId(lineDevGetDTO.getPointId()); + detailAbnormalVO.setTargetKey(monitorBaseParam.getTargetKey()); result.add(detailAbnormalVO); } catch (Exception e) { throw new BusinessException("数据异常"); @@ -322,6 +349,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl monitorAbnormalTableDetail(MonitorBaseParam monitorBaseParam) { Map dtoMap = getStandRange(); @@ -340,6 +368,9 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl dtoMap, String targetKey, JSONObject targetJson, List result) { PqReasonableRangeDto pqReasonableRangeDto = dtoMap.get(targetKey); JSONArray innerJson = targetJson.getJSONArray(targetKey); @@ -432,7 +468,12 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl { switch (ites.getType()) { case "AVG": @@ -549,7 +590,6 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl it.getVlDev() > 0).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); break; - case Param.rms_i: ids = dataVerifyList.stream().filter(it -> it.getIRms() > 0).map(PqDataVerifyBak::getLineId).collect(Collectors.toSet()); assembleEntity(ids, dto, result); @@ -623,7 +663,8 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl ids, PqReasonableRangeDto dto, List result) { VerifyTargetVO verifyTargetVO = new VerifyTargetVO(); - verifyTargetVO.setKey(dto.getInfluxdbTableName() + SEPARATOR + dto.getIndexCode()); + String temStr = dto.getInfluxdbTableName() + SEPARATOR + dto.getIndexCode(); + verifyTargetVO.setKey(temStr); verifyTargetVO.setTargetName(dto.getIndexName().replace("次", "")); verifyTargetVO.setIds(ids); verifyTargetVO.setRemark(dto.getRemark()); @@ -632,7 +673,12 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl