修改了institutionAndUser(String userName)接口,当userName有值事搜索出此用户以及它所在的机构,userName为null时搜索全部
添加getNext(String institutionId)接口,通过机构id返回此部门下的第一级部门和人员 添加getFirstInstitution()接口,返回机构第一级目录
This commit is contained in:
+16
-3
@@ -50,10 +50,10 @@ public class TsInstitutionController extends BaseController<TsInstitution> {
|
||||
* 查询所有机构和人员
|
||||
* @return ResponseMessage<List<TsInstitution>>
|
||||
*/
|
||||
@ApiOperation("查询所有机构和人员")
|
||||
@ApiOperation("查询所有机构和人员或根据名称查询")
|
||||
@GetMapping("/institutionAndUser")
|
||||
public ResponseMessage<List<TsInstitution>> getInstitutionAndUser(){
|
||||
List<TsInstitution> institutions=tsInstitutionService.getInstitutionAndUser();
|
||||
public ResponseMessage<List<TsInstitution>> getInstitutionAndUser(String userName){
|
||||
List<TsInstitution> institutions=tsInstitutionService.getInstitutionAndUser(userName);
|
||||
return Result.success(institutions);
|
||||
}
|
||||
|
||||
@@ -76,6 +76,19 @@ public class TsInstitutionController extends BaseController<TsInstitution> {
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@ApiOperation("获得下一级的部门和人员")
|
||||
@GetMapping("/getNext")
|
||||
public List<TsInstitution> getNext(String institutionId){
|
||||
return tsInstitutionService.getNext(institutionId);
|
||||
}
|
||||
|
||||
@ApiOperation("获得第一级部门目录")
|
||||
@GetMapping("/getFirstInstitution")
|
||||
public List<TsInstitution> getFirstInstitution(){
|
||||
return tsInstitutionService.getFirst();
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
// System.out.println(json);
|
||||
}
|
||||
|
||||
@@ -16,12 +16,26 @@ import java.util.List;
|
||||
* @since 2021-06-22
|
||||
*/
|
||||
public interface TsInstitutionDao extends BaseMapper<TsInstitution> {
|
||||
/**
|
||||
* 根据部门id查询此部门的子一级部门
|
||||
* @return
|
||||
*/
|
||||
List<TsInstitution> selectNextInstitution(String institutionId);
|
||||
|
||||
/**
|
||||
* 根据部门id查询此部门的子一级人员
|
||||
* @return
|
||||
*/
|
||||
List<TsInstitution> selectNextUser(String institutionId);
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询最高级机构及其人员
|
||||
* @return List<TsInstitution>
|
||||
*/
|
||||
List<TsInstitution> selectRootAndUser();
|
||||
List<TsInstitution> selectRootAndUser(String userName);
|
||||
|
||||
/**
|
||||
* 根据父节点查询机构及其人员
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author zyl
|
||||
@@ -59,6 +59,11 @@ public class TsInstitution extends BaseEntity {
|
||||
@ApiModelProperty("是否有子节点(1有,0没有)")
|
||||
private String hasChild;
|
||||
|
||||
|
||||
@ApiModelProperty("用户")
|
||||
private TsUserVO tsUserVO;
|
||||
|
||||
|
||||
public TsInstitution() {
|
||||
}
|
||||
|
||||
|
||||
+37
-4
@@ -46,6 +46,9 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
|
||||
return institutionRoot;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 递归获取子机构
|
||||
* @param tsInstitution:父机构
|
||||
@@ -100,15 +103,19 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
|
||||
}*/
|
||||
|
||||
/**
|
||||
* 查询所有机构
|
||||
* 查询时带有userName时以userName为条件查询
|
||||
* 没有时查询所有结果
|
||||
* 根据查询下一级
|
||||
*/
|
||||
@Override
|
||||
public List<TsInstitution> getInstitutionAndUser() {
|
||||
public List<TsInstitution> getInstitutionAndUser(String userName) {
|
||||
//查询第一层机构
|
||||
List<TsInstitution> institutionRoot=tsInstitutionDao.selectRootAndUser();
|
||||
List<TsInstitution> institutionRoot=tsInstitutionDao.selectRootAndUser(userName);
|
||||
|
||||
//把查到的数据结构修改,把用户放
|
||||
for(TsInstitution tsInstitution:institutionRoot){
|
||||
tsInstitution.setDisabled(true);
|
||||
tsInstitution.setChildren(recursionGetInstitutionAndUser(tsInstitution));
|
||||
tsInstitution.setChildren( recursionGetInstitutionAndUser(tsInstitution) );
|
||||
for(TsUserVO user:tsInstitution.getUsers()){
|
||||
if(tsInstitution.getChildren()==null){
|
||||
tsInstitution.setChildren(new ArrayList<>());
|
||||
@@ -145,6 +152,7 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
|
||||
System.out.println(2);
|
||||
System.out.println(tsInstitution);
|
||||
List<Object> institutionObject=new ArrayList<>();
|
||||
//通过以此部门id作为父id查询它的子部门
|
||||
List<TsInstitution> tsInstitutions=tsInstitutionDao.selectAndUserByParent(tsInstitution.getId());
|
||||
|
||||
for(TsInstitution tsInstitutionNode:tsInstitutions){
|
||||
@@ -179,5 +187,30 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
|
||||
batchInsert(tsInstitutions);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过部门id获得这个部门下的下一级部门
|
||||
* @return
|
||||
*/
|
||||
public List<TsInstitution> getNext(String institutionId){
|
||||
List<TsInstitution> tsInstitutions = tsInstitutionDao.selectNextInstitution(institutionId);
|
||||
List<TsInstitution> tsUsers=tsInstitutionDao.selectNextUser(institutionId);
|
||||
|
||||
|
||||
for(TsInstitution tsInstitution:tsInstitutions){
|
||||
tsInstitution.setDisabled(true);
|
||||
}
|
||||
tsInstitutions.addAll(tsUsers);
|
||||
return tsInstitutions;
|
||||
}
|
||||
|
||||
|
||||
public List<TsInstitution> getFirst(){
|
||||
//查询第一层机构
|
||||
List<TsInstitution> tsInstitutions = tsInstitutionDao.selectRootAndUser(null);
|
||||
for(TsInstitution tsInstitution:tsInstitutions){
|
||||
tsInstitution.setDisabled(true);
|
||||
}
|
||||
return tsInstitutions;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+34
-1
@@ -14,11 +14,44 @@
|
||||
<result column="institution_id" property="institutionId"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="TsInstitution" type="com.adc.da.slrs.sarInstitution.entity.TsInstitution">
|
||||
<result column="parent_id" property="parentId"/>
|
||||
<result column="level" property="level"/>
|
||||
<result column="name" property="name"/>
|
||||
<result column="has_child" property="hasChild"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="TsUser" type="com.adc.da.slrs.sarInstitution.entity.TsUserVO">
|
||||
<result column="usid" property="id"/>
|
||||
<result column="account" property="account"/>
|
||||
<result column="uname" property="name"/>
|
||||
<result column="institution_id" property="institutionId"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 只查询这个部门下的子一级部门-->
|
||||
<select id="selectNextInstitution" resultMap="TsInstitution">
|
||||
select * from ts_institution
|
||||
WHERE parent_id=#{institutionId}
|
||||
</select>
|
||||
|
||||
<!-- 只查询这个部门下的子一级人员-->
|
||||
<select id="selectNextUser" resultMap="TsUser">
|
||||
select * from ts_user
|
||||
WHERE institution_id=#{institutionId}
|
||||
</select>
|
||||
<select id="selectRootAndUser" resultMap="InstitutionAndUser">
|
||||
select i.*,u.usid,u.account,u.uname,u.institution_id from ts_institution i
|
||||
left join ts_user u
|
||||
on i.id=u.institution_id
|
||||
where i.parent_id not in (select id from ts_institution)
|
||||
<if test="userName == null">
|
||||
where i.parent_id not in (select id from ts_institution)
|
||||
</if>
|
||||
|
||||
<if test="userName != null">
|
||||
|
||||
where u.uname like concat('%','${userName}','%')
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectAndUserByParent" resultMap="InstitutionAndUser">
|
||||
|
||||
Reference in New Issue
Block a user