指标结果补充atomicIds,数据非空校验

topo_dev
DESKTOP-DDTUS3E\yaxin 6 months ago
parent c494ecc203
commit 3cadde1277

@ -177,27 +177,50 @@ public class ModelServiceImpl implements ModelService {
log.info("数据准备阶段"); log.info("数据准备阶段");
String caseId = analyseCaseDTO.getCaseId(); String caseId = analyseCaseDTO.getCaseId();
Map<String, Integer> typeScoreMap = new HashMap<>(); Map<String, Integer> typeScoreMap = new HashMap<>();
// 查出案件信息
ModelCase modelCase = modelCaseMapper.selectById(caseId); ModelCase modelCase = modelCaseMapper.selectById(caseId);
// 获取案件行为人ID if (modelCase == null) {
log.error("未找到案件信息:【{}】", caseId);
return R.fail("未找到案件信息");
}
CasePerson casePerson = casePersonMapper.selectOne(new LambdaQueryWrapper<CasePerson>() CasePerson casePerson = casePersonMapper.selectOne(new LambdaQueryWrapper<CasePerson>()
.eq(CasePerson::getCaseId, analyseCaseDTO.getCaseId()) .eq(CasePerson::getCaseId, analyseCaseDTO.getCaseId())
.eq(CasePerson::getCaseActorFlag, 1) .eq(CasePerson::getCaseActorFlag, 1)
.eq(CasePerson::getRoleCode, "1") .eq(CasePerson::getRoleCode, "1")
.eq(StrUtil.isNotEmpty(analyseCaseDTO.getLawActorName()), CasePerson::getName, analyseCaseDTO.getLawActorName())); .eq(StrUtil.isNotEmpty(analyseCaseDTO.getLawActorName()), CasePerson::getName, analyseCaseDTO.getLawActorName()));
if (ObjectUtil.isEmpty(casePerson)) { if (ObjectUtil.isEmpty(casePerson)) {
throw new RuntimeException("未找到的行为人" + analyseCaseDTO.getLawActorName()); log.error("未找到的行为人:【{}】", analyseCaseDTO.getLawActorName());
return R.fail("未找到的行为人");
} }
// 查出指标信息
List<ModelIndex> modelIndices = modelIndexService.list(new LambdaQueryWrapper<ModelIndex>().eq(ModelIndex::getDataStatus, "1").eq(ModelIndex::getCaseType, modelCase.getCaseType())); List<ModelIndex> modelIndices = modelIndexService.list(new LambdaQueryWrapper<ModelIndex>().eq(ModelIndex::getDataStatus, "1").eq(ModelIndex::getCaseType, modelCase.getCaseType()));
// 查出原子指标信息 if (modelIndices.isEmpty()) {
log.error("未找到指标信息:【{}】", modelCase.getCaseType());
return R.fail("未找到指标信息");
}
List<ModelAtomicIndex> atomicIndices = modelAtomicIndexMapper.selectByCaseType(modelCase.getCaseType()); List<ModelAtomicIndex> atomicIndices = modelAtomicIndexMapper.selectByCaseType(modelCase.getCaseType());
// 查出提示词信息 if (atomicIndices.isEmpty()) {
log.error("未找到原子指标信息:【{}】", modelCase.getCaseType());
return R.fail("未找到原子指标信息");
}
List<NotePrompt> notePrompts = notePromptService.list(new LambdaQueryWrapper<NotePrompt>().eq(NotePrompt::getType, TYPE_STRUCTURAL_REASONING)); List<NotePrompt> notePrompts = notePromptService.list(new LambdaQueryWrapper<NotePrompt>().eq(NotePrompt::getType, TYPE_STRUCTURAL_REASONING));
// 查出证据目录信息 if (notePrompts.isEmpty()) {
log.error("未找到提示词信息:【{}】", TYPE_STRUCTURAL_REASONING);
return R.fail("未找到提示词信息");
}
List<EvidenceDirectory> evidenceDirectories = evidenceDirectoryService.list(new LambdaQueryWrapper<EvidenceDirectory>().eq(EvidenceDirectory::getCaseId, caseId)); List<EvidenceDirectory> evidenceDirectories = evidenceDirectoryService.list(new LambdaQueryWrapper<EvidenceDirectory>().eq(EvidenceDirectory::getCaseId, caseId));
// 查出证据信息 if (evidenceDirectories.isEmpty()) {
log.error("未找到证据目录信息:【{}】", caseId);
return R.fail("未找到证据目录信息");
}
List<CaseEvidence> caseEvidences = caseEvidenceService.list(new LambdaQueryWrapper<CaseEvidence>().eq(CaseEvidence::getCaseId, caseId)); List<CaseEvidence> caseEvidences = caseEvidenceService.list(new LambdaQueryWrapper<CaseEvidence>().eq(CaseEvidence::getCaseId, caseId));
if (caseEvidences.isEmpty()) {
log.error("未找到证据信息:【{}】", caseId);
return R.fail("未找到证据信息");
}
List<ModelIndexAtomicRelation> modelIndexAtomicRelations = modelIndexAtomicRelationService.list();
if (modelIndexAtomicRelations.isEmpty()) {
log.error("未找到指标原子关系信息");
return R.fail("未找到指标原子关系信息");
}
log.info("开始计算指标结果"); log.info("开始计算指标结果");
// 遍历指标集合,处理每个指标的判断逻辑,得出结果 // 遍历指标集合,处理每个指标的判断逻辑,得出结果
modelIndices.forEach(modelIndex -> { modelIndices.forEach(modelIndex -> {
@ -256,6 +279,7 @@ public class ModelServiceImpl implements ModelService {
ModelIndexResult modelIndexResult = new ModelIndexResult(); ModelIndexResult modelIndexResult = new ModelIndexResult();
modelIndexResult.setCaseId(caseId); modelIndexResult.setCaseId(caseId);
modelIndexResult.setIndexId(modelIndex.getId()); modelIndexResult.setIndexId(modelIndex.getId());
modelIndexResult.setAtomicIds(modelIndexAtomicRelations.stream().filter(relation -> relation.getModelIndexId().equals(modelIndex.getId())).map(ModelIndexAtomicRelation::getAtomicIndexId).collect(Collectors.joining(",")));
ModelIndexResult exist = modelIndexResultMapper.selectByCaseIdAndIndexId(analyseCaseDTO.getCaseId(), modelIndex.getId()); ModelIndexResult exist = modelIndexResultMapper.selectByCaseIdAndIndexId(analyseCaseDTO.getCaseId(), modelIndex.getId());
if (exist != null) { if (exist != null) {
modelIndexResult.setId(exist.getId()); modelIndexResult.setId(exist.getId());

Loading…
Cancel
Save