修改-修复原子指标可能重复的问题

topo_dev
liu
parent 845eb6f925
commit 761a536184

@ -1,7 +1,6 @@
package com.supervision.police.service.impl; package com.supervision.police.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
@ -14,7 +13,6 @@ import com.deepoove.poi.XWPFTemplate;
import com.supervision.common.domain.R; import com.supervision.common.domain.R;
import com.supervision.common.utils.StringUtils; import com.supervision.common.utils.StringUtils;
import com.supervision.constant.JudgeResultEnum; import com.supervision.constant.JudgeResultEnum;
import com.supervision.constant.ScoreEnum;
import com.supervision.neo4j.dto.ResultDTO; import com.supervision.neo4j.dto.ResultDTO;
import com.supervision.neo4j.utils.Neo4jUtils; import com.supervision.neo4j.utils.Neo4jUtils;
import com.supervision.police.domain.*; import com.supervision.police.domain.*;
@ -28,7 +26,6 @@ import com.supervision.police.mapper.*;
import com.supervision.police.mybatis.RowSqlMapper; import com.supervision.police.mybatis.RowSqlMapper;
import com.supervision.police.service.*; import com.supervision.police.service.*;
import com.supervision.utils.SqlParserUtil; import com.supervision.utils.SqlParserUtil;
import jakarta.servlet.ServletOutputStream;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -135,6 +132,7 @@ public class ModelServiceImpl implements ModelService {
ModelAtomicResult exist = modelAtomicResultMapper.selectByCaseIdAndAtomicId(analyseCaseDTO.getCaseId(), casePerson.getId(), relation.getModelIndexId(), atomicIndex.getId()); ModelAtomicResult exist = modelAtomicResultMapper.selectByCaseIdAndAtomicId(analyseCaseDTO.getCaseId(), casePerson.getId(), relation.getModelIndexId(), atomicIndex.getId());
result.setIndexId(relation.getModelIndexId()); result.setIndexId(relation.getModelIndexId());
if (exist == null) { if (exist == null) {
result.setId(null);
modelAtomicResultMapper.insert(result); modelAtomicResultMapper.insert(result);
} else { } else {
result.setId(exist.getId()); result.setId(exist.getId());
@ -169,11 +167,11 @@ public class ModelServiceImpl implements ModelService {
.eq(ModelAtomicResult::getAtomicId, atomicIndex.getId())); .eq(ModelAtomicResult::getAtomicId, atomicIndex.getId()));
if (CollUtil.isEmpty(modelAtomicResults)) { if (CollUtil.isEmpty(modelAtomicResults)) {
log.info("manuallyDefinedCase:根据caseId:{},auomicId:{}未找到原子指标结果", analyseCaseDTO.getCaseId(), atomicIndex.getId()); log.info("manuallyDefinedCase:根据caseId:{},atomicId:{}未找到原子指标结果", analyseCaseDTO.getCaseId(), atomicIndex.getId());
return; return;
} }
if (CollUtil.size(modelAtomicResults) > 0) { if (CollUtil.size(modelAtomicResults) > 0) {
log.warn("manuallyDefinedCase:根据caseId:{},auomicId:{}找到多个原子指标结果", analyseCaseDTO.getCaseId(), atomicIndex.getId()); log.warn("manuallyDefinedCase:根据caseId:{},atomicId:{}找到多个原子指标结果", analyseCaseDTO.getCaseId(), atomicIndex.getId());
} }
ModelAtomicResult modelAtomicResult = CollUtil.getFirst(modelAtomicResults); ModelAtomicResult modelAtomicResult = CollUtil.getFirst(modelAtomicResults);
@ -266,8 +264,13 @@ public class ModelServiceImpl implements ModelService {
atomicIds.add(data.getAtomicIndex()); atomicIds.add(data.getAtomicIndex());
// 先找到原子指标对应的大指标的结果 // 先找到原子指标对应的大指标的结果
Map<String, String> atomicIndexMap = atomicResultMap.get(data.getAtomicIndex()); Map<String, String> atomicIndexMap = atomicResultMap.get(data.getAtomicIndex());
String atomicIndexResult;
if (CollUtil.isEmpty(atomicIndexMap)) {
atomicIndexResult = JudgeResultEnum.UNKNOWN.getCode();
} else {
// 这里可能不存在,如果未找到,就默认为false // 这里可能不存在,如果未找到,就默认为false
String atomicIndexResult = atomicIndexMap.getOrDefault(modelIndex.getId(), JudgeResultEnum.UNKNOWN.getCode()); atomicIndexResult = atomicIndexMap.getOrDefault(modelIndex.getId(), JudgeResultEnum.UNKNOWN.getCode());
}
String relationalSymbol = data.getRelationalSymbol(); String relationalSymbol = data.getRelationalSymbol();
JudgeResultEnum instance = JudgeResultEnum.getInstance(relationalSymbol); JudgeResultEnum instance = JudgeResultEnum.getInstance(relationalSymbol);
boolean ato = StrUtil.equals(atomicIndexResult, instance.getCode()); boolean ato = StrUtil.equals(atomicIndexResult, instance.getCode());

Loading…
Cancel
Save