diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseAncillaryManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseAncillaryManageServiceImpl.java index a0eb76f9..44d238b5 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseAncillaryManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseAncillaryManageServiceImpl.java @@ -27,7 +27,7 @@ public class DiseaseAncillaryManageServiceImpl implements DiseaseAncillaryManage Assert.isTrue(StrUtil.isNotEmpty(diseaseId),"diseaseId不能为空"); List diseaseAncillaryResVos = diseaseAncillaryService.queryListByDiseaseId(diseaseId); - diseaseAncillaryResVos.forEach(DiseaseAncillaryResVo::aggregationDiagnosticCriteria); + diseaseAncillaryResVos.forEach(DiseaseAncillaryResVo::populateOther); return diseaseAncillaryResVos; } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseasePhysicalManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseasePhysicalManageServiceImpl.java index 88b1423c..bdbe148e 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseasePhysicalManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseasePhysicalManageServiceImpl.java @@ -36,7 +36,7 @@ public class DiseasePhysicalManageServiceImpl implements DiseasePhysicalManageSe Assert.isTrue(StrUtil.isNotEmpty(diseaseId),"id不能为空"); List diseasePhysicalResVos = diseasePhysicalService.queryListByDiseaseId(diseaseId); - diseasePhysicalResVos.forEach(DiseasePhysicalResVo::aggregationDiagnosticCriteria); + diseasePhysicalResVos.forEach(DiseasePhysicalResVo::populateOther); return diseasePhysicalResVos; } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigPhysicalToolServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigPhysicalToolServiceImpl.java index 6db05fcd..286ce277 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigPhysicalToolServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigPhysicalToolServiceImpl.java @@ -1,7 +1,7 @@ package com.supervision.service.impl; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.lang.UUID; +import cn.hutool.crypto.digest.MD5; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.model.ConfigPhysicalTool; import com.supervision.service.ConfigPhysicalToolService; @@ -30,7 +30,7 @@ public class ConfigPhysicalToolServiceImpl extends ServiceImpl itemIdPath; + @ApiModelProperty("诊断依据 0:初步诊断依据 1:证实诊断依据 2:鉴别诊断依据 3:全面诊断依据") private List diagnosticCriteria; @@ -46,4 +52,18 @@ public class DiseaseAncillaryResVo extends DiseaseAncillary { } + public void initItemIdPath(){ + if (null == itemIdPath){ + itemIdPath = new ArrayList<>(); + } + + itemIdPath.add(itemType); + itemIdPath.add(getItemId()); + } + + public void populateOther(){ + aggregationDiagnosticCriteria(); + initItemIdPath(); + } + } diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseasePhysicalResVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseasePhysicalResVo.java index 12c0a261..56e0b3ee 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseasePhysicalResVo.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseasePhysicalResVo.java @@ -1,5 +1,6 @@ package com.supervision.vo.manage; +import cn.hutool.crypto.digest.MD5; import com.supervision.model.DiseasePhysical; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -15,7 +16,17 @@ public class DiseasePhysicalResVo extends DiseasePhysical { @ApiModelProperty("工具名称") private String toolName; - private String itemId; + @ApiModelProperty("工具类型") + private String toolType; + + @ApiModelProperty("工具父级id") + private String toolParentId; + + @ApiModelProperty("工具id路径") + private List toolIdPath; + + @ApiModelProperty("身体部位id路径") + private List locationIdPath; @ApiModelProperty("诊断依据 0:初步诊断依据 1:证实诊断依据 2:鉴别诊断依据 3:全面诊断依据") private List diagnosticCriteria; @@ -48,4 +59,26 @@ public class DiseasePhysicalResVo extends DiseasePhysical { } + public void initToolIdPath(){ + if (null == toolIdPath){ + toolIdPath = new ArrayList<>(); + } + toolIdPath.add(new MD5().digestHex16(toolType)); + toolIdPath.add(getToolId()); + } + + public void initLocationIdPath(){ + if (null == locationIdPath){ + locationIdPath = new ArrayList<>(); + } + locationIdPath.add(getToolParentId()); + locationIdPath.add(getLocationId()); + } + + public void populateOther(){ + this.aggregationDiagnosticCriteria(); + this.initToolIdPath(); + this.initLocationIdPath(); + } + } diff --git a/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml index 511938c1..bf96d996 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml @@ -61,6 +61,7 @@ da.disease_id as diseaseId, da.item_id as itemId, cai.item_name as itemName, + cai.type as itemType, da.primarily_diagnosis_criteria_flag as primarilyDiagnosisCriteriaFlag, da.basis_confirm_flag as basisConfirmFlag, da.basis_identification_flag as basisIdentificationFlag, diff --git a/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml index 4fdbfc86..d052e81f 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml @@ -38,9 +38,10 @@ select dp.id, dp.disease_id as diseaseId, dp.tool_id as toolId, - dp.tool_id as itemId, + cpl.parent_id as toolParentId, dp.location_id as locationId, cpt.tool_name as toolName, + cpt.type as toolType, dp.primarily_diagnosis_criteria_flag as primarilyDiagnosisCriteriaFlag, dp.basis_confirm_flag as basisConfirmFlag, dp.basis_identification_flag as basisIdentificationFlag, @@ -52,6 +53,7 @@ dp.trait as trait from vp_disease_physical dp left join vp_config_physical_tool cpt on dp.tool_id = cpt.id + left join vp_config_physical_location cpl on dp.location_id = cpl.id where dp.disease_id = #{diseaseId} order by dp.create_time desc