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 2cea04fc..d54c1bb9 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,10 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.supervision.manage.pojo.vo.*; import com.supervision.manage.service.MedicalRecManageService; import com.supervision.model.Disease; -import com.supervision.vo.manage.DiseaseAncillaryResVo; -import com.supervision.vo.manage.DiseasePhysicalResVo; -import com.supervision.vo.manage.DiseaseTreatmentPlanResVo; -import com.supervision.vo.manage.MedicalRecPageResVO; +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; import io.swagger.v3.oas.annotations.tags.Tag; @@ -157,5 +156,37 @@ public class MedicalRecManageController { } + @Operation(summary = "保存病历关联的体格检查信息") + @PostMapping("saveMedicalRecPhysical") + public String saveMedicalRecPhysical(@RequestBody MedicalRecPhysicalReqVo medicalRecPhysicalReqVo) { + medicalRecPhysicalReqVo.floatDiagnosticCriteria(); + DiseasePhysical result = medicalRecManageService.saveMedicalRecPhysical(medicalRecPhysicalReqVo); + return result.getId(); + } + + @Operation(summary = "更新病历关联的体格检查信息") + @PostMapping("updateMedicalRecPhysical") + public Boolean updateMedicalRecPhysical(@RequestBody MedicalRecPhysicalReqVo medicalRecPhysicalReqVo) { + medicalRecPhysicalReqVo.floatDiagnosticCriteria(); + return medicalRecManageService.updateMedicalRecPhysical(medicalRecPhysicalReqVo); + } + + @Operation(summary = "保存病历关联的辅助检查信息") + @PostMapping("saveMedicalRecAncillary") + public String saveMedicalRecAncillary(@RequestBody MedicalRecAncillaryReqVo medicalRecAncillaryReqVo) { + + medicalRecAncillaryReqVo.floatDiagnosticCriteria(); + DiseaseAncillary result = medicalRecManageService.saveMedicalRecAncillary(medicalRecAncillaryReqVo); + return result.getId(); + } + + @Operation(summary = "更新病历关联的辅助检查信息") + @PostMapping("updateMedicalRecAncillary") + public Boolean updateMedicalRecAncillary(@RequestBody MedicalRecAncillaryReqVo medicalRecAncillaryReqVo) { + + medicalRecAncillaryReqVo.floatDiagnosticCriteria(); + return medicalRecManageService.updateMedicalRecAncillary(medicalRecAncillaryReqVo); + } + } 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 ea18b227..09f5f51c 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 @@ -3,10 +3,9 @@ package com.supervision.manage.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.supervision.manage.pojo.vo.*; import com.supervision.model.Disease; -import com.supervision.vo.manage.DiseaseAncillaryResVo; -import com.supervision.vo.manage.DiseasePhysicalResVo; -import com.supervision.vo.manage.DiseaseTreatmentPlanResVo; -import com.supervision.vo.manage.MedicalRecPageResVO; +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,4 +52,12 @@ public interface MedicalRecManageService { String saveMedicalRec(MedicalRecInfoReVo reqVO); MedicalRecInfoReVo queryMedicalRecBaseInfo(String medicalRecId); + + DiseasePhysical saveMedicalRecPhysical(MedicalRecPhysicalReqVo medicalRecPhysicalReqVo); + + DiseaseAncillary saveMedicalRecAncillary(MedicalRecAncillaryReqVo medicalRecAncillaryReqVo); + + Boolean updateMedicalRecPhysical(MedicalRecPhysicalReqVo medicalRecPhysicalReqVo); + + Boolean updateMedicalRecAncillary(MedicalRecAncillaryReqVo medicalRecAncillaryReqVo); } 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 d60e4318..ea68cce4 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 @@ -45,6 +45,9 @@ public class DiseaseAncillaryManageServiceImpl implements DiseaseAncillaryManage Assert.isFalse(checkIfPresent(diseaseAncillary),"数据已存在!"); + if (Objects.isNull(diseaseAncillary.getRelationType())){ + diseaseAncillary.setRelationType(0); + } diseaseAncillaryService.save(diseaseAncillary); return diseaseAncillary; 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 14d0fe05..decb97be 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 @@ -50,7 +50,9 @@ public class DiseasePhysicalManageServiceImpl implements DiseasePhysicalManageSe public DiseasePhysical savePhysical(DiseasePhysical diseasePhysical) { assertDiseasePhysical(diseasePhysical); - + if (Objects.isNull(diseasePhysical.getRelationType())){ + diseasePhysical.setRelationType(0); + } diseasePhysicalService.save(diseasePhysical); return diseasePhysical; 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 51a8d81c..1fd85602 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 @@ -469,6 +469,43 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService { return medicalExtendInfoDTO.getMedicalRecInfo(); } + @Override + public DiseasePhysical saveMedicalRecPhysical(MedicalRecPhysicalReqVo medicalRecPhysicalReqVo) { + + DiseasePhysical diseasePhysical = BeanUtil.toBean(medicalRecPhysicalReqVo, DiseasePhysical.class); + diseasePhysical.setDiseaseId(medicalRecPhysicalReqVo.getMedicalId()); + diseasePhysical.setRelationType(1); + return diseasePhysicalManageService.savePhysical(diseasePhysical); + } + + @Override + public DiseaseAncillary saveMedicalRecAncillary(MedicalRecAncillaryReqVo medicalRecAncillaryReqVo) { + + DiseaseAncillary diseaseAncillary = BeanUtil.toBean(medicalRecAncillaryReqVo, DiseaseAncillary.class); + diseaseAncillary.setDiseaseId(medicalRecAncillaryReqVo.getMedicalId()); + diseaseAncillary.setRelationType(1); + + return diseaseAncillaryManageService.saveAncillary(diseaseAncillary); + } + + @Override + public Boolean updateMedicalRecPhysical(MedicalRecPhysicalReqVo medicalRecPhysicalReqVo) { + + DiseasePhysical diseasePhysical = BeanUtil.toBean(medicalRecPhysicalReqVo, DiseasePhysical.class); + diseasePhysical.setDiseaseId(medicalRecPhysicalReqVo.getMedicalId()); + + return diseasePhysicalManageService.updatePhysical(diseasePhysical); + } + + @Override + public Boolean updateMedicalRecAncillary(MedicalRecAncillaryReqVo medicalRecAncillaryReqVo) { + + DiseaseAncillary diseaseAncillary = BeanUtil.toBean(medicalRecAncillaryReqVo, DiseaseAncillary.class); + diseaseAncillary.setDiseaseId(medicalRecAncillaryReqVo.getMedicalId()); + + return diseaseAncillaryManageService.updateAncillary(diseaseAncillary); + } + private void saveMedicalRecAssert(MedicalRecInfoReVo reqVO){ Assert.notEmpty(reqVO.getId(), "id不能为空"); Assert.notEmpty(reqVO.getPatientId(),"病人id不能为空"); 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..63792cc5 --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecAncillaryReqVo.java @@ -0,0 +1,39 @@ +package com.supervision.vo.manage; + +import com.supervision.model.DiseaseAncillary; +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 DiseaseAncillary { + + @Schema(description = "病历id") + private String medicalId; + + @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/MedicalRecPhysicalReqVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPhysicalReqVo.java new file mode 100644 index 00000000..4287991b --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPhysicalReqVo.java @@ -0,0 +1,41 @@ +package com.supervision.vo.manage; + +import com.supervision.model.DiseaseAncillary; +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 MedicalRecPhysicalReqVo extends DiseaseAncillary { + + @Schema(description = "病历id") + private String medicalId; + + @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); + + } +}