1.正式检测代码微调

This commit is contained in:
wr
2025-01-03 09:42:58 +08:00
parent 74caf848c2
commit 8cfad7b57d

View File

@@ -623,11 +623,11 @@ public class DetectionServiceImpl {
Map<Double, PqErrSysDtls> errSysDtlMap = new LinkedHashMap<>(); Map<Double, PqErrSysDtls> errSysDtlMap = new LinkedHashMap<>();
issueHarmMap.forEach((key, value) -> { issueHarmMap.forEach((key, value) -> {
//获得误差体系 //获得误差体系
List<PqErrSysDtls> errSysDtls = pqErrSysDtls.stream().filter(x -> rangeComparison(x.getStartValue(), List<PqErrSysDtls> errSysDtls = pqErrSysDtls.stream().filter(x -> rangeComparison(multiply(x.getStartValue(), fData, x.getConditionType()),
x.getStartFlag(), x.getStartFlag(),
x.getEndValue(), multiply(x.getEndValue(), fData, x.getConditionType()),
x.getEndFlag(), x.getEndFlag(),
divide(value - fData, fData).doubleValue())).collect(Collectors.toList()); value)).collect(Collectors.toList());
if (CollUtil.isNotEmpty(errSysDtls)) { if (CollUtil.isNotEmpty(errSysDtls)) {
errSysDtlMap.put(key, errSysDtls.get(0)); errSysDtlMap.put(key, errSysDtls.get(0));
} else { } else {
@@ -860,17 +860,17 @@ public class DetectionServiceImpl {
switch (errorValueType) { switch (errorValueType) {
case 2: case 2:
return BigDecimal.valueOf(devData - channelData) return BigDecimal.valueOf(devData - channelData)
.divide(BigDecimal.valueOf(devData), 7, RoundingMode.HALF_UP); .divide(BigDecimal.valueOf(devData), 4, RoundingMode.HALF_UP);
case 3: case 3:
return BigDecimal.valueOf(devData - channelData) return BigDecimal.valueOf(devData - channelData)
.divide(BigDecimal.valueOf(channelData), 7, RoundingMode.HALF_UP); .divide(BigDecimal.valueOf(channelData), 4, RoundingMode.HALF_UP);
} }
return BigDecimal.valueOf(devData - channelData); return BigDecimal.valueOf(devData - channelData);
} }
public BigDecimal divide(Double devData, Double channelData) { public BigDecimal divide(Double devData, Double channelData) {
return BigDecimal.valueOf(devData) return BigDecimal.valueOf(devData)
.divide(BigDecimal.valueOf(channelData), 7, RoundingMode.HALF_UP); .divide(BigDecimal.valueOf(channelData), 4, RoundingMode.HALF_UP);
} }
@@ -878,7 +878,7 @@ public class DetectionServiceImpl {
if (ObjectUtil.isNotNull(type)) { if (ObjectUtil.isNotNull(type)) {
if (0 == type) { if (0 == type) {
return BigDecimal.valueOf(devData).multiply(BigDecimal.valueOf(channelData)) return BigDecimal.valueOf(devData).multiply(BigDecimal.valueOf(channelData))
.setScale(7, RoundingMode.HALF_UP).doubleValue(); .setScale(4, RoundingMode.HALF_UP).doubleValue();
} else { } else {
if (ObjectUtil.isNotNull(devData)) { if (ObjectUtil.isNotNull(devData)) {
return BigDecimal.valueOf(devData).doubleValue(); return BigDecimal.valueOf(devData).doubleValue();
@@ -893,8 +893,9 @@ public class DetectionServiceImpl {
} }
public Double multiply(String devData, String channelData) { public Double multiply(String devData, String channelData) {
return BigDecimal.valueOf(Double.valueOf(devData)).multiply(BigDecimal.valueOf(Double.valueOf(channelData))) BigDecimal volValue = new BigDecimal(devData);
.setScale(7, RoundingMode.HALF_UP).doubleValue(); BigDecimal result = volValue.multiply(new BigDecimal(channelData).setScale(4, RoundingMode.HALF_UP));
return result.doubleValue();
} }
/** /**