diff --git a/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java b/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java index faa97961..74cb1951 100644 --- a/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java @@ -850,25 +850,27 @@ public class DetectionServiceImpl { errSysDtlMap.put(key, null); } }); - devMap.forEach((harm, harmDataList) -> { - PqErrSysDtls errSysDtl = errSysDtlMap.get(harm); - DetectionData data = new DetectionData(); - data.setIsData(4); - data.setNum(harm); - data.setData(harmDataList.get(0)); - Double v = issueHarmMap.get(harm); - data.setResultData(v); - if (ObjectUtil.isNotNull(errSysDtl)) { - PqErrSysDtls errSys = BeanUtil.copyProperties(errSysDtl, PqErrSysDtls.class); - errSys.setMaxErrorValue(maxErrorMultiply(errSys.getMaxErrorValue(), fData, issueHarmMap.get(harm), errSys.getErrorValueType())); - NumberFormat nf = NumberFormat.getInstance(); - nf.setMaximumFractionDigits(6); - nf.setGroupingUsed(false); - data.setRadius(nf.format(-errSys.getMaxErrorValue()) + "~" + nf.format(errSys.getMaxErrorValue())); - setDetection(dataRule, harmDataList, errSys, data, v); - } - info.add(data); - }); + if (CollUtil.isNotEmpty(devMap)) { + devMap.forEach((harm, harmDataList) -> { + PqErrSysDtls errSysDtl = errSysDtlMap.get(harm); + DetectionData data = new DetectionData(); + data.setIsData(4); + data.setNum(harm); + data.setData(harmDataList.get(0)); + Double v = issueHarmMap.get(harm); + data.setResultData(v); + if (ObjectUtil.isNotNull(errSysDtl)) { + PqErrSysDtls errSys = BeanUtil.copyProperties(errSysDtl, PqErrSysDtls.class); + errSys.setMaxErrorValue(maxErrorMultiply(errSys.getMaxErrorValue(), fData, issueHarmMap.get(harm), errSys.getErrorValueType())); + NumberFormat nf = NumberFormat.getInstance(); + nf.setMaximumFractionDigits(6); + nf.setGroupingUsed(false); + data.setRadius(nf.format(-errSys.getMaxErrorValue()) + "~" + nf.format(errSys.getMaxErrorValue())); + setDetection(dataRule, harmDataList, errSys, data, v); + } + info.add(data); + }); + } return info; } @@ -950,7 +952,7 @@ public class DetectionServiceImpl { for (DevData devData : dev) { List sqlDataDTOList = devData.getSqlData(); Optional first = Optional.empty(); - if(CollUtil.isNotEmpty(sqlDataDTOList)){ + if (CollUtil.isNotEmpty(sqlDataDTOList)) { first = sqlDataDTOList.stream().filter(x -> x.getDesc().equals(fundCode)).collect(Collectors.toList()).stream().findFirst(); } DevData.SqlDataDTO fund = null; @@ -1221,18 +1223,25 @@ public class DetectionServiceImpl { Map> integerListMap = map.get(type); for (Double i : harmNum) { if (integerListMap.containsKey(i)) { - if (i.equals(1.0)&&num != 1) { + if (i.equals(1.0) && num != 1) { integerListMap.get(1.0).add(multiply(fund, fund)); } else { double v = (num == 1 ? i : (i - num)); if (type.equals("A")) { - integerListMap.get(i).add(multiply(harm.getList().getA().get((int) v), fund)); + if ((int) v < harm.getList().getA().size()) { + integerListMap.get(i).add(multiply(harm.getList().getA().get((int) v), fund)); + } + } if (type.equals("B")) { - integerListMap.get(i).add(multiply(harm.getList().getB().get((int) v), fund)); + if ((int) v < harm.getList().getB().size()) { + integerListMap.get(i).add(multiply(harm.getList().getB().get((int) v), fund)); + } } if (type.equals("C")) { - integerListMap.get(i).add(multiply(harm.getList().getC().get((int) v), fund)); + if ((int) v < harm.getList().getC().size()) { + integerListMap.get(i).add(multiply(harm.getList().getC().get((int) v), fund)); + } } } } @@ -1241,19 +1250,25 @@ public class DetectionServiceImpl { Map> integerListMap = new LinkedHashMap<>(5); for (Double i : harmNum) { List integerList = new ArrayList<>(); - if (i.equals(1.0)&&num != 1) { + if (i.equals(1.0) && num != 1) { integerList.add(multiply(fund, fund)); integerListMap.put(1.0, integerList); } else { double v = (num == 1 ? i : (i - num)); if (type.equals("A")) { - integerList.add(multiply(harm.getList().getA().get((int) v), fund)); + if ((int) v < harm.getList().getA().size()) { + integerList.add(multiply(harm.getList().getA().get((int) v), fund)); + } } if (type.equals("B")) { - integerList.add(multiply(harm.getList().getB().get((int) v), fund)); + if ((int) v < harm.getList().getB().size()) { + integerList.add(multiply(harm.getList().getB().get((int) v), fund)); + } } if (type.equals("C")) { - integerList.add(multiply(harm.getList().getC().get((int) v), fund)); + if ((int) v < harm.getList().getC().size()) { + integerList.add(multiply(harm.getList().getC().get((int) v), fund)); + } } integerListMap.put(i, integerList); }