From ee7a503be5b8c5b0b2122036697348866e98295c Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Thu, 3 Jun 2021 11:47:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9tall=E7=BB=99=E5=A4=8D?= =?UTF-8?q?=E5=88=B6=E9=A1=B9=E7=9B=AE=E6=B7=BB=E5=8A=A0=E6=88=90=E5=91=98?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tall/service/IProMemberService.java | 2 +- .../ccsens/tall/service/ProMemberService.java | 100 +++- .../ccsens/tall/service/ProRoleService.java | 6 +- .../wisdomcar/bean/dto/CreateCaseDto.java | 2 +- .../wisdomcar/bean/po/PatientDoctor.java | 84 +++ .../bean/po/PatientDoctorExample.java | 561 ++++++++++++++++++ .../persist/dao/PatientDoctorDao.java | 12 + .../persist/mapper/PatientDoctorMapper.java | 30 + .../wisdomcar/service/WisdomCarService.java | 14 + .../mapper_dao/HospitalWorkingDao.xml | 1 + .../mapper_raw/PatientDoctorMapper.xml | 228 +++++++ 11 files changed, 1005 insertions(+), 35 deletions(-) create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientDoctor.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientDoctorExample.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientDoctorDao.java create mode 100644 wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/mapper/PatientDoctorMapper.java create mode 100644 wisdomcar/src/main/resources/mapper_raw/PatientDoctorMapper.xml diff --git a/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java b/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java index 276b9b3f..b703c6f3 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java @@ -91,5 +91,5 @@ public interface IProMemberService { * @param param 项目id,成员手机号 * */ - void addMemberForTemplate(MemberRoleDto.SaveMemberForTemplate param); + void addMemberForTemplate(MemberRoleDto.SaveMemberForTemplate param) throws Exception; } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java b/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java index 866165c1..d6f6c5c1 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java @@ -524,40 +524,10 @@ public class ProMemberService implements IProMemberService { @Override - public void addMemberForTemplate(com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto.SaveMemberForTemplate param) { + public void addMemberForTemplate(com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto.SaveMemberForTemplate param) throws Exception { if (CollectionUtil.isNotEmpty(param.getMemberForTemplate())){ for (com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto.MemberForTemplate memberForTemplate : param.getMemberForTemplate()) { - - //只有手机号的情况 - if (ObjectUtil.isNotNull(memberForTemplate.getPhone())){ - //用项目id和手机号判断用户是否存在 - int isExist = proMemberDao.findUserIsExist(param.getProjectId(),memberForTemplate.getPhone()); - if (0!=isExist) { - throw new BaseException(CodeEnum.WBS_REPEAT_MEMBER_PHONE); - } - //添加成员 - ProMember proMember = new ProMember(); - proMember.setId(snowflake.nextId()); - proMember.setProjectId(param.getProjectId()); - if(ObjectUtil.isNotNull(memberForTemplate.getMemberName())){ - proMember.setNickname(memberForTemplate.getMemberName()); - } - proMember.setPhone(memberForTemplate.getPhone()); - proMemberDao.insertSelective(proMember); - //关联成员和角色 - for (String roleName : memberForTemplate.getRoleName()) { - Long roleId = proRoleDao.findRoelIdByProjectAndName(param.getProjectId(),roleName); - if (null != roleId){ - ProMemberRole proMemberRole = new MemberRoleDto(); - proMemberRole.setId(snowflake.nextId()); - proMemberRole.setRoleId(roleId); - proMemberRole.setMemberId(proMember.getId()); - proMemberRoleDao.insertSelective(proMemberRole); - } - } - } - //知道成员的userId的情况 if (ObjectUtil.isNotNull(memberForTemplate.getUserId())){ SysUser user = userDao.selectByPrimaryKey(memberForTemplate.getUserId()); @@ -569,7 +539,13 @@ public class ProMemberService implements IProMemberService { List memberList = proMemberDao.selectByExample(memberExample); if (CollectionUtil.isNotEmpty(memberList)) { - SysUser oldUser = userDao.selectByPrimaryKey(memberList.get(0).getUserId()); + //修改userId保持一致 + ProMember proMember = new ProMember(); + proMember.setId(memberList.get(0).getId()); + proMember.setUserId(memberForTemplate.getUserId()); + proMemberDao.updateByPrimaryKeySelective(proMember); + + SysUser oldUser = userDao.selectByPrimaryKey(proMember.getUserId()); if (ObjectUtil.isNotNull(oldUser)){ //添加用户关注项目信息 if (ObjectUtil.isNotNull(oldUser.getId())) { @@ -637,6 +613,66 @@ public class ProMemberService implements IProMemberService { } } + //只有手机号的情况 + if (ObjectUtil.isNotNull(memberForTemplate.getPhone())){ + //用项目id和手机号判断用户是否存在 + ProMemberExample memberExample = new ProMemberExample(); + memberExample.createCriteria().andProjectIdEqualTo(param.getProjectId()).andPhoneEqualTo(memberForTemplate.getPhone()); + List memberList = proMemberDao.selectByExample(memberExample); + if (CollectionUtil.isNotEmpty(memberList)) { + Long userId = userService.selectUserIdByPhone(memberForTemplate.getPhone()); + + if (ObjectUtil.isNotNull(userId)){ + //添加用户关注项目信息 + if (ObjectUtil.isNotNull(userId)) { + //查找此用户是否以关注项目 + UserAttentionExample attentionExample = new UserAttentionExample(); + attentionExample.createCriteria().andProjectIdEqualTo(param.getProjectId()).andUserIdEqualTo(userId); + if (userAttentionDao.countByExample(attentionExample) <= 0) { + UserAttention userAttention = new UserAttention(); + userAttention.setId(snowflake.nextId()); + userAttention.setUserId(userId); + userAttention.setProjectId(param.getProjectId()); + userAttentionDao.insertSelective(userAttention); + } + } + + for (String roleName : memberForTemplate.getRoleName()) { + Long roleId = proRoleDao.findRoelIdByProjectAndName(param.getProjectId(),roleName); + if (null != roleId){ + ProMemberRole proMemberRole = new MemberRoleDto(); + proMemberRole.setId(snowflake.nextId()); + proMemberRole.setRoleId(roleId); + proMemberRole.setMemberId(memberList.get(0).getId()); + proMemberRoleDao.insertSelective(proMemberRole); + } + } + continue; + } + } + + //添加成员 + ProMember proMember = new ProMember(); + proMember.setId(snowflake.nextId()); + proMember.setProjectId(param.getProjectId()); + if(ObjectUtil.isNotNull(memberForTemplate.getMemberName())){ + proMember.setNickname(memberForTemplate.getMemberName()); + } + proMember.setPhone(memberForTemplate.getPhone()); + proMemberDao.insertSelective(proMember); + //关联成员和角色 + for (String roleName : memberForTemplate.getRoleName()) { + Long roleId = proRoleDao.findRoelIdByProjectAndName(param.getProjectId(),roleName); + if (null != roleId){ + ProMemberRole proMemberRole = new MemberRoleDto(); + proMemberRole.setId(snowflake.nextId()); + proMemberRole.setRoleId(roleId); + proMemberRole.setMemberId(proMember.getId()); + proMemberRoleDao.insertSelective(proMemberRole); + } + } + } + } } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 2d81b8d2..ff66f228 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -906,7 +906,11 @@ public class ProRoleService implements IProRoleService { } //查询角色名字等具体信息 ProRole proRole = proRoleDao.selectByPrimaryKey(listBefor.get(i).getId()); - listBefor.get(i).setName(proRole.getName()); + if (ObjectUtil.isNotNull(proRole)){ + //TODO NullPointerException + listBefor.get(i).setName(proRole.getName()); + } + } //项目虚拟角色 if (1 == listBefor.get(i).getRoleType()){ diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java index a914fcd0..9c393104 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/CreateCaseDto.java @@ -27,7 +27,7 @@ public class CreateCaseDto { @ApiModelProperty("患者身份证号") private String patientIdCard; @ApiModelProperty("患者手机号") - private int patientPhone; + private String patientPhone; @ApiModelProperty("患者病案号") private String medicalRecordNum; @ApiModelProperty("患者家属姓名") diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientDoctor.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientDoctor.java new file mode 100644 index 00000000..d8c897c6 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientDoctor.java @@ -0,0 +1,84 @@ +package com.ccsens.wisdomcar.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class PatientDoctor implements Serializable { + private Long id; + + private Long patientId; + + private Long doctorId; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getPatientId() { + return patientId; + } + + public void setPatientId(Long patientId) { + this.patientId = patientId; + } + + public Long getDoctorId() { + return doctorId; + } + + public void setDoctorId(Long doctorId) { + this.doctorId = doctorId; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", patientId=").append(patientId); + sb.append(", doctorId=").append(doctorId); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientDoctorExample.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientDoctorExample.java new file mode 100644 index 00000000..afec532f --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/po/PatientDoctorExample.java @@ -0,0 +1,561 @@ +package com.ccsens.wisdomcar.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PatientDoctorExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public PatientDoctorExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andPatientIdIsNull() { + addCriterion("patient_id is null"); + return (Criteria) this; + } + + public Criteria andPatientIdIsNotNull() { + addCriterion("patient_id is not null"); + return (Criteria) this; + } + + public Criteria andPatientIdEqualTo(Long value) { + addCriterion("patient_id =", value, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdNotEqualTo(Long value) { + addCriterion("patient_id <>", value, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdGreaterThan(Long value) { + addCriterion("patient_id >", value, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdGreaterThanOrEqualTo(Long value) { + addCriterion("patient_id >=", value, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdLessThan(Long value) { + addCriterion("patient_id <", value, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdLessThanOrEqualTo(Long value) { + addCriterion("patient_id <=", value, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdIn(List values) { + addCriterion("patient_id in", values, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdNotIn(List values) { + addCriterion("patient_id not in", values, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdBetween(Long value1, Long value2) { + addCriterion("patient_id between", value1, value2, "patientId"); + return (Criteria) this; + } + + public Criteria andPatientIdNotBetween(Long value1, Long value2) { + addCriterion("patient_id not between", value1, value2, "patientId"); + return (Criteria) this; + } + + public Criteria andDoctorIdIsNull() { + addCriterion("doctor_id is null"); + return (Criteria) this; + } + + public Criteria andDoctorIdIsNotNull() { + addCriterion("doctor_id is not null"); + return (Criteria) this; + } + + public Criteria andDoctorIdEqualTo(Long value) { + addCriterion("doctor_id =", value, "doctorId"); + return (Criteria) this; + } + + public Criteria andDoctorIdNotEqualTo(Long value) { + addCriterion("doctor_id <>", value, "doctorId"); + return (Criteria) this; + } + + public Criteria andDoctorIdGreaterThan(Long value) { + addCriterion("doctor_id >", value, "doctorId"); + return (Criteria) this; + } + + public Criteria andDoctorIdGreaterThanOrEqualTo(Long value) { + addCriterion("doctor_id >=", value, "doctorId"); + return (Criteria) this; + } + + public Criteria andDoctorIdLessThan(Long value) { + addCriterion("doctor_id <", value, "doctorId"); + return (Criteria) this; + } + + public Criteria andDoctorIdLessThanOrEqualTo(Long value) { + addCriterion("doctor_id <=", value, "doctorId"); + return (Criteria) this; + } + + public Criteria andDoctorIdIn(List values) { + addCriterion("doctor_id in", values, "doctorId"); + return (Criteria) this; + } + + public Criteria andDoctorIdNotIn(List values) { + addCriterion("doctor_id not in", values, "doctorId"); + return (Criteria) this; + } + + public Criteria andDoctorIdBetween(Long value1, Long value2) { + addCriterion("doctor_id between", value1, value2, "doctorId"); + return (Criteria) this; + } + + public Criteria andDoctorIdNotBetween(Long value1, Long value2) { + addCriterion("doctor_id not between", value1, value2, "doctorId"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file 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 new file mode 100644 index 00000000..350037af --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/dao/PatientDoctorDao.java @@ -0,0 +1,12 @@ +package com.ccsens.wisdomcar.persist.dao; + + +import com.ccsens.wisdomcar.persist.mapper.PatientDoctorMapper; + + +/** + * @author AUSU + */ +public interface PatientDoctorDao extends PatientDoctorMapper { + +} \ No newline at end of file diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/mapper/PatientDoctorMapper.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/mapper/PatientDoctorMapper.java new file mode 100644 index 00000000..3b33d472 --- /dev/null +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/persist/mapper/PatientDoctorMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.wisdomcar.persist.mapper; + +import com.ccsens.wisdomcar.bean.po.PatientDoctor; +import com.ccsens.wisdomcar.bean.po.PatientDoctorExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface PatientDoctorMapper { + long countByExample(PatientDoctorExample example); + + int deleteByExample(PatientDoctorExample example); + + int deleteByPrimaryKey(Long id); + + int insert(PatientDoctor record); + + int insertSelective(PatientDoctor record); + + List selectByExample(PatientDoctorExample example); + + PatientDoctor selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") PatientDoctor record, @Param("example") PatientDoctorExample example); + + int updateByExample(@Param("record") PatientDoctor record, @Param("example") PatientDoctorExample example); + + int updateByPrimaryKeySelective(PatientDoctor record); + + int updateByPrimaryKey(PatientDoctor record); +} \ No newline at end of file diff --git a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java index 45394abd..28a2a9c2 100644 --- a/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java +++ b/wisdomcar/src/main/java/com/ccsens/wisdomcar/service/WisdomCarService.java @@ -57,9 +57,12 @@ public class WisdomCarService implements IWisdomCarService { private WisdomCarRecordDao wisdomCarRecordDao; @Resource private PatientWisdomCarDao patientWisdomCarDao; + @Resource private StepDao stepDao; @Resource private StepTaskDao stepTaskDao; + @Resource + private PatientDoctorDao patientDoctorDao; @Override @@ -150,6 +153,12 @@ public class WisdomCarService implements IWisdomCarService { memberForTemplate.setRoleName(roleName); memberList.add(memberForTemplate); + //绑定患者与医生关系 + PatientDoctor patientDoctor = new PatientDoctor(); + patientDoctor.setId(snowflake.nextId()); + patientDoctor.setPatientId(patient.getId()); + patientDoctor.setDoctorId(member.getId()); + patientDoctorDao.insertSelective(patientDoctor); } //查找主任,主任为项目经理 Long headOfPM = hospitalWrokingDao.findHeadOfPM(hospitalMembers.get(0).getHospitalId()); @@ -183,6 +192,11 @@ public class WisdomCarService implements IWisdomCarService { ProjectVo.ProjectInfo data = projectId.getData(); if (ObjectUtil.isNotNull(data)){ + //将患者与项目绑定 + PatientProject patientProject = new PatientProject(); + patientProject.setId(patient.getId()); + patientProject.setProjectId(data.getId()); + patientProjectDao.updateByPrimaryKeySelective(patientProject); //将分解任务与tall绑定 if (ObjectUtil.isNotNull(data.getTaskDetails())){ for (ProjectVo.TaskDetail taskDetail : data.getTaskDetails()) { diff --git a/wisdomcar/src/main/resources/mapper_dao/HospitalWorkingDao.xml b/wisdomcar/src/main/resources/mapper_dao/HospitalWorkingDao.xml index a4cbacf3..5c057201 100644 --- a/wisdomcar/src/main/resources/mapper_dao/HospitalWorkingDao.xml +++ b/wisdomcar/src/main/resources/mapper_dao/HospitalWorkingDao.xml @@ -4,6 +4,7 @@ + select + + distinct + + + from t_patient_doctor + + + + + order by ${orderByClause} + + + + + delete from t_patient_doctor + where id = #{id,jdbcType=BIGINT} + + + delete from t_patient_doctor + + + + + + insert into t_patient_doctor (id, patient_id, doctor_id, + created_at, updated_at, rec_status + ) + values (#{id,jdbcType=BIGINT}, #{patientId,jdbcType=BIGINT}, #{doctorId,jdbcType=BIGINT}, + #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT} + ) + + + insert into t_patient_doctor + + + id, + + + patient_id, + + + doctor_id, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{patientId,jdbcType=BIGINT}, + + + #{doctorId,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_patient_doctor + + + id = #{record.id,jdbcType=BIGINT}, + + + patient_id = #{record.patientId,jdbcType=BIGINT}, + + + doctor_id = #{record.doctorId,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_patient_doctor + set id = #{record.id,jdbcType=BIGINT}, + patient_id = #{record.patientId,jdbcType=BIGINT}, + doctor_id = #{record.doctorId,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_patient_doctor + + + patient_id = #{patientId,jdbcType=BIGINT}, + + + doctor_id = #{doctorId,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_patient_doctor + set patient_id = #{patientId,jdbcType=BIGINT}, + doctor_id = #{doctorId,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file