From f76693d85bac40a531055fd90c64d05b05ab9374 Mon Sep 17 00:00:00 2001 From: lucky Date: Wed, 22 Dec 2021 15:29:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=A3sql?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=A1=A8=E5=85=B3=E8=81=94=E7=BB=93=E6=9E=84?= =?UTF-8?q?,=E6=B7=BB=E5=8A=A0=E6=96=B0=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../carbasics/bean/po/OrganizationLevel.java | 95 +++ .../bean/po/OrganizationLevelExample.java | 631 ++++++++++++++++++ .../bean/po/OrganizationPosition.java | 11 + .../bean/po/OrganizationPositionExample.java | 60 ++ .../dao/OrganizationDepartmentDao.java | 16 +- .../persist/dao/OrganizationPositionDao.java | 13 +- .../dao/OrganizationPositionTypeDao.java | 16 + .../mapper/OrganizationLevelMapper.java | 30 + .../service/AccountManageService.java | 21 +- .../carbasics/service/FirstAidService.java | 11 - .../ccsens/carbasics/service/OcrService.java | 3 +- .../service/QuestionnaireService.java | 539 +++++++++------ .../carbasics/service/StatisticalService.java | 3 +- .../resources/mapper_dao/OrganizationDao.xml | 16 +- .../mapper_dao/OrganizationDepartmentDao.xml | 51 +- .../mapper_dao/OrganizationMemberDao.xml | 82 ++- .../OrganizationMemberPositionDao.xml | 16 +- .../mapper_dao/OrganizationPositionDao.xml | 38 +- .../OrganizationPositionTypeDao.xml | 19 + src/main/resources/mapper_dao/PatientDao.xml | 2 +- .../mapper_raw/OrganizationLevelMapper.xml | 243 +++++++ .../mapper_raw/OrganizationPositionMapper.xml | 25 +- src/main/resources/mbg.xml | 22 +- 23 files changed, 1635 insertions(+), 328 deletions(-) create mode 100644 src/main/java/com/ccsens/carbasics/bean/po/OrganizationLevel.java create mode 100644 src/main/java/com/ccsens/carbasics/bean/po/OrganizationLevelExample.java create mode 100644 src/main/java/com/ccsens/carbasics/persist/dao/OrganizationPositionTypeDao.java create mode 100644 src/main/java/com/ccsens/carbasics/persist/mapper/OrganizationLevelMapper.java create mode 100644 src/main/resources/mapper_dao/OrganizationPositionTypeDao.xml create mode 100644 src/main/resources/mapper_raw/OrganizationLevelMapper.xml diff --git a/src/main/java/com/ccsens/carbasics/bean/po/OrganizationLevel.java b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationLevel.java new file mode 100644 index 0000000..9254729 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationLevel.java @@ -0,0 +1,95 @@ +package com.ccsens.carbasics.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class OrganizationLevel implements Serializable { + private Long id; + + private Long parentId; + + private String name; + + private Byte sort; + + 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 getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + public Byte getSort() { + return sort; + } + + public void setSort(Byte sort) { + this.sort = sort; + } + + 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(", parentId=").append(parentId); + sb.append(", name=").append(name); + sb.append(", sort=").append(sort); + 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/OrganizationLevelExample.java b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationLevelExample.java new file mode 100644 index 0000000..221f8c4 --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationLevelExample.java @@ -0,0 +1,631 @@ +package com.ccsens.carbasics.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class OrganizationLevelExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public OrganizationLevelExample() { + 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 andParentIdIsNull() { + addCriterion("parent_id is null"); + return (Criteria) this; + } + + public Criteria andParentIdIsNotNull() { + addCriterion("parent_id is not null"); + return (Criteria) this; + } + + public Criteria andParentIdEqualTo(Long value) { + addCriterion("parent_id =", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotEqualTo(Long value) { + addCriterion("parent_id <>", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdGreaterThan(Long value) { + addCriterion("parent_id >", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdGreaterThanOrEqualTo(Long value) { + addCriterion("parent_id >=", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdLessThan(Long value) { + addCriterion("parent_id <", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdLessThanOrEqualTo(Long value) { + addCriterion("parent_id <=", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdIn(List values) { + addCriterion("parent_id in", values, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotIn(List values) { + addCriterion("parent_id not in", values, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdBetween(Long value1, Long value2) { + addCriterion("parent_id between", value1, value2, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotBetween(Long value1, Long value2) { + addCriterion("parent_id not between", value1, value2, "parentId"); + return (Criteria) this; + } + + public Criteria andNameIsNull() { + addCriterion("name is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("name is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("name =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("name <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("name >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("name >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("name <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("name <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("name like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("name not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("name in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("name not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("name between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("name not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andSortIsNull() { + addCriterion("sort is null"); + return (Criteria) this; + } + + public Criteria andSortIsNotNull() { + addCriterion("sort is not null"); + return (Criteria) this; + } + + public Criteria andSortEqualTo(Byte value) { + addCriterion("sort =", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortNotEqualTo(Byte value) { + addCriterion("sort <>", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortGreaterThan(Byte value) { + addCriterion("sort >", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortGreaterThanOrEqualTo(Byte value) { + addCriterion("sort >=", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortLessThan(Byte value) { + addCriterion("sort <", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortLessThanOrEqualTo(Byte value) { + addCriterion("sort <=", value, "sort"); + return (Criteria) this; + } + + public Criteria andSortIn(List values) { + addCriterion("sort in", values, "sort"); + return (Criteria) this; + } + + public Criteria andSortNotIn(List values) { + addCriterion("sort not in", values, "sort"); + return (Criteria) this; + } + + public Criteria andSortBetween(Byte value1, Byte value2) { + addCriterion("sort between", value1, value2, "sort"); + return (Criteria) this; + } + + public Criteria andSortNotBetween(Byte value1, Byte value2) { + addCriterion("sort not between", value1, value2, "sort"); + 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/po/OrganizationPosition.java b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationPosition.java index 9f9e365..2892719 100644 --- a/src/main/java/com/ccsens/carbasics/bean/po/OrganizationPosition.java +++ b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationPosition.java @@ -10,6 +10,8 @@ public class OrganizationPosition implements Serializable { private String roleName; + private Long departmentId; + private Long operator; private Date createdAt; @@ -44,6 +46,14 @@ public class OrganizationPosition implements Serializable { this.roleName = roleName == null ? null : roleName.trim(); } + public Long getDepartmentId() { + return departmentId; + } + + public void setDepartmentId(Long departmentId) { + this.departmentId = departmentId; + } + public Long getOperator() { return operator; } @@ -85,6 +95,7 @@ public class OrganizationPosition implements Serializable { sb.append(", id=").append(id); sb.append(", name=").append(name); sb.append(", roleName=").append(roleName); + 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/OrganizationPositionExample.java b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationPositionExample.java index c3e415c..a4b5785 100644 --- a/src/main/java/com/ccsens/carbasics/bean/po/OrganizationPositionExample.java +++ b/src/main/java/com/ccsens/carbasics/bean/po/OrganizationPositionExample.java @@ -305,6 +305,66 @@ public class OrganizationPositionExample { 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/persist/dao/OrganizationDepartmentDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDepartmentDao.java index 622ea73..7a48517 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDepartmentDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDepartmentDao.java @@ -1,6 +1,7 @@ package com.ccsens.carbasics.persist.dao; import com.ccsens.carbasics.bean.po.OrganizationDepartment; +import com.ccsens.carbasics.bean.po.OrganizationDepartmentTemplate; import com.ccsens.carbasics.persist.mapper.OrganizationDepartmentMapper; import org.apache.ibatis.annotations.Param; @@ -9,10 +10,23 @@ import java.util.List; public interface OrganizationDepartmentDao extends OrganizationDepartmentMapper { /** - * 根据机构id和部门code查询机构下的所有部门 + * 根据机构id和医院名称查询部门是否存在 * @param organizationId 机构id * @param name 医院名称 * @return 部门列表 */ OrganizationDepartment queryByOrganization(@Param("organizationId") Long organizationId,@Param("name")String name); + + /** + * 查询部门的模板(一级部门) + * @return 部门的模板(一级部门) + */ + List queryTemplate(); + + /** + * 查询机构下所有一级部门 + * @param oid 机构id + * @return 机构下所有一级部门 + */ + List queryAllByOid(@Param("oid") Long oid); } diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationPositionDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationPositionDao.java index 749bad6..7f0fbbd 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationPositionDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationPositionDao.java @@ -1,5 +1,6 @@ package com.ccsens.carbasics.persist.dao; +import com.ccsens.carbasics.bean.po.OrganizationPosition; import com.ccsens.carbasics.bean.vo.QuestionnaireVo; import com.ccsens.carbasics.persist.mapper.OrganizationPositionMapper; import org.apache.ibatis.annotations.Param; @@ -17,9 +18,10 @@ public interface OrganizationPositionDao extends OrganizationPositionMapper { /** * 根据code查询职位id * @param code 职位职位code + * @param hospitalName 医院名称 * @return 职位id */ - Long queryByCode(@Param("code") String code); + Long queryByCode(@Param("code") String code,@Param("hospitalName") String hospitalName); /** * 根据名称查询职务 @@ -27,4 +29,13 @@ public interface OrganizationPositionDao extends OrganizationPositionMapper { * @return 职务id */ Long queryByName(@Param("name")String name); + + /** + * 查询职位是否存在 + * @param positionName 职位名称 + * @param positionCode 职位code + * @param did 部门id + * @return 职位信息 + */ + OrganizationPosition queryIsExist(@Param("positionName") String positionName,@Param("positionCode") String positionCode,@Param("did") Long did); } diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationPositionTypeDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationPositionTypeDao.java new file mode 100644 index 0000000..391cc2b --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/persist/dao/OrganizationPositionTypeDao.java @@ -0,0 +1,16 @@ +package com.ccsens.carbasics.persist.dao; + +import com.ccsens.carbasics.bean.po.OrganizationPositionType; +import com.ccsens.carbasics.persist.mapper.OrganizationPositionTypeMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Repository +public interface OrganizationPositionTypeDao extends OrganizationPositionTypeMapper { + /** + * 根据code查询职位类型 + * @param positionCode 职位code + * @return 职位类型 + */ + OrganizationPositionType queryByCode(@Param("positionCode") String positionCode); +} diff --git a/src/main/java/com/ccsens/carbasics/persist/mapper/OrganizationLevelMapper.java b/src/main/java/com/ccsens/carbasics/persist/mapper/OrganizationLevelMapper.java new file mode 100644 index 0000000..af61c0c --- /dev/null +++ b/src/main/java/com/ccsens/carbasics/persist/mapper/OrganizationLevelMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.carbasics.persist.mapper; + +import com.ccsens.carbasics.bean.po.OrganizationLevel; +import com.ccsens.carbasics.bean.po.OrganizationLevelExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface OrganizationLevelMapper { + long countByExample(OrganizationLevelExample example); + + int deleteByExample(OrganizationLevelExample example); + + int deleteByPrimaryKey(Long id); + + int insert(OrganizationLevel record); + + int insertSelective(OrganizationLevel record); + + List selectByExample(OrganizationLevelExample example); + + OrganizationLevel selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") OrganizationLevel record, @Param("example") OrganizationLevelExample example); + + int updateByExample(@Param("record") OrganizationLevel record, @Param("example") OrganizationLevelExample example); + + int updateByPrimaryKeySelective(OrganizationLevel record); + + int updateByPrimaryKey(OrganizationLevel record); +} \ No newline at end of file diff --git a/src/main/java/com/ccsens/carbasics/service/AccountManageService.java b/src/main/java/com/ccsens/carbasics/service/AccountManageService.java index e3c41c6..31a8294 100644 --- a/src/main/java/com/ccsens/carbasics/service/AccountManageService.java +++ b/src/main/java/com/ccsens/carbasics/service/AccountManageService.java @@ -47,14 +47,10 @@ public class AccountManageService implements IAccountManageService { @Resource private ConstantMapper constantMapper; @Resource - private OrganizationProjectDao organizationProjectDao; - @Resource private OrganizationDao organizationDao; @Resource private QuestionnaireDetailDao questionnaireDetailDao; @Resource - private CodeNameDao codeNameDao; - @Resource private Snowflake snowflake; @Override public void submitAccount(AccountDto.SubmitAccount param, Long userId) { @@ -98,7 +94,7 @@ public class AccountManageService implements IAccountManageService { } } //2.校验是否已经有提交 - Long submitId = questionnaireDetailDao.queryIsSubmit(accountManage.getHospitalName(),System.currentTimeMillis()); + Long submitId = questionnaireDetailDao.queryIsSubmit(accountManageInfo.getHospitalName(),System.currentTimeMillis()); if (ObjectUtil.isNotNull(submitId)) { flag = false; } @@ -111,9 +107,11 @@ public class AccountManageService implements IAccountManageService { } //查询职位id - Long positionId = positionDao.queryByCode(accountManageInfo.getPositionCode()); - questionnaireService.createHospitalAndProject(accountManageInfo.getSubmitterPhone(),accountManageInfo.getSubmitterUserId(),"", - accountManageInfo.getHospitalName(),accountManageInfo.getDepartmentName(),accountManageInfo.getSubmitter(),positionId,accountManageInfo.getDepartmentCode()); + Long positionId = positionDao.queryByCode(accountManageInfo.getPositionCode(),accountManageInfo.getHospitalName()); + questionnaireService.createOrganization(accountManageInfo.getHospitalName(),accountManageInfo.getDepartmentName(),userId, + accountManageInfo.getSubmitter(),accountManageInfo.getSubmitterPhone(),positionId,accountManage.getPositionName(),accountManage.getPositionCode()); +// questionnaireService.createHospitalAndProject(accountManageInfo.getSubmitterPhone(),accountManageInfo.getSubmitterUserId(),"", +// accountManageInfo.getHospitalName(),accountManageInfo.getDepartmentName(),accountManageInfo.getSubmitter(),positionId,accountManageInfo.getDepartmentCode()); } @@ -207,11 +205,12 @@ public class AccountManageService implements IAccountManageService { @Override public List queryApplyOfHospital(AccountDto.QueryApplyOfHospital param, Long userId) { - Long hospitalId = organizationProjectDao.queryByProjectId(param.getProjectId()); - if (ObjectUtil.isNull(hospitalId)) { +// Long hospitalId = organizationProjectDao.queryByProjectId(param.getProjectId()); + Organization organization = organizationDao.selectByPrimaryKey(param.getProjectId()); + if (ObjectUtil.isNull(organization)) { throw new BaseException(DefaultCodeError.PROJECT_ERROR); } - Organization organization = organizationDao.selectByPrimaryKey(hospitalId); +// Organization organization = organizationDao.selectByPrimaryKey(hospitalId); return accountManageDao.queryApply(organization.getName(),param.getAuditStatus(),param.getName(),null); } diff --git a/src/main/java/com/ccsens/carbasics/service/FirstAidService.java b/src/main/java/com/ccsens/carbasics/service/FirstAidService.java index 1a67682..3ff92c5 100644 --- a/src/main/java/com/ccsens/carbasics/service/FirstAidService.java +++ b/src/main/java/com/ccsens/carbasics/service/FirstAidService.java @@ -53,23 +53,12 @@ public class FirstAidService implements IFirstAidService{ private OrganizationMemberDao organizationMemberDao; @Resource private Snowflake snowflake; - @Resource private FirstAidMemberDao firstAidMemberDao; @Resource - private IProjectService projectService; - @Resource - private OrganizationTemplateMapper templateMapper; - @Resource private FirstAidRecordMapper firstAidRecordMapper; @Resource private FirstAidRecordLogMapper firstAidRecordLogMapper; - @Resource - private PatientDao patientDao; - @Resource - private OrganizationProjectDao organizationProjectDao; - @Resource - private RedisUtil redisUtil; @Override diff --git a/src/main/java/com/ccsens/carbasics/service/OcrService.java b/src/main/java/com/ccsens/carbasics/service/OcrService.java index 19b4e87..5713d50 100644 --- a/src/main/java/com/ccsens/carbasics/service/OcrService.java +++ b/src/main/java/com/ccsens/carbasics/service/OcrService.java @@ -51,8 +51,7 @@ import java.util.stream.Collectors; @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public class OcrService implements IOcrService { - @Resource - private QuestionOcrDao questionOcrDao; + @Resource private OcrKeywordDao ocrKeywordDao; @Resource diff --git a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java index e5908d3..2bb3e2b 100644 --- a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java +++ b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java @@ -5,7 +5,6 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.ccsens.carbasics.bean.dto.PatientDto; import com.ccsens.carbasics.bean.dto.QuestionnaireDto; import com.ccsens.carbasics.bean.po.*; import com.ccsens.carbasics.bean.vo.ButtonVO; @@ -13,19 +12,17 @@ import com.ccsens.carbasics.bean.vo.CodeVo; import com.ccsens.carbasics.bean.vo.OrganizationMemberVo; import com.ccsens.carbasics.bean.vo.QuestionnaireVo; import com.ccsens.carbasics.persist.dao.*; +import com.ccsens.carbasics.persist.mapper.OrganizationDepartmentTemplateMapper; +import com.ccsens.carbasics.persist.mapper.OrganizationPositionTypeRelationMapper; import com.ccsens.carbasics.util.Constant; import com.ccsens.carbasics.util.DefaultCodeError; import com.ccsens.cloudutil.bean.tall.dto.ProjectDto; import com.ccsens.cloudutil.feign.Tall3FeignClient; -import com.ccsens.common.bean.dto.CMemberDto; -import com.ccsens.common.bean.dto.CProjectDto; -import com.ccsens.common.bean.vo.CProjectVo; -import com.ccsens.common.service.IMemberService; -import com.ccsens.common.service.IProjectService; import com.ccsens.util.PoiUtil; import com.ccsens.util.PropUtil; import com.ccsens.util.RedisUtil; import com.ccsens.util.exception.BaseException; +import com.itextpdf.text.pdf.PdfDiv; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -36,6 +33,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.IOException; import java.util.*; +import java.util.stream.Collectors; @Slf4j @@ -56,8 +54,6 @@ public class QuestionnaireService implements IQuestionnaireService{ @Resource private OrganizationDao organizationDao; @Resource - private IAsyncService asyncService; - @Resource private OrganizationPositionDao positionDao; @Resource private QuestionnaireRecordDao recordDao; @@ -66,18 +62,10 @@ public class QuestionnaireService implements IQuestionnaireService{ @Resource private OrganizationMemberDao organizationMemberDao; @Resource - private IProjectService projectService; - @Resource - private IMemberService memberService; - @Resource - private OrganizationProjectDao organizationProjectDao; - @Resource private OrganizationMemberPositionDao organizationMemberPositionDao; @Resource private QuestionnaireRecordDao questionnaireRecordDao; @Resource - private IFirstAidService firstAidService; - @Resource private CodeDictionariesDao codeDictionariesDao; @Resource private ButtonConfigDao buttonConfigDao; @@ -88,7 +76,9 @@ public class QuestionnaireService implements IQuestionnaireService{ @Resource private AccountManageDao accountManageDao; @Resource - private CodeNameDao codeNameDao; + private OrganizationPositionTypeDao positionTypeDao; + @Resource + private OrganizationPositionTypeRelationMapper positionTypeRelationMapper; @Override public List queryArea(QuestionnaireDto.QueryArea param, Long userId) { @@ -359,202 +349,128 @@ public class QuestionnaireService implements IQuestionnaireService{ /** * 提交问卷后的后续操作 - * @param phone 手机号 - * @param userId 用户id - * @throws Exception 异常 */ - public Long createHospitalOfNotExit(String phone, Long userId) throws Exception { - //查询基本信息的code与答案 - HashMap codeAndAnswer = new HashMap<>(); - List infoList = questionnaireRecordDao.queryInfo(userId); - if (CollectionUtil.isNotEmpty(infoList)) { - for (QuestionnaireVo.QuestionnaireInfo questionnaireInfo : infoList) { - codeAndAnswer.put(questionnaireInfo.getCode(),questionnaireInfo.getAnswer()); - } - } - //医院名称 - String hospitalName = codeAndAnswer.get(Constant.BasicInformation.hospitalName.code); - //部门名称 - String departmentName = codeAndAnswer.get(Constant.BasicInformation.department.code); - //成员名称 - String memberName = codeAndAnswer.get(Constant.BasicInformation.person.code); - //查询职位id - Long positionId = positionDao.queryByName(codeAndAnswer.get(Constant.BasicInformation.position.code)); - //医院等级 - String hospitalLevel = codeAndAnswer.get(Constant.BasicInformation.hospitalLevel.code); - - //部门code - String departmentCode = ""; - if (Constant.DepartmentAndCode.SHEN_NEI.name.equals(departmentName)) { - departmentCode = Constant.DepartmentAndCode.SHEN_NEI.code; - } - if (Constant.DepartmentAndCode.NEI_KE.name.equals(departmentName)) { - departmentCode = Constant.DepartmentAndCode.NEI_KE.code; - } - if (Constant.DepartmentAndCode.SHEN_WAI.name.equals(departmentName)) { - departmentCode = Constant.DepartmentAndCode.SHEN_WAI.code; - } - - return createHospitalAndProject(phone, userId, hospitalLevel, hospitalName, departmentName, memberName, positionId, departmentCode); - } - - public Long createHospitalAndProject(String phone, Long userId, String hospitalLevel, String hospitalName, String departmentName, String memberName, Long positionId, String departmentCode) { - Organization organization = organizationDao.queryByName(hospitalName); +// public Long createHospitalOfNotExit(String phone, Long userId) throws Exception { +// //查询基本信息的code与答案 +// HashMap codeAndAnswer = new HashMap<>(); +// List infoList = questionnaireRecordDao.queryInfo(userId); +// if (CollectionUtil.isNotEmpty(infoList)) { +// for (QuestionnaireVo.QuestionnaireInfo questionnaireInfo : infoList) { +// codeAndAnswer.put(questionnaireInfo.getCode(),questionnaireInfo.getAnswer()); +// } +// } +// //医院名称 +// String hospitalName = codeAndAnswer.get(Constant.BasicInformation.hospitalName.code); +// //部门名称 +// String departmentName = codeAndAnswer.get(Constant.BasicInformation.department.code); +// //成员名称 +// String memberName = codeAndAnswer.get(Constant.BasicInformation.person.code); +// //查询职位id +// Long positionId = positionDao.queryByName(codeAndAnswer.get(Constant.BasicInformation.position.code)); +// //医院等级 +// String hospitalLevel = codeAndAnswer.get(Constant.BasicInformation.hospitalLevel.code); +// +// //部门code +// String departmentCode = ""; +// if (Constant.DepartmentAndCode.SHEN_NEI.name.equals(departmentName)) { +// departmentCode = Constant.DepartmentAndCode.SHEN_NEI.code; +// } +// if (Constant.DepartmentAndCode.NEI_KE.name.equals(departmentName)) { +// departmentCode = Constant.DepartmentAndCode.NEI_KE.code; +// } +// if (Constant.DepartmentAndCode.SHEN_WAI.name.equals(departmentName)) { +// departmentCode = Constant.DepartmentAndCode.SHEN_WAI.code; +// } +// return createOrganization(hospitalName,departmentName,userId,memberName,phone,positionId); +//// return createHospitalAndProject(phone, userId, hospitalLevel, hospitalName, departmentName, memberName, positionId, departmentCode); +// } + + public Long createOrganization(String organizationName,String departmentName,Long userId,String memberName,String memberPhone,Long positionId + ,String positionName,String positionCode) { + //机构创建 + boolean create = false; + Organization organization = organizationDao.queryByName(organizationName); if (ObjectUtil.isNull(organization)) { - //创建医院 - Organization newOrganization = new Organization(); - newOrganization.setId(snowflake.nextId()); - newOrganization.setName(hospitalName); - if (Constant.HospitalLevel.two.explain.equals(hospitalLevel)) { - newOrganization.setLevel(Constant.HospitalLevel.two.level); - }else if (Constant.HospitalLevel.three.explain.equals(hospitalLevel)){ - newOrganization.setLevel(Constant.HospitalLevel.three.level); - }else { - newOrganization.setLevel(Constant.HospitalLevel.four.level); - } - newOrganization.setOrganizationType(Constant.OrganizationType.HOSPITAL.status); - organizationDao.insertSelective(newOrganization); - //创建部门 - OrganizationDepartment department = new OrganizationDepartment(); - department.setId(snowflake.nextId()); - department.setName(departmentName); - department.setCode(departmentCode); - department.setOrganizationId(newOrganization.getId()); - departmentDao.insertSelective(department); - //创建用户 - //查询用户是否存在 - OrganizationMember organizationMember = organizationMemberDao.queryExistByUserId(userId); - Long memberId = 0L; - if (ObjectUtil.isNull(organizationMember)) { - OrganizationMember member = new OrganizationMember(); - member.setId(snowflake.nextId()); - member.setUserId(userId); - member.setName(memberName); - member.setContact(phone); - organizationMemberDao.insertSelective(member); - memberId = member.getId(); - }else { - memberId = organizationMember.getId(); - } - //添加成员职位 - //判断成员职位是否存在 - Long isExist = organizationMemberPositionDao.queryByExistByMember(memberId,positionId,department.getId()); - if (isExist == 0) { - OrganizationMemberPosition position = new OrganizationMemberPosition(); - position.setId(snowflake.nextId()); - position.setPositionId(positionId); - position.setDepartmentId(department.getId()); - position.setMemberId(memberId); - organizationMemberPositionDao.insertSelective(position); - } - //创建项目 - return createProject(newOrganization.getId(), hospitalName, memberName, phone, userId,positionId,departmentCode); - }else { - OrganizationDepartment department = departmentDao.queryByOrganization(organization.getId(),departmentName); - if (ObjectUtil.isNull(department)) { - //创建部门 - OrganizationDepartment newDepartment = new OrganizationDepartment(); - newDepartment.setId(snowflake.nextId()); - newDepartment.setCode(departmentCode); - newDepartment.setName(departmentName); - newDepartment.setOrganizationId(organization.getId()); - departmentDao.insertSelective(newDepartment); - //创建用户 - //查询用户是否存在 - OrganizationMember organizationMember = organizationMemberDao.queryExistByUserId(userId); - Long memberId = 0L; - if (ObjectUtil.isNull(organizationMember)) { - OrganizationMember member = new OrganizationMember(); - member.setId(snowflake.nextId()); - member.setUserId(userId); - member.setName(memberName); - member.setContact(phone); - organizationMemberDao.insertSelective(member); - memberId = member.getId(); - }else { - memberId = organizationMember.getId(); - } - //添加成员职位 - //判断成员职位是否存在 - Long isExist = organizationMemberPositionDao.queryByExistByMember(memberId,positionId,newDepartment.getId()); - if (isExist == 0) { - OrganizationMemberPosition position = new OrganizationMemberPosition(); - position.setId(snowflake.nextId()); - position.setPositionId(positionId); - position.setDepartmentId(newDepartment.getId()); - position.setMemberId(memberId); - organizationMemberPositionDao.insertSelective(position); - } - //创建项目 - return createProject(organization.getId(),hospitalName,memberName,phone,userId,positionId,departmentCode); - }else { - //创建用户 - //查询用户是否存在 - OrganizationMember organizationMember = organizationMemberDao.queryExistByUserId(userId); - Long memberId = 0L; - if (ObjectUtil.isNull(organizationMember)) { - OrganizationMember member = new OrganizationMember(); - member.setId(snowflake.nextId()); - member.setUserId(userId); - member.setName(memberName); - member.setContact(phone); - organizationMemberDao.insertSelective(member); - memberId = member.getId(); - }else { - memberId = organizationMember.getId(); + log.info("创建机构:{}",organizationName); + create = true; + Organization organizationNew = new Organization(); + organizationNew.setId(snowflake.nextId()); + organization.setOrganizationType(Constant.OrganizationType.HOSPITAL.status); + organizationNew.setName(organizationName); + //TODO 医院等级 + //organization.setLevelId(); + organizationDao.insertSelective(organization); + organization = organizationNew; + } + //部门创建 + OrganizationDepartment department = departmentDao.queryByOrganization(organization.getId(),departmentName); + if (ObjectUtil.isNull(department)) { + log.info("创建一级部门:{},不存在的部门名:{}",organizationName,departmentName); + List departmentTemplateList = departmentDao.queryTemplate(); + List departmentList = departmentDao.queryAllByOid(organization.getId()); + List departmentNameList = departmentList.stream().map(OrganizationDepartment::getName).collect(Collectors.toList()); + for (OrganizationDepartmentTemplate departmentTemplate : departmentTemplateList) { + if (departmentNameList.contains(departmentTemplate.getName())) { + continue; } - //添加成员职位 - //判断成员职位是否存在 - Long isExist = organizationMemberPositionDao.queryByExistByMember(memberId,positionId,department.getId()); - if (isExist == 0) { - OrganizationMemberPosition position = new OrganizationMemberPosition(); - position.setId(snowflake.nextId()); - position.setPositionId(positionId); - position.setDepartmentId(department.getId()); - position.setMemberId(memberId); - organizationMemberPositionDao.insertSelective(position); + OrganizationDepartment departmentOne = new OrganizationDepartment(); + departmentOne.setId(snowflake.nextId()); + departmentOne.setOrganizationId(organization.getId()); + departmentOne.setCode(departmentTemplate.getCode()); + departmentOne.setName(departmentTemplate.getName()); + departmentDao.insertSelective(departmentOne); + if (departmentName.equals(departmentTemplate.getName())) { + department = departmentOne; } - //创建项目 - return createProject(organization.getId(), hospitalName, memberName, phone, userId,positionId,departmentCode); } } - } - - - public Long createProject(Long organizationId,String hospitalName,String memberName,String phone,Long userId,Long positionId,String departmentCode) { - OrganizationProject project = organizationProjectDao.queryByOrganizationId(organizationId); - if (ObjectUtil.isNull(project)) { - //创建项目 - CProjectDto.CopyProject copyProject = new CProjectDto.CopyProject(); - log.info("模板项目id:{}",redisUtil.get(Constant.TEMPLATE_PROJECT_KEY_ORGANIZATION)); - copyProject.setProjectId((Long) redisUtil.get(Constant.TEMPLATE_PROJECT_KEY_ORGANIZATION)); - copyProject.setProjectName(hospitalName); - CProjectVo.CopyProjectInfo copyProjectInfo = projectService.copyProject(copyProject, userId); - //添加角色 - CMemberDto.SaveMember saveMember = new CMemberDto.SaveMember(); - saveMember.setProjectId(copyProjectInfo.getId()); - //查询角色code - OrganizationPosition position = positionDao.selectByPrimaryKey(positionId); - String roleName = codeNameDao.queryRoleName(position.getCode(),departmentCode); - saveMember.setRoleName(roleName); -// saveMember.setRoleName(Constant.RoleName.SHEN_NEI); - saveMember.setName(memberName); - saveMember.setPhone(phone); - saveMember.setUserId(userId); - memberService.addMemberForProject(saveMember); - //绑定机构和项目 - OrganizationProject organizationProject = new OrganizationProject(); - organizationProject.setId(snowflake.nextId()); - organizationProject.setOrganizationId(organizationId); - organizationProject.setProjectId(copyProjectInfo.getId()); - organizationProjectDao.insertSelective(organizationProject); - //创建病例 - PatientDto.SavePatient savePatient = new PatientDto.SavePatient(); - firstAidService.getFirstAid(savePatient,userId,(byte)1,organizationId, (byte) 0); - //tall3添加项目,关联项目 + //创建职位 + OrganizationPosition position = positionDao.queryIsExist(positionName,positionCode,department.getId()); + if (ObjectUtil.isNull(position)) { + OrganizationPosition positionNew = new OrganizationPosition(); + positionNew.setId(snowflake.nextId()); + positionNew.setName(positionName); + positionNew.setRoleName(positionName); + positionNew.setDepartmentId(department.getId()); + positionDao.insertSelective(positionNew); + //绑定职位类型 + OrganizationPositionType positionType = positionTypeDao.queryByCode(positionCode); + if (ObjectUtil.isNotNull(positionType)) { + OrganizationPositionTypeRelation positionTypeRelation = new OrganizationPositionTypeRelation(); + positionTypeRelation.setId(snowflake.nextId()); + positionTypeRelation.setPositionId(positionNew.getId()); + positionTypeRelation.setPositionTypeId(positionType.getId()); + positionTypeRelationMapper.insertSelective(positionTypeRelation); + } + } + //成员创建 + OrganizationMember organizationMember = organizationMemberDao.queryExistByUserId(userId); + if (ObjectUtil.isNull(organizationMember)) { + log.info("添加成员:{}",userId); + OrganizationMember member = new OrganizationMember(); + member.setId(snowflake.nextId()); + member.setUserId(userId); + member.setName(memberName); + member.setContact(memberPhone); + organizationMemberDao.insertSelective(member); + organizationMember = member; + } + Long isExist = organizationMemberPositionDao.queryByExistByMember(organizationMember.getId(),positionId,department.getId()); + if (isExist == 0) { + log.info("添加成员职位:{}",organizationMember.getId()); + OrganizationMemberPosition memberPosition = new OrganizationMemberPosition(); + memberPosition.setId(snowflake.nextId()); + memberPosition.setPositionId(positionId); + memberPosition.setDepartmentId(department.getId()); + memberPosition.setMemberId(organizationMember.getId()); + organizationMemberPositionDao.insertSelective(memberPosition); + } + //调用tall3 方法 TODO 待处理异常 + if (create) { + log.info("tall3创建项目:{}",organization.getId()); ProjectDto.SaveProjectDto saveProjectDto = new ProjectDto.SaveProjectDto(); - saveProjectDto.setId(copyProjectInfo.getId()); - saveProjectDto.setName(copyProject.getProjectName()); + saveProjectDto.setId(organization.getId()); + saveProjectDto.setName(organization.getName()); saveProjectDto.setStartTime(System.currentTimeMillis()); saveProjectDto.setEndTime(System.currentTimeMillis()+315360000000L); saveProjectDto.setUrl(PropUtil.domain); @@ -562,34 +478,215 @@ public class QuestionnaireService implements IQuestionnaireService{ userIds.add(userId); saveProjectDto.setUserIdList(userIds); tall3FeignClient.saveProjectList(saveProjectDto); - return copyProjectInfo.getId(); }else { - CMemberDto.SaveMember saveMember = new CMemberDto.SaveMember(); - saveMember.setProjectId(project.getProjectId()); - //查询角色code - OrganizationPosition position = positionDao.selectByPrimaryKey(positionId); - String roleName = codeNameDao.queryRoleName(position.getCode(),departmentCode); - saveMember.setRoleName(roleName); -// saveMember.setRoleName(Constant.RoleName.SHEN_NEI); - saveMember.setName(memberName); - saveMember.setPhone(phone); - saveMember.setUserId(userId); - memberService.addMemberForProject(saveMember); - + log.info("tall3添加成员:{}",organization.getId()); //tall3 用户关联项目 ProjectDto.SaveUserProject saveUserProject = new ProjectDto.SaveUserProject(); ArrayList projectIds = new ArrayList<>(); ArrayList userIds = new ArrayList<>(); - projectIds.add(project.getProjectId()); + projectIds.add(organization.getId()); userIds.add(userId); saveUserProject.setProjectId(projectIds); saveUserProject.setUserId(userIds); tall3FeignClient.saveUserProject(saveUserProject); - return project.getProjectId(); } + return organization.getId(); } + +// public Long createHospitalAndProject(String phone, Long userId, String hospitalLevel, String hospitalName, String departmentName, String memberName, Long positionId, String departmentCode) { +// Organization organization = organizationDao.queryByName(hospitalName); +// if (ObjectUtil.isNull(organization)) { +// //创建医院 +// Organization newOrganization = new Organization(); +// newOrganization.setId(snowflake.nextId()); +// newOrganization.setName(hospitalName); +// if (Constant.HospitalLevel.two.explain.equals(hospitalLevel)) { +// newOrganization.setLevel(Constant.HospitalLevel.two.level); +// }else if (Constant.HospitalLevel.three.explain.equals(hospitalLevel)){ +// newOrganization.setLevel(Constant.HospitalLevel.three.level); +// }else { +// newOrganization.setLevel(Constant.HospitalLevel.four.level); +// } +// newOrganization.setOrganizationType(Constant.OrganizationType.HOSPITAL.status); +// organizationDao.insertSelective(newOrganization); +// //创建部门 +// OrganizationDepartment department = new OrganizationDepartment(); +// department.setId(snowflake.nextId()); +// department.setName(departmentName); +// department.setCode(departmentCode); +// department.setOrganizationId(newOrganization.getId()); +// departmentDao.insertSelective(department); +// //创建用户 +// //查询用户是否存在 +// OrganizationMember organizationMember = organizationMemberDao.queryExistByUserId(userId); +// Long memberId = 0L; +// if (ObjectUtil.isNull(organizationMember)) { +// OrganizationMember member = new OrganizationMember(); +// member.setId(snowflake.nextId()); +// member.setUserId(userId); +// member.setName(memberName); +// member.setContact(phone); +// organizationMemberDao.insertSelective(member); +// memberId = member.getId(); +// }else { +// memberId = organizationMember.getId(); +// } +// //添加成员职位 +// //判断成员职位是否存在 +// Long isExist = organizationMemberPositionDao.queryByExistByMember(memberId,positionId,department.getId()); +// if (isExist == 0) { +// OrganizationMemberPosition position = new OrganizationMemberPosition(); +// position.setId(snowflake.nextId()); +// position.setPositionId(positionId); +// position.setDepartmentId(department.getId()); +// position.setMemberId(memberId); +// organizationMemberPositionDao.insertSelective(position); +// } +// //创建项目 +// return createProject(newOrganization.getId(), hospitalName, memberName, phone, userId,positionId,departmentCode); +// }else { +// OrganizationDepartment department = departmentDao.queryByOrganization(organization.getId(),departmentName); +// if (ObjectUtil.isNull(department)) { +// //创建部门 +// OrganizationDepartment newDepartment = new OrganizationDepartment(); +// newDepartment.setId(snowflake.nextId()); +// newDepartment.setCode(departmentCode); +// newDepartment.setName(departmentName); +// newDepartment.setOrganizationId(organization.getId()); +// departmentDao.insertSelective(newDepartment); +// //创建用户 +// //查询用户是否存在 +// OrganizationMember organizationMember = organizationMemberDao.queryExistByUserId(userId); +// Long memberId = 0L; +// if (ObjectUtil.isNull(organizationMember)) { +// OrganizationMember member = new OrganizationMember(); +// member.setId(snowflake.nextId()); +// member.setUserId(userId); +// member.setName(memberName); +// member.setContact(phone); +// organizationMemberDao.insertSelective(member); +// memberId = member.getId(); +// }else { +// memberId = organizationMember.getId(); +// } +// //添加成员职位 +// //判断成员职位是否存在 +// Long isExist = organizationMemberPositionDao.queryByExistByMember(memberId,positionId,newDepartment.getId()); +// if (isExist == 0) { +// OrganizationMemberPosition position = new OrganizationMemberPosition(); +// position.setId(snowflake.nextId()); +// position.setPositionId(positionId); +// position.setDepartmentId(newDepartment.getId()); +// position.setMemberId(memberId); +// organizationMemberPositionDao.insertSelective(position); +// } +// //创建项目 +// return createProject(organization.getId(),hospitalName,memberName,phone,userId,positionId,departmentCode); +// }else { +// //创建用户 +// //查询用户是否存在 +// OrganizationMember organizationMember = organizationMemberDao.queryExistByUserId(userId); +// Long memberId = 0L; +// if (ObjectUtil.isNull(organizationMember)) { +// OrganizationMember member = new OrganizationMember(); +// member.setId(snowflake.nextId()); +// member.setUserId(userId); +// member.setName(memberName); +// member.setContact(phone); +// organizationMemberDao.insertSelective(member); +// memberId = member.getId(); +// }else { +// memberId = organizationMember.getId(); +// } +// //添加成员职位 +// //判断成员职位是否存在 +// Long isExist = organizationMemberPositionDao.queryByExistByMember(memberId,positionId,department.getId()); +// if (isExist == 0) { +// OrganizationMemberPosition position = new OrganizationMemberPosition(); +// position.setId(snowflake.nextId()); +// position.setPositionId(positionId); +// position.setDepartmentId(department.getId()); +// position.setMemberId(memberId); +// organizationMemberPositionDao.insertSelective(position); +// } +// //创建项目 +// return createProject(organization.getId(), hospitalName, memberName, phone, userId,positionId,departmentCode); +// } +// } +// } + + +// public Long createProject(Long organizationId,String hospitalName,String memberName,String phone,Long userId,Long positionId,String departmentCode) { +// OrganizationProject project = organizationProjectDao.queryByOrganizationId(organizationId); +// if (ObjectUtil.isNull(project)) { +// //创建项目 +// CProjectDto.CopyProject copyProject = new CProjectDto.CopyProject(); +// log.info("模板项目id:{}",redisUtil.get(Constant.TEMPLATE_PROJECT_KEY_ORGANIZATION)); +// copyProject.setProjectId((Long) redisUtil.get(Constant.TEMPLATE_PROJECT_KEY_ORGANIZATION)); +// copyProject.setProjectName(hospitalName); +// CProjectVo.CopyProjectInfo copyProjectInfo = projectService.copyProject(copyProject, userId); +// //添加角色 +// CMemberDto.SaveMember saveMember = new CMemberDto.SaveMember(); +// saveMember.setProjectId(copyProjectInfo.getId()); +// //查询角色code +// OrganizationPosition position = positionDao.selectByPrimaryKey(positionId); +// String roleName = codeNameDao.queryRoleName(position.getCode(),departmentCode); +// saveMember.setRoleName(roleName); +//// saveMember.setRoleName(Constant.RoleName.SHEN_NEI); +// saveMember.setName(memberName); +// saveMember.setPhone(phone); +// saveMember.setUserId(userId); +// memberService.addMemberForProject(saveMember); +// //绑定机构和项目 +// OrganizationProject organizationProject = new OrganizationProject(); +// organizationProject.setId(snowflake.nextId()); +// organizationProject.setOrganizationId(organizationId); +// organizationProject.setProjectId(copyProjectInfo.getId()); +// organizationProjectDao.insertSelective(organizationProject); +// //创建病例 +// PatientDto.SavePatient savePatient = new PatientDto.SavePatient(); +// firstAidService.getFirstAid(savePatient,userId,(byte)1,organizationId, (byte) 0); +// //tall3添加项目,关联项目 +// ProjectDto.SaveProjectDto saveProjectDto = new ProjectDto.SaveProjectDto(); +// saveProjectDto.setId(copyProjectInfo.getId()); +// saveProjectDto.setName(copyProject.getProjectName()); +// saveProjectDto.setStartTime(System.currentTimeMillis()); +// saveProjectDto.setEndTime(System.currentTimeMillis()+315360000000L); +// saveProjectDto.setUrl(PropUtil.domain); +// Set userIds = new HashSet<>(); +// userIds.add(userId); +// saveProjectDto.setUserIdList(userIds); +// tall3FeignClient.saveProjectList(saveProjectDto); +// return copyProjectInfo.getId(); +// }else { +// CMemberDto.SaveMember saveMember = new CMemberDto.SaveMember(); +// saveMember.setProjectId(project.getProjectId()); +// //查询角色code +// OrganizationPosition position = positionDao.selectByPrimaryKey(positionId); +// String roleName = codeNameDao.queryRoleName(position.getCode(),departmentCode); +// saveMember.setRoleName(roleName); +//// saveMember.setRoleName(Constant.RoleName.SHEN_NEI); +// saveMember.setName(memberName); +// saveMember.setPhone(phone); +// saveMember.setUserId(userId); +// memberService.addMemberForProject(saveMember); +// +// //tall3 用户关联项目 +// ProjectDto.SaveUserProject saveUserProject = new ProjectDto.SaveUserProject(); +// ArrayList projectIds = new ArrayList<>(); +// ArrayList userIds = new ArrayList<>(); +// projectIds.add(project.getProjectId()); +// userIds.add(userId); +// saveUserProject.setProjectId(projectIds); +// saveUserProject.setUserId(userIds); +// tall3FeignClient.saveUserProject(saveUserProject); +// return project.getProjectId(); +// } +// } + + @Override public List queryButton(Long userId) { return buttonConfigDao.queryButtonInfo(System.currentTimeMillis()); diff --git a/src/main/java/com/ccsens/carbasics/service/StatisticalService.java b/src/main/java/com/ccsens/carbasics/service/StatisticalService.java index 0422847..a598105 100644 --- a/src/main/java/com/ccsens/carbasics/service/StatisticalService.java +++ b/src/main/java/com/ccsens/carbasics/service/StatisticalService.java @@ -298,7 +298,8 @@ public class StatisticalService implements IStatisticalService { */ private List getHospitalIds(Long projectId) { // 判断机构是否存在 - Organization organization = organizationDao.getByProjectId(projectId); +// Organization organization = organizationDao.getByProjectId(projectId); + Organization organization = organizationDao.selectByPrimaryKey(projectId); if (organization == null) { throw new BaseException(DefaultCodeError.NOT_ORGANIZATION); } diff --git a/src/main/resources/mapper_dao/OrganizationDao.xml b/src/main/resources/mapper_dao/OrganizationDao.xml index f0b5496..ef9d17b 100644 --- a/src/main/resources/mapper_dao/OrganizationDao.xml +++ b/src/main/resources/mapper_dao/OrganizationDao.xml @@ -853,19 +853,19 @@ diff --git a/src/main/resources/mapper_dao/OrganizationDepartmentDao.xml b/src/main/resources/mapper_dao/OrganizationDepartmentDao.xml index 2a01d3a..97ebacf 100644 --- a/src/main/resources/mapper_dao/OrganizationDepartmentDao.xml +++ b/src/main/resources/mapper_dao/OrganizationDepartmentDao.xml @@ -5,18 +5,47 @@ + + + + \ No newline at end of file diff --git a/src/main/resources/mapper_dao/OrganizationMemberDao.xml b/src/main/resources/mapper_dao/OrganizationMemberDao.xml index 84382f6..835d562 100644 --- a/src/main/resources/mapper_dao/OrganizationMemberDao.xml +++ b/src/main/resources/mapper_dao/OrganizationMemberDao.xml @@ -38,7 +38,7 @@ m.user_id = #{userId} AND m.id = mp.member_id AND mp.position_id = p.id - AND mp.department_id = d.id + AND p.department_id = d.id AND d.organization_id = o.id AND o.id = #{projectId} AND m.rec_status = 0 @@ -49,31 +49,35 @@ diff --git a/src/main/resources/mapper_dao/OrganizationMemberPositionDao.xml b/src/main/resources/mapper_dao/OrganizationMemberPositionDao.xml index 4d8b5de..571c5de 100644 --- a/src/main/resources/mapper_dao/OrganizationMemberPositionDao.xml +++ b/src/main/resources/mapper_dao/OrganizationMemberPositionDao.xml @@ -5,14 +5,16 @@ SELECT - id + p.id FROM - t_organization_position + t_organization_position_type AS pt + LEFT JOIN t_organization_position_type_relation AS ptr ON pt.id = ptr.position_type_id + LEFT JOIN t_organization_position AS p ON p.id = ptr.position_id + LEFT JOIN t_organization_department AS od ON od.id = p.department_id + LEFT JOIN t_organization AS o ON od.organization_id = o.id WHERE - rec_status = 0 - AND `code` = #{code} + pt.rec_status = 0 + AND ptr.rec_status = 0 + AND p.rec_status = 0 + AND od.rec_status = 0 + AND o.rec_status = 0 + AND pt.`code` = #{code} + AND o.`name` = #{hospitalName} + + \ No newline at end of file diff --git a/src/main/resources/mapper_dao/OrganizationPositionTypeDao.xml b/src/main/resources/mapper_dao/OrganizationPositionTypeDao.xml new file mode 100644 index 0000000..0522b6a --- /dev/null +++ b/src/main/resources/mapper_dao/OrganizationPositionTypeDao.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper_dao/PatientDao.xml b/src/main/resources/mapper_dao/PatientDao.xml index 72638ff..a96041e 100644 --- a/src/main/resources/mapper_dao/PatientDao.xml +++ b/src/main/resources/mapper_dao/PatientDao.xml @@ -34,7 +34,7 @@ t_qcp_first_aid a WHERE r.first_aid_id = a.id - AND a.project_id = #{projectId} + AND a.id = #{projectId} AND a.rec_status = 0 AND r.rec_status = 0 ) r ON p.question_code = r.question_code diff --git a/src/main/resources/mapper_raw/OrganizationLevelMapper.xml b/src/main/resources/mapper_raw/OrganizationLevelMapper.xml new file mode 100644 index 0000000..019404b --- /dev/null +++ b/src/main/resources/mapper_raw/OrganizationLevelMapper.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, parent_id, name, sort, created_at, updated_at, rec_status + + + + + delete from t_organization_level + where id = #{id,jdbcType=BIGINT} + + + delete from t_organization_level + + + + + + insert into t_organization_level (id, parent_id, name, + sort, created_at, updated_at, + rec_status) + values (#{id,jdbcType=BIGINT}, #{parentId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, + #{sort,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, + #{recStatus,jdbcType=TINYINT}) + + + insert into t_organization_level + + + id, + + + parent_id, + + + name, + + + sort, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{parentId,jdbcType=BIGINT}, + + + #{name,jdbcType=VARCHAR}, + + + #{sort,jdbcType=TINYINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_organization_level + + + id = #{record.id,jdbcType=BIGINT}, + + + parent_id = #{record.parentId,jdbcType=BIGINT}, + + + name = #{record.name,jdbcType=VARCHAR}, + + + sort = #{record.sort,jdbcType=TINYINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_organization_level + set id = #{record.id,jdbcType=BIGINT}, + parent_id = #{record.parentId,jdbcType=BIGINT}, + name = #{record.name,jdbcType=VARCHAR}, + sort = #{record.sort,jdbcType=TINYINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_organization_level + + + parent_id = #{parentId,jdbcType=BIGINT}, + + + name = #{name,jdbcType=VARCHAR}, + + + sort = #{sort,jdbcType=TINYINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_organization_level + set parent_id = #{parentId,jdbcType=BIGINT}, + name = #{name,jdbcType=VARCHAR}, + sort = #{sort,jdbcType=TINYINT}, + 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/mapper_raw/OrganizationPositionMapper.xml b/src/main/resources/mapper_raw/OrganizationPositionMapper.xml index f98331d..20a74bf 100644 --- a/src/main/resources/mapper_raw/OrganizationPositionMapper.xml +++ b/src/main/resources/mapper_raw/OrganizationPositionMapper.xml @@ -5,6 +5,7 @@ + @@ -69,7 +70,7 @@ - id, name, role_name, operator, created_at, updated_at, rec_status + id, name, role_name, department_id, operator, created_at, updated_at, rec_status