diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java index 40df6d1f..5da55fa3 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java @@ -472,13 +472,13 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService List answerList = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getMedicalId, process.getMedicalRecId()).list(); // 病历问题总数(统计非默认语句的病历问题总数) long medicalQuestionCount = answerList.stream().filter(e -> ObjectUtil.isNotEmpty(e.getAnswerType()) && 1 == e.getAnswerType()).count(); - // 用户实际提问的数量(去除默认问题) Set defaultqQuestionIdSet = answerList.stream().filter(e -> ObjectUtil.isNotEmpty(e.getAnswerType()) && 0 == e.getAnswerType()).map(AskPatientAnswer::getLibraryQuestionId).collect(Collectors.toSet()); userQuestionIdSet.removeAll(defaultqQuestionIdSet); + // 用户实际提问的数量(去除默认问题) int userQuestionCount = userQuestionIdSet.size(); - // 用户提问命中病历配置问题数(去除默认问题之后的交集) - Collection intersection = CollUtil.intersection(defaultqQuestionIdSet, answerList.stream().map(AskPatientAnswer::getLibraryQuestionId).collect(Collectors.toSet())); - int userHitQuestionCount = intersection.size(); + // 用户提问命中病历配置问题数(去除默认问题之后的数量) + userQuestionIdSet.removeAll(defaultqQuestionIdSet); + int userHitQuestionCount = userQuestionIdSet.size(); // 过程数据3:问诊vs问诊正确率 BigDecimal num3 = BigDecimal.ZERO;