diff --git a/tcm/src/main/java/com/ccsens/tcm/api/DoctorController.java b/tcm/src/main/java/com/ccsens/tcm/api/DoctorController.java new file mode 100644 index 00000000..2f853c0a --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/api/DoctorController.java @@ -0,0 +1,46 @@ +package com.ccsens.tcm.api; + +import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.tcm.bean.dto.PatientDto; +import com.ccsens.tcm.bean.vo.PatientVo; +import com.ccsens.tcm.service.IDoctorService; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.PageInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @description: + * @author: whj + * @time: 2021/5/8 11:46 + */ +@Api(tags = "医生接口") +@RestController +@RequestMapping("/doctor") +@Slf4j +public class DoctorController { + + @Resource + private IDoctorService doctorService; + + + @MustLogin + @ApiOperation(value = "查询医生信息", notes = "w:查询医生信息") + @RequestMapping(value = "/selPatientMes", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> selPatientInformationList(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查询患者基本信息:{}",params); + PageInfo selPatientList= patientService.selPatientInformationList(params.getParam(),params.getUserId()); + log.info("查询患者基本信息成功"); + return JsonResponse.newInstance().ok(selPatientList); + } +} diff --git a/tcm/src/main/java/com/ccsens/tcm/api/PatientController.java b/tcm/src/main/java/com/ccsens/tcm/api/PatientController.java index 46fe5b40..82a83cb6 100644 --- a/tcm/src/main/java/com/ccsens/tcm/api/PatientController.java +++ b/tcm/src/main/java/com/ccsens/tcm/api/PatientController.java @@ -5,6 +5,7 @@ import com.ccsens.tcm.bean.dto.PatientDto; import com.ccsens.tcm.bean.vo.PatientVo; import com.ccsens.tcm.bean.vo.QuestionVo; import com.ccsens.tcm.service.IPatientService; +import com.ccsens.tcm.uitl.Constant; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; import com.github.pagehelper.PageInfo; @@ -12,6 +13,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -52,7 +54,7 @@ public class PatientController { return JsonResponse.newInstance().ok(); } @MustLogin - @ApiOperation(value = "查询患者基本信息", notes = "w:查询患者基本信息") + @ApiOperation(value = "查询患者信息", notes = "w:查询患者信息") @RequestMapping(value = "/selPatientMes", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> selPatientInformationList(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查询患者基本信息:{}",params); @@ -62,6 +64,8 @@ public class PatientController { } + + @MustLogin @ApiOperation(value = "保存患者病例信息", notes = "w:提交患者的相关病例信息") @RequestMapping(value = "/saveCaseMes", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/dto/DoctorDto.java b/tcm/src/main/java/com/ccsens/tcm/bean/dto/DoctorDto.java new file mode 100644 index 00000000..850e5c09 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/bean/dto/DoctorDto.java @@ -0,0 +1,9 @@ +package com.ccsens.tcm.bean.dto; + +/** + * @description: + * @author: whj + * @time: 2021/5/8 11:48 + */ +public class DoctorDto { +} diff --git a/tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java b/tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java index 708ffa52..ebfa7722 100644 --- a/tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java +++ b/tcm/src/main/java/com/ccsens/tcm/bean/dto/PatientDto.java @@ -36,20 +36,31 @@ public class PatientDto { @Data @ApiModel("查询患者基本信息") public static class SelPatientList { + + @ApiModelProperty("病患id") private Long id; + + @ApiModelProperty("医院Id") + private Long hospitalId; @ApiModelProperty("研究编号") private String code; @ApiModelProperty("住院号") private String hospitalization; @ApiModelProperty("对照组id") private Long inpatientId; - @ApiModelProperty("录入状态:0:新建 1:数据搜集中 2数据搜集完成 3数据搜集超时 4:废弃") + @ApiModelProperty("录入状态:0:新建 1:数据搜集中 2数据搜集完成 3数据搜集超时 4:废弃 5.审核通过 6已完结") private Byte inputStatus; - @ApiModelProperty("医生名字") - private String doctorName; + @ApiModelProperty("医生Id") + private Long doctorId; @ApiModelProperty("查看权限 0:仅自己 1:医院 2:全部") private byte queryAuthority = 0; + @ApiModelProperty("开始时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date startTime; + @ApiModelProperty("结束时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date endTime; @Min(1) @ApiModelProperty("当前页") private Integer pageNum=1; @@ -57,9 +68,10 @@ public class PatientDto { @Max(20) @ApiModelProperty("每页数量") private Integer pageSize=10; - @ApiModelProperty("医院id 前端不传") + @ApiModelProperty("医院id") private List hospitalIds = new ArrayList<>(); } + @Data @ApiModel("保存患者的多个病例信息") public static class saveCaseMes { diff --git a/tcm/src/main/java/com/ccsens/tcm/service/DoctorService.java b/tcm/src/main/java/com/ccsens/tcm/service/DoctorService.java new file mode 100644 index 00000000..c86b7352 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/service/DoctorService.java @@ -0,0 +1,9 @@ +package com.ccsens.tcm.service; + +/** + * @description: + * @author: whj + * @time: 2021/5/8 11:49 + */ +public class DoctorService implements IDoctorService { +} diff --git a/tcm/src/main/java/com/ccsens/tcm/service/IDoctorService.java b/tcm/src/main/java/com/ccsens/tcm/service/IDoctorService.java new file mode 100644 index 00000000..526108e5 --- /dev/null +++ b/tcm/src/main/java/com/ccsens/tcm/service/IDoctorService.java @@ -0,0 +1,4 @@ +package com.ccsens.tcm.service; + +public interface IDoctorService { +} diff --git a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java index cde65129..a4f2a17d 100644 --- a/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java +++ b/tcm/src/main/java/com/ccsens/tcm/service/PatientService.java @@ -269,20 +269,21 @@ public class PatientService implements IPatientService { @Override public PageInfo selPatientInformationList(PatientDto.SelPatientList param, Long userId) { PageHelper.startPage(param.getPageNum(),param.getPageSize()); - if (param.getHospitalIds() == null) { - param.setHospitalIds(new ArrayList<>()); - } - List doctors = doctorDao.queryDetail(userId); - for (DoctorVo.Detail doctor: doctors) { - if (doctor.getHospitalType() == Constant.HOSPITAL_PROJECT) { - param.getHospitalIds().clear(); - break; - } else { - param.getHospitalIds().add(doctor.getHospitalId()); - } - } + if (param.getQueryAuthority() == Constant.QUERY_AUTHORITY_HOSPITAL) { + List doctors = doctorDao.queryDetail(userId); + for (DoctorVo.Detail doctor: doctors) { + if (doctor.getHospitalType() == Constant.HOSPITAL_PROJECT) { + if (param.getQueryAuthority() == Constant.QUERY_AUTHORITY_HOSPITAL) { + param.getHospitalIds().clear(); + break; + } + } else { + param.getHospitalIds().add(doctor.getHospitalId()); + } + } + } List selPatientList= patientDao.selPatientInformationList(param, userId); return new PageInfo<>(selPatientList); } diff --git a/tcm/src/main/java/com/ccsens/tcm/uitl/Constant.java b/tcm/src/main/java/com/ccsens/tcm/uitl/Constant.java index 0b62b08f..debe7df9 100644 --- a/tcm/src/main/java/com/ccsens/tcm/uitl/Constant.java +++ b/tcm/src/main/java/com/ccsens/tcm/uitl/Constant.java @@ -38,6 +38,12 @@ public class Constant { public final static byte SEX_WOMAN = 1; /**医院类型*/ public final static byte HOSPITAL_PROJECT = 0; + /**仅查询自己*/ + public final static byte QUERY_AUTHORITY_SELF = 0; + /**查询医院全部*/ + public final static byte QUERY_AUTHORITY_HOSPITAL = 1; + /**查询全部*/ + public final static byte QUERY_AUTHORITY_ALL = 2; public enum Biological { diff --git a/tcm/src/main/resources/mapper_dao/PatientDao.xml b/tcm/src/main/resources/mapper_dao/PatientDao.xml index 7797c2f6..c0712126 100644 --- a/tcm/src/main/resources/mapper_dao/PatientDao.xml +++ b/tcm/src/main/resources/mapper_dao/PatientDao.xml @@ -172,17 +172,26 @@ and tpi.hospitalization like concat('%', #{param.hospitalization}, '%') - + and tpi.code like concat('%',#{param.code}, '%') - + and tpi.inpatient_id= #{param.inpatientId} - + + and tpi.hospital_id= #{param.hospitalId} + + and tpi.input_status= #{param.inputStatus} - - and d.name like concat('%',#{param.doctorName},'%') + + and tpi.created_at >= #{param.startTime} + + + and tpi.created_at <= #{param.endTime} + + + and d.id = #{param.doctorId}