diff --git a/src/main/java/com/supervision/police/service/impl/ModelServiceImpl.java b/src/main/java/com/supervision/police/service/impl/ModelServiceImpl.java index d9fb4e7..09738dc 100644 --- a/src/main/java/com/supervision/police/service/impl/ModelServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/ModelServiceImpl.java @@ -155,8 +155,9 @@ public class ModelServiceImpl implements ModelService { return R.fail("未找到指标原子关系信息"); } + // 将原先的值进行赋值,设置到pre_result + modelIndexResultMapper.updatePreResult(analyseCaseDTO.getCaseId()); List modelAtomicResultList = modelAtomicResultService.lambdaQuery().eq(ModelAtomicResult::getCaseId, caseId).list(); - log.info("开始计算指标结果"); // 遍历指标集合,处理每个指标的判断逻辑,得出结果 modelIndices.forEach(modelIndex -> { @@ -226,7 +227,6 @@ public class ModelServiceImpl implements ModelService { modelIndexResult.setId(exist.getId()); } modelIndexResult.setIndexResult(result ? "true" : "false"); - // 先清除掉与指标失去关联的原子指标对应的结果 removeAtomicResultWithNoReference(modelIndex.getId(), modelIndexAtomicRelations, modelAtomicResultList); @@ -254,7 +254,6 @@ public class ModelServiceImpl implements ModelService { } - private void removeAtomicResultWithNoReference(String modelIndexId, List modelIndexAtomicRelations, List modelAtomicResultList) { List atomicIds = modelIndexAtomicRelations.stream() @@ -266,7 +265,7 @@ public class ModelServiceImpl implements ModelService { && !atomicIds.contains(atomicResult.getAtomicId())).toList(); for (ModelAtomicResult modelAtomicResult : modelAtomicResults) { - log.info("删除无引用的原子指标结果,指标id:{},原子指标ID:{}", modelIndexId,modelAtomicResult.getAtomicId()); + log.info("删除无引用的原子指标结果,指标id:{},原子指标ID:{}", modelIndexId, modelAtomicResult.getAtomicId()); modelAtomicResultMapper.deleteById(modelAtomicResult.getId()); } } @@ -358,7 +357,8 @@ public class ModelServiceImpl implements ModelService { } } } - if (StringUtils.isNotEmpty(ruleCondition.getOperator()) && StringUtils.isNotEmpty(ruleCondition.getValue()) && CalculationUtil.evaluateExpression(String.valueOf(count), ruleCondition.getOperator(), ruleCondition.getValue())) { + //如果关系判断要求“不存在”,则判断count是否为0,如果关系判断要求“存在”,则判断count是否大于value + if ((ruleCondition.getRelationalSymbol().equals("4") && count == 0) || (StringUtils.isNotEmpty(ruleCondition.getOperator()) && StringUtils.isNotEmpty(ruleCondition.getValue()) && CalculationUtil.evaluateExpression(String.valueOf(count), ruleCondition.getOperator(), ruleCondition.getValue()))) { flag = true; } modelAtomicResultService.saveOrUpdate(atomicResult); diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index b4064db..53ab603 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -6,7 +6,6 @@ spring: base-url: http://192.168.10.70:11434 chat: enabled: true - options: model: qwen2.5:32b # 控制模型在请求后加载到内存中的时间(稍微长一点的时间,避免重复加载浪费性能,加快处理速度)