diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java
index 6c973148..3d2d7460 100644
--- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java
@@ -11,7 +11,7 @@ import java.util.List;
* 服务类
*
*
- * @author zyl
+ * @author zxy
* @since 2021-06-22
*/
public interface ITsInstitutionService extends IService {
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java
index 7823aa51..4361d532 100644
--- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java
@@ -51,6 +51,7 @@ public class TsInstitutionServiceImpl extends ServiceImpl recursionGetInstitution(TsInstitution tsInstitution){
QueryWrapper institutionQueryWrapper=new QueryWrapper<>();
institutionQueryWrapper.eq("parent_id",tsInstitution.getId());
+ institutionQueryWrapper.eq("level",tsInstitution.getLevel()+1);
List tsInstitutions=tsInstitutionDao.selectList(institutionQueryWrapper);
for(TsInstitution tsInstitutionNode:tsInstitutions){
tsInstitutionNode.setChildren(recursionGetInstitution(tsInstitutionNode));
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/controller/TsRoleController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/controller/TsRoleController.java
new file mode 100644
index 00000000..63ef691b
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/controller/TsRoleController.java
@@ -0,0 +1,46 @@
+package com.adc.da.slrs.sarRole.controller;
+
+
+import com.adc.da.http.ResponseMessage;
+import com.adc.da.http.Result;
+import com.adc.da.slrs.sarRole.service.ITsRoleService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.adc.da.slrs.sarRole.entity.TsRole;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RestController;
+import com.adc.da.base.web.BaseController;
+
+import java.util.List;
+
+/**
+*
+ * 前端控制器
+ *
+*
+* @author zxy
+* @since 2021-06-22
+*/
+@RestController
+@Api(tags = "|角色管理|")
+@RequestMapping("/sarRole/role")
+public class TsRoleController extends BaseController {
+ @Autowired
+ private ITsRoleService tsRoleService;
+
+ @ApiOperation("查询所有角色")
+ @GetMapping
+ public ResponseMessage> getAll(){
+ List tsRoles=tsRoleService.getAll();
+ return Result.success(tsRoles);
+ }
+
+ @ApiOperation("根据角色名筛选角色")
+ @GetMapping("/name")
+ public ResponseMessage> getByName(String name){
+ List tsRoles=tsRoleService.getByName(name);
+ return Result.success(tsRoles);
+ }
+}
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/dao/TsRoleDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/dao/TsRoleDao.java
new file mode 100644
index 00000000..51bc80e2
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/dao/TsRoleDao.java
@@ -0,0 +1,16 @@
+package com.adc.da.slrs.sarRole.dao;
+
+import com.adc.da.slrs.sarRole.entity.TsRole;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author zyl
+ * @since 2021-06-22
+ */
+public interface TsRoleDao extends BaseMapper {
+
+}
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/entity/TsRole.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/entity/TsRole.java
new file mode 100644
index 00000000..c57db19f
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/entity/TsRole.java
@@ -0,0 +1,113 @@
+package com.adc.da.slrs.sarRole.entity;
+
+import com.adc.da.base.entity.BaseEntity;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.sql.Timestamp;
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ *
+ *
+ *
+ *
+ * @author zyl
+ * @since 2021-06-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ApiModel(value="TsRole对象", description="")
+public class TsRole extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "主键")
+ @TableId("ID")
+ private String id;
+
+ @ApiModelProperty(value = "角色名称")
+ @TableField("NAME")
+ private String name;
+
+ @ApiModelProperty(value = "角色类型")
+ @TableField("ROLE_TYPE")
+ private String roleType;
+
+ @ApiModelProperty(value = "角色状态")
+ @TableField("USE_FLAG")
+ private BigDecimal useFlag;
+
+ @ApiModelProperty(value = "是否默认")
+ @TableField("IS_DEFAULT")
+ private BigDecimal isDefault;
+
+ @ApiModelProperty(value = "角色描述")
+ @TableField("REMARKS")
+ private String remarks;
+
+ @ApiModelProperty(value = "操作时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Timestamp operateTime;
+
+ @ApiModelProperty(value = "操作人")
+ private String operator;
+
+ @ApiModelProperty(value = "备注")
+ @TableField("EXT_INFO")
+ private String extInfo;
+
+ @TableField("OPER_USER")
+ private String operUser;
+
+ @ApiModelProperty(value = "是否有效")
+ @TableField("VALID_FLAG")
+ private BigDecimal validFlag;
+
+ @ApiModelProperty(value = "创建时间")
+ @TableField("CREATION_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Timestamp creationTime;
+
+ @ApiModelProperty(value = "修改时间")
+ @TableField("MODIFY_TIME")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Timestamp modifyTime;
+
+ @ApiModelProperty(value = "上级节点id")
+ @TableField("PARENT_ID")
+ private String parentId;
+
+ @ApiModelProperty(value = "角色层级")
+ @TableField("role_level")
+ private Integer roleLevel;
+
+ @ApiModelProperty(value = "对应部门id")
+ @TableField("DY_ORG_ID")
+ private String dyOrgId;
+
+ @ApiModelProperty(value = "对应部门名称")
+ @TableField("DY_ORG_NAME")
+ private String dyOrgName;
+
+ @ApiModelProperty(value = "子角色")
+ @TableField(exist = false)
+ private List children;
+
+
+}
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/ITsRoleService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/ITsRoleService.java
new file mode 100644
index 00000000..f8405e9a
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/ITsRoleService.java
@@ -0,0 +1,30 @@
+package com.adc.da.slrs.sarRole.service;
+
+import com.adc.da.slrs.sarRole.entity.TsRole;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author zyl
+ * @since 2021-06-22
+ */
+public interface ITsRoleService extends IService {
+
+ /**
+ * 查询所有角色
+ * @return List
+ */
+ List getAll();
+
+ /**
+ * 通过名字查询角色
+ * @param name:角色名
+ * @return List
+ */
+ List getByName(String name);
+}
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java
new file mode 100644
index 00000000..ae5c052a
--- /dev/null
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java
@@ -0,0 +1,70 @@
+package com.adc.da.slrs.sarRole.service.impl;
+
+import com.adc.da.slrs.sarRole.entity.TsRole;
+import com.adc.da.slrs.sarRole.dao.TsRoleDao;
+import com.adc.da.slrs.sarRole.service.ITsRoleService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author zyl
+ * @since 2021-06-22
+ */
+@Service
+public class TsRoleServiceImpl extends ServiceImpl implements ITsRoleService {
+ @Autowired
+ private TsRoleDao tsRoleDao;
+
+ /**
+ * 查询所有角色
+ * @return List
+ */
+ @Override
+ public List getAll() {
+ QueryWrapper tsRoleQueryWrapper=new QueryWrapper<>();
+ tsRoleQueryWrapper.eq("role_level",1);
+ List rootRole=tsRoleDao.selectList(tsRoleQueryWrapper);
+ for(TsRole tsRole:rootRole){
+ tsRole.setChildren(recursionGetRole(tsRole));
+ }
+ return rootRole;
+ }
+
+ /**
+ * 递归查询子角色
+ * @param tsRole:父角色
+ * @return List
+ */
+ private List recursionGetRole(TsRole tsRole){
+ QueryWrapper tsRoleQueryWrapper=new QueryWrapper<>();
+ tsRoleQueryWrapper.eq("parent_id",tsRole.getId());
+ tsRoleQueryWrapper.eq("role_level",tsRole.getRoleLevel()+1);
+ List tsRoles=tsRoleDao.selectList(tsRoleQueryWrapper);
+ for(TsRole tsRoleNode:tsRoles){
+ tsRoleNode.setChildren(recursionGetRole(tsRoleNode));
+ }
+ return tsRoles;
+ }
+
+ /**
+ * 通过名字查询角色
+ * @param name:角色名
+ * @return List
+ */
+ @Override
+ public List getByName(String name) {
+ QueryWrapper tsRoleQueryWrapper=new QueryWrapper<>();
+ tsRoleQueryWrapper.like("name","%"+name+"%");
+ return tsRoleDao.selectList(tsRoleQueryWrapper);
+ }
+
+
+}
diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/TsUser.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/TsUser.java
index f1e7010e..eaa78cf3 100644
--- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/TsUser.java
+++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/TsUser.java
@@ -22,7 +22,7 @@ import javax.validation.constraints.NotNull;
*
*
*
- * @author zyl
+ * @author zxy
* @since 2021-06-22
*/
@Data
diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarRole/TsRoleMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarRole/TsRoleMapper.xml
new file mode 100644
index 00000000..98887dad
--- /dev/null
+++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarRole/TsRoleMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+