From ae7f1414b8b1069bd7e55523e19097d147e18f08 Mon Sep 17 00:00:00 2001 From: yaxin Date: Mon, 23 Dec 2024 10:48:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E5=8E=9F=E5=85=88=E7=9A=84=E5=80=BC?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E8=B5=8B=E5=80=BC,=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E5=88=B0pre=5Fresult=20=E5=A6=82=E6=9E=9C=E5=85=B3=E7=B3=BB?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E8=A6=81=E6=B1=82=E2=80=9C=E4=B8=8D=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E2=80=9D=EF=BC=8C=E5=88=99=E5=88=A4=E6=96=ADcount?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E4=B8=BA0=EF=BC=8C=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E5=85=B3=E7=B3=BB=E5=88=A4=E6=96=AD=E8=A6=81=E6=B1=82=E2=80=9C?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E2=80=9D=EF=BC=8C=E5=88=99=E5=88=A4=E6=96=AD?= =?UTF-8?q?count=E6=98=AF=E5=90=A6=E5=A4=A7=E4=BA=8Evalue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../police/service/impl/ModelServiceImpl.java | 10 +++++----- src/main/resources/application-test.yml | 1 - 2 files changed, 5 insertions(+), 6 deletions(-) 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 # 控制模型在请求后加载到内存中的时间(稍微长一点的时间,避免重复加载浪费性能,加快处理速度)