From 03322bc3ff30fa348861ba28398611001fcdf71b Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Sun, 26 Sep 2021 12:28:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../carbasics/bean/dto/FirstAidDto.java | 9 + .../ccsens/carbasics/bean/dto/PatientDto.java | 2 + .../carbasics/bean/po/OrganizationMember.java | 22 - .../bean/po/OrganizationMemberExample.java | 120 --- .../bean/po/OrganizationMemberPosition.java | 106 +++ .../po/OrganizationMemberPositionExample.java | 681 ++++++++++++++++++ .../carbasics/bean/vo/OrganizationVo.java | 24 +- .../persist/dao/OrganizationDao.java | 8 + .../persist/dao/OrganizationMemberDao.java | 3 +- .../OrganizationMemberPositionMapper.java | 30 + .../carbasics/service/FirstAidService.java | 168 +++-- .../com/ccsens/carbasics/util/Constant.java | 2 +- src/main/resources/application.yml | 4 +- .../resources/mapper_dao/OrganizationDao.xml | 68 +- .../mapper_dao/OrganizationMemberDao.xml | 31 +- .../mapper_raw/OrganizationMemberMapper.xml | 43 +- .../OrganizationMemberPositionMapper.xml | 258 +++++++ src/main/resources/mbg.xml | 5 +- 18 files changed, 1325 insertions(+), 259 deletions(-) create mode 100644 src/main/java/com/ccsens/carbasics/bean/po/OrganizationMemberPosition.java create mode 100644 src/main/java/com/ccsens/carbasics/bean/po/OrganizationMemberPositionExample.java create mode 100644 src/main/java/com/ccsens/carbasics/persist/mapper/OrganizationMemberPositionMapper.java create mode 100644 src/main/resources/mapper_raw/OrganizationMemberPositionMapper.xml diff --git a/src/main/java/com/ccsens/carbasics/bean/dto/FirstAidDto.java b/src/main/java/com/ccsens/carbasics/bean/dto/FirstAidDto.java index dd8c256..071a201 100644 --- a/src/main/java/com/ccsens/carbasics/bean/dto/FirstAidDto.java +++ b/src/main/java/com/ccsens/carbasics/bean/dto/FirstAidDto.java @@ -15,6 +15,9 @@ public class FirstAidDto { @Data @ApiModel("加入急救") public static class JoinFirstAid{ + @NotNull(message = "项目id不能为空") + @ApiModelProperty("项目ID") + private Long projectId; @NotNull(message = "请选择类型") @ApiModelProperty("急救类型(0-神内,1-神外)") private Byte type; @@ -26,6 +29,9 @@ public class FirstAidDto { @Data @ApiModel("退出急救") public static class QuitFirstAid{ + @NotNull(message = "项目id不能为空") + @ApiModelProperty("项目ID") + private Long projectId; @NotNull(message = "急救id不能为空") @ApiModelProperty("急救id") private Long firstAidId; @@ -34,6 +40,9 @@ public class FirstAidDto { @Data @ApiModel("修改病例状态") public static class UpdateStatus{ + @NotNull(message = "项目id不能为空") + @ApiModelProperty("项目ID") + private Long projectId; @NotNull(message = "急救id不能为空") @ApiModelProperty("急救id") private Long firstAidId; diff --git a/src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java b/src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java index e5a9315..59a6f24 100644 --- a/src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java +++ b/src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java @@ -203,6 +203,8 @@ public class PatientDto { @Data @ApiModel("秘书修改急救状态") public static class StatusBySecretary{ + @ApiModelProperty("项目ID") + private Long projectId; @ApiModelProperty("急救id") private Long firstAidId; @ApiModelProperty("急救状态 0:通过 6:申请拒绝") diff --git a/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMember.java b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMember.java index 8d6b2c2..bd0828e 100644 --- a/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMember.java +++ b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMember.java @@ -12,10 +12,6 @@ public class OrganizationMember implements Serializable { private String contact; - private Long positionId; - - private Long departmentId; - private Long operator; private Date createdAt; @@ -58,22 +54,6 @@ public class OrganizationMember implements Serializable { this.contact = contact == null ? null : contact.trim(); } - public Long getPositionId() { - return positionId; - } - - public void setPositionId(Long positionId) { - this.positionId = positionId; - } - - public Long getDepartmentId() { - return departmentId; - } - - public void setDepartmentId(Long departmentId) { - this.departmentId = departmentId; - } - public Long getOperator() { return operator; } @@ -116,8 +96,6 @@ public class OrganizationMember implements Serializable { sb.append(", userId=").append(userId); sb.append(", name=").append(name); sb.append(", contact=").append(contact); - sb.append(", positionId=").append(positionId); - sb.append(", departmentId=").append(departmentId); sb.append(", operator=").append(operator); sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); diff --git a/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMemberExample.java b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMemberExample.java index c9b8cf6..6aa77ae 100644 --- a/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMemberExample.java +++ b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMemberExample.java @@ -365,126 +365,6 @@ public class OrganizationMemberExample { return (Criteria) this; } - public Criteria andPositionIdIsNull() { - addCriterion("position_id is null"); - return (Criteria) this; - } - - public Criteria andPositionIdIsNotNull() { - addCriterion("position_id is not null"); - return (Criteria) this; - } - - public Criteria andPositionIdEqualTo(Long value) { - addCriterion("position_id =", value, "positionId"); - return (Criteria) this; - } - - public Criteria andPositionIdNotEqualTo(Long value) { - addCriterion("position_id <>", value, "positionId"); - return (Criteria) this; - } - - public Criteria andPositionIdGreaterThan(Long value) { - addCriterion("position_id >", value, "positionId"); - return (Criteria) this; - } - - public Criteria andPositionIdGreaterThanOrEqualTo(Long value) { - addCriterion("position_id >=", value, "positionId"); - return (Criteria) this; - } - - public Criteria andPositionIdLessThan(Long value) { - addCriterion("position_id <", value, "positionId"); - return (Criteria) this; - } - - public Criteria andPositionIdLessThanOrEqualTo(Long value) { - addCriterion("position_id <=", value, "positionId"); - return (Criteria) this; - } - - public Criteria andPositionIdIn(List values) { - addCriterion("position_id in", values, "positionId"); - return (Criteria) this; - } - - public Criteria andPositionIdNotIn(List values) { - addCriterion("position_id not in", values, "positionId"); - return (Criteria) this; - } - - public Criteria andPositionIdBetween(Long value1, Long value2) { - addCriterion("position_id between", value1, value2, "positionId"); - return (Criteria) this; - } - - public Criteria andPositionIdNotBetween(Long value1, Long value2) { - addCriterion("position_id not between", value1, value2, "positionId"); - return (Criteria) this; - } - - public Criteria andDepartmentIdIsNull() { - addCriterion("department_id is null"); - return (Criteria) this; - } - - public Criteria andDepartmentIdIsNotNull() { - addCriterion("department_id is not null"); - return (Criteria) this; - } - - public Criteria andDepartmentIdEqualTo(Long value) { - addCriterion("department_id =", value, "departmentId"); - return (Criteria) this; - } - - public Criteria andDepartmentIdNotEqualTo(Long value) { - addCriterion("department_id <>", value, "departmentId"); - return (Criteria) this; - } - - public Criteria andDepartmentIdGreaterThan(Long value) { - addCriterion("department_id >", value, "departmentId"); - return (Criteria) this; - } - - public Criteria andDepartmentIdGreaterThanOrEqualTo(Long value) { - addCriterion("department_id >=", value, "departmentId"); - return (Criteria) this; - } - - public Criteria andDepartmentIdLessThan(Long value) { - addCriterion("department_id <", value, "departmentId"); - return (Criteria) this; - } - - public Criteria andDepartmentIdLessThanOrEqualTo(Long value) { - addCriterion("department_id <=", value, "departmentId"); - return (Criteria) this; - } - - public Criteria andDepartmentIdIn(List values) { - addCriterion("department_id in", values, "departmentId"); - return (Criteria) this; - } - - public Criteria andDepartmentIdNotIn(List values) { - addCriterion("department_id not in", values, "departmentId"); - return (Criteria) this; - } - - public Criteria andDepartmentIdBetween(Long value1, Long value2) { - addCriterion("department_id between", value1, value2, "departmentId"); - return (Criteria) this; - } - - public Criteria andDepartmentIdNotBetween(Long value1, Long value2) { - addCriterion("department_id not between", value1, value2, "departmentId"); - return (Criteria) this; - } - public Criteria andOperatorIsNull() { addCriterion("operator is null"); return (Criteria) this; diff --git a/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMemberPosition.java b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMemberPosition.java new file mode 100644 index 0000000..af1c9ab --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMemberPosition.java @@ -0,0 +1,106 @@ +package com.ccsens.carbasics.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class OrganizationMemberPosition implements Serializable { + private Long id; + + private Long memberId; + + private Long positionId; + + private Long departmentId; + + private Long operator; + + 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 getMemberId() { + return memberId; + } + + public void setMemberId(Long memberId) { + this.memberId = memberId; + } + + public Long getPositionId() { + return positionId; + } + + public void setPositionId(Long positionId) { + this.positionId = positionId; + } + + public Long getDepartmentId() { + return departmentId; + } + + public void setDepartmentId(Long departmentId) { + this.departmentId = departmentId; + } + + public Long getOperator() { + return operator; + } + + public void setOperator(Long operator) { + this.operator = operator; + } + + 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(", memberId=").append(memberId); + sb.append(", positionId=").append(positionId); + sb.append(", departmentId=").append(departmentId); + sb.append(", operator=").append(operator); + 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/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMemberPositionExample.java b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMemberPositionExample.java new file mode 100644 index 0000000..05dbb98 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationMemberPositionExample.java @@ -0,0 +1,681 @@ +package com.ccsens.carbasics.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class OrganizationMemberPositionExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public OrganizationMemberPositionExample() { + 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 andMemberIdIsNull() { + addCriterion("member_id is null"); + return (Criteria) this; + } + + public Criteria andMemberIdIsNotNull() { + addCriterion("member_id is not null"); + return (Criteria) this; + } + + public Criteria andMemberIdEqualTo(Long value) { + addCriterion("member_id =", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdNotEqualTo(Long value) { + addCriterion("member_id <>", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdGreaterThan(Long value) { + addCriterion("member_id >", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { + addCriterion("member_id >=", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdLessThan(Long value) { + addCriterion("member_id <", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdLessThanOrEqualTo(Long value) { + addCriterion("member_id <=", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdIn(List values) { + addCriterion("member_id in", values, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdNotIn(List values) { + addCriterion("member_id not in", values, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdBetween(Long value1, Long value2) { + addCriterion("member_id between", value1, value2, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdNotBetween(Long value1, Long value2) { + addCriterion("member_id not between", value1, value2, "memberId"); + return (Criteria) this; + } + + public Criteria andPositionIdIsNull() { + addCriterion("position_id is null"); + return (Criteria) this; + } + + public Criteria andPositionIdIsNotNull() { + addCriterion("position_id is not null"); + return (Criteria) this; + } + + public Criteria andPositionIdEqualTo(Long value) { + addCriterion("position_id =", value, "positionId"); + return (Criteria) this; + } + + public Criteria andPositionIdNotEqualTo(Long value) { + addCriterion("position_id <>", value, "positionId"); + return (Criteria) this; + } + + public Criteria andPositionIdGreaterThan(Long value) { + addCriterion("position_id >", value, "positionId"); + return (Criteria) this; + } + + public Criteria andPositionIdGreaterThanOrEqualTo(Long value) { + addCriterion("position_id >=", value, "positionId"); + return (Criteria) this; + } + + public Criteria andPositionIdLessThan(Long value) { + addCriterion("position_id <", value, "positionId"); + return (Criteria) this; + } + + public Criteria andPositionIdLessThanOrEqualTo(Long value) { + addCriterion("position_id <=", value, "positionId"); + return (Criteria) this; + } + + public Criteria andPositionIdIn(List values) { + addCriterion("position_id in", values, "positionId"); + return (Criteria) this; + } + + public Criteria andPositionIdNotIn(List values) { + addCriterion("position_id not in", values, "positionId"); + return (Criteria) this; + } + + public Criteria andPositionIdBetween(Long value1, Long value2) { + addCriterion("position_id between", value1, value2, "positionId"); + return (Criteria) this; + } + + public Criteria andPositionIdNotBetween(Long value1, Long value2) { + addCriterion("position_id not between", value1, value2, "positionId"); + return (Criteria) this; + } + + public Criteria andDepartmentIdIsNull() { + addCriterion("department_id is null"); + return (Criteria) this; + } + + public Criteria andDepartmentIdIsNotNull() { + addCriterion("department_id is not null"); + return (Criteria) this; + } + + public Criteria andDepartmentIdEqualTo(Long value) { + addCriterion("department_id =", value, "departmentId"); + return (Criteria) this; + } + + public Criteria andDepartmentIdNotEqualTo(Long value) { + addCriterion("department_id <>", value, "departmentId"); + return (Criteria) this; + } + + public Criteria andDepartmentIdGreaterThan(Long value) { + addCriterion("department_id >", value, "departmentId"); + return (Criteria) this; + } + + public Criteria andDepartmentIdGreaterThanOrEqualTo(Long value) { + addCriterion("department_id >=", value, "departmentId"); + return (Criteria) this; + } + + public Criteria andDepartmentIdLessThan(Long value) { + addCriterion("department_id <", value, "departmentId"); + return (Criteria) this; + } + + public Criteria andDepartmentIdLessThanOrEqualTo(Long value) { + addCriterion("department_id <=", value, "departmentId"); + return (Criteria) this; + } + + public Criteria andDepartmentIdIn(List values) { + addCriterion("department_id in", values, "departmentId"); + return (Criteria) this; + } + + public Criteria andDepartmentIdNotIn(List values) { + addCriterion("department_id not in", values, "departmentId"); + return (Criteria) this; + } + + public Criteria andDepartmentIdBetween(Long value1, Long value2) { + addCriterion("department_id between", value1, value2, "departmentId"); + return (Criteria) this; + } + + public Criteria andDepartmentIdNotBetween(Long value1, Long value2) { + addCriterion("department_id not between", value1, value2, "departmentId"); + return (Criteria) this; + } + + public Criteria andOperatorIsNull() { + addCriterion("operator is null"); + return (Criteria) this; + } + + public Criteria andOperatorIsNotNull() { + addCriterion("operator is not null"); + return (Criteria) this; + } + + public Criteria andOperatorEqualTo(Long value) { + addCriterion("operator =", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorNotEqualTo(Long value) { + addCriterion("operator <>", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorGreaterThan(Long value) { + addCriterion("operator >", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorGreaterThanOrEqualTo(Long value) { + addCriterion("operator >=", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorLessThan(Long value) { + addCriterion("operator <", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorLessThanOrEqualTo(Long value) { + addCriterion("operator <=", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorIn(List values) { + addCriterion("operator in", values, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorNotIn(List values) { + addCriterion("operator not in", values, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorBetween(Long value1, Long value2) { + addCriterion("operator between", value1, value2, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorNotBetween(Long value1, Long value2) { + addCriterion("operator not between", value1, value2, "operator"); + 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/src/main/java/com/ccsens/carbasics/bean/vo/OrganizationVo.java b/src/main/java/com/ccsens/carbasics/bean/vo/OrganizationVo.java index 816a601..d06f68a 100644 --- a/src/main/java/com/ccsens/carbasics/bean/vo/OrganizationVo.java +++ b/src/main/java/com/ccsens/carbasics/bean/vo/OrganizationVo.java @@ -2,6 +2,7 @@ package com.ccsens.carbasics.bean.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import javafx.geometry.Pos; import lombok.Data; import java.util.List; @@ -13,13 +14,23 @@ import java.util.List; */ public class OrganizationVo { + @Data + @ApiModel("机构基本信息") + public static class Template{ + @ApiModelProperty("医院ID") + private Long organizationId; + @ApiModelProperty("模板") + private List templates; + } + + @Data @ApiModel("机构基本信息") public static class Basic{ @ApiModelProperty("医院ID") private Long organizationId; @ApiModelProperty("角色") - private String role; + private List roles; } @Data @@ -29,10 +40,16 @@ public class OrganizationVo { private Long id; @ApiModelProperty("姓名") private String name; - @ApiModelProperty("职位id") - private Long positionId; @ApiModelProperty("联系方式") private String contact; + @ApiModelProperty("职位") + private List positions; + } + @ApiModel("职位") + @Data + public static class Position{ + @ApiModelProperty("职位id") + private Long positionId; @ApiModelProperty("职位code") private String positionCode; @ApiModelProperty("科室id") @@ -45,6 +62,7 @@ public class OrganizationVo { private String organizationCode; } + @ApiModel("医院排名-返回") @Data public static class Rank{ diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDao.java index 283cb42..b830b80 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDao.java @@ -80,4 +80,12 @@ public interface OrganizationDao extends OrganizationMapper { * @param parents 机构上级 */ void batchInsertParent(@Param("parents") List parents); + + /** + * 查询用户所在医院及其部门对应的权限 + * @param projectId 项目ID + * @param userId 用户ID + * @return 医院和权限 + */ + OrganizationVo.Template queryTemplate(@Param("projectId") Long projectId, @Param("userId") Long userId); } diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberDao.java index 5fd728a..c15f815 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationMemberDao.java @@ -13,10 +13,11 @@ import org.springframework.stereotype.Repository; public interface OrganizationMemberDao extends OrganizationMemberMapper { /** * 通过userId查找成员的科室和部门信息 + * @param projectId 项目ID * @param userId 用户ID * @return 科室和部门信息 */ - OrganizationVo.MemberPosition getMemberPosition(@Param("userId") Long userId); + OrganizationVo.MemberPosition getMemberPosition(@Param("projectId") Long projectId, @Param("userId") Long userId); /** * 查询用户对应的医院信息 diff --git a/src/main/java/com/ccsens/carbasics/persist/mapper/OrganizationMemberPositionMapper.java b/src/main/java/com/ccsens/carbasics/persist/mapper/OrganizationMemberPositionMapper.java new file mode 100644 index 0000000..56e234c --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/persist/mapper/OrganizationMemberPositionMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.carbasics.persist.mapper; + +import com.ccsens.carbasics.bean.po.OrganizationMemberPosition; +import com.ccsens.carbasics.bean.po.OrganizationMemberPositionExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface OrganizationMemberPositionMapper { + long countByExample(OrganizationMemberPositionExample example); + + int deleteByExample(OrganizationMemberPositionExample example); + + int deleteByPrimaryKey(Long id); + + int insert(OrganizationMemberPosition record); + + int insertSelective(OrganizationMemberPosition record); + + List selectByExample(OrganizationMemberPositionExample example); + + OrganizationMemberPosition selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") OrganizationMemberPosition record, @Param("example") OrganizationMemberPositionExample example); + + int updateByExample(@Param("record") OrganizationMemberPosition record, @Param("example") OrganizationMemberPositionExample example); + + int updateByPrimaryKeySelective(OrganizationMemberPosition record); + + int updateByPrimaryKey(OrganizationMemberPosition record); +} \ No newline at end of file diff --git a/src/main/java/com/ccsens/carbasics/service/FirstAidService.java b/src/main/java/com/ccsens/carbasics/service/FirstAidService.java index fd01653..f401a4d 100644 --- a/src/main/java/com/ccsens/carbasics/service/FirstAidService.java +++ b/src/main/java/com/ccsens/carbasics/service/FirstAidService.java @@ -78,7 +78,18 @@ public class FirstAidService implements IFirstAidService{ if (basic == null) { throw new BaseException(DefaultCodeError.NO_DATA_MODIFY_PRIVILEGE); } - patients.setRole(basic.getRole()); + + if (CollectionUtil.isNotEmpty(basic.getRoles())) { + List roles = basic.getRoles(); + if (roles.contains(Constant.Position.YI_SHENG)) { + // 医生可以接诊和打开急救时间轴 + patients.setRole(Constant.Position.YI_SHENG); + } else { + // 其他角色(护士)只能看列表,不能打开时间轴 + patients.setRole(Constant.Position.HU_SHI); + } + } + // 基础信息 PageHelper.startPage(param.getPageNum(), param.getPageSize()); List list = firstAidDao.querySelf(param, userId); @@ -107,29 +118,32 @@ public class FirstAidService implements IFirstAidService{ @Override public PatientVo.PatientSimple savePatient(PatientDto.SavePatient param, Long userId) { - // 判断有无权限添加 - OrganizationVo.Basic basic = organizationDao.getOrganization(param.getProjectId(), userId); - if (basic == null) { - throw new BaseException(DefaultCodeError.NO_DATA_MODIFY_PRIVILEGE); - } //查找当前用户的职位和科室 - OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(userId); + OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(param.getProjectId(), userId); log.info("当前用户的科室职位信息:{}",memberPosition); - if(ObjectUtil.isNull(memberPosition)){ + if(ObjectUtil.isNull(memberPosition) || CollectionUtil.isEmpty(memberPosition.getPositions())){ //为空则提示没有权限 throw new BaseException(DefaultCodeError.NO_POWER); } //职位 Byte position = null; - //是否是急诊的护士 - if(Constant.Department.JI_ZHEN.equalsIgnoreCase(memberPosition.getDepartmentCode()) && Constant.Position.HU_SHI.equalsIgnoreCase(memberPosition.getPositionCode())){ - position = 0; - } - //是否是神内的医生 - if(Constant.Department.SHEN_NEI.equalsIgnoreCase(memberPosition.getDepartmentCode()) && Constant.Position.YI_SHENG.equalsIgnoreCase(memberPosition.getPositionCode())){ - position = 1; + Long organizationId = null; + for (OrganizationVo.Position p: memberPosition.getPositions()) { + //是否是神内的医生 + if(Constant.Department.SHEN_NEI.equalsIgnoreCase(p.getDepartmentCode()) && Constant.Position.YI_SHENG.equalsIgnoreCase(p.getPositionCode())){ + position = 1; + organizationId = p.getOrganizationId(); + break; + } + //是否是急诊的护士 + if(Constant.Department.JI_ZHEN.equalsIgnoreCase(p.getDepartmentCode()) && Constant.Position.HU_SHI.equalsIgnoreCase(p.getPositionCode())){ + position = 0; + organizationId = p.getOrganizationId(); + break; + } } - if(ObjectUtil.isNull(position)){ + log.info("职位:{},医院ID:{}", position, organizationId); + if(ObjectUtil.isNull(position) || ObjectUtil.isNull(organizationId)){ //不是急诊护士或者不是神内的医生,提示没有权限 throw new BaseException(DefaultCodeError.NO_POWER); } @@ -139,7 +153,7 @@ public class FirstAidService implements IFirstAidService{ firstAid.setName(param.getName()); firstAid.setGender(param.getGender()); firstAid.setNation(param.getNation()); - firstAid.setHospitalId(basic.getOrganizationId()); + firstAid.setHospitalId(organizationId); firstAid.setValueType(param.getValueType()); firstAid.setOperator(userId); if(StrUtil.isNotEmpty(param.getIdcard())){ @@ -298,26 +312,31 @@ public class FirstAidService implements IFirstAidService{ // throw new BaseException(DefaultCodeError.NOT_HOSPITAL_ID); // } //查找当前用户的职位和科室 - OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(userId); - //用户的科室必须是医院的科室 - Organization organization = organizationDao.selectByPrimaryKey(memberPosition.getOrganizationId()); - if(organization.getOrganizationType() != Constant.OrganizationType.HOSPITAL.status){ - throw new BaseException(DefaultCodeError.NO_HOSPITAL); - } - //根据科室查找模板 - OrganizationTemplateExample templateExample = new OrganizationTemplateExample(); - templateExample.createCriteria().andCodeEqualTo(memberPosition.getDepartmentCode()).andCodeTypeEqualTo((byte) 0); - List templateList = templateMapper.selectByExample(templateExample); - if(CollectionUtil.isEmpty(templateList)){ +// OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(userId); +// //用户的科室必须是医院的科室 +// Organization organization = organizationDao.selectByPrimaryKey(memberPosition.getOrganizationId()); +// if(organization.getOrganizationType() != Constant.OrganizationType.HOSPITAL.status){ +// throw new BaseException(DefaultCodeError.NO_HOSPITAL); +// } +// //根据科室查找模板 +// OrganizationTemplateExample templateExample = new OrganizationTemplateExample(); +// templateExample.createCriteria().andCodeEqualTo(memberPosition.getDepartmentCode()).andCodeTypeEqualTo((byte) 0); +// List templateList = templateMapper.selectByExample(templateExample); +// if(CollectionUtil.isEmpty(templateList)){ +// throw new BaseException(DefaultCodeError.NOT_TEMPLATE); +// } +// List templates = new ArrayList<>(); +// templateList.forEach(template -> { +// templates.add(template.getTemplate()); +// }); + OrganizationVo.Template template = organizationDao.queryTemplate(param.getProjectId(), userId); + log.info("模板:{}", template); + if (template == null || CollectionUtil.isEmpty(template.getTemplates())) { throw new BaseException(DefaultCodeError.NOT_TEMPLATE); } - List templates = new ArrayList<>(); - templateList.forEach(template -> { - templates.add(template.getTemplate()); - }); //查找病例信息 PageHelper.startPage(param.getPageNum(),param.getPageSize()); - List patientList = firstAidDao.queryPatientListByQuality(templates,organization.getId(),param); + List patientList = firstAidDao.queryPatientListByQuality(template.getTemplates(),template.getOrganizationId(),param); return new PageInfo<>(patientList); } @@ -342,8 +361,18 @@ public class FirstAidService implements IFirstAidService{ @Override public void updateStatusBySecretary(PatientDto.StatusBySecretary param, Long userId) { //判断当前用户的职位是否是秘书 - OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(userId); - if(!memberPosition.getPositionCode().equalsIgnoreCase(Constant.Position.MI_SHU)){ + OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(param.getProjectId(), userId); + log.info("职位:{}", memberPosition); + if(ObjectUtil.isNull(memberPosition) || CollectionUtil.isEmpty(memberPosition.getPositions()) ){ + throw new BaseException(DefaultCodeError.NO_POWER); + } + boolean isMiShu = false; + for (OrganizationVo.Position p: memberPosition.getPositions()) { + if(Constant.Position.MI_SHU.equalsIgnoreCase(p.getPositionCode())){ + isMiShu = true; + } + } + if(!isMiShu){ throw new BaseException(DefaultCodeError.NO_POWER); } //查找急救记录 @@ -381,18 +410,22 @@ public class FirstAidService implements IFirstAidService{ @Override public FirstAidVo.ProjectInfo joinFirstAid(FirstAidDto.JoinFirstAid param, Long userId) { //判断角色是否神内/神外医生 - OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(userId); + OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(param.getProjectId(), userId); log.info("当前用户的科室职位信息:{}",memberPosition); - if(ObjectUtil.isNull(memberPosition)){ + if(ObjectUtil.isNull(memberPosition) || CollectionUtil.isEmpty(memberPosition.getPositions())){ throw new BaseException(DefaultCodeError.NO_POWER); } //部门 Byte position = null; - if (Constant.Department.SHEN_NEI.equals(memberPosition.getDepartmentCode()) || Constant.Department.SHEN_WAI.equals(memberPosition.getDepartmentCode())) { - if (Constant.Position.YI_SHENG.equals(memberPosition.getPositionCode())) { - position = 1; + for (OrganizationVo.Position p: memberPosition.getPositions()) { + if (Constant.Department.SHEN_NEI.equals(p.getDepartmentCode()) || Constant.Department.SHEN_WAI.equals(p.getDepartmentCode())) { + if (Constant.Position.YI_SHENG.equals(p.getPositionCode())) { + position = 1; + break; + } } } + if (ObjectUtil.isNull(position)) { throw new BaseException(DefaultCodeError.NO_POWER); } @@ -400,6 +433,9 @@ public class FirstAidService implements IFirstAidService{ //判断病例是否已有医生加入 FirstAidMember firstAidMember = firstAidMemberDao.findByAidId(param.getFirstAidId()); FirstAid firstAidInfo = firstAidDao.selectByPrimaryKey(param.getFirstAidId()); + if (firstAidInfo == null || firstAidMember == null) { + throw new BaseException(DefaultCodeError.PARAM_ERROR); + } if (0 != firstAidMember.getRecordUserId() && ObjectUtil.isNotNull(firstAidMember.getRecordUserId()) && firstAidInfo.getProjectId() != null && firstAidInfo.getProjectId() != 0) { throw new BaseException(DefaultCodeError.DOCTOR_HAS_JOINED); } @@ -498,18 +534,27 @@ public class FirstAidService implements IFirstAidService{ firstAidLog.setOperationUserId(userId); firstAidLog.setOperationType(Constant.FirstAidLogType.quit.status); //判断角色是否神内/神外医生 - OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(userId); + OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(param.getProjectId(),userId); log.info("当前用户的科室职位信息:{}",memberPosition); - if (Constant.Department.SHEN_NEI.equals(memberPosition.getDepartmentCode())) { - if (Constant.Position.YI_SHENG.equals(memberPosition.getPositionCode())) { - firstAidLog.setOperationRole((byte)1); - } + if(ObjectUtil.isNull(memberPosition) || CollectionUtil.isEmpty(memberPosition.getPositions())){ + throw new BaseException(DefaultCodeError.NO_POWER); } - if (Constant.Department.SHEN_WAI.equals(memberPosition.getDepartmentCode())) { - if (Constant.Position.YI_SHENG.equals(memberPosition.getPositionCode())) { - firstAidLog.setOperationRole((byte)2); + + for (OrganizationVo.Position p: memberPosition.getPositions()) { + if (Constant.Department.SHEN_NEI.equals(p.getDepartmentCode())) { + if (Constant.Position.YI_SHENG.equals(p.getPositionCode())) { + firstAidLog.setOperationRole((byte)1); + break; + } + } + if (Constant.Department.SHEN_WAI.equals(p.getDepartmentCode())) { + if (Constant.Position.YI_SHENG.equals(p.getPositionCode())) { + firstAidLog.setOperationRole((byte)2); + break; + } } } + firstAidLogDao.insertSelective(firstAidLog); //修改录入者userId为0 byAidId.setRecordUserId(0L); @@ -525,21 +570,30 @@ public class FirstAidService implements IFirstAidService{ throw new BaseException(DefaultCodeError.NOT_FIRST_AID_ID); } //判断权限 - OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(userId); + OrganizationVo.MemberPosition memberPosition = organizationMemberDao.getMemberPosition(param.getProjectId(), userId); log.info("当前用户的科室职位信息:{}",memberPosition); - if (!Constant.Position.ZHI_KONG.equals(memberPosition.getPositionCode())) { + if(ObjectUtil.isNull(memberPosition) || CollectionUtil.isEmpty(memberPosition.getPositions())){ throw new BaseException(DefaultCodeError.NO_POWER); } - if (0 == firstAid.getType()) { - if (!Constant.Department.SHEN_NEI.equals(memberPosition.getDepartmentCode())) { - throw new BaseException(DefaultCodeError.NO_POWER); + + boolean isZhiKong = false; + boolean isShenNei = false; + boolean isShenWai = false; + for (OrganizationVo.Position p: memberPosition.getPositions()) { + if (Constant.Position.ZHI_KONG.equals(p.getPositionCode())) { + isZhiKong = true; } - } - if (1 == firstAid.getType()) { - if (!Constant.Department.SHEN_WAI.equals(memberPosition.getDepartmentCode())) { - throw new BaseException(DefaultCodeError.NO_POWER); + if (Constant.Department.SHEN_NEI.equals(p.getDepartmentCode())) { + isShenNei = true; + } + if (!Constant.Department.SHEN_WAI.equals(p.getDepartmentCode())) { + isShenWai = true; } } + boolean auth = !isZhiKong || (0 == firstAid.getType() && !isShenNei) || (1 == firstAid.getType() && !isShenWai); + if (auth) { + throw new BaseException(DefaultCodeError.NO_POWER); + } switch (param.getDataStatus()) { case 1: diff --git a/src/main/java/com/ccsens/carbasics/util/Constant.java b/src/main/java/com/ccsens/carbasics/util/Constant.java index f48df45..2ff3ba6 100644 --- a/src/main/java/com/ccsens/carbasics/util/Constant.java +++ b/src/main/java/com/ccsens/carbasics/util/Constant.java @@ -275,7 +275,7 @@ public class Constant { public enum FirstAidLogType { /** - * 日志状态 0:创建 1:急救审核通过 2:急救审核拒绝 3出院审核通过 4出院审核拒绝 5:申请修改 6:申请通过 7:申请拒绝 8:加入 9:退出 + * 日志状态 0:创建 1:急救审核通过 2:急救审核拒绝 3出院审核通过 4出院审核拒绝 5:申请修改 6:申请通过 7:申请拒绝 8:加入 9:退出 10上报成功 */ Create((byte) 0,"创建"), FirstAidPass((byte) 1,"急救审核通过"), diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 5abf242..2fb38e5 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod - include: common, util-prod + active: dev + include: common, util-dev diff --git a/src/main/resources/mapper_dao/OrganizationDao.xml b/src/main/resources/mapper_dao/OrganizationDao.xml index 5af62a5..07d4355 100644 --- a/src/main/resources/mapper_dao/OrganizationDao.xml +++ b/src/main/resources/mapper_dao/OrganizationDao.xml @@ -1,6 +1,19 @@ + + + + + + + + + + + + + replace into t_organization(id, organization_type, code, name, short_name, introduce, level, operator) value @@ -14,31 +27,31 @@ - SELECT t1.organization_id as organizationId, t2.code as role FROM - ( SELECT organization_id FROM t_organization_project WHERE project_id = #{projectId} AND rec_status = 0 ) t1, + ( SELECT organization_id FROM t_organization_project WHERE project_id = #{projectId} AND rec_status = 0 limit 1) t1, ( SELECT d.organization_id, p.code FROM - t_organization_member m, + (select * from t_organization_member where user_id = #{userId} and rec_status = 0) m, + t_organization_member_position mp, t_organization_department d, t_organization_position p WHERE - m.department_id = d.id - AND m.position_id = p.id - AND m.user_id = #{userId} - AND m.rec_status = 0 + m.id = mp.member_id + AND mp.department_id = d.id + AND mp.position_id = p.id AND d.rec_status = 0 + AND mp.rec_status = 0 AND p.rec_status = 0 ) t2 WHERE t1.organization_id = t2.organization_id - limit 1 select * from t_organization where name = #{name} and rec_status = 0 order by updated_at desc limit 1 + diff --git a/src/main/resources/mapper_dao/OrganizationMemberDao.xml b/src/main/resources/mapper_dao/OrganizationMemberDao.xml index ea442c4..f0ff9c5 100644 --- a/src/main/resources/mapper_dao/OrganizationMemberDao.xml +++ b/src/main/resources/mapper_dao/OrganizationMemberDao.xml @@ -1,13 +1,28 @@ + + + + + + + + + + + + + + - SELECT m.id, m.`name`, - p.id as positionId, m.`contact`, + mp.id as memberPositionId, + p.id as positionId, p.`code` as positionCode, d.id as departmentId, d.`code` as departmentCode, @@ -15,15 +30,18 @@ o.`code` as organizationCode FROM t_organization_member m, + t_organization_member_position mp, t_organization_position p, t_organization_department d, t_organization o WHERE m.user_id = #{userId} - and m.position_id = p.id - and m.department_id = d.id + and m.id = mp.member_id + and mp.position_id = p.id + and mp.department_id = d.id and d.organization_id = o.id and m.rec_status = 0 + and mp.rec_status = 0 and p.rec_status = 0 and d.rec_status = 0 and o.rec_status = 0 @@ -35,18 +53,21 @@ p.project_id as projectId FROM t_organization_member m, + t_organization_member_position mp, t_organization_department d, t_organization o, t_organization_project p WHERE m.user_id = #{userId} - and m.department_id = d.id + and m.id = mp.member_id + and mp.department_id = d.id and d.organization_id = o.id and o.id = p.organization_id and m.rec_status = 0 and d.rec_status = 0 and o.rec_status = 0 and p.rec_status = 0 + order by o.id limit 1 diff --git a/src/main/resources/mapper_raw/OrganizationMemberMapper.xml b/src/main/resources/mapper_raw/OrganizationMemberMapper.xml index 70476f7..7ee4091 100644 --- a/src/main/resources/mapper_raw/OrganizationMemberMapper.xml +++ b/src/main/resources/mapper_raw/OrganizationMemberMapper.xml @@ -6,8 +6,6 @@ - - @@ -72,8 +70,7 @@ - id, user_id, name, contact, position_id, department_id, operator, created_at, updated_at, - rec_status + id, user_id, name, contact, operator, created_at, updated_at, rec_status + select + + distinct + + + from t_organization_member_position + + + + + order by ${orderByClause} + + + + + delete from t_organization_member_position + where id = #{id,jdbcType=BIGINT} + + + delete from t_organization_member_position + + + + + + insert into t_organization_member_position (id, member_id, position_id, + department_id, operator, created_at, + updated_at, rec_status) + values (#{id,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, #{positionId,jdbcType=BIGINT}, + #{departmentId,jdbcType=BIGINT}, #{operator,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, + #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) + + + insert into t_organization_member_position + + + id, + + + member_id, + + + position_id, + + + department_id, + + + operator, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{memberId,jdbcType=BIGINT}, + + + #{positionId,jdbcType=BIGINT}, + + + #{departmentId,jdbcType=BIGINT}, + + + #{operator,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_organization_member_position + + + id = #{record.id,jdbcType=BIGINT}, + + + member_id = #{record.memberId,jdbcType=BIGINT}, + + + position_id = #{record.positionId,jdbcType=BIGINT}, + + + department_id = #{record.departmentId,jdbcType=BIGINT}, + + + operator = #{record.operator,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_organization_member_position + set id = #{record.id,jdbcType=BIGINT}, + member_id = #{record.memberId,jdbcType=BIGINT}, + position_id = #{record.positionId,jdbcType=BIGINT}, + department_id = #{record.departmentId,jdbcType=BIGINT}, + operator = #{record.operator,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_organization_member_position + + + member_id = #{memberId,jdbcType=BIGINT}, + + + position_id = #{positionId,jdbcType=BIGINT}, + + + department_id = #{departmentId,jdbcType=BIGINT}, + + + operator = #{operator,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_organization_member_position + set member_id = #{memberId,jdbcType=BIGINT}, + position_id = #{positionId,jdbcType=BIGINT}, + department_id = #{departmentId,jdbcType=BIGINT}, + operator = #{operator,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 diff --git a/src/main/resources/mbg.xml b/src/main/resources/mbg.xml index 803a28e..2ac6aaa 100644 --- a/src/main/resources/mbg.xml +++ b/src/main/resources/mbg.xml @@ -21,7 +21,7 @@ @@ -64,13 +64,14 @@ +
-
+