Browse Source

增加根据查询历史患者信息,查看环节状态接口

pt
ma 4 years ago
parent
commit
fd17591538
  1. 2
      pom.xml
  2. 13
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/PatientAndFamilyController.java
  3. 46
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/StepController.java
  4. 19
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StepDto.java
  5. 33
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/HospitalMember.java
  6. 200
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/HospitalMemberExample.java
  7. 30
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/PatientVo.java
  8. 19
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/StepVo.java
  9. 10
      wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientDoctorDao.java
  10. 7
      wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientProjectDao.java
  11. 9
      wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/StepDao.java
  12. 10
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IPatientAndFamilyService.java
  13. 19
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IStepService.java
  14. 88
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/PatientAndFamilyService.java
  15. 32
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StepService.java
  16. 15
      wisdomcar/src/main/resources/mapper_dao/PatientDoctorDao.xml
  17. 20
      wisdomcar/src/main/resources/mapper_dao/PatientProjectDao.xml
  18. 19
      wisdomcar/src/main/resources/mapper_dao/StepDao.xml
  19. 58
      wisdomcar/src/main/resources/mapper_raw/HospitalMemberMapper.xml

2
pom.xml

@ -13,7 +13,7 @@
<!-- <module>ht</module>-->
<!-- <module>game</module>-->
<!-- <module>mt</module>-->
<!-- <module>wisdomcar</module>-->
<module>wisdomcar</module>
<!-- <module>beneficiation</module>-->
<!-- <module>form</module>-->
<!-- <module>signin</module>-->

13
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<PatientVo.PatientRecord> findOldPatient(@ApiParam @Validated @RequestBody QueryDto params) {
log.info("医生查看以前患者:{}", params);
List<PatientVo.PatientRecord> 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<PatientAndFamilyVo.PatientInfo> queryPatientInfo(@ApiParam @Validated @RequestBody QueryDto<PatientAndFamilyDto.queryPatientInfo> params) {

46
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<StepVo.StepStatus> findStepIsOver(@ApiParam @Validated @RequestBody QueryDto<StepDto.FindStepStatus> params) {
log.info("查看节点是否完成:{}", params);
List<StepVo.StepStatus> stepStatuses = stepService.findStepIsOver(params.getParam());
log.info("查看节点是否完成接口结束{}",stepStatuses);
return JsonResponse.newInstance().ok(stepStatuses);
}
}

19
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;
}
}

33
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();
}

200
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<String> values) {
addCriterion("member_name in", values, "memberName");
return (Criteria) this;
}
public Criteria andMemberNameNotIn(List<String> 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<Byte> values) {
addCriterion("member_sex in", values, "memberSex");
return (Criteria) this;
}
public Criteria andMemberSexNotIn(List<Byte> 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<String> values) {
addCriterion("member_phone in", values, "memberPhone");
return (Criteria) this;
}
public Criteria andMemberPhoneNotIn(List<String> 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 {

30
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;
}
}

19
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;
}
}

10
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<Long> findPatientIdByDoctor(@Param("id") Long id);
}

7
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<PatientVo.PatientRecord> findPatientInfoByIdList(@Param("list") List<Long> newPatientIds);
PatientAndFamilyVo.PatientInfo queryPatientInfo(@Param("projectId")Long projectId);
}

9
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<StepVo.StepStatus> findStepIsOver(Long patientCarId);
}

10
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<PatientVo.PatientRecord> findOldPatient(Long userId);
}

19
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<StepVo.StepStatus> findStepIsOver(StepDto.FindStepStatus param);
}

88
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<String> roleNameList = new ArrayList<>();
roleNameList.add(Constant.PATIENT_FAMILY);
QueryDto<MemberRoleDto.SaveMemberForTemplate> queryDto = new QueryDto<>();
MemberRoleDto.SaveMemberForTemplate saveMemberForTemplate = new MemberRoleDto.SaveMemberForTemplate();
saveMemberForTemplate.setProjectId(patient.getProjectId());
//添加家属手机号和Tall对应角色名称
List<MemberRoleDto.MemberForTemplate> 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<PatientVo.PatientRecord> findOldPatient(Long userId) {
List<PatientVo.PatientRecord> patientInfoByIdList = null;
List<Long> patientIds = new ArrayList<>();
HospitalMemberExample memberExample = new HospitalMemberExample();
memberExample.createCriteria().andUserIdEqualTo(userId);
List<HospitalMember> hospitalMembers = hospitalMemberDao.selectByExample(memberExample);
if (CollectionUtil.isNotEmpty(hospitalMembers)){
for (HospitalMember hospitalMember : hospitalMembers) {
List<Long> patientList = patientDoctorDao.findPatientIdByDoctor(hospitalMember.getId());
patientIds.addAll(patientList);
}
}
//去重患者id
List<Long> newPatientIds= patientIds.stream().distinct().collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(newPatientIds)){
patientInfoByIdList = patientProjectDao.findPatientInfoByIdList(newPatientIds);
}
return patientInfoByIdList;
}
@Override

32
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<StepVo.StepStatus> findStepIsOver(StepDto.FindStepStatus param) {
return stepDao.findStepIsOver(param.getPatientCarId());
}
}

15
wisdomcar/src/main/resources/mapper_dao/PatientDoctorDao.xml

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.wisdomcar.persist.dao.PatientDoctorDao">
<select id="findPatientIdByDoctor" resultType="java.lang.Long">
SELECT
patient_id
FROM
t_patient_doctor
WHERE
doctor_id = #{id}
AND rec_status = 0
</select>
</mapper>

20
wisdomcar/src/main/resources/mapper_dao/PatientProjectDao.xml

@ -2,6 +2,26 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.wisdomcar.persist.dao.PatientProjectDao">
<select id="findPatientInfoByIdList" resultType="com.ccsens.wisdomcar.bean.vo.PatientVo$PatientRecord">
SELECT
NAME AS NAME,
sex AS sex,
age AS age,
phone AS phone,
id_card AS idCard,
project_id AS projectId
FROM
t_patient_project
WHERE
rec_status = 0
<if test="list != null and list.size() > 0">
AND id in
<foreach collection="list" item="id" separator="," open="(" close=")">
#{id}
</foreach>
</if>
</select>
<select id="queryPatientInfo" resultType="com.ccsens.wisdomcar.bean.vo.PatientAndFamilyVo$PatientInfo" parameterType="java.lang.Long">
select medical_record_num as medicalRecordNum,
name as name,

19
wisdomcar/src/main/resources/mapper_dao/StepDao.xml

@ -39,4 +39,23 @@
<select id="getMaxSequence" resultType="java.lang.Integer">
select max(sequence) from t_step where step_type = #{stepType} and rec_status = 0
</select>
<select id="findStepIsOver" resultType="com.ccsens.wisdomcar.bean.vo.StepVo$StepStatus">
SELECT DISTINCT
s.id AS stepId,
s.`code` AS stepCode,
s.`name` AS stepName,
pd.start_time AS startTime,
pd.type type,
hm.member_name AS memberName
FROM
t_step AS s
LEFT JOIN t_patient_data AS pd ON s.id = pd.step_id
AND pd.patient_car_id = 0
LEFT JOIN t_hospital_member AS hm ON pd.user_id = hm.user_id
WHERE
s.step_type = 0
</select>
</mapper>

58
wisdomcar/src/main/resources/mapper_raw/HospitalMemberMapper.xml

@ -10,6 +10,9 @@
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
<result column="member_name" jdbcType="VARCHAR" property="memberName" />
<result column="member_sex" jdbcType="TINYINT" property="memberSex" />
<result column="member_phone" jdbcType="VARCHAR" property="memberPhone" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -70,7 +73,8 @@
</where>
</sql>
<sql id="Base_Column_List">
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
</sql>
<select id="selectByExample" parameterType="com.ccsens.wisdomcar.bean.po.HospitalMemberExample" resultMap="BaseResultMap">
select
@ -105,10 +109,12 @@
<insert id="insert" parameterType="com.ccsens.wisdomcar.bean.po.HospitalMember">
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>
<insert id="insertSelective" parameterType="com.ccsens.wisdomcar.bean.po.HospitalMember">
insert into t_hospital_member
@ -137,6 +143,15 @@
<if test="recStatus != null">
rec_status,
</if>
<if test="memberName != null">
member_name,
</if>
<if test="memberSex != null">
member_sex,
</if>
<if test="memberPhone != null">
member_phone,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -163,6 +178,15 @@
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
<if test="memberName != null">
#{memberName,jdbcType=VARCHAR},
</if>
<if test="memberSex != null">
#{memberSex,jdbcType=TINYINT},
</if>
<if test="memberPhone != null">
#{memberPhone,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.wisdomcar.bean.po.HospitalMemberExample" resultType="java.lang.Long">
@ -198,6 +222,15 @@
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
<if test="record.memberName != null">
member_name = #{record.memberName,jdbcType=VARCHAR},
</if>
<if test="record.memberSex != null">
member_sex = #{record.memberSex,jdbcType=TINYINT},
</if>
<if test="record.memberPhone != null">
member_phone = #{record.memberPhone,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -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}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -241,6 +277,15 @@
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
<if test="memberName != null">
member_name = #{memberName,jdbcType=VARCHAR},
</if>
<if test="memberSex != null">
member_sex = #{memberSex,jdbcType=TINYINT},
</if>
<if test="memberPhone != null">
member_phone = #{memberPhone,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
@ -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}
</update>
</mapper>
Loading…
Cancel
Save