From b638a661ef02201fbc9a171ca7dee80af980d061 Mon Sep 17 00:00:00 2001 From: xueqingkun <xueqingkun@126.com> Date: Thu, 30 Nov 2023 13:09:05 +0800 Subject: [PATCH] =?UTF-8?q?manage=EF=BC=9A=E6=B7=BB=E5=8A=A0=E4=BD=93?= =?UTF-8?q?=E6=A0=BC=E6=A3=80=E6=9F=A5=E3=80=81=E8=BE=85=E5=8A=A9=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=20=E8=AF=8A=E6=96=AD=E4=BE=9D=E6=8D=AE=E8=A7=86?= =?UTF-8?q?=E5=9B=BE=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DiseaseAncillaryManageServiceImpl.java | 2 +- .../DiseasePhysicalManageServiceImpl.java | 2 +- .../impl/ConfigPhysicalToolServiceImpl.java | 4 +-- .../vo/manage/DiseaseAncillaryResVo.java | 20 +++++++++++ .../vo/manage/DiseasePhysicalResVo.java | 35 ++++++++++++++++++- .../mapper/DiseaseAncillaryMapper.xml | 1 + .../mapper/DiseasePhysicalMapper.xml | 4 ++- 7 files changed, 62 insertions(+), 6 deletions(-) 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<DiseaseAncillaryResVo> 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<DiseasePhysicalResVo> 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<ConfigPhysicalToo ConfigPhysicalToolResVO tool = new ConfigPhysicalToolResVO(); tool.setToolType(e.getKey()); tool.setToolName(e.getKey()); - tool.setId(UUID.fastUUID().toString()); + tool.setId(new MD5().digestHex16(e.getKey())); int priority = 999; if (CollectionUtil.isNotEmpty(e.getValue()) && null != e.getValue().get(0).getTypePriority()) { priority = e.getValue().get(0).getTypePriority(); diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseAncillaryResVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseAncillaryResVo.java index a54067b0..907d8336 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseAncillaryResVo.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseAncillaryResVo.java @@ -15,6 +15,12 @@ public class DiseaseAncillaryResVo extends DiseaseAncillary { @ApiModelProperty("项目名称") private String itemName; + @ApiModelProperty("项目类型") + private String itemType; + + @ApiModelProperty("项目id路径") + private List<String> itemIdPath; + @ApiModelProperty("诊断依据 0:初步诊断依据 1:证实诊断依据 2:鉴别诊断依据 3:全面诊断依据") private List<Integer> 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<String> toolIdPath; + + @ApiModelProperty("身体部位id路径") + private List<String> locationIdPath; @ApiModelProperty("诊断依据 0:初步诊断依据 1:证实诊断依据 2:鉴别诊断依据 3:全面诊断依据") private List<Integer> 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 </select> </mapper>