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 @@
+
+
\ 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
select
@@ -105,10 +109,12 @@
insert into t_hospital_member (id, position, department,
hospital_id, user_id, created_at,
- updated_at, rec_status)
+ updated_at, rec_status, member_name,
+ member_sex, member_phone)
values (#{id,jdbcType=BIGINT}, #{position,jdbcType=TINYINT}, #{department,jdbcType=TINYINT},
#{hospitalId,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP},
- #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT})
+ #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, #{memberName,jdbcType=VARCHAR},
+ #{memberSex,jdbcType=TINYINT}, #{memberPhone,jdbcType=VARCHAR})
insert into t_hospital_member
@@ -137,6 +143,15 @@
rec_status,
+
+ member_name,
+
+
+ member_sex,
+
+
+ member_phone,
+
@@ -163,6 +178,15 @@
#{recStatus,jdbcType=TINYINT},
+
+ #{memberName,jdbcType=VARCHAR},
+
+
+ #{memberSex,jdbcType=TINYINT},
+
+
+ #{memberPhone,jdbcType=VARCHAR},
+
@@ -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