From c81b4055b257cafb06d1217e15ec227abafbaae3 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Thu, 30 Nov 2023 10:57:35 +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 --- .../DiseaseAncillaryManageController.java | 8 +++- .../DiseasePhysicalManageController.java | 9 +++-- .../DiseaseQuestionManageController.java | 1 + .../DiseaseAncillaryManageServiceImpl.java | 7 +++- .../DiseasePhysicalManageServiceImpl.java | 9 ++++- ...DiseaseTreatmentPlanManageServiceImpl.java | 2 + .../vo/manage/DiseaseAncillaryReqVo.java | 37 ++++++++++++++++++ .../vo/manage/DiseaseAncillaryResVo.java | 35 +++++++++++++++++ .../vo/manage/DiseasePhysicalReqVo.java | 38 +++++++++++++++++++ .../vo/manage/DiseasePhysicalResVo.java | 36 +++++++++++++++++- 10 files changed, 172 insertions(+), 10 deletions(-) create mode 100644 virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseAncillaryReqVo.java create mode 100644 virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseasePhysicalReqVo.java diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseAncillaryManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseAncillaryManageController.java index 62b7c2ce..98e318ee 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseAncillaryManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseAncillaryManageController.java @@ -2,6 +2,7 @@ package com.supervision.manage.controller.diseasemanage; import com.supervision.manage.service.DiseaseAncillaryManageService; import com.supervision.model.DiseaseAncillary; +import com.supervision.vo.manage.DiseaseAncillaryReqVo; import com.supervision.vo.manage.DiseaseAncillaryResVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -21,8 +22,9 @@ public class DiseaseAncillaryManageController { @ApiOperation("新增辅助检查信息") @PostMapping("/save") - public String saveAncillary(@RequestBody DiseaseAncillary diseaseAncillary) { + public String saveAncillary(@RequestBody DiseaseAncillaryReqVo diseaseAncillary) { + diseaseAncillary.dispersedDiagnosticCriteria(); DiseaseAncillary result = diseaseAncillaryManageService.saveAncillary(diseaseAncillary); return result.getId(); @@ -40,8 +42,9 @@ public class DiseaseAncillaryManageController { @ApiOperation("修改辅助检查信息") @PutMapping("/update") - public boolean updateAncillary(@RequestBody DiseaseAncillary diseaseAncillary) { + public boolean updateAncillary(@RequestBody DiseaseAncillaryReqVo diseaseAncillary) { + diseaseAncillary.dispersedDiagnosticCriteria(); return diseaseAncillaryManageService.updateAncillary(diseaseAncillary); } @@ -54,6 +57,7 @@ public class DiseaseAncillaryManageController { } + // todo: 根据疾病id 查询辅助检查项树 } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseasePhysicalManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseasePhysicalManageController.java index 229e981c..8423da58 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseasePhysicalManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseasePhysicalManageController.java @@ -3,6 +3,7 @@ package com.supervision.manage.controller.diseasemanage; import com.supervision.manage.service.DiseasePhysicalManageService; import com.supervision.vo.manage.DiseasePhysicalLocationNodeVo; +import com.supervision.vo.manage.DiseasePhysicalReqVo; import com.supervision.vo.manage.DiseasePhysicalResVo; import com.supervision.model.DiseasePhysical; import com.supervision.vo.manage.PhysicalLocationNode; @@ -24,8 +25,9 @@ public class DiseasePhysicalManageController { @ApiOperation("新增体格检查信息") @PostMapping("/save") - public String savePhysical(@RequestBody DiseasePhysical diseasePhysical) { + public String savePhysical(@RequestBody DiseasePhysicalReqVo diseasePhysical) { + diseasePhysical.dispersedDiagnosticCriteria(); DiseasePhysical result = diseasePhysicalManageService.savePhysical(diseasePhysical); return result.getId(); } @@ -40,15 +42,16 @@ public class DiseasePhysicalManageController { @ApiOperation("修改体格检查信息") @PutMapping("/update") - public boolean updatePhysical(@RequestBody DiseasePhysical diseasePhysical) { + public boolean updatePhysical(@RequestBody DiseasePhysicalReqVo diseasePhysical) { + diseasePhysical.dispersedDiagnosticCriteria(); return diseasePhysicalManageService.updatePhysical(diseasePhysical); } @ApiOperation("根据疾病id查询体格检查列表") @GetMapping("/queryListByDiseaseId") - public List queryListByDiseaseId(String diseaseId) { + public List queryListByDiseaseId(@RequestParam String diseaseId) { return diseasePhysicalManageService.queryListByDiseaseId(diseaseId); diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseQuestionManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseQuestionManageController.java index bd033070..19715102 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseQuestionManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseQuestionManageController.java @@ -46,6 +46,7 @@ public class DiseaseQuestionManageController { } + // todo: 根据疾病id 打标问题库列表 } 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 a0308c9c..a0eb76f9 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 @@ -25,7 +25,10 @@ public class DiseaseAncillaryManageServiceImpl implements DiseaseAncillaryManage public List queryListByDiseaseId(String diseaseId) { Assert.isTrue(StrUtil.isNotEmpty(diseaseId),"diseaseId不能为空"); - return diseaseAncillaryService.queryListByDiseaseId(diseaseId); + List diseaseAncillaryResVos = diseaseAncillaryService.queryListByDiseaseId(diseaseId); + + diseaseAncillaryResVos.forEach(DiseaseAncillaryResVo::aggregationDiagnosticCriteria); + return diseaseAncillaryResVos; } @Override @@ -91,7 +94,7 @@ public class DiseaseAncillaryManageServiceImpl implements DiseaseAncillaryManage private boolean checkIfPresent(DiseaseAncillary diseaseAncillary){ - return Objects.isNull(findByDiseaseIdAndItemId(diseaseAncillary.getDiseaseId(), diseaseAncillary.getItemId())); + return !Objects.isNull(findByDiseaseIdAndItemId(diseaseAncillary.getDiseaseId(), diseaseAncillary.getItemId())); } 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 f0dbba07..88b1423c 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 @@ -34,8 +34,10 @@ public class DiseasePhysicalManageServiceImpl implements DiseasePhysicalManageSe public List queryListByDiseaseId(String diseaseId) { Assert.isTrue(StrUtil.isNotEmpty(diseaseId),"id不能为空"); + List diseasePhysicalResVos = diseasePhysicalService.queryListByDiseaseId(diseaseId); - return diseasePhysicalService.queryListByDiseaseId(diseaseId); + diseasePhysicalResVos.forEach(DiseasePhysicalResVo::aggregationDiagnosticCriteria); + return diseasePhysicalResVos; } @Override @@ -72,6 +74,7 @@ public class DiseasePhysicalManageServiceImpl implements DiseasePhysicalManageSe @Override public List queryTree(String diseaseId) { + // 1. 查询体格检查工具树 List physicalLocationNodes = physicalToolManageService.queryTree(); if (CollectionUtil.isEmpty(physicalLocationNodes)){ return CollectionUtil.newArrayList(); @@ -81,14 +84,16 @@ public class DiseasePhysicalManageServiceImpl implements DiseasePhysicalManageSe physicalLocationNode.setChild(physicalLocationNodes); DiseasePhysicalLocationNodeVo bean = BeanUtil.toBean(physicalLocationNode, DiseasePhysicalLocationNodeVo.class); + // 2. 根据疾病id查询疾病体格检查项 List diseasePhysicalResVos = diseasePhysicalService.queryListByDiseaseId(diseaseId); if (CollectionUtil.isEmpty(diseasePhysicalResVos)){ return bean.getChild(); } + // 3. 填充疾病体格检查树中的flag属性 List toolIds = diseasePhysicalResVos.stream().map(DiseasePhysical::getToolId).distinct().collect(Collectors.toList()); - populateDiseasePhysicalLocationNodeFlag(bean,toolIds); + return bean.getChild(); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseTreatmentPlanManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseTreatmentPlanManageServiceImpl.java index 59450c28..fac7724f 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseTreatmentPlanManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseTreatmentPlanManageServiceImpl.java @@ -68,6 +68,7 @@ public class DiseaseTreatmentPlanManageServiceImpl implements DiseaseTreatmentPl @Override public List queryDiseaseTreatmentPlanTree(Integer disposalMethod, String diseaseId) { + // 1. 查询处置计划树 List treatmentPlanTreeNodes = configTreatmentPlanManageService.queryTree(disposalMethod); if (CollUtil.isEmpty(treatmentPlanTreeNodes)){ return CollectionUtil.newArrayList(); @@ -77,6 +78,7 @@ public class DiseaseTreatmentPlanManageServiceImpl implements DiseaseTreatmentPl treatmentPlanTreeNode.setChild(treatmentPlanTreeNodes); DiseaseTreatmentPlanTreeNode rootNode = new DiseaseTreatmentPlanTreeNode(treatmentPlanTreeNode); + // 2. List diseaseTreatmentPlanResVos = this.queryListByDiseaseId(diseaseId); if (CollUtil.isNotEmpty(diseaseTreatmentPlanResVos)){ rootNode.initFlag(diseaseTreatmentPlanResVos.stream().map(DiseaseTreatmentPlanResVo::getPlanId).collect(Collectors.toList())); diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseAncillaryReqVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseAncillaryReqVo.java new file mode 100644 index 00000000..26f1babf --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseAncillaryReqVo.java @@ -0,0 +1,37 @@ +package com.supervision.vo.manage; + +import com.supervision.model.DiseaseAncillary; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +public class DiseaseAncillaryReqVo extends DiseaseAncillary { + + + @ApiModelProperty("诊断依据 0:初步诊断依据 1:证实诊断依据 2:鉴别诊断依据 3:全面诊断依据") + private List diagnosticCriteria; + + /** + * 离散诊断依据 通过诊断依据中的数据设置 primarilyDiagnosisCriteriaFlag basisConfirmFlag basisIdentificationFlag fullCheckFlag + */ + public void dispersedDiagnosticCriteria(){ + + if (null == diagnosticCriteria){ + diagnosticCriteria = new ArrayList<>(); + } + + super.setPrimarilyDiagnosisCriteriaFlag(diagnosticCriteria.contains(0) ? 1 : 0); + + super.setBasisConfirmFlag(diagnosticCriteria.contains(1) ? 1 : 0); + + super.setBasisIdentificationFlag(diagnosticCriteria.contains(2) ? 1 : 0); + + super.setFullCheckFlag(diagnosticCriteria.contains(3) ? 1 : 0); + + } +} 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 532c5b95..a54067b0 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 @@ -5,10 +5,45 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.ArrayList; +import java.util.List; + @Data @EqualsAndHashCode(callSuper = true) public class DiseaseAncillaryResVo extends DiseaseAncillary { @ApiModelProperty("项目名称") private String itemName; + + @ApiModelProperty("诊断依据 0:初步诊断依据 1:证实诊断依据 2:鉴别诊断依据 3:全面诊断依据") + private List diagnosticCriteria; + + /** + * 聚合诊断依据 通过 primarilyDiagnosisCriteriaFlag basisConfirmFlag basisIdentificationFlag fullCheckFlag + * 属性值设置 诊断依据的值 + */ + public void aggregationDiagnosticCriteria(){ + + if (null == diagnosticCriteria){ + diagnosticCriteria = new ArrayList<>(); + } + + if (Integer.valueOf(1).equals(super.getPrimarilyDiagnosisCriteriaFlag())){ + diagnosticCriteria.add(0); + } + + if (Integer.valueOf(1).equals(super.getBasisConfirmFlag())){ + diagnosticCriteria.add(1); + } + + if (Integer.valueOf(1).equals(super.getBasisIdentificationFlag())){ + diagnosticCriteria.add(2); + } + + if (Integer.valueOf(1).equals(super.getFullCheckFlag())){ + diagnosticCriteria.add(3); + } + + } + } diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseasePhysicalReqVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseasePhysicalReqVo.java new file mode 100644 index 00000000..695a02ff --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseasePhysicalReqVo.java @@ -0,0 +1,38 @@ +package com.supervision.vo.manage; + +import com.supervision.model.DiseasePhysical; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +public class DiseasePhysicalReqVo extends DiseasePhysical { + + + @ApiModelProperty("诊断依据 0:初步诊断依据 1:证实诊断依据 2:鉴别诊断依据 3:全面诊断依据") + private List diagnosticCriteria; + + + /** + * 离散诊断依据 通过诊断依据中的数据设置 primarilyDiagnosisCriteriaFlag basisConfirmFlag basisIdentificationFlag fullCheckFlag + */ + public void dispersedDiagnosticCriteria(){ + + if (null == diagnosticCriteria){ + diagnosticCriteria = new ArrayList<>(); + } + + super.setPrimarilyDiagnosisCriteriaFlag(diagnosticCriteria.contains(0) ? 1 : 0); + + super.setBasisConfirmFlag(diagnosticCriteria.contains(1) ? 1 : 0); + + super.setBasisIdentificationFlag(diagnosticCriteria.contains(2) ? 1 : 0); + + super.setFullCheckFlag(diagnosticCriteria.contains(3) ? 1 : 0); + + } +} 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 8b02843c..12c0a261 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 @@ -5,8 +5,11 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -@EqualsAndHashCode(callSuper = true) +import java.util.ArrayList; +import java.util.List; + @Data +@EqualsAndHashCode(callSuper = true) public class DiseasePhysicalResVo extends DiseasePhysical { @ApiModelProperty("工具名称") @@ -14,4 +17,35 @@ public class DiseasePhysicalResVo extends DiseasePhysical { private String itemId; + @ApiModelProperty("诊断依据 0:初步诊断依据 1:证实诊断依据 2:鉴别诊断依据 3:全面诊断依据") + private List diagnosticCriteria; + + /** + * 聚合诊断依据 通过 primarilyDiagnosisCriteriaFlag basisConfirmFlag basisIdentificationFlag fullCheckFlag + * 属性值设置 诊断依据的值 + */ + public void aggregationDiagnosticCriteria(){ + + if (null == diagnosticCriteria){ + diagnosticCriteria = new ArrayList<>(); + } + + if (Integer.valueOf(1).equals(super.getPrimarilyDiagnosisCriteriaFlag())){ + diagnosticCriteria.add(0); + } + + if (Integer.valueOf(1).equals(super.getBasisConfirmFlag())){ + diagnosticCriteria.add(1); + } + + if (Integer.valueOf(1).equals(super.getBasisIdentificationFlag())){ + diagnosticCriteria.add(2); + } + + if (Integer.valueOf(1).equals(super.getFullCheckFlag())){ + diagnosticCriteria.add(3); + } + + } + }