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 beb47b12..32a853f0 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 @@ -676,8 +676,8 @@ public class DetectionServiceImpl { DetectionData c; if (DUR.equals(dur)) { c = rangeDURComparisonList(mag.get(typeC), magErrList, fData, channelTypeCList.get(0).getDipData().getRetainTime(), dataRule); - } else { - c = rangeComparisonList(mag.get(typeC), magErrList, fData, channelTypeCList.get(0).getDipData().getFTransValue(), dataRule); + }else { + c = rangeComparisonList(mag.get(typeC), magErrList, fData, channelTypeCList.get(0).getDipData().getFTransValue(),channelTypeCList.get(0).getFAmp(), dataRule); } return c; } @@ -999,7 +999,41 @@ public class DetectionServiceImpl { }); return map; } - + /** + * 处理数据是否合格 + * + * @param list 原始的数据 + * @param pqErrSysDtls 误差体系 + * @param data 源下发的额定信息(额定电压,额定电流) + * @param channelData 源下发的通道信息的值包括 {Ua, Ub, Uc, Ux, Ia, Ib, Ic, Ix ,NULL} + * @param dataRule 数据处理原则 + * @returnd + */ + public DetectionData rangeComparisonList(List list, List pqErrSysDtls, Double data, Double channelData,Double channelAmp, DictDataEnum dataRule) { + DetectionData detectionData = new DetectionData(); + detectionData.setIsData(4); + if (CollUtil.isNotEmpty(list)) { + detectionData.setData(list.get(0)*channelAmp*0.01); + detectionData.setResultData(channelData); + //先根据源所下发的数据,是否在误差体系范围内在则可以进行误差体系判断 + //获得误差体系 + List errSysDtls = pqErrSysDtls.stream().filter(x -> rangeComparison(startRadiusEnd(x.getStartValue(), data, channelData, x.getConditionType()), + x.getStartFlag(), + startRadiusEnd(x.getEndValue(), data, channelData, x.getConditionType()), + x.getEndFlag(), + channelData)).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(errSysDtls)) { + PqErrSysDtls errSysDtl = BeanUtil.copyProperties(errSysDtls.get(0), PqErrSysDtls.class); + NumberFormat nf = NumberFormat.getInstance(); + nf.setMaximumFractionDigits(6); + nf.setGroupingUsed(false); + errSysDtl.setMaxErrorValue(maxErrorMultiply(errSysDtl.getMaxErrorValue(), data, channelData, errSysDtl.getErrorValueType())); + detectionData.setRadius(nf.format(-errSysDtl.getMaxErrorValue()) + "~" + nf.format(errSysDtl.getMaxErrorValue())); + setDetection(dataRule, list, errSysDtl, detectionData, channelData); + } + } + return detectionData; + } /** * 处理数据是否合格 * diff --git a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java index ee671dfc..94c6622a 100644 --- a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java @@ -503,7 +503,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl