From fd17591538579911e4b017ec3f043713edaaf288 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Thu, 3 Jun 2021 17:37:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A0=B9=E6=8D=AE=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=8E=86=E5=8F=B2=E6=82=A3=E8=80=85=E4=BF=A1=E6=81=AF?= =?UTF-8?q?,=E6=9F=A5=E7=9C=8B=E7=8E=AF=E8=8A=82=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../api/PatientAndFamilyController.java | 13 ++ .../ccsens/wisdomcar/api/StepController.java | 46 ++++ .../ccsens/wisdomcar/bean/dto/StepDto.java | 19 ++ .../wisdomcar/bean/po/HospitalMember.java | 33 +++ .../bean/po/HospitalMemberExample.java | 200 ++++++++++++++++++ .../ccsens/wisdomcar/bean/vo/PatientVo.java | 30 +++ .../com/ccsens/wisdomcar/bean/vo/StepVo.java | 19 ++ .../persist/dao/PatientDoctorDao.java | 10 +- .../persist/dao/PatientProjectDao.java | 7 + .../ccsens/wisdomcar/persist/dao/StepDao.java | 9 + .../service/IPatientAndFamilyService.java | 10 + .../wisdomcar/service/IStepService.java | 19 ++ .../service/PatientAndFamilyService.java | 88 +++++++- .../ccsens/wisdomcar/service/StepService.java | 32 +++ .../resources/mapper_dao/PatientDoctorDao.xml | 15 ++ .../mapper_dao/PatientProjectDao.xml | 20 ++ .../src/main/resources/mapper_dao/StepDao.xml | 19 ++ .../mapper_raw/HospitalMemberMapper.xml | 58 ++++- 19 files changed, 638 insertions(+), 11 deletions(-) create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/api/StepController.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StepDto.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/PatientVo.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IStepService.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StepService.java create mode 100644 wisdomcar/src/main/resources/mapper_dao/PatientDoctorDao.xml diff --git a/pom.xml b/pom.xml index d208788b..3063a72f 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ - + wisdomcar diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java index 62ad0764..df8a844a 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java @@ -7,6 +7,7 @@ import com.ccsens.wisdomcar.bean.dto.CreateCaseDto; import com.ccsens.wisdomcar.bean.dto.PatientAndFamilyDto; import com.ccsens.wisdomcar.bean.vo.OtherRecordsVo; import com.ccsens.wisdomcar.bean.vo.PatientAndFamilyVo; +import com.ccsens.wisdomcar.bean.vo.PatientVo; import com.ccsens.wisdomcar.service.IPatientAndFamilyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -54,6 +55,18 @@ public class PatientAndFamilyController { } + + @MustLogin + @ApiOperation(value = "医生查看以前患者", notes = "mz") + @RequestMapping(value = "/findOldPatient", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse findOldPatient(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("医生查看以前患者:{}", params); + List patientRecordList = patientAndFamilyService.findOldPatient(params.getUserId()); + log.info("医生查看以前患者接口结束{}",patientRecordList); + return JsonResponse.newInstance().ok(patientRecordList); + + } + @ApiOperation(value = "查询患者", notes = "") @RequestMapping(value = "/queryPatientInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse queryPatientInfo(@ApiParam @Validated @RequestBody QueryDto params) { diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/StepController.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/StepController.java new file mode 100644 index 00000000..67f9fbb0 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/api/StepController.java @@ -0,0 +1,46 @@ +package com.ccsens.wisdomcar.api; + +import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import com.ccsens.wisdomcar.bean.dto.StepDto; +import com.ccsens.wisdomcar.bean.vo.PatientVo; +import com.ccsens.wisdomcar.bean.vo.StepVo; +import com.ccsens.wisdomcar.service.IStepService; +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; +import java.util.List; + +/** + * @author 马 + */ +@Slf4j +@Api(tags = "环节(节点)相关接口" , description = "") +@RestController +@RequestMapping("/step") +public class StepController { + + @Resource + private IStepService stepService; + + @MustLogin + @ApiOperation(value = "查看节点是否完成", notes = "mz") + @RequestMapping(value = "/findStepIsOver", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse findStepIsOver(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查看节点是否完成:{}", params); + List stepStatuses = stepService.findStepIsOver(params.getParam()); + log.info("查看节点是否完成接口结束{}",stepStatuses); + return JsonResponse.newInstance().ok(stepStatuses); + + } + +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StepDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StepDto.java new file mode 100644 index 00000000..de82cd27 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StepDto.java @@ -0,0 +1,19 @@ +package com.ccsens.wisdomcar.bean.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author AUSU + */ +@Data +public class StepDto { + + @Data + @ApiModel("查看环节完成状态") + public static class FindStepStatus{ + @ApiModelProperty("患者平车id") + private Long patientCarId; + } +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/HospitalMember.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/HospitalMember.java index 55b6b82b..e8cfa714 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/HospitalMember.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/HospitalMember.java @@ -20,6 +20,12 @@ public class HospitalMember implements Serializable { private Byte recStatus; + private String memberName; + + private Byte memberSex; + + private String memberPhone; + private static final long serialVersionUID = 1L; public Long getId() { @@ -86,6 +92,30 @@ public class HospitalMember implements Serializable { this.recStatus = recStatus; } + public String getMemberName() { + return memberName; + } + + public void setMemberName(String memberName) { + this.memberName = memberName == null ? null : memberName.trim(); + } + + public Byte getMemberSex() { + return memberSex; + } + + public void setMemberSex(Byte memberSex) { + this.memberSex = memberSex; + } + + public String getMemberPhone() { + return memberPhone; + } + + public void setMemberPhone(String memberPhone) { + this.memberPhone = memberPhone == null ? null : memberPhone.trim(); + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -100,6 +130,9 @@ public class HospitalMember implements Serializable { sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); + sb.append(", memberName=").append(memberName); + sb.append(", memberSex=").append(memberSex); + sb.append(", memberPhone=").append(memberPhone); sb.append("]"); return sb.toString(); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/HospitalMemberExample.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/HospitalMemberExample.java index 212cc9a2..f1503017 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/HospitalMemberExample.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/HospitalMemberExample.java @@ -584,6 +584,206 @@ public class HospitalMemberExample { addCriterion("rec_status not between", value1, value2, "recStatus"); return (Criteria) this; } + + public Criteria andMemberNameIsNull() { + addCriterion("member_name is null"); + return (Criteria) this; + } + + public Criteria andMemberNameIsNotNull() { + addCriterion("member_name is not null"); + return (Criteria) this; + } + + public Criteria andMemberNameEqualTo(String value) { + addCriterion("member_name =", value, "memberName"); + return (Criteria) this; + } + + public Criteria andMemberNameNotEqualTo(String value) { + addCriterion("member_name <>", value, "memberName"); + return (Criteria) this; + } + + public Criteria andMemberNameGreaterThan(String value) { + addCriterion("member_name >", value, "memberName"); + return (Criteria) this; + } + + public Criteria andMemberNameGreaterThanOrEqualTo(String value) { + addCriterion("member_name >=", value, "memberName"); + return (Criteria) this; + } + + public Criteria andMemberNameLessThan(String value) { + addCriterion("member_name <", value, "memberName"); + return (Criteria) this; + } + + public Criteria andMemberNameLessThanOrEqualTo(String value) { + addCriterion("member_name <=", value, "memberName"); + return (Criteria) this; + } + + public Criteria andMemberNameLike(String value) { + addCriterion("member_name like", value, "memberName"); + return (Criteria) this; + } + + public Criteria andMemberNameNotLike(String value) { + addCriterion("member_name not like", value, "memberName"); + return (Criteria) this; + } + + public Criteria andMemberNameIn(List values) { + addCriterion("member_name in", values, "memberName"); + return (Criteria) this; + } + + public Criteria andMemberNameNotIn(List values) { + addCriterion("member_name not in", values, "memberName"); + return (Criteria) this; + } + + public Criteria andMemberNameBetween(String value1, String value2) { + addCriterion("member_name between", value1, value2, "memberName"); + return (Criteria) this; + } + + public Criteria andMemberNameNotBetween(String value1, String value2) { + addCriterion("member_name not between", value1, value2, "memberName"); + return (Criteria) this; + } + + public Criteria andMemberSexIsNull() { + addCriterion("member_sex is null"); + return (Criteria) this; + } + + public Criteria andMemberSexIsNotNull() { + addCriterion("member_sex is not null"); + return (Criteria) this; + } + + public Criteria andMemberSexEqualTo(Byte value) { + addCriterion("member_sex =", value, "memberSex"); + return (Criteria) this; + } + + public Criteria andMemberSexNotEqualTo(Byte value) { + addCriterion("member_sex <>", value, "memberSex"); + return (Criteria) this; + } + + public Criteria andMemberSexGreaterThan(Byte value) { + addCriterion("member_sex >", value, "memberSex"); + return (Criteria) this; + } + + public Criteria andMemberSexGreaterThanOrEqualTo(Byte value) { + addCriterion("member_sex >=", value, "memberSex"); + return (Criteria) this; + } + + public Criteria andMemberSexLessThan(Byte value) { + addCriterion("member_sex <", value, "memberSex"); + return (Criteria) this; + } + + public Criteria andMemberSexLessThanOrEqualTo(Byte value) { + addCriterion("member_sex <=", value, "memberSex"); + return (Criteria) this; + } + + public Criteria andMemberSexIn(List values) { + addCriterion("member_sex in", values, "memberSex"); + return (Criteria) this; + } + + public Criteria andMemberSexNotIn(List values) { + addCriterion("member_sex not in", values, "memberSex"); + return (Criteria) this; + } + + public Criteria andMemberSexBetween(Byte value1, Byte value2) { + addCriterion("member_sex between", value1, value2, "memberSex"); + return (Criteria) this; + } + + public Criteria andMemberSexNotBetween(Byte value1, Byte value2) { + addCriterion("member_sex not between", value1, value2, "memberSex"); + return (Criteria) this; + } + + public Criteria andMemberPhoneIsNull() { + addCriterion("member_phone is null"); + return (Criteria) this; + } + + public Criteria andMemberPhoneIsNotNull() { + addCriterion("member_phone is not null"); + return (Criteria) this; + } + + public Criteria andMemberPhoneEqualTo(String value) { + addCriterion("member_phone =", value, "memberPhone"); + return (Criteria) this; + } + + public Criteria andMemberPhoneNotEqualTo(String value) { + addCriterion("member_phone <>", value, "memberPhone"); + return (Criteria) this; + } + + public Criteria andMemberPhoneGreaterThan(String value) { + addCriterion("member_phone >", value, "memberPhone"); + return (Criteria) this; + } + + public Criteria andMemberPhoneGreaterThanOrEqualTo(String value) { + addCriterion("member_phone >=", value, "memberPhone"); + return (Criteria) this; + } + + public Criteria andMemberPhoneLessThan(String value) { + addCriterion("member_phone <", value, "memberPhone"); + return (Criteria) this; + } + + public Criteria andMemberPhoneLessThanOrEqualTo(String value) { + addCriterion("member_phone <=", value, "memberPhone"); + return (Criteria) this; + } + + public Criteria andMemberPhoneLike(String value) { + addCriterion("member_phone like", value, "memberPhone"); + return (Criteria) this; + } + + public Criteria andMemberPhoneNotLike(String value) { + addCriterion("member_phone not like", value, "memberPhone"); + return (Criteria) this; + } + + public Criteria andMemberPhoneIn(List values) { + addCriterion("member_phone in", values, "memberPhone"); + return (Criteria) this; + } + + public Criteria andMemberPhoneNotIn(List values) { + addCriterion("member_phone not in", values, "memberPhone"); + return (Criteria) this; + } + + public Criteria andMemberPhoneBetween(String value1, String value2) { + addCriterion("member_phone between", value1, value2, "memberPhone"); + return (Criteria) this; + } + + public Criteria andMemberPhoneNotBetween(String value1, String value2) { + addCriterion("member_phone not between", value1, value2, "memberPhone"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/PatientVo.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/PatientVo.java new file mode 100644 index 00000000..61ab4c60 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/PatientVo.java @@ -0,0 +1,30 @@ +package com.ccsens.wisdomcar.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author AUSU + */ +@Data +public class PatientVo { + + @Data + @ApiModel("医生查看以前患者") + public static class PatientRecord { + @ApiModelProperty("患者姓名") + private String name; + @ApiModelProperty("患者性别(0-女,1-男)") + private Byte sex; + @ApiModelProperty("患者年龄") + private Integer age; + @ApiModelProperty("患者电话号") + private String phone; + @ApiModelProperty("患者身份证号") + private String idCard; + @ApiModelProperty("项目id") + private Long projectId; + } + +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/StepVo.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/StepVo.java index 9d40f576..c928ff38 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/StepVo.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/StepVo.java @@ -1,5 +1,7 @@ package com.ccsens.wisdomcar.bean.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -12,6 +14,23 @@ public class StepVo { private Long id; private String stepCode; private byte stepType; + } + + @ApiModel("查看环节是否完成") + @Data + public static class StepStatus{ + @ApiModelProperty("环节id") + private Long stepId; + @ApiModelProperty("环节code") + private String stepCode; + @ApiModelProperty("环节名称") + private String stepName; + @ApiModelProperty("开始时间") + private Long startTime; + @ApiModelProperty("类型(0-平车,1-用户)") + private Byte type; + @ApiModelProperty("医生名字") + private String memberName; } } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientDoctorDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientDoctorDao.java index 350037af..26e19233 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientDoctorDao.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientDoctorDao.java @@ -2,11 +2,19 @@ package com.ccsens.wisdomcar.persist.dao; import com.ccsens.wisdomcar.persist.mapper.PatientDoctorMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @author AUSU */ public interface PatientDoctorDao extends PatientDoctorMapper { - + /** + * 查看医生负责的所有患者id + * @param id 医生id + * @return List(患者id) + */ + List findPatientIdByDoctor(@Param("id") Long id); } \ No newline at end of file diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientProjectDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientProjectDao.java index 9e3a8446..f054e89f 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientProjectDao.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientProjectDao.java @@ -2,6 +2,7 @@ package com.ccsens.wisdomcar.persist.dao; import com.ccsens.wisdomcar.bean.po.PatientProject; import com.ccsens.wisdomcar.bean.po.PatientProjectExample; +import com.ccsens.wisdomcar.bean.vo.PatientVo; import com.ccsens.wisdomcar.bean.vo.PatientAndFamilyVo; import com.ccsens.wisdomcar.persist.mapper.PatientProjectMapper; import org.apache.ibatis.annotations.Param; @@ -12,6 +13,12 @@ import java.util.List; * @author 马 */ public interface PatientProjectDao extends PatientProjectMapper { + /** + *查找医生负责的患者信息 + * @param newPatientIds 患者id集合 + * @return 患者信息 + */ + List findPatientInfoByIdList(@Param("list") List newPatientIds); PatientAndFamilyVo.PatientInfo queryPatientInfo(@Param("projectId")Long projectId); } \ No newline at end of file diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java index 4514328f..02016870 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java @@ -5,6 +5,8 @@ import com.ccsens.wisdomcar.persist.mapper.StepMapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.util.List; + /** * @author 逗 */ @@ -28,4 +30,11 @@ public interface StepDao extends StepMapper { * @return 最大序号 */ Integer getMaxSequence(@Param("stepType") byte stepType); + + /** + * 查看环节是否完成 + * @param patientCarId 患者平车id + * @return 环节信息 + */ + List findStepIsOver(Long patientCarId); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java index 642836a8..c9d2949c 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java @@ -3,6 +3,9 @@ package com.ccsens.wisdomcar.service; import com.ccsens.wisdomcar.bean.dto.PatientAndFamilyDto; import com.ccsens.wisdomcar.bean.vo.PatientAndFamilyVo; +import com.ccsens.wisdomcar.bean.vo.PatientVo; + +import java.util.List; /** * @author 马 @@ -27,4 +30,11 @@ public interface IPatientAndFamilyService { * @param param 家属信息 */ PatientAndFamilyVo.PatientInfo queryPatientInfo(PatientAndFamilyDto.queryPatientInfo param); + + /** + * 查看往期患者记录 + * @param userId 当前用户userID + * @return 往期患者记录 + */ + List findOldPatient(Long userId); } diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IStepService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IStepService.java new file mode 100644 index 00000000..4ebc2460 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IStepService.java @@ -0,0 +1,19 @@ +package com.ccsens.wisdomcar.service; + + +import com.ccsens.wisdomcar.bean.dto.StepDto; +import com.ccsens.wisdomcar.bean.vo.StepVo; + +import java.util.List; + +/** + * @author AUSU + */ +public interface IStepService { + /** + * 查看环节是否完成 + * @param param 患者平车id + * @return 环节状态 + */ + List findStepIsOver(StepDto.FindStepStatus param); +} diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java index 827b2d2d..57c19f8b 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java @@ -1,12 +1,24 @@ package com.ccsens.wisdomcar.service; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; +import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto; +import com.ccsens.cloudutil.feign.TallFeignClient; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.CodeEnum; import com.ccsens.util.exception.BaseException; import com.ccsens.wisdomcar.bean.dto.PatientAndFamilyDto; +import com.ccsens.wisdomcar.bean.po.HospitalMember; +import com.ccsens.wisdomcar.bean.po.HospitalMemberExample; +import com.ccsens.wisdomcar.bean.po.PatientFamily; import com.ccsens.wisdomcar.bean.po.PatientProject; import com.ccsens.wisdomcar.bean.vo.PatientAndFamilyVo; +import com.ccsens.wisdomcar.bean.vo.PatientVo; +import com.ccsens.wisdomcar.persist.dao.HospitalMemberDao; +import com.ccsens.wisdomcar.persist.dao.PatientDoctorDao; +import com.ccsens.wisdomcar.persist.dao.PatientFamilyDao; import com.ccsens.wisdomcar.persist.dao.PatientProjectDao; import com.ccsens.wisdomcar.util.Constant; import lombok.extern.slf4j.Slf4j; @@ -15,6 +27,8 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; /** * @author 马 @@ -26,7 +40,14 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{ @Resource private PatientProjectDao patientProjectDao; - + @Resource + private PatientFamilyDao patientFamilyDao; + @Resource + private TallFeignClient tallFeignClient; + @Resource + private HospitalMemberDao hospitalMemberDao; + @Resource + private PatientDoctorDao patientDoctorDao; @Override public void updatePatientInfo(PatientAndFamilyDto.PatientInfo param) { @@ -35,9 +56,6 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{ if (ObjectUtil.isNotNull(param.getName())){ patient.setName(param.getName()); } - if (ObjectUtil.isNotNull(param.getPhone())){ - patient.setPhone(param.getPhone()); - } if (ObjectUtil.isNotNull(param.getAge())){ patient.setAge(param.getAge()); } @@ -47,6 +65,9 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{ if (ObjectUtil.isNotNull(param.getSex())){ patient.setSex(param.getSex()); } + if (ObjectUtil.isNotNull(param.getPhone())){ + patient.setPhone(param.getPhone()); + } patientProjectDao.updateByPrimaryKeySelective(patient); }else{ throw new BaseException(Constant.PATIENT_NOT_FOUND); @@ -55,7 +76,66 @@ public class PatientAndFamilyService implements IPatientAndFamilyService{ @Override public void updatePatientFamilyInfo(PatientAndFamilyDto.PatientFamilyInfo param) { + PatientFamily family = patientFamilyDao.selectByPrimaryKey(param.getId()); + //如果手机号为空需要推送tall添加患者家属 + if (ObjectUtil.isNull(family.getPhone()) && ObjectUtil.isNotNull(param.getPhone())){ + //查找项目id + PatientProject patient = patientProjectDao.selectByPrimaryKey(family.getPatientId()); + List roleNameList = new ArrayList<>(); + roleNameList.add(Constant.PATIENT_FAMILY); + + QueryDto queryDto = new QueryDto<>(); + MemberRoleDto.SaveMemberForTemplate saveMemberForTemplate = new MemberRoleDto.SaveMemberForTemplate(); + saveMemberForTemplate.setProjectId(patient.getProjectId()); + //添加家属手机号和Tall对应角色名称 + List memberList = new ArrayList<>(); + MemberRoleDto.MemberForTemplate member = new MemberRoleDto.MemberForTemplate(); + member.setPhone(param.getPhone()); + member.setMemberName(param.getName()); + member.setRoleName(roleNameList); + memberList.add(member); + saveMemberForTemplate.setMemberForTemplate(memberList); + queryDto.setParam(saveMemberForTemplate); + log.info("调用tall添加成员接口:{}",queryDto); + JsonResponse jsonResponse = tallFeignClient.addMemberForTemplate(queryDto); + log.info("调用tall添加成员接口结束返回:{}",jsonResponse); + if(!jsonResponse.getCode().equals(Constant.RESPONSE_OK)){ + log.info("调用tall异常后返回:{}", jsonResponse.getMsg()); + throw new BaseException(Constant.RETURN_ERROR); + } + } + + if (ObjectUtil.isNotNull(param.getName())){ + family.setName(param.getName()); + } + if (ObjectUtil.isNotNull(param.getPhone())){ + family.setPhone(param.getPhone()); + } + patientFamilyDao.updateByPrimaryKeySelective(family); + + } + + @Override + public List findOldPatient(Long userId) { + List patientInfoByIdList = null; + List patientIds = new ArrayList<>(); + + HospitalMemberExample memberExample = new HospitalMemberExample(); + memberExample.createCriteria().andUserIdEqualTo(userId); + List hospitalMembers = hospitalMemberDao.selectByExample(memberExample); + if (CollectionUtil.isNotEmpty(hospitalMembers)){ + for (HospitalMember hospitalMember : hospitalMembers) { + List patientList = patientDoctorDao.findPatientIdByDoctor(hospitalMember.getId()); + patientIds.addAll(patientList); + } + } + //去重患者id + List newPatientIds= patientIds.stream().distinct().collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(newPatientIds)){ + patientInfoByIdList = patientProjectDao.findPatientInfoByIdList(newPatientIds); + } + return patientInfoByIdList; } @Override diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StepService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StepService.java new file mode 100644 index 00000000..2eff2918 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StepService.java @@ -0,0 +1,32 @@ +package com.ccsens.wisdomcar.service; + +import com.ccsens.wisdomcar.bean.dto.StepDto; +import com.ccsens.wisdomcar.bean.vo.StepVo; + +import com.ccsens.wisdomcar.persist.dao.StepDao; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author 马 + */ +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class StepService implements IStepService { + + @Resource + private StepDao stepDao; + + @Override + public List findStepIsOver(StepDto.FindStepStatus param) { + return stepDao.findStepIsOver(param.getPatientCarId()); + } + +} diff --git a/wisdomcar/src/main/resources/mapper_dao/PatientDoctorDao.xml b/wisdomcar/src/main/resources/mapper_dao/PatientDoctorDao.xml new file mode 100644 index 00000000..150cc185 --- /dev/null +++ b/wisdomcar/src/main/resources/mapper_dao/PatientDoctorDao.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/wisdomcar/src/main/resources/mapper_dao/PatientProjectDao.xml b/wisdomcar/src/main/resources/mapper_dao/PatientProjectDao.xml index 7a810087..6432c061 100644 --- a/wisdomcar/src/main/resources/mapper_dao/PatientProjectDao.xml +++ b/wisdomcar/src/main/resources/mapper_dao/PatientProjectDao.xml @@ -2,6 +2,26 @@ + + select max(sequence) from t_step where step_type = #{stepType} and rec_status = 0 + + + + \ No newline at end of file diff --git a/wisdomcar/src/main/resources/mapper_raw/HospitalMemberMapper.xml b/wisdomcar/src/main/resources/mapper_raw/HospitalMemberMapper.xml index 763aaf20..988e38d7 100644 --- a/wisdomcar/src/main/resources/mapper_raw/HospitalMemberMapper.xml +++ b/wisdomcar/src/main/resources/mapper_raw/HospitalMemberMapper.xml @@ -10,6 +10,9 @@ + + + @@ -70,7 +73,8 @@ - id, position, department, hospital_id, user_id, created_at, updated_at, rec_status + id, position, department, hospital_id, user_id, created_at, updated_at, rec_status, + member_name, member_sex, member_phone @@ -198,6 +222,15 @@ rec_status = #{record.recStatus,jdbcType=TINYINT}, + + member_name = #{record.memberName,jdbcType=VARCHAR}, + + + member_sex = #{record.memberSex,jdbcType=TINYINT}, + + + member_phone = #{record.memberPhone,jdbcType=VARCHAR}, + @@ -212,7 +245,10 @@ user_id = #{record.userId,jdbcType=BIGINT}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} + rec_status = #{record.recStatus,jdbcType=TINYINT}, + member_name = #{record.memberName,jdbcType=VARCHAR}, + member_sex = #{record.memberSex,jdbcType=TINYINT}, + member_phone = #{record.memberPhone,jdbcType=VARCHAR} @@ -241,6 +277,15 @@ rec_status = #{recStatus,jdbcType=TINYINT}, + + member_name = #{memberName,jdbcType=VARCHAR}, + + + member_sex = #{memberSex,jdbcType=TINYINT}, + + + member_phone = #{memberPhone,jdbcType=VARCHAR}, + where id = #{id,jdbcType=BIGINT} @@ -252,7 +297,10 @@ user_id = #{userId,jdbcType=BIGINT}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} + rec_status = #{recStatus,jdbcType=TINYINT}, + member_name = #{memberName,jdbcType=VARCHAR}, + member_sex = #{memberSex,jdbcType=TINYINT}, + member_phone = #{memberPhone,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} \ No newline at end of file