diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisAncillaryRecordMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisAncillaryRecordMapper.java index badf489a..c09bb2f6 100644 --- a/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisAncillaryRecordMapper.java +++ b/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisAncillaryRecordMapper.java @@ -2,6 +2,10 @@ package com.supervision.mapper; import com.supervision.model.DiagnosisAncillaryRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.supervision.vo.result.AncillaryRecordByResultDAO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @author flevance @@ -11,6 +15,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface DiagnosisAncillaryRecordMapper extends BaseMapper { + List queryAncillaryResultByProcessId(@Param("processId") String processId); + } diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisPhysicalRecordMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisPhysicalRecordMapper.java index 4875db8d..28aaebc8 100644 --- a/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisPhysicalRecordMapper.java +++ b/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisPhysicalRecordMapper.java @@ -2,6 +2,10 @@ package com.supervision.mapper; import com.supervision.model.DiagnosisPhysicalRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.supervision.vo.result.PhysicalRecordByResultDAO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @author flevance @@ -11,6 +15,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface DiagnosisPhysicalRecordMapper extends BaseMapper { + List queryPhysicalResultByProcessId(@Param("processId") String processId); + } diff --git a/virtual-patient-model/src/main/java/com/supervision/model/AskDiseaseQuestionAnswer.java b/virtual-patient-model/src/main/java/com/supervision/model/AskDiseaseQuestionAnswer.java index 0dc0cf44..45042ba7 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/AskDiseaseQuestionAnswer.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/AskDiseaseQuestionAnswer.java @@ -39,7 +39,7 @@ public class AskDiseaseQuestionAnswer extends Model im /** * 模板问题ID(如果not null,则从template_question表出code,desc,question) */ - @ApiModelProperty("") + @ApiModelProperty("模板问题ID(如果not null,则从template_question表出code,desc,question)") private String templateQuestionId; /** @@ -68,6 +68,9 @@ public class AskDiseaseQuestionAnswer extends Model im @TableField(typeHandler = StringListTypeHandler.class) private List answer; + @ApiModelProperty("是否必查-初步诊断依据 0否1是") + private Integer requireCheck; + /** * 创建人ID */ diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisAncillaryRecord.java b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisAncillaryRecord.java index c605f44d..8878cd16 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisAncillaryRecord.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisAncillaryRecord.java @@ -32,6 +32,12 @@ public class DiagnosisAncillaryRecord extends Model im @ApiModelProperty("流程ID") private String processId; + /** + * 辅助检查项ID + */ + @ApiModelProperty("辅助检查项ID") + private String ancillaryId; + /** * 项目ID */ diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPhysicalRecord.java b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPhysicalRecord.java index 9206177b..45fbb954 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPhysicalRecord.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPhysicalRecord.java @@ -32,6 +32,12 @@ public class DiagnosisPhysicalRecord extends Model impl @ApiModelProperty("诊断进程ID") private String processId; + /** + * 体格检查项ID + */ + @ApiModelProperty("体格检查项ID") + private String physicalId; + /** * 体格检查工具ID */ diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisQaRecord.java b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisQaRecord.java index 1a32339b..ab81bafd 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisQaRecord.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisQaRecord.java @@ -31,6 +31,12 @@ public class DiagnosisQaRecord implements Serializable { @ApiModelProperty("诊断进程ID") private String processId; + /** + * 问题答案表ID + */ + @ApiModelProperty("问题答案表ID") + private String questionAnswerId; + /** * 问题 */ diff --git a/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisAncillaryRecordService.java b/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisAncillaryRecordService.java index 53c5a03f..14cc3ac7 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisAncillaryRecordService.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisAncillaryRecordService.java @@ -2,6 +2,9 @@ package com.supervision.service; import com.supervision.model.DiagnosisAncillaryRecord; import com.baomidou.mybatisplus.extension.service.IService; +import com.supervision.vo.result.AncillaryRecordByResultDAO; + +import java.util.List; /** * @author flevance @@ -10,4 +13,10 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface DiagnosisAncillaryRecordService extends IService { + + /** + * 初步诊断依据 - 辅助检查记录 + */ + List queryAncillaryResultByProcessId(String processId); + } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisPhysicalRecordService.java b/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisPhysicalRecordService.java index 280024f4..9d476413 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisPhysicalRecordService.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisPhysicalRecordService.java @@ -2,6 +2,9 @@ package com.supervision.service; import com.supervision.model.DiagnosisPhysicalRecord; import com.baomidou.mybatisplus.extension.service.IService; +import com.supervision.vo.result.PhysicalRecordByResultDAO; + +import java.util.List; /** * @author flevance @@ -10,4 +13,12 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface DiagnosisPhysicalRecordService extends IService { + /** + * 体格检查记录 + * @param processId 流程ID + * @return list + */ + List queryPhysicalResultByProcessId(String processId); + + } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisAncillaryRecordServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisAncillaryRecordServiceImpl.java index 55086491..3c5572ba 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisAncillaryRecordServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisAncillaryRecordServiceImpl.java @@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.model.DiagnosisAncillaryRecord; import com.supervision.service.DiagnosisAncillaryRecordService; import com.supervision.mapper.DiagnosisAncillaryRecordMapper; +import com.supervision.vo.result.AncillaryRecordByResultDAO; import org.springframework.stereotype.Service; +import java.util.List; + /** * @author flevance * @description 针对表【vp_diagnosis_ancillary_record(辅助检查记录表)】的数据库操作Service实现 @@ -15,6 +18,13 @@ import org.springframework.stereotype.Service; public class DiagnosisAncillaryRecordServiceImpl extends ServiceImpl implements DiagnosisAncillaryRecordService{ + /** + * 初步诊断依据 - 辅助检查记录 + */ + public List queryAncillaryResultByProcessId(String processId){ + return this.baseMapper.queryAncillaryResultByProcessId(processId); + } + } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisPhysicalRecordServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisPhysicalRecordServiceImpl.java index 71085f5c..0cebcee2 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisPhysicalRecordServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisPhysicalRecordServiceImpl.java @@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.model.DiagnosisPhysicalRecord; import com.supervision.service.DiagnosisPhysicalRecordService; import com.supervision.mapper.DiagnosisPhysicalRecordMapper; +import com.supervision.vo.result.PhysicalRecordByResultDAO; import org.springframework.stereotype.Service; +import java.util.List; + /** * @author flevance * @description 针对表【vp_diagnosis_physical_record(体格检查记录)】的数据库操作Service实现 @@ -15,6 +18,13 @@ import org.springframework.stereotype.Service; public class DiagnosisPhysicalRecordServiceImpl extends ServiceImpl implements DiagnosisPhysicalRecordService{ + /** + * 初步诊断依据 - 体格检查记录 + */ + @Override + public List queryPhysicalResultByProcessId(String processId) { + return this.baseMapper.queryPhysicalResultByProcessId(processId); + } } diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/result/AncillaryRecordByResultDAO.java b/virtual-patient-model/src/main/java/com/supervision/vo/result/AncillaryRecordByResultDAO.java new file mode 100644 index 00000000..fb020312 --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/result/AncillaryRecordByResultDAO.java @@ -0,0 +1,29 @@ +package com.supervision.vo.result; + +import lombok.Data; + +@Data +public class AncillaryRecordByResultDAO { + + private String itemName; + + private String recordId; + + /** + * 是否必查 初步诊断依据 + */ + private Integer requireCheck; + + /** + * 正式诊断依据 + */ + private Integer basisConfirm; + + /** + * 鉴别依据 + */ + private Integer basisIdentification; + + private String itemId; + +} diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/result/PhysicalRecordByResultDAO.java b/virtual-patient-model/src/main/java/com/supervision/vo/result/PhysicalRecordByResultDAO.java new file mode 100644 index 00000000..2a6ada2c --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/result/PhysicalRecordByResultDAO.java @@ -0,0 +1,30 @@ +package com.supervision.vo.result; + +import lombok.Data; + +@Data +public class PhysicalRecordByResultDAO { + + private String toolLocationName; + + private String recordId; + + /** + * 是否必查 初步诊断依据 + */ + private Integer requireCheck; + + /** + * 正式诊断依据 + */ + private Integer basisConfirm; + + /** + * 鉴别依据 + */ + private Integer basisIdentification; + + private String locationId; + + private String toolId; +} diff --git a/virtual-patient-model/src/main/resources/mapper/ConfigAncillaryItemMapper.xml b/virtual-patient-model/src/main/resources/mapper/ConfigAncillaryItemMapper.xml index 9649f835..fb905566 100644 --- a/virtual-patient-model/src/main/resources/mapper/ConfigAncillaryItemMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/ConfigAncillaryItemMapper.xml @@ -6,8 +6,8 @@ - - + + diff --git a/virtual-patient-model/src/main/resources/mapper/DiagnosisAncillaryRecordMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiagnosisAncillaryRecordMapper.xml index 432d0951..422c339a 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiagnosisAncillaryRecordMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiagnosisAncillaryRecordMapper.xml @@ -5,20 +5,35 @@ - - - - - - - - - + + + + + + + + + + - id,process_id,item_id,primary_id, + id + ,process_id,item_id,primary_id,ancillary_id result,create_user_id,create_time, update_user_id,update_time + diff --git a/virtual-patient-model/src/main/resources/mapper/DiagnosisPhysicalRecordMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiagnosisPhysicalRecordMapper.xml index a86a6cda..c0167aa9 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiagnosisPhysicalRecordMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiagnosisPhysicalRecordMapper.xml @@ -23,4 +23,19 @@ location_id,primary_id,result,create_user_id, create_time,update_user_id,update_time + diff --git a/virtual-patient-model/src/main/resources/mapper/DiagnosisQaRecordMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiagnosisQaRecordMapper.xml index a9ba03d4..b0a02479 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiagnosisQaRecordMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiagnosisQaRecordMapper.xml @@ -7,6 +7,7 @@ + @@ -18,7 +19,7 @@ - id,process_id,question, + id,process_id,question,question_answer_id question_wav_id,answer,answer_wav_id, create_user_id,create_time,update_user_id, update_time diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisConfirmResultResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisConfirmResultResVO.java index 11df78e7..ea24b419 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisConfirmResultResVO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisConfirmResultResVO.java @@ -11,7 +11,7 @@ import java.util.List; public class BasisConfirmResultResVO { @ApiModelProperty("证实诊断依据") - private String confirmingDiagnosis; + private List confirmingDiagnosis; @ApiModelProperty("证实诊断列表") private List nodeList; diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisIdentificationResultResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisIdentificationResultResVO.java index ab7a19b5..ce1b7b97 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisIdentificationResultResVO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisIdentificationResultResVO.java @@ -9,7 +9,7 @@ import java.util.List; public class BasisIdentificationResultResVO { @ApiModelProperty("证实诊断依据") - private String identificationDiagnosis; + private List identificationDiagnosis; @ApiModelProperty("证实诊断列表") private List nodeList; 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 f3c62324..8e7306b2 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 @@ -1,11 +1,15 @@ package com.supervision.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import com.supervision.exception.BusinessException; import com.supervision.model.*; import com.supervision.model.Process; import com.supervision.pojo.vo.*; import com.supervision.service.*; +import com.supervision.vo.result.AncillaryRecordByResultDAO; +import com.supervision.vo.result.PhysicalRecordByResultDAO; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -24,6 +28,14 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService private final DiagnosisPrimaryService diagnosisPrimaryService; + private final AskDiseaseQuestionAnswerService askDiseaseQuestionAnswerService; + + private final DiagnosisQaRecordService diagnosisQaRecordService; + + private final DiagnosisPhysicalRecordService diagnosisPhysicalRecordService; + + private final DiagnosisAncillaryRecordService diagnosisAncillaryRecordService; + private final ProcessService processService; private final PatientService patientService; @@ -58,24 +70,141 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService Patient patient = patientService.getById(process.getPatientId()); List diseasesList = diseaseService.listByIds(patient.getDiseaseList()); // 1.生成预期诊断结果 - ExpertDiagnosisResultResVO expertDiagnosisResultResVO = creatExpertDiagnosisResult(diagnosisResult, patient, diseasesList); - diagnosisResultResVO.setExpertDiagnosisResult(expertDiagnosisResultResVO); + diagnosisResultResVO.setExpertDiagnosisResult(creatExpertDiagnosisResult(diagnosisResult, patient, diseasesList)); // 2.生成初步诊断依据 - BasisPrimaryResultResVO basisPrimaryResultResVO = new BasisPrimaryResultResVO(); + diagnosisResultResVO.setBasisPrimaryResultResVO(createBasisPrimaryResult(processId, diseasesList)); + // 3.生成证实诊断依据 + diagnosisResultResVO.setBasisConfirmResultResVO(createBasisConfirmResult(processId, diseasesList)); + // 4.生成鉴别诊断依据 + diagnosisResultResVO.setBasisIdentificationResult(createBasisIdentificationResult(processId, diseasesList)); + // 5.全面检查-(暂无相关数据) 后面再看 + diagnosisResultResVO.setFullCheck(null); + // 6.处置方案 + diagnosisResultResVO.setDealPlan(createDealPlan(diagnosisResult, patient)); + return diagnosisResultResVO; + } - basisPrimaryResultResVO.setPreliminaryDiagnosis(diseasesList.stream().map(Disease::getPreliminaryDiagnosis).collect(Collectors.toList())); - // 根据record记录寻找符合初步诊断依据的项目 -// basisPrimaryResultResVO.setNodeList(); -// -// -// diagnosisResultResVO.setBasisPrimaryResultResVO(); -// diagnosisResultResVO.setBasisConfirmResultResVO(); -// diagnosisResultResVO.setBasisIdentificationResult(); -// diagnosisResultResVO.setFullCheck(); -// diagnosisResultResVO.setDealPlan(); + private DealPlanResVO createDealPlan(DiagnosisResult diagnosisResult, Patient patient) { + DealPlanResVO dealPlanResVO = new DealPlanResVO(); + dealPlanResVO.setUserTreatmentPlanType(diagnosisResult.getTreatmentPlanType()); + dealPlanResVO.setUserTreatmentPlan(diagnosisResult.getTreatmentPlan()); + dealPlanResVO.setRealTreatmentPlan(patient.getDiseaseTreatmentPlan()); + return dealPlanResVO; + } + + private BasisIdentificationResultResVO createBasisIdentificationResult(String processId, List diseasesList) { + BasisIdentificationResultResVO basisIdentificationResultResVO = new BasisIdentificationResultResVO(); + basisIdentificationResultResVO.setIdentificationDiagnosis(diseasesList.stream().map(Disease::getBasisIdentification).collect(Collectors.toList())); + // 2.2 获取体格检查 + List physicalRecordList = diagnosisPhysicalRecordService.queryPhysicalResultByProcessId(processId); + List nodeList = physicalRecordList.stream().map(e -> { + BasisDiagnosisNodeResVO nodeResVO = new BasisDiagnosisNodeResVO(); + nodeResVO.setType(1); + nodeResVO.setRecordName(e.getToolLocationName()); + nodeResVO.setRecordId(e.getRecordId()); + // 如果是必做的,则是正确 + nodeResVO.setCorrect(e.getBasisIdentification()); + return nodeResVO; + }).collect(Collectors.toList()); + // 2.3 获取辅助检查 + List ancillaryRecordList = diagnosisAncillaryRecordService.queryAncillaryResultByProcessId(processId); + List collect = ancillaryRecordList.stream().map(e -> { + BasisDiagnosisNodeResVO nodeResVO = new BasisDiagnosisNodeResVO(); + nodeResVO.setCorrect(e.getBasisIdentification()); + nodeResVO.setRecordId(e.getRecordId()); + nodeResVO.setRecordName(e.getItemName()); + nodeResVO.setType(2); + return nodeResVO; + }).collect(Collectors.toList()); + nodeList.addAll(collect); + + basisIdentificationResultResVO.setNodeList(nodeList); + return basisIdentificationResultResVO; + } + + private BasisConfirmResultResVO createBasisConfirmResult(String processId, List diseasesList) { + BasisConfirmResultResVO basisConfirmResultResVO = new BasisConfirmResultResVO(); + basisConfirmResultResVO.setConfirmingDiagnosis(diseasesList.stream().map(Disease::getConfirmingDiagnosis).collect(Collectors.toList())); + // 2.2 获取体格检查 + List physicalRecordList = diagnosisPhysicalRecordService.queryPhysicalResultByProcessId(processId); + List nodeList = physicalRecordList.stream().map(e -> { + BasisDiagnosisNodeResVO nodeResVO = new BasisDiagnosisNodeResVO(); + nodeResVO.setType(1); + nodeResVO.setRecordName(e.getToolLocationName()); + nodeResVO.setRecordId(e.getRecordId()); + // 如果是必做的,则是正确 + nodeResVO.setCorrect(e.getBasisConfirm()); + return nodeResVO; + }).collect(Collectors.toList()); + // 2.3 获取辅助检查 + List ancillaryRecordList = diagnosisAncillaryRecordService.queryAncillaryResultByProcessId(processId); + List collect = ancillaryRecordList.stream().map(e -> { + BasisDiagnosisNodeResVO nodeResVO = new BasisDiagnosisNodeResVO(); + nodeResVO.setCorrect(e.getBasisConfirm()); + nodeResVO.setRecordId(e.getRecordId()); + nodeResVO.setRecordName(e.getItemName()); + nodeResVO.setType(2); + return nodeResVO; + }).collect(Collectors.toList()); + nodeList.addAll(collect); + + basisConfirmResultResVO.setNodeList(nodeList); + return basisConfirmResultResVO; + } - return null; + private BasisPrimaryResultResVO createBasisPrimaryResult(String processId, List diseasesList) { + BasisPrimaryResultResVO basisPrimaryResultResVO = new BasisPrimaryResultResVO(); + basisPrimaryResultResVO.setPreliminaryDiagnosis(diseasesList.stream().map(Disease::getPreliminaryDiagnosis).collect(Collectors.toList())); + // 根据record记录寻找符合初步诊断依据的项目 + // 2.1 首先获取对话 + List basisDiagnosisNodeResVOS = new ArrayList<>(); + List qaRecordList = diagnosisQaRecordService.lambdaQuery().eq(DiagnosisQaRecord::getProcessId, processId).list(); + if (CollectionUtil.isNotEmpty(qaRecordList)) { + Set questionAnswerIdSet = qaRecordList.stream().map(DiagnosisQaRecord::getQuestionAnswerId).collect(Collectors.toSet()); + List list = askDiseaseQuestionAnswerService.lambdaQuery() + .in(AskDiseaseQuestionAnswer::getId, questionAnswerIdSet) + .eq(AskDiseaseQuestionAnswer::getRequireCheck, 1) + .select(AskDiseaseQuestionAnswer::getId).list(); + // 获取必问的项目 + Set requireCheckIdSet = list.stream().map(AskDiseaseQuestionAnswer::getId).collect(Collectors.toSet()); + List qaList = qaRecordList.stream().map(e -> { + BasisDiagnosisNodeResVO node = new BasisDiagnosisNodeResVO(); + node.setType(0); + node.setRecordName(e.getQuestion()); + node.setRecordId(e.getId()); + node.setCorrect(requireCheckIdSet.contains(e.getQuestionAnswerId()) ? 1 : 0); + return node; + + }).collect(Collectors.toList()); + basisDiagnosisNodeResVOS.addAll(qaList); + } + // 2.2 获取体格检查 + List physicalRecordList = diagnosisPhysicalRecordService.queryPhysicalResultByProcessId(processId); + List physicalList = physicalRecordList.stream().map(e -> { + BasisDiagnosisNodeResVO nodeResVO = new BasisDiagnosisNodeResVO(); + nodeResVO.setType(1); + nodeResVO.setRecordName(e.getToolLocationName()); + nodeResVO.setRecordId(e.getRecordId()); + // 如果是必做的,则是正确 + nodeResVO.setCorrect(e.getRequireCheck()); + return nodeResVO; + }).collect(Collectors.toList()); + basisDiagnosisNodeResVOS.addAll(physicalList); + // 2.3 获取辅助检查 + List ancillaryRecordList = diagnosisAncillaryRecordService.queryAncillaryResultByProcessId(processId); + List collect = ancillaryRecordList.stream().map(e -> { + BasisDiagnosisNodeResVO nodeResVO = new BasisDiagnosisNodeResVO(); + nodeResVO.setCorrect(e.getRequireCheck()); + nodeResVO.setRecordId(e.getRecordId()); + nodeResVO.setRecordName(e.getItemName()); + nodeResVO.setType(2); + return nodeResVO; + }).collect(Collectors.toList()); + basisDiagnosisNodeResVOS.addAll(collect); + + basisPrimaryResultResVO.setNodeList(basisDiagnosisNodeResVOS); + return basisPrimaryResultResVO; }