From 91f5b564663a792dfab75300585fe26c32db5eb5 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Wed, 12 Jun 2024 11:06:42 +0800 Subject: [PATCH] =?UTF-8?q?1:=20=E9=97=AE=E8=AF=8A=E5=A4=A7=E5=8E=85=20?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2=E7=97=85=E4=BE=8B=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=BB=93=E6=9E=9C=E4=B8=BA=E5=B7=B2=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E7=9A=84=E6=95=B0=E6=8D=AE=202.=20manage=EF=BC=9A?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BF=AE=E6=94=B9=E7=97=85=E5=8E=86=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E7=9A=84=E6=8E=A5=E5=8F=A3=203.=20=E9=87=8D=E6=9E=84q?= =?UTF-8?q?ueryMedicalRecManagePage=E6=8E=A5=E5=8F=A3=E5=85=A5=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/v3.0.0/step1.sql | 4 +++- .../MedicalRecManageController.java | 8 +++++++ .../service/MedicalRecManageService.java | 2 ++ .../impl/MedicalRecManageServiceImpl.java | 23 +++++++++++++++---- .../supervision/mapper/MedicalRecMapper.java | 15 +++++------- .../service/MedicalRecService.java | 14 +++++------ .../service/impl/MedicalRecServiceImpl.java | 16 +++++++------ .../vo/manage/MedicalRecPageReqVO.java | 17 ++++++++++++++ .../vo/manage/MedicalRecPageResVO.java | 2 ++ .../resources/mapper/MedicalRecMapper.xml | 20 +++++++++------- .../service/impl/DiagnoseHallServiceImpl.java | 6 +++-- 11 files changed, 88 insertions(+), 39 deletions(-) create mode 100644 virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPageReqVO.java diff --git a/docker/v3.0.0/step1.sql b/docker/v3.0.0/step1.sql index e71e8beb..b940912e 100644 --- a/docker/v3.0.0/step1.sql +++ b/docker/v3.0.0/step1.sql @@ -91,4 +91,6 @@ alter table vp_process add evaluate_remark varchar(1024) null comment '评价备注内容'; alter table vp_medical_rec - add status integer default 1 null comment '上线状态 1:未上线 2:已经上线 状态为未上线且病历未出现在vp_process表中使用可以进行删除' after medical_record_ai; \ No newline at end of file + add status integer default 1 null comment '上线状态 1:未上线 2:已经上线 状态为未上线且病历未出现在vp_process表中使用可以进行删除' after medical_record_ai; +-- 把原有的数据状态改成上线 +update vp_medical_rec set status = 2; \ No newline at end of file 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 a80b4a15..23d5bed1 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 @@ -132,5 +132,13 @@ public class MedicalRecManageController { } + @Operation(summary = "修改病历状态") + @GetMapping("/updateMedicalStatus") + public Boolean updateMedicalStatus(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId, + @Parameter(name = "status", description = "病历状态 1:未上线 2:上线") Integer status) { + + return medicalRecManageService.updateMedicalStatus(medicalRecId,status); + } + } 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 97f420b4..d4b66086 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 @@ -48,4 +48,6 @@ public interface MedicalRecManageService { List queryMedicalDefaultAnswer(String medicalRecId); void downloadMedicalAnswerTemplate(HttpServletResponse response) throws Exception; + + Boolean updateMedicalStatus(String medicalRecId, Integer status); } 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 a6f7d290..7a07fb6d 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 @@ -16,10 +16,7 @@ import com.supervision.manage.service.*; import com.supervision.model.*; import com.supervision.model.Process; import com.supervision.service.*; -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.vo.manage.*; import jakarta.servlet.ServletOutputStream; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; @@ -83,7 +80,12 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService { public IPage queryMedicalRecManagePage(String selfDescKeyword, String gender,String patientName, String diseaseId, Integer pageNum, Integer pageSize) { // 注意,这里的diseaseId不支持查询复杂疾病,如果需要支持复杂疾病,这里需要单独进行改造 - return medicalRecService.queryMedicalRecManagePage(selfDescKeyword, gender, patientName, diseaseId, pageNum, pageSize); + MedicalRecPageReqVO medicalRecPageReqVO = new MedicalRecPageReqVO(); + medicalRecPageReqVO.setSelfDescKeyword(selfDescKeyword); + medicalRecPageReqVO.setGender(gender); + medicalRecPageReqVO.setPatientName(patientName); + medicalRecPageReqVO.setDiseaseId(diseaseId); + return medicalRecService.queryMedicalRecManagePage(medicalRecPageReqVO, pageNum, pageSize); } @Override @@ -401,4 +403,15 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService { IoUtil.copy(resource.getInputStream(),outputStream); } + + @Override + public Boolean updateMedicalStatus(String medicalRecId, Integer status) { + + Assert.notEmpty(medicalRecId, "medicalRecId不能为空"); + MedicalRec medicalRec = medicalRecService.getById(medicalRecId); + Assert.notNull(medicalRec, "未找到该病历"); + + return medicalRecService.lambdaUpdate().eq(MedicalRec::getId, medicalRecId).set(MedicalRec::getStatus, status).update(); + + } } diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecMapper.java index b7be1907..71d83e19 100644 --- a/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecMapper.java +++ b/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.supervision.model.MedicalRec; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.supervision.vo.manage.MedicalRecPageReqVO; import com.supervision.vo.manage.MedicalRecPageResVO; import org.apache.ibatis.annotations.Param; @@ -17,17 +18,13 @@ public interface MedicalRecMapper extends BaseMapper { /** * 后台管理-病历管理-列表查询 - * - * @param selfDescKeyword 主诉 - * @param gender 性别 - * @param diseaseId 疾病ID - * @param page 分页 - * @return 结果 + * @param medicalRecPageReqVO 查询参数 + * @param page 分页参数 + * @return */ - IPage queryMedicalRecManagePage(@Param("selfDescKeyword") String selfDescKeyword, - @Param("gender") String gender,@Param("patientName") String patientName, - @Param("diseaseId") String diseaseId, @Param("page") Page page); + IPage queryMedicalRecManagePage(@Param("medicalRecPageReqVO") MedicalRecPageReqVO medicalRecPageReqVO, + @Param("page") Page page); /** * 生成一个病历编码,是最大的病历编码+1 * @param code 医院名称缩写 diff --git a/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecService.java b/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecService.java index 8b415c9c..14ff6e35 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecService.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecService.java @@ -1,9 +1,9 @@ package com.supervision.service; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.supervision.model.AskPatientAnswer; import com.supervision.model.MedicalRec; import com.baomidou.mybatisplus.extension.service.IService; +import com.supervision.vo.manage.MedicalRecPageReqVO; import com.supervision.vo.manage.MedicalRecPageResVO; /** @@ -14,13 +14,13 @@ import com.supervision.vo.manage.MedicalRecPageResVO; public interface MedicalRecService extends IService { /** - * 后台管理-病历管理-列表查询 - * @param selfDescKeyword 主诉 - * @param gender 性别 - * @param diseaseId 疾病ID - * @return 结果 + * 分页查询病历管理列表 + * @param medicalRecPageReqVO + * @param pageNum + * @param pageSize + * @return */ - IPage queryMedicalRecManagePage(String selfDescKeyword, String gender,String patientName, String diseaseId, Integer pageNum, Integer pageSize); + IPage queryMedicalRecManagePage(MedicalRecPageReqVO medicalRecPageReqVO, Integer pageNum, Integer pageSize); /** * 生成一个病历编码,是最大的病历编码+1 diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecServiceImpl.java index 0c2e0b08..cd129e69 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.model.MedicalRec; import com.supervision.service.MedicalRecService; import com.supervision.mapper.MedicalRecMapper; +import com.supervision.vo.manage.MedicalRecPageReqVO; import com.supervision.vo.manage.MedicalRecPageResVO; import org.springframework.stereotype.Service; @@ -18,16 +19,17 @@ import org.springframework.stereotype.Service; public class MedicalRecServiceImpl extends ServiceImpl implements MedicalRecService{ + /** - * 后台管理-病历管理-列表查询 - * @param selfDescKeyword 主诉 - * @param gender 性别 - * @param diseaseId 疾病ID - * @return 结果 + * 病历管理-列表查询 + * @param medicalRecPageReqVO + * @param pageNum + * @param pageSize + * @return */ @Override - public IPage queryMedicalRecManagePage(String selfDescKeyword, String gender,String patientName, String diseaseId, Integer pageNum, Integer pageSize) { - return this.baseMapper.queryMedicalRecManagePage(selfDescKeyword, gender, patientName, diseaseId, new Page<>(pageNum,pageSize)); + public IPage queryMedicalRecManagePage(MedicalRecPageReqVO medicalRecPageReqVO, Integer pageNum, Integer pageSize) { + return this.baseMapper.queryMedicalRecManagePage(medicalRecPageReqVO, new Page<>(pageNum,pageSize)); } /** diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPageReqVO.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPageReqVO.java new file mode 100644 index 00000000..6bb37672 --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPageReqVO.java @@ -0,0 +1,17 @@ +package com.supervision.vo.manage; + +import lombok.Data; + +@Data +public class MedicalRecPageReqVO { + + private String selfDescKeyword; + + private String gender; + + private String patientName; + + private String diseaseId; + + private Integer status; +} diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPageResVO.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPageResVO.java index abbbb73b..70468a7c 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPageResVO.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MedicalRecPageResVO.java @@ -30,5 +30,7 @@ public class MedicalRecPageResVO { */ private String diagnosisPrimaryStr; + @Schema(description = "病历状态 1:未上线 2:上线") + private String status; } diff --git a/virtual-patient-model/src/main/resources/mapper/MedicalRecMapper.xml b/virtual-patient-model/src/main/resources/mapper/MedicalRecMapper.xml index 41b848e3..6b1d17b9 100644 --- a/virtual-patient-model/src/main/resources/mapper/MedicalRecMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/MedicalRecMapper.xml @@ -68,21 +68,25 @@ t1.patient_gender as gender, t1.patient_head_pic as patientHeadPic, t1.patient_self_desc as patientSelfDesc, + t1.status as status, if(t1.update_time is null, t1.create_time, t1.update_time) as time from vp_medical_rec t1 left join vp_disease t3 on t1.disease_id = t3.id - - AND t1.patient_self_desc like concat("%",#{selfDescKeyword}, "%") + + AND t1.patient_self_desc like concat("%",#{medicalRecPageReqVO.selfDescKeyword}, "%") - - AND t1.patient_gender = #{gender} + + AND t1.patient_gender = #{medicalRecPageReqVO.gender} - - AND t1.disease_id = #{diseaseId} + + AND t1.disease_id = #{medicalRecPageReqVO.diseaseId} - - AND t1.patient_name like concat("%",#{patientName}, "%") + + AND t1.patient_name like concat("%",#{medicalRecPageReqVO.patientName}, "%") + + + AND t1.status = #{medicalRecPageReqVO.status} order by time desc diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/DiagnoseHallServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/DiagnoseHallServiceImpl.java index 86a90ea2..37dfe368 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/DiagnoseHallServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/DiagnoseHallServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.supervision.model.*; import com.supervision.service.*; import com.supervision.vo.ask.DiagnosisPrimaryVO; +import com.supervision.vo.manage.MedicalRecPageReqVO; import com.supervision.vo.manage.MedicalRecPageResVO; import com.supervision.vo.result.DiagnoseProcessReqVo; import com.supervision.vo.result.DiagnoseProcessResVo; @@ -74,8 +75,9 @@ public class DiagnoseHallServiceImpl implements DiagnoseHallService { @Override public IPage queryMedicalRecPageList(Integer pageNum, Integer pageSize) { - - IPage medicalRecPageResVOIPage = medicalRecService.queryMedicalRecManagePage(null, null, null,null, pageNum, pageSize); + MedicalRecPageReqVO medicalRecPageReqVO = new MedicalRecPageReqVO(); + medicalRecPageReqVO.setStatus(2);// 设置为已发布的数据 + IPage medicalRecPageResVOIPage = medicalRecService.queryMedicalRecManagePage(medicalRecPageReqVO, pageNum, pageSize); if (CollUtil.isEmpty(medicalRecPageResVOIPage.getRecords())){ return medicalRecPageResVOIPage; }