交叉判定等级为0和4判定bug修复
This commit is contained in:
@@ -861,7 +861,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
|||||||
// 查找匹配的允差区间
|
// 查找匹配的允差区间
|
||||||
private ConfigAssayMethodProjectAssessmentDO findMatchingRule(List<ConfigAssayMethodProjectAssessmentDO> rules, BigDecimal value) {
|
private ConfigAssayMethodProjectAssessmentDO findMatchingRule(List<ConfigAssayMethodProjectAssessmentDO> rules, BigDecimal value) {
|
||||||
if (rules == null || rules.isEmpty()) return null;
|
if (rules == null || rules.isEmpty()) return null;
|
||||||
|
|
||||||
// 特殊处理 level=0 和 level=4
|
// 特殊处理 level=0 和 level=4
|
||||||
for (ConfigAssayMethodProjectAssessmentDO rule : rules) {
|
for (ConfigAssayMethodProjectAssessmentDO rule : rules) {
|
||||||
if (rule.getAssessmentLevel() == 0) {
|
if (rule.getAssessmentLevel() == 0) {
|
||||||
@@ -869,19 +869,17 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
|||||||
.filter(r -> r.getAssessmentLevel() == 1)
|
.filter(r -> r.getAssessmentLevel() == 1)
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.orElse(rule);
|
.orElse(rule);
|
||||||
// if (value.compareTo(new BigDecimal(next.getMinimumValue())) >= 0 && value.compareTo(new BigDecimal(next.getMaximumValue())) <= 0) {
|
if (value.compareTo(new BigDecimal(rule.getMinimumValue())) >= 0 && value.compareTo(new BigDecimal(rule.getMaximumValue())) <= 0) {
|
||||||
// return next;
|
return next;
|
||||||
// }
|
}
|
||||||
return next;
|
|
||||||
} else if (rule.getAssessmentLevel() == 4) {
|
} else if (rule.getAssessmentLevel() == 4) {
|
||||||
ConfigAssayMethodProjectAssessmentDO prev = rules.stream()
|
ConfigAssayMethodProjectAssessmentDO prev = rules.stream()
|
||||||
.filter(r -> r.getAssessmentLevel() == 3)
|
.filter(r -> r.getAssessmentLevel() == 3)
|
||||||
.findFirst()
|
.findFirst()
|
||||||
.orElse(rule);
|
.orElse(rule);
|
||||||
// if (value.compareTo(new BigDecimal(prev.getMinimumValue())) >= 0 && value.compareTo(new BigDecimal(prev.getMaximumValue())) <= 0) {
|
if (value.compareTo(new BigDecimal(rule.getMinimumValue())) >= 0 && value.compareTo(new BigDecimal(rule.getMaximumValue())) <= 0) {
|
||||||
// return prev;
|
return prev;
|
||||||
// }
|
}
|
||||||
return prev;
|
|
||||||
} else {
|
} else {
|
||||||
if (value.compareTo(new BigDecimal(rule.getMinimumValue())) >= 0 && value.compareTo(new BigDecimal(rule.getMaximumValue())) <= 0) {
|
if (value.compareTo(new BigDecimal(rule.getMinimumValue())) >= 0 && value.compareTo(new BigDecimal(rule.getMaximumValue())) <= 0) {
|
||||||
return rule;
|
return rule;
|
||||||
|
|||||||
Reference in New Issue
Block a user