解决误差值问题
This commit is contained in:
@@ -3,6 +3,8 @@ package com.njcn.gather.detection.pojo.vo;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author wr
|
* @author wr
|
||||||
* @description
|
* @description
|
||||||
@@ -37,4 +39,9 @@ public class DetectionData {
|
|||||||
*/
|
*/
|
||||||
private String radius;
|
private String radius;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 误差值
|
||||||
|
*/
|
||||||
|
private BigDecimal errorData;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import java.util.*;
|
|||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author wr
|
* @author wr
|
||||||
* @description
|
* @description
|
||||||
@@ -888,10 +889,16 @@ public class DetectionServiceImpl {
|
|||||||
List<Double> qualifiedList = harmDataList.stream()
|
List<Double> qualifiedList = harmDataList.stream()
|
||||||
.filter(x -> v == 0 ? NumberUtil.isIn(devSubtractChannelData(x, v, errSysDtl.getErrorValueType()),
|
.filter(x -> v == 0 ? NumberUtil.isIn(devSubtractChannelData(x, v, errSysDtl.getErrorValueType()),
|
||||||
BigDecimal.valueOf(-errSysDtl.getMaxErrorValue()),
|
BigDecimal.valueOf(-errSysDtl.getMaxErrorValue()),
|
||||||
BigDecimal.valueOf(errSysDtl.getMaxErrorValue())) :
|
BigDecimal.valueOf(errSysDtl.getMaxErrorValue()))
|
||||||
|
:
|
||||||
x != 0 && NumberUtil.isIn(devSubtractChannelData(x, v, errSysDtl.getErrorValueType()),
|
x != 0 && NumberUtil.isIn(devSubtractChannelData(x, v, errSysDtl.getErrorValueType()),
|
||||||
BigDecimal.valueOf(-errSysDtl.getMaxErrorValue()),
|
BigDecimal.valueOf(-errSysDtl.getMaxErrorValue()),
|
||||||
BigDecimal.valueOf(errSysDtl.getMaxErrorValue()))).collect(Collectors.toList());
|
BigDecimal.valueOf(errSysDtl.getMaxErrorValue()))).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isNotEmpty(qualifiedList)) {
|
||||||
|
data.setErrorData(devSubtractChannelData(qualifiedList.get(0), v, errSysDtl.getErrorValueType()));
|
||||||
|
} else {
|
||||||
|
data.setErrorData(devSubtractChannelData(harmDataList.get(0), v, errSysDtl.getErrorValueType()));
|
||||||
|
}
|
||||||
isData(dataRule, harmDataList, data, qualifiedList);
|
isData(dataRule, harmDataList, data, qualifiedList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1072,6 +1079,13 @@ public class DetectionServiceImpl {
|
|||||||
BigDecimal.valueOf(1.0 / data * (channelData - errSysDtl.getMaxErrorValue())),
|
BigDecimal.valueOf(1.0 / data * (channelData - errSysDtl.getMaxErrorValue())),
|
||||||
BigDecimal.valueOf(1.0 / data * (channelData + errSysDtl.getMaxErrorValue())))
|
BigDecimal.valueOf(1.0 / data * (channelData + errSysDtl.getMaxErrorValue())))
|
||||||
).collect(Collectors.toList());
|
).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isNotEmpty(qualifiedList)) {
|
||||||
|
Double a = qualifiedList.get(0) - (1.0 / data * (channelData - errSysDtl.getMaxErrorValue()));
|
||||||
|
detectionData.setErrorData(BigDecimal.valueOf(Math.abs(a)));
|
||||||
|
} else {
|
||||||
|
Double a = list.get(0) - (1.0 / data * (channelData - errSysDtl.getMaxErrorValue()));
|
||||||
|
detectionData.setErrorData(BigDecimal.valueOf(Math.abs(a)));
|
||||||
|
}
|
||||||
isData(dataRule, qualifiedList, detectionData, qualifiedList);
|
isData(dataRule, qualifiedList, detectionData, qualifiedList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,6 +85,8 @@ public interface DevValidMessage {
|
|||||||
String STANDARD_TIME_NOT_BLANK = "标准推行时间不能为空,请检查standardTime参数";
|
String STANDARD_TIME_NOT_BLANK = "标准推行时间不能为空,请检查standardTime参数";
|
||||||
|
|
||||||
String SCRIPT_TYPE_FORMAT_ERROR = "检测脚本类型格式错误,请检查scriptType参数";
|
String SCRIPT_TYPE_FORMAT_ERROR = "检测脚本类型格式错误,请检查scriptType参数";
|
||||||
|
String SCRIPT_VOLT_FORMAT_ERROR = "检测脚本额定电压格式错误,请检查scriptType参数";
|
||||||
|
String SCRIPT_CURR_FORMAT_ERROR = "检测脚本额定电流格式错误,请检查scriptType参数";
|
||||||
|
|
||||||
String DEV_LEVEL_NOT_BLANK = "设备等级不能为空,请检查devLevel参数";
|
String DEV_LEVEL_NOT_BLANK = "设备等级不能为空,请检查devLevel参数";
|
||||||
|
|
||||||
|
|||||||
@@ -57,20 +57,20 @@ public class PqScriptParam {
|
|||||||
/**
|
/**
|
||||||
* 额定电压
|
* 额定电压
|
||||||
*/
|
*/
|
||||||
// @ApiModelProperty("额定电压")
|
@ApiModelProperty("额定电压")
|
||||||
// @NotNull(message = DevValidMessage.SCRIPT_TYPE_NOT_BLANK)
|
@NotNull(message = DevValidMessage.SCRIPT_TYPE_NOT_BLANK)
|
||||||
// @Min(value = 0, message = DevValidMessage.SCRIPT_TYPE_FORMAT_ERROR)
|
@Min(value = 0, message = DevValidMessage.SCRIPT_VOLT_FORMAT_ERROR)
|
||||||
// @Max(value = 380, message = DevValidMessage.SCRIPT_TYPE_FORMAT_ERROR)
|
@Max(value = 380, message = DevValidMessage.SCRIPT_VOLT_FORMAT_ERROR)
|
||||||
// private Double ratedVolt;
|
private Double ratedVolt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 额定电流
|
* 额定电流
|
||||||
*/
|
*/
|
||||||
// @ApiModelProperty("额定电流")
|
@ApiModelProperty("额定电流")
|
||||||
// @NotNull(message = DevValidMessage.SCRIPT_TYPE_NOT_BLANK)
|
@NotNull(message = DevValidMessage.SCRIPT_TYPE_NOT_BLANK)
|
||||||
// @Min(value = 0, message = DevValidMessage.SCRIPT_TYPE_FORMAT_ERROR)
|
@Min(value = 0, message = DevValidMessage.SCRIPT_CURR_FORMAT_ERROR)
|
||||||
// @Max(value = 20, message = DevValidMessage.SCRIPT_TYPE_FORMAT_ERROR)
|
@Max(value = 20, message = DevValidMessage.SCRIPT_CURR_FORMAT_ERROR)
|
||||||
// private Double ratedCurr;
|
private Double ratedCurr;
|
||||||
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
|||||||
@@ -66,12 +66,12 @@ public class PqScript extends BaseEntity implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 额定电压
|
* 额定电压
|
||||||
*/
|
*/
|
||||||
// private Double ratedVolt;
|
private Double ratedVolt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 额定电流
|
* 额定电流
|
||||||
*/
|
*/
|
||||||
// private Double ratedCurr;
|
private Double ratedCurr;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态:0-删除 1-正常
|
* 状态:0-删除 1-正常
|
||||||
|
|||||||
@@ -82,5 +82,9 @@ public class RawResultDataVO {
|
|||||||
*/
|
*/
|
||||||
private String radius;
|
private String radius;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 误差值
|
||||||
|
*/
|
||||||
|
private BigDecimal errorData;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user