From fd659e2359d39c30cf5d3164806548f799b67707 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Thu, 20 Jun 2024 13:28:10 +0800 Subject: [PATCH] =?UTF-8?q?1:=20=E7=97=85=E5=8E=86=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=A4=84=E7=BD=AE=E8=AE=A1=E5=88=92=E3=80=81=E4=BD=93=E6=A0=BC?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E3=80=81=E8=BE=85=E5=8A=A9=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MedicalRecManageController.java | 89 ++++------ .../MedicalRecAncillaryManageService.java | 4 + .../service/MedicalRecManageService.java | 19 +- .../MedicalRecPhysicalManageService.java | 5 + .../MedicalRecTreatmentPlanManageService.java | 9 +- .../MedicalRecAncillaryManageServiceImpl.java | 20 +++ .../impl/MedicalRecManageServiceImpl.java | 92 ++++------ .../MedicalRecPhysicalManageServiceImpl.java | 20 +++ ...icalRecTreatmentPlanManageServiceImpl.java | 163 ++++++++++++++++-- .../mapper/MedicalRecAncillaryMapper.java | 5 + .../mapper/MedicalRecPhysicalMapper.java | 5 + .../mapper/MedicalRecTreatmentPlanMapper.java | 5 + .../service/MedicalRecAncillaryService.java | 4 + .../service/MedicalRecPhysicalService.java | 4 + .../MedicalRecTreatmentPlanService.java | 4 + .../impl/MedicalRecAncillaryServiceImpl.java | 7 + .../impl/MedicalRecPhysicalServiceImpl.java | 7 + .../MedicalRecTreatmentPlanServiceImpl.java | 7 + .../vo/manage/MedicalRecAncillaryReqVo.java | 37 ++++ .../vo/manage/MedicalRecAncillaryResVo.java | 69 ++++++++ .../vo/manage/MedicalRecPhysicalReqVo.java | 37 ++++ .../vo/manage/MedicalRecPhysicalResVo.java | 91 ++++++++++ .../manage/MedicalRecTreatmentPlanReqVo.java | 23 +++ .../manage/MedicalRecTreatmentPlanResVo.java | 25 +++ .../mapper/MedicalRecAncillaryMapper.xml | 22 +++ .../mapper/MedicalRecPhysicalMapper.xml | 26 +++ .../mapper/MedicalRecTreatmentPlanMapper.xml | 17 ++ 27 files changed, 672 insertions(+), 144 deletions(-) create mode 100644 virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecAncillaryReqVo.java create mode 100644 virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecAncillaryResVo.java create mode 100644 virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPhysicalReqVo.java create mode 100644 virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPhysicalResVo.java create mode 100644 virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecTreatmentPlanReqVo.java create mode 100644 virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecTreatmentPlanResVo.java diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/medicalrec/MedicalRecManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/medicalrec/MedicalRecManageController.java index 72f66df4..99ddcf3a 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/medicalrec/MedicalRecManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/medicalrec/MedicalRecManageController.java @@ -4,9 +4,8 @@ import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.supervision.manage.pojo.vo.*; import com.supervision.manage.service.MedicalRecManageService; +import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo; import com.supervision.model.Disease; -import com.supervision.model.DiseaseAncillary; -import com.supervision.model.DiseasePhysical; import com.supervision.vo.manage.*; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -67,10 +66,10 @@ public class MedicalRecManageController { return medicalRecManageService.queryDiseaseAncillaryByCreat(diseaseId); } - @Operation(summary = "查看配置的辅助检查项") - @GetMapping("queryDiseaseAncillary") - public List queryDiseaseAncillary(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId){ - return medicalRecManageService.queryDiseaseAncillary(medicalRecId); + @Operation(summary = "查看病历辅助检查项",tags="v1.3新增") + @GetMapping("queryMedicalAncillary") + public List queryMedicalAncillary(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId){ + return medicalRecManageService.queryMedicalAncillary(medicalRecId); } @@ -80,10 +79,10 @@ public class MedicalRecManageController { return medicalRecManageService.queryDiseasePhysicalByCreat(diseaseId); } - @Operation(summary = "查看配置的体格检查项") - @GetMapping("queryDiseasePhysical") - public List queryDiseasePhysical(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId){ - return medicalRecManageService.queryDiseasePhysical(medicalRecId); + @Operation(summary = "查看病历的体格检查项",tags="v1.3新增") + @GetMapping("queryMedicalRecPhysical") + public List queryMedicalRecPhysical(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId){ + return medicalRecManageService.queryMedicalRecPhysical(medicalRecId); } @Operation(summary = "创建病历时查看配置的处置计划") @@ -142,7 +141,7 @@ public class MedicalRecManageController { } - @Operation(summary = "修改病历状态 用来上线或下线病历") + @Operation(summary = "修改病历状态,上线或下线病历",tags="v1.3新增") @GetMapping("/updateMedicalStatus") public Boolean updateMedicalStatus(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId, @Parameter(name = "status", description = "病历状态 0:未上线 1:上线") Integer status) { @@ -150,87 +149,71 @@ public class MedicalRecManageController { return medicalRecManageService.updateMedicalStatus(medicalRecId,status); } - @Operation(summary = "新建病历基本信息") + @Operation(summary = "新建病历基本信息",description = "列表页面添加病历",tags = "v1.3新增") @PostMapping("createMedicalRecBaseInfo") public String createMedicalRecBaseInfo(@RequestBody MedicalRecBaseInfoReqVo reqVO) { return medicalRecManageService.createMedicalRecBaseInfo(reqVO); } - @Operation(summary = "保存病历基本信息") + @Operation(summary = "保存虚拟病人电子病历信息",tags = "v1.3新增") @PostMapping("saveMedicalRec") public String saveMedicalRec(@RequestBody MedicalRecInfoReVo reqVO) { return medicalRecManageService.saveMedicalRec(reqVO); } - @Operation(summary = "查询病历基本信息") + @Operation(summary = "查询虚拟病人电子病历信息",description = "可用于查询诊断依据",tags = "v1.3新增") @GetMapping("queryMedicalRecBaseInfo") public MedicalRecInfoReVo queryMedicalRecBaseInfo(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId) { return medicalRecManageService.queryMedicalRecBaseInfo(medicalRecId); } - @Operation(summary = "保存病历关联的体格检查信息") - @PostMapping("saveMedicalRecPhysical") - public String saveMedicalRecPhysical(@RequestBody DiseasePhysicalReqVo diseasePhysicalReqVo) { - diseasePhysicalReqVo.floatDiagnosticCriteria(); - DiseasePhysical result = medicalRecManageService.saveMedicalRecPhysical(diseasePhysicalReqVo); - return result.getId(); + @Operation(summary = "批量更新病历关联的体格检查信息",tags = "v1.3新增") + @PostMapping("batchUpdateMedicalRecPhysical") + public Boolean batchUpdateMedicalRecPhysical(@RequestBody List medicalRecPhysicalReqVoList) { + medicalRecPhysicalReqVoList.forEach(MedicalRecPhysicalReqVo::floatDiagnosticCriteria); + return medicalRecManageService.batchUpdateMedicalRecPhysical(medicalRecPhysicalReqVoList); } - @Operation(summary = "更新病历关联的体格检查信息") - @PostMapping("updateMedicalRecPhysical") - public Boolean updateMedicalRecPhysical(@RequestBody DiseasePhysicalReqVo diseasePhysicalReqVo) { - diseasePhysicalReqVo.floatDiagnosticCriteria(); - return medicalRecManageService.updateMedicalRecPhysical(diseasePhysicalReqVo); - } - - @Operation(summary = "保存病历关联的辅助检查信息") - @PostMapping("saveMedicalRecAncillary") - public String saveMedicalRecAncillary(@RequestBody DiseaseAncillaryReqVo diseaseAncillaryReqVo) { - - diseaseAncillaryReqVo.floatDiagnosticCriteria(); - DiseaseAncillary result = medicalRecManageService.saveMedicalRecAncillary(diseaseAncillaryReqVo); - return result.getId(); - } - - @Operation(summary = "更新病历关联的辅助检查信息") - @PostMapping("updateMedicalRecAncillary") - public Boolean updateMedicalRecAncillary(@RequestBody DiseaseAncillaryReqVo diseaseAncillaryReqVo) { + @Operation(summary = "更新病历关联的辅助检查信息",tags = "v1.3新增") + @PostMapping("batchUpdateMedicalRecAncillary") + public Boolean batchUpdateMedicalRecAncillary(@RequestBody List medicalRecAncillaryReqVoList) { - diseaseAncillaryReqVo.floatDiagnosticCriteria(); - return medicalRecManageService.updateMedicalRecAncillary(diseaseAncillaryReqVo); + medicalRecAncillaryReqVoList.forEach(MedicalRecAncillaryReqVo::floatDiagnosticCriteria); + return medicalRecManageService.batchUpdateMedicalRecAncillary(medicalRecAncillaryReqVoList); } - @Operation(summary = "更新病历的诊断依据") + @Operation(summary = "更新病历的诊断依据",tags = "v1.3新增") @PostMapping("updateDiagnosisCriteria") public Boolean updateDiagnosisCriteria(@RequestBody DiagnosisCriteriaReqVo diseaseAncillaryReqVo) { return medicalRecManageService.updateDiagnosisCriteria(diseaseAncillaryReqVo); } - @Operation(summary = "根据病历id查询疾病处置信息列表") - @GetMapping("/queryListByDiseaseId") - public List queryListByDiseaseId(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId) { + @Operation(summary = "根据病历id查询疾病处置信息列表",tags = "v1.3新增") + @GetMapping("/queryMedicalRecTreatmentPlanList") + public List queryMedicalRecTreatmentPlanList(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId) { - List diseaseTreatmentPlanResVos = medicalRecManageService.queryListByDiseaseId(medicalRecId); + List medicalRecTreatmentPlanList = medicalRecManageService.queryListByMedicalRecId(medicalRecId); // 前端大哥强烈要求把treatmentPlanId 转换为 firstMeasuresId - diseaseTreatmentPlanResVos.forEach(vo -> { + medicalRecTreatmentPlanList.forEach(vo -> { if (CollUtil.isEmpty(vo.getDrugIds())) { vo.setFirstMeasuresId(vo.getTreatmentPlanId()); } }); - return diseaseTreatmentPlanResVos; + return medicalRecTreatmentPlanList; } - @Operation(summary = "修改处置计划") - @PutMapping("/updateDiseaseTreatmentPlan") - public boolean updateDiseaseTreatmentPlan(@RequestBody DiseaseTreatmentPlanReqVo diseaseTreatmentPlan) { + @Operation(summary = "批量修改处置计划",description = "列表修改或者删除数据保存后把现有数据传递过来",tags = "v1.3新增") + @PutMapping("/batchUpdateMedicalRecTreatmentPlan") + public boolean batchUpdateMedicalRecTreatmentPlan(@RequestBody List medicalRecTreatmentPlanReqVoList) { // 适配前端传入数据 - diseaseTreatmentPlan.setTreatmentPlanId(diseaseTreatmentPlan.getFirstMeasuresId()); - return medicalRecManageService.updateDiseaseTreatmentPlan(diseaseTreatmentPlan); + medicalRecTreatmentPlanReqVoList.forEach(medicalRecTreatmentPlanReqVo -> + medicalRecTreatmentPlanReqVo.setTreatmentPlanId(medicalRecTreatmentPlanReqVo.getFirstMeasuresId())); + return medicalRecManageService.batchUpdateMedicalRecTreatmentPlan(medicalRecTreatmentPlanReqVoList); } } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecAncillaryManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecAncillaryManageService.java index d0479bde..daa9830a 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecAncillaryManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecAncillaryManageService.java @@ -1,6 +1,7 @@ package com.supervision.manage.service; import com.supervision.model.MedicalRecAncillary; +import com.supervision.vo.manage.MedicalRecAncillaryResVo; import java.util.List; @@ -9,4 +10,7 @@ public interface MedicalRecAncillaryManageService { void saveAncillary(List medicalRecAncillaryList); + void batchUpdateAncillary(List medicalRecAncillaries); + + List queryListByMedicalRecId(String medicalRecId); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecManageService.java index 9951c877..c40e729a 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecManageService.java @@ -2,9 +2,9 @@ package com.supervision.manage.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.supervision.manage.pojo.vo.*; +import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo; import com.supervision.model.Disease; import com.supervision.model.DiseaseAncillary; -import com.supervision.model.DiseasePhysical; import com.supervision.vo.manage.*; import jakarta.servlet.http.HttpServletResponse; import org.springframework.web.multipart.MultipartFile; @@ -53,21 +53,18 @@ public interface MedicalRecManageService { MedicalRecInfoReVo queryMedicalRecBaseInfo(String medicalRecId); - DiseasePhysical saveMedicalRecPhysical(DiseasePhysicalReqVo diseasePhysicalReqVo); + List queryMedicalAncillary(String medicalId); - DiseaseAncillary saveMedicalRecAncillary(DiseaseAncillaryReqVo diseaseAncillaryReqVo); + List queryMedicalRecPhysical(String medicalRecId); - Boolean updateMedicalRecPhysical(DiseasePhysicalReqVo diseasePhysicalReqVo); - - Boolean updateMedicalRecAncillary(DiseaseAncillaryReqVo diseaseAncillaryReqVo); + Boolean updateDiagnosisCriteria(DiagnosisCriteriaReqVo diseaseAncillaryReqVo); - List queryDiseaseAncillary(String medicalId); + List queryListByMedicalRecId(String medicalRecId); - List queryDiseasePhysical(String medicalRecId); + Boolean batchUpdateMedicalRecPhysical(List medicalRecPhysicalReqVoList); - Boolean updateDiagnosisCriteria(DiagnosisCriteriaReqVo diseaseAncillaryReqVo); + Boolean batchUpdateMedicalRecAncillary(List medicalRecAncillaryReqVoList); - List queryListByDiseaseId(String medicalRecId); + boolean batchUpdateMedicalRecTreatmentPlan(List medicalRecTreatmentPlanReqVoList); - boolean updateDiseaseTreatmentPlan(DiseaseTreatmentPlanReqVo diseaseTreatmentPlan); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecPhysicalManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecPhysicalManageService.java index 1baedc9c..644933f9 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecPhysicalManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecPhysicalManageService.java @@ -1,10 +1,15 @@ package com.supervision.manage.service; import com.supervision.model.MedicalRecPhysical; +import com.supervision.vo.manage.MedicalRecPhysicalResVo; import java.util.List; public interface MedicalRecPhysicalManageService { void savePhysical(List medicalRecPhysicalList); + + void batchUpdatePhysical(List medicalRecPhysicalList); + + List queryListByMedicalRecId(String medicalRecId); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecTreatmentPlanManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecTreatmentPlanManageService.java index f0c6e07c..9e12c587 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecTreatmentPlanManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecTreatmentPlanManageService.java @@ -1,5 +1,7 @@ package com.supervision.manage.service; +import com.supervision.vo.manage.MedicalRecTreatmentPlanReqVo; +import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo; import com.supervision.model.MedicalRecTreatmentPlan; import com.supervision.model.MedicalRecTreatmentPlanDrug; @@ -7,10 +9,11 @@ import java.util.List; public interface MedicalRecTreatmentPlanManageService { - void saveTreatmentPlan(List medicalRecTreatmentPlanList); + void saveTreatmentPlan(MedicalRecTreatmentPlan medicalRecTreatmentPlan , List treatmentPlanDrugList); + List queryListByMedicalRecId(String medicalRecId); - void saveTreatmentPlanDrug(List medicalRecTreatmentPlanDrugList); + MedicalRecTreatmentPlan saveTreatmentPlan(MedicalRecTreatmentPlanReqVo medicalTreatmentPlan); - void saveTreatmentPlan(MedicalRecTreatmentPlan medicalRecTreatmentPlan , List treatmentPlanDrugList); + boolean batchUpdateTreatmentPlan(List medicalRecTreatmentPlanReqVoList); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecAncillaryManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecAncillaryManageServiceImpl.java index c5e70e67..8b41085a 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecAncillaryManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecAncillaryManageServiceImpl.java @@ -1,9 +1,11 @@ package com.supervision.manage.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.lang.Assert; import com.supervision.manage.service.MedicalRecAncillaryManageService; import com.supervision.model.MedicalRecAncillary; import com.supervision.service.MedicalRecAncillaryService; +import com.supervision.vo.manage.MedicalRecAncillaryResVo; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -24,4 +26,22 @@ public class MedicalRecAncillaryManageServiceImpl implements MedicalRecAncillary } medicalRecAncillaryService.saveBatch(medicalRecAncillaryList); } + + @Override + public void batchUpdateAncillary(List medicalRecAncillaries) { + if (CollUtil.isEmpty(medicalRecAncillaries)){ + return; + } + medicalRecAncillaryService.saveBatch(medicalRecAncillaries); + } + + @Override + public List queryListByMedicalRecId(String medicalRecId) { + Assert.notEmpty(medicalRecId,"medicalRecId不能为空"); + + List medicalRecAncillaryResVoList = medicalRecAncillaryService.queryListByMedicalRecId(medicalRecId); + + medicalRecAncillaryResVoList.forEach(MedicalRecAncillaryResVo::populateOther); + return medicalRecAncillaryResVoList; + } } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java index 842406d8..df20ddf4 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java @@ -11,6 +11,7 @@ import com.supervision.exception.BusinessException; import com.supervision.manage.dto.MedicalExtendInfoDTO; import com.supervision.manage.pojo.vo.*; import com.supervision.manage.service.*; +import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo; import com.supervision.model.*; import com.supervision.model.Process; import com.supervision.service.*; @@ -521,58 +522,16 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService { } @Override - public DiseasePhysical saveMedicalRecPhysical(DiseasePhysicalReqVo diseasePhysicalReqVo) { + public List queryMedicalAncillary(String medicalRecId) { - return diseasePhysicalManageService.savePhysical(diseasePhysicalReqVo); - } - - @Override - public DiseaseAncillary saveMedicalRecAncillary(DiseaseAncillaryReqVo diseaseAncillaryReqVo) { - - return diseaseAncillaryManageService.saveAncillary(diseaseAncillaryReqVo); - } - - @Override - public Boolean updateMedicalRecPhysical(DiseasePhysicalReqVo diseasePhysicalReqVo) { - - - return diseasePhysicalManageService.updatePhysical(diseasePhysicalReqVo); - } - - @Override - public Boolean updateMedicalRecAncillary(DiseaseAncillaryReqVo diseaseAncillaryReqVo) { - - return diseaseAncillaryManageService.updateAncillary(diseaseAncillaryReqVo); - } - - @Override - public List queryDiseaseAncillary(String medicalRecId) { - // 在病历没有保存病历与辅助检查的关联数据时,直接通过medicalId不能够查询到数据,这个时候使用对应疾病的数据 - List diseaseAncillaryResVos = diseaseAncillaryManageService.queryListByDiseaseId(medicalRecId); - if (CollUtil.isNotEmpty(diseaseAncillaryResVos)) { - return diseaseAncillaryResVos; - } - log.info("queryDiseaseAncillary:未找到该病历辅助检查数据,使用对应疾病辅助检查数据"); - MedicalRec medicalRec = medicalRecService.getById(medicalRecId); - Assert.notNull(medicalRec, "未找到该病历"); - Assert.notEmpty(medicalRec.getDiseaseId(), "未配置疾病信息"); + return medicalRecAncillaryManageService.queryListByMedicalRecId(medicalRecId); - return diseaseAncillaryManageService.queryListByDiseaseId(medicalRec.getDiseaseId()); } @Override - public List queryDiseasePhysical(String medicalRecId) { - // 在病历没有保存病历与体格检查的关联数据时,直接通过medicalId不能够查询到数据,这个时候使用对应疾病的数据 - List diseasePhysicalResVos = diseasePhysicalManageService.queryListByDiseaseId(medicalRecId); - if (CollUtil.isNotEmpty(diseasePhysicalResVos)) { - return diseasePhysicalResVos; - } - log.info("queryDiseasePhysical:未找到该病历体格检查数据,使用对应疾病体格检查数据"); - MedicalRec medicalRec = medicalRecService.getById(medicalRecId); - Assert.notNull(medicalRec, "未找到该病历"); - Assert.notEmpty(medicalRec.getDiseaseId(), "未配置疾病信息"); + public List queryMedicalRecPhysical(String medicalRecId) { - return diseasePhysicalManageService.queryListByDiseaseId(medicalRec.getDiseaseId()); + return medicalRecPhysicalManageService.queryListByMedicalRecId(medicalRecId); } @Override @@ -590,26 +549,39 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService { } @Override - public List queryListByDiseaseId(String medicalRecId) { - // 在病历没有保存病历与处置计划的关联数据时,直接通过medicalId不能够查询到数据,这个时候使用对应疾病的数据 - List diseaseTreatmentPlanResVos = diseaseTreatmentPlanManageService.queryListByDiseaseId(medicalRecId); - if (CollUtil.isNotEmpty(diseaseTreatmentPlanResVos)) { - return diseaseTreatmentPlanResVos; - } - log.info("queryDiseasePhysical:未找到该病历处置计划数据,使用对应疾病体格检查数据"); - MedicalRec medicalRec = medicalRecService.getById(medicalRecId); - Assert.notNull(medicalRec, "未找到该病历"); - Assert.notEmpty(medicalRec.getDiseaseId(), "未配置疾病信息"); + public List queryListByMedicalRecId(String medicalRecId) { - return diseaseTreatmentPlanManageService.queryListByDiseaseId(medicalRec.getDiseaseId()); + return medicalRecTreatmentPlanManageService.queryListByMedicalRecId(medicalRecId); } @Override - public boolean updateDiseaseTreatmentPlan(DiseaseTreatmentPlanReqVo diseaseTreatmentPlan) { + @Transactional(rollbackFor = Exception.class) + public Boolean batchUpdateMedicalRecPhysical(List medicalRecPhysicalReqVoList) { + if (CollUtil.isEmpty(medicalRecPhysicalReqVoList)){ + return false; + } + List medicalRecPhysicals = medicalRecPhysicalReqVoList.stream().map(reqVo -> BeanUtil.toBean(reqVo, MedicalRecPhysical.class)).toList(); + medicalRecPhysicalManageService.batchUpdatePhysical(medicalRecPhysicals); + return true; + } - Assert.notEmpty(diseaseTreatmentPlan.getId(), "id不能为空"); + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean batchUpdateMedicalRecAncillary(List medicalRecAncillaryReqVoList) { + if (CollUtil.isEmpty(medicalRecAncillaryReqVoList)){ + return false; + } + List medicalRecAncillaries = medicalRecAncillaryReqVoList.stream().map(reqVo -> BeanUtil.toBean(reqVo, MedicalRecAncillary.class)).toList(); + medicalRecAncillaryManageService.batchUpdateAncillary(medicalRecAncillaries); + return true; + } - return false; + @Override + public boolean batchUpdateMedicalRecTreatmentPlan(List medicalRecTreatmentPlanReqVoList) { + if (CollUtil.isEmpty(medicalRecTreatmentPlanReqVoList)){ + return false; + } + return medicalRecTreatmentPlanManageService.batchUpdateTreatmentPlan(medicalRecTreatmentPlanReqVoList); } private void saveMedicalRecAssert(MedicalRecInfoReVo reqVO){ diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecPhysicalManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecPhysicalManageServiceImpl.java index 54b904ce..81fcb018 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecPhysicalManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecPhysicalManageServiceImpl.java @@ -1,9 +1,11 @@ package com.supervision.manage.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.lang.Assert; import com.supervision.manage.service.MedicalRecPhysicalManageService; import com.supervision.model.MedicalRecPhysical; import com.supervision.service.MedicalRecPhysicalService; +import com.supervision.vo.manage.MedicalRecPhysicalResVo; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -23,4 +25,22 @@ public class MedicalRecPhysicalManageServiceImpl implements MedicalRecPhysicalMa } medicalRecPhysicalService.saveBatch(medicalRecPhysicalList); } + + @Override + public void batchUpdatePhysical(List medicalRecPhysicalList) { + if (CollUtil.isEmpty(medicalRecPhysicalList)){ + return; + } + medicalRecPhysicalService.updateBatchById(medicalRecPhysicalList); + } + + @Override + public List queryListByMedicalRecId(String medicalRecId) { + Assert.notEmpty(medicalRecId,"病历id不能为空"); + + List medicalRecPhysicalResVoList = medicalRecPhysicalService.queryListByMedicalRecId(medicalRecId); + medicalRecPhysicalResVoList.forEach(MedicalRecPhysicalResVo::populateOther); + + return medicalRecPhysicalResVoList; + } } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecTreatmentPlanManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecTreatmentPlanManageServiceImpl.java index 4f735d0f..d010093f 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecTreatmentPlanManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecTreatmentPlanManageServiceImpl.java @@ -1,9 +1,15 @@ package com.supervision.manage.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.lang.Pair; +import cn.hutool.core.util.StrUtil; import com.supervision.manage.service.MedicalRecTreatmentPlanManageService; -import com.supervision.model.MedicalRecTreatmentPlan; -import com.supervision.model.MedicalRecTreatmentPlanDrug; +import com.supervision.service.CommonDicService; +import com.supervision.service.ConfigDrugService; +import com.supervision.vo.manage.MedicalRecTreatmentPlanReqVo; +import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo; +import com.supervision.model.*; import com.supervision.service.MedicalRecTreatmentPlanDrugService; import com.supervision.service.MedicalRecTreatmentPlanService; import lombok.RequiredArgsConstructor; @@ -11,7 +17,11 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; @Slf4j @Service @@ -21,23 +31,10 @@ public class MedicalRecTreatmentPlanManageServiceImpl implements MedicalRecTreat private final MedicalRecTreatmentPlanService medicalRecTreatmentPlanService; private final MedicalRecTreatmentPlanDrugService medicalRecTreatmentPlanDrugService; - @Override - public void saveTreatmentPlan(List medicalRecTreatmentPlanList) { - if (CollUtil.isEmpty(medicalRecTreatmentPlanList)){ - return; - } - medicalRecTreatmentPlanService.saveBatch(medicalRecTreatmentPlanList); - } - - @Override - public void saveTreatmentPlanDrug(List medicalRecTreatmentPlanDrugList) { - if (CollUtil.isEmpty(medicalRecTreatmentPlanDrugList)){ - return; - } + private final ConfigDrugService configDrugService; - medicalRecTreatmentPlanDrugService.saveBatch(medicalRecTreatmentPlanDrugList); - } + private final CommonDicService commonDicService; @Override @Transactional(rollbackFor = Exception.class) @@ -56,4 +53,136 @@ public class MedicalRecTreatmentPlanManageServiceImpl implements MedicalRecTreat } medicalRecTreatmentPlanDrugService.saveBatch(treatmentPlanDrugList); } + + private void assertDiseaseTreatmentPlan(MedicalRecTreatmentPlan medicalRecTreatmentPlan){ + + Assert.isTrue(StrUtil.isEmpty(medicalRecTreatmentPlan.getId()),"id需要为空"); + + Assert.notEmpty(medicalRecTreatmentPlan.getMedicalRecId(),"病历id不能为空"); + + Assert.notEmpty(medicalRecTreatmentPlan.getTreatmentPlanId(),"处置计划id不能为空"); + + // 根据疾病id和处置计划id进行重复校验 + Long count = medicalRecTreatmentPlanService.lambdaQuery() + .eq(MedicalRecTreatmentPlan::getTreatmentPlanId, medicalRecTreatmentPlan.getTreatmentPlanId()) + .eq(MedicalRecTreatmentPlan::getMedicalRecId, medicalRecTreatmentPlan.getMedicalRecId()).count(); + Assert.isFalse(count > 0, "该处置计划已存在"); + + } + @Override + public MedicalRecTreatmentPlan saveTreatmentPlan(MedicalRecTreatmentPlanReqVo medicalTreatmentPlan) { + + assertDiseaseTreatmentPlan(medicalTreatmentPlan); + + // note: 如果diseaseTreatmentPlan.getDrugIds()不为空,则表示处置计划为药品,需要进行手动矫正,统一设置为20 + if (CollUtil.isNotEmpty(medicalTreatmentPlan.getDrugIds())){ + medicalTreatmentPlan.setTreatmentPlanId(mapDrugTreatPlanId(medicalTreatmentPlan.getDisposalMethod())); + } + + medicalRecTreatmentPlanService.save(medicalTreatmentPlan); + + // 保存处置计划药品信息 + if (CollUtil.isNotEmpty(medicalTreatmentPlan.getDrugIds())){ + List medicalRecTreatmentPlanDrugList = medicalTreatmentPlan.getDrugIds().stream().map(item -> { + MedicalRecTreatmentPlanDrug medicalRecTreatmentPlanDrug = new MedicalRecTreatmentPlanDrug(); + medicalRecTreatmentPlanDrug.setMedicalRecId(medicalTreatmentPlan.getMedicalRecId()); + medicalRecTreatmentPlanDrug.setTreatmentPlanId(medicalTreatmentPlan.getTreatmentPlanId()); + medicalRecTreatmentPlanDrug.setMedicalRecTreatmentPlanId(medicalTreatmentPlan.getId()); + medicalRecTreatmentPlanDrug.setDrugId(item); + return medicalRecTreatmentPlanDrug; + }).collect(Collectors.toList()); + medicalRecTreatmentPlanDrugService.saveBatch(medicalRecTreatmentPlanDrugList); + } + + return medicalTreatmentPlan; + + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean batchUpdateTreatmentPlan(List medicalRecTreatmentPlanReqVoList) { + + medicalRecTreatmentPlanReqVoList.forEach(diseaseTreatmentPlan -> Assert.notEmpty(diseaseTreatmentPlan.getId(),"id不允许为空")); + + for (MedicalRecTreatmentPlanReqVo medicalRecTreatmentPlanReqVo : medicalRecTreatmentPlanReqVoList) { + // 删除该条记录 + String id = medicalRecTreatmentPlanReqVo.getId(); + MedicalRecTreatmentPlan medicalRecTreatmentPlan = medicalRecTreatmentPlanService.getById(id); + if (Objects.nonNull(medicalRecTreatmentPlan)){ + medicalRecTreatmentPlanService.removeById(id); + medicalRecTreatmentPlanDrugService.lambdaUpdate() + .eq(MedicalRecTreatmentPlanDrug::getMedicalRecTreatmentPlanId,medicalRecTreatmentPlan.getId()).remove(); + } + // 重新保存 + medicalRecTreatmentPlanReqVo.setId(null); + this.saveTreatmentPlan(medicalRecTreatmentPlanReqVo); + } + return true; + } + + @Override + public List queryListByMedicalRecId(String medicalRecId) { + Assert.notEmpty(medicalRecId,"病历id不能为空"); + + List medicalRecTreatmentPlanResVos = medicalRecTreatmentPlanService.queryListByMedicalRecId(medicalRecId); + if (CollUtil.isEmpty(medicalRecTreatmentPlanResVos)){ + return medicalRecTreatmentPlanResVos; + } + + //添加关联的处置药物 + List treatmentPlanIdList = medicalRecTreatmentPlanResVos.stream() + .map(MedicalRecTreatmentPlanResVo::getTreatmentPlanId).distinct().collect(Collectors.toList()); + + List medicalRecTreatmentPlanDrugList = medicalRecTreatmentPlanDrugService.lambdaQuery() + .in(MedicalRecTreatmentPlanDrug::getTreatmentPlanId, treatmentPlanIdList) + .eq(MedicalRecTreatmentPlanDrug::getMedicalRecId, medicalRecId).list(); + + + // 翻译处置计划 **处置计划对应于药物中的剂型** + List drugIds = medicalRecTreatmentPlanDrugList.stream() + .map(MedicalRecTreatmentPlanDrug::getDrugId).filter(StrUtil::isNotEmpty).collect(Collectors.toList()); + Map> drugIdMapDose = new HashMap<>(); + if (CollUtil.isNotEmpty(drugIds)){ + List configDrugs = configDrugService.listByIds(drugIds); + if (CollUtil.isNotEmpty(configDrugs)){ + Map doseDic = commonDicService.lambdaQuery().eq(CommonDic::getGroupCode, "DOSE").list() + .stream().collect(Collectors.toMap(CommonDic::getCode, CommonDic::getNameZh)); + // 组合药物id与剂型之间的映射关系 + drugIdMapDose = configDrugs.stream().collect(Collectors.toMap(ConfigDrug::getId, drug -> { + if (StrUtil.isNotEmpty(drug.getDosageForm())) { + return Pair.of(drug.getDosageForm(),doseDic.getOrDefault(drug.getDosageForm(),StrUtil.EMPTY)); + } + return Pair.of(StrUtil.EMPTY,StrUtil.EMPTY); + })); + } + } + Map> group = medicalRecTreatmentPlanDrugList.stream() + .filter(item-> Objects.nonNull(item.getMedicalRecTreatmentPlanId())).collect(Collectors.groupingBy(MedicalRecTreatmentPlanDrug::getMedicalRecTreatmentPlanId)); + + for (MedicalRecTreatmentPlanResVo item : medicalRecTreatmentPlanResVos) { + // 设置处置药物id集合 + item.setDrugIds( + group.getOrDefault(item.getId(), CollUtil.newArrayList()) + .stream().map(MedicalRecTreatmentPlanDrug::getDrugId).collect(Collectors.toList())); + // 设置处置药物剂型与剂型的翻译数据 + String drugId = CollUtil.getFirst(item.getDrugIds()); + if (StrUtil.isNotEmpty(drugId)){ + item.setFirstMeasuresId(drugIdMapDose.getOrDefault(drugId, Pair.of(StrUtil.EMPTY,StrUtil.EMPTY)).getKey()); + item.setFirstMeasures(drugIdMapDose.getOrDefault(drugId, Pair.of(StrUtil.EMPTY, StrUtil.EMPTY)).getValue()); + } + } + return medicalRecTreatmentPlanResVos; + } + + /** + * 映射药品的处置计划id + * @param disposeMethod + * @return + */ + private String mapDrugTreatPlanId(String disposeMethod){ + if (StrUtil.isEmpty(disposeMethod)){ + return null; + } + return "0".equals(disposeMethod) ? "20" : "252"; + } } diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecAncillaryMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecAncillaryMapper.java index 4d750bb9..375856c9 100644 --- a/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecAncillaryMapper.java +++ b/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecAncillaryMapper.java @@ -2,6 +2,10 @@ package com.supervision.mapper; import com.supervision.model.MedicalRecAncillary; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.supervision.vo.manage.MedicalRecAncillaryResVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @author Administrator @@ -11,6 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface MedicalRecAncillaryMapper extends BaseMapper { + List queryListByMedicalRecId(@Param("medicalRecId") String medicalRecId); } diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecPhysicalMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecPhysicalMapper.java index 2808c168..14d274cd 100644 --- a/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecPhysicalMapper.java +++ b/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecPhysicalMapper.java @@ -2,6 +2,10 @@ package com.supervision.mapper; import com.supervision.model.MedicalRecPhysical; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.supervision.vo.manage.MedicalRecPhysicalResVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @author Administrator @@ -11,6 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface MedicalRecPhysicalMapper extends BaseMapper { + List queryListByMedicalRecId(@Param("medicalRecId") String medicalRecId); } diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecTreatmentPlanMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecTreatmentPlanMapper.java index 885b86df..743764e8 100644 --- a/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecTreatmentPlanMapper.java +++ b/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecTreatmentPlanMapper.java @@ -2,6 +2,10 @@ package com.supervision.mapper; import com.supervision.model.MedicalRecTreatmentPlan; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @author Administrator @@ -11,6 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface MedicalRecTreatmentPlanMapper extends BaseMapper { + List queryListByMedicalRecId(@Param("medicalRecId") String medicalRecId); } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecAncillaryService.java b/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecAncillaryService.java index 93db048a..4dd05327 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecAncillaryService.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecAncillaryService.java @@ -2,6 +2,9 @@ package com.supervision.service; import com.supervision.model.MedicalRecAncillary; import com.baomidou.mybatisplus.extension.service.IService; +import com.supervision.vo.manage.MedicalRecAncillaryResVo; + +import java.util.List; /** * @author Administrator @@ -10,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface MedicalRecAncillaryService extends IService { + List queryListByMedicalRecId(String medicalRecId); } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecPhysicalService.java b/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecPhysicalService.java index 130a3382..ce1aacea 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecPhysicalService.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecPhysicalService.java @@ -2,6 +2,9 @@ package com.supervision.service; import com.supervision.model.MedicalRecPhysical; import com.baomidou.mybatisplus.extension.service.IService; +import com.supervision.vo.manage.MedicalRecPhysicalResVo; + +import java.util.List; /** * @author Administrator @@ -10,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface MedicalRecPhysicalService extends IService { + List queryListByMedicalRecId(String medicalRecId); } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecTreatmentPlanService.java b/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecTreatmentPlanService.java index d6ad8fc2..a0e19bbb 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecTreatmentPlanService.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecTreatmentPlanService.java @@ -1,8 +1,11 @@ package com.supervision.service; +import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo; import com.supervision.model.MedicalRecTreatmentPlan; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @author Administrator * @description 针对表【vp_medical_rec_treatment_plan(病历处置计划关联表)】的数据库操作Service @@ -10,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface MedicalRecTreatmentPlanService extends IService { + List queryListByMedicalRecId(String medicalRecId); } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecAncillaryServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecAncillaryServiceImpl.java index 826213be..bba6345e 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecAncillaryServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecAncillaryServiceImpl.java @@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.model.MedicalRecAncillary; import com.supervision.service.MedicalRecAncillaryService; import com.supervision.mapper.MedicalRecAncillaryMapper; +import com.supervision.vo.manage.MedicalRecAncillaryResVo; import org.springframework.stereotype.Service; +import java.util.List; + /** * @author Administrator * @description 针对表【vp_medical_rec_ancillary(病历辅助检查)】的数据库操作Service实现 @@ -15,6 +18,10 @@ import org.springframework.stereotype.Service; public class MedicalRecAncillaryServiceImpl extends ServiceImpl implements MedicalRecAncillaryService{ + @Override + public List queryListByMedicalRecId(String medicalRecId) { + return super.getBaseMapper().queryListByMedicalRecId(medicalRecId); + } } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecPhysicalServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecPhysicalServiceImpl.java index d380f290..ced69f0e 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecPhysicalServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecPhysicalServiceImpl.java @@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.model.MedicalRecPhysical; import com.supervision.service.MedicalRecPhysicalService; import com.supervision.mapper.MedicalRecPhysicalMapper; +import com.supervision.vo.manage.MedicalRecPhysicalResVo; import org.springframework.stereotype.Service; +import java.util.List; + /** * @author Administrator * @description 针对表【vp_medical_rec_physical(病历体格检查)】的数据库操作Service实现 @@ -15,6 +18,10 @@ import org.springframework.stereotype.Service; public class MedicalRecPhysicalServiceImpl extends ServiceImpl implements MedicalRecPhysicalService{ + @Override + public List queryListByMedicalRecId(String medicalRecId) { + return super.getBaseMapper().queryListByMedicalRecId(medicalRecId); + } } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecTreatmentPlanServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecTreatmentPlanServiceImpl.java index 70761bee..b18dc93c 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecTreatmentPlanServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecTreatmentPlanServiceImpl.java @@ -1,11 +1,14 @@ package com.supervision.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo; import com.supervision.model.MedicalRecTreatmentPlan; import com.supervision.service.MedicalRecTreatmentPlanService; import com.supervision.mapper.MedicalRecTreatmentPlanMapper; import org.springframework.stereotype.Service; +import java.util.List; + /** * @author Administrator * @description 针对表【vp_medical_rec_treatment_plan(病历处置计划关联表)】的数据库操作Service实现 @@ -15,6 +18,10 @@ import org.springframework.stereotype.Service; public class MedicalRecTreatmentPlanServiceImpl extends ServiceImpl implements MedicalRecTreatmentPlanService{ + @Override + public List queryListByMedicalRecId(String medicalRecId) { + return super.getBaseMapper().queryListByMedicalRecId(medicalRecId); + } } diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecAncillaryReqVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecAncillaryReqVo.java new file mode 100644 index 00000000..ebe95ea3 --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecAncillaryReqVo.java @@ -0,0 +1,37 @@ +package com.supervision.vo.manage; + +import com.supervision.model.MedicalRecAncillary; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +public class MedicalRecAncillaryReqVo extends MedicalRecAncillary { + + + @Schema(description = "诊断依据 0:初步诊断依据 1:证实诊断依据 2:鉴别诊断依据 3:全面诊断依据") + private List diagnosticCriteria; + + /** + * 离散诊断依据 通过诊断依据中的数据设置 primarilyDiagnosisCriteriaFlag basisConfirmFlag basisIdentificationFlag fullCheckFlag + */ + public void floatDiagnosticCriteria(){ + + 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/MedicalRecAncillaryResVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecAncillaryResVo.java new file mode 100644 index 00000000..d4969151 --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecAncillaryResVo.java @@ -0,0 +1,69 @@ +package com.supervision.vo.manage; + +import cn.hutool.crypto.digest.MD5; +import com.supervision.model.MedicalRecAncillary; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +public class MedicalRecAncillaryResVo extends MedicalRecAncillary { + + + @Schema(description = "项目名称") + private String itemName; + + @Schema(description = "项目类型") + private String itemType; + + @Schema(description = "项目id路径") + private List itemIdPath; + + @Schema(description = "诊断依据 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); + } + + } + + public void initItemIdPath(){ + if (null == itemIdPath){ + itemIdPath = new ArrayList<>(); + } + itemIdPath.add(new MD5().digestHex16(itemType)); + itemIdPath.add(getItemId()); + } + + public void populateOther(){ + aggregationDiagnosticCriteria(); + initItemIdPath(); + } +} diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPhysicalReqVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPhysicalReqVo.java new file mode 100644 index 00000000..711563f6 --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPhysicalReqVo.java @@ -0,0 +1,37 @@ +package com.supervision.vo.manage; + +import com.supervision.model.MedicalRecPhysical; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.List; +@Data +@EqualsAndHashCode(callSuper = true) +public class MedicalRecPhysicalReqVo extends MedicalRecPhysical { + + + @Schema(description = "诊断依据 0:初步诊断依据 1:证实诊断依据 2:鉴别诊断依据 3:全面诊断依据") + private List diagnosticCriteria; + + + /** + * 离散诊断依据 通过诊断依据中的数据设置 primarilyDiagnosisCriteriaFlag basisConfirmFlag basisIdentificationFlag fullCheckFlag + */ + public void floatDiagnosticCriteria(){ + + 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/MedicalRecPhysicalResVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPhysicalResVo.java new file mode 100644 index 00000000..d7c25c54 --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPhysicalResVo.java @@ -0,0 +1,91 @@ +package com.supervision.vo.manage; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.crypto.digest.MD5; +import com.supervision.model.DiseasePhysical; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +public class MedicalRecPhysicalResVo extends DiseasePhysical { + + @Schema(description = "工具名称") + private String toolName; + + @Schema(description = "工具类型") + private String toolType; + + @Schema(description = "工具父级id") + private String toolParentId; + + @Schema(description = "身体部位名称") + private String locationName; + + @Schema(description = "工具id路径") + private List toolIdPath; + + @Schema(description = "身体部位id路径") + private List locationIdPath; + + @Schema(description = "诊断依据 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); + } + + } + + 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<>(); + } + if (StrUtil.isNotEmpty(getToolParentId())){ + locationIdPath.add(getToolParentId()); + } + if (StrUtil.isNotEmpty(getLocationId())){ + locationIdPath.add(getLocationId()); + } + } + + public void populateOther(){ + this.aggregationDiagnosticCriteria(); + this.initToolIdPath(); + this.initLocationIdPath(); + } +} diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecTreatmentPlanReqVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecTreatmentPlanReqVo.java new file mode 100644 index 00000000..cf0f87b8 --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecTreatmentPlanReqVo.java @@ -0,0 +1,23 @@ +package com.supervision.vo.manage; + +import com.supervision.model.MedicalRecTreatmentPlan; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +public class MedicalRecTreatmentPlanReqVo extends MedicalRecTreatmentPlan { + + @Schema(description = "药物列表") + private List drugIds; + + @Schema(description = "一级措施id") + private String firstMeasuresId; + + @Schema(description = "处置方式 处置方式(0门诊 1住院)") + private String disposalMethod; + +} diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecTreatmentPlanResVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecTreatmentPlanResVo.java new file mode 100644 index 00000000..8959c981 --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecTreatmentPlanResVo.java @@ -0,0 +1,25 @@ +package com.supervision.vo.manage; + +import com.supervision.model.ConfigTreatmentPlan; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +public class MedicalRecTreatmentPlanResVo extends ConfigTreatmentPlan { + + @Schema(description = "主键") + private String id; + + @Schema(description = "疾病id") + private String medicalRecId; + + @Schema(description = "计划id 用来代替planId") + private String treatmentPlanId; + + @Schema(description = "药物列表") + private List drugIds; +} diff --git a/virtual-patient-model/src/main/resources/mapper/MedicalRecAncillaryMapper.xml b/virtual-patient-model/src/main/resources/mapper/MedicalRecAncillaryMapper.xml index 54e70c89..aca415c8 100644 --- a/virtual-patient-model/src/main/resources/mapper/MedicalRecAncillaryMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/MedicalRecAncillaryMapper.xml @@ -32,4 +32,26 @@ require_check_flag,create_user_id,create_time, update_user_id,update_time + + diff --git a/virtual-patient-model/src/main/resources/mapper/MedicalRecPhysicalMapper.xml b/virtual-patient-model/src/main/resources/mapper/MedicalRecPhysicalMapper.xml index d4f2ec5f..530fba50 100644 --- a/virtual-patient-model/src/main/resources/mapper/MedicalRecPhysicalMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/MedicalRecPhysicalMapper.xml @@ -35,4 +35,30 @@ create_user_id,create_time,update_user_id, update_time + diff --git a/virtual-patient-model/src/main/resources/mapper/MedicalRecTreatmentPlanMapper.xml b/virtual-patient-model/src/main/resources/mapper/MedicalRecTreatmentPlanMapper.xml index e5d6e623..40effd35 100644 --- a/virtual-patient-model/src/main/resources/mapper/MedicalRecTreatmentPlanMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/MedicalRecTreatmentPlanMapper.xml @@ -19,4 +19,21 @@ create_user_id,create_time,update_user_id, update_time + +