diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java index 9028d757..1341f25c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java @@ -73,6 +73,17 @@ public class TsInstitutionController extends BaseController { return Result.success(tsUserIPage); } + /** + * 查询机构下所有的机构人员 + * @return ResponseMessage> + */ + @ApiOperation("查询机构的人员") + @PostMapping("/userUnderInstitution") + public ResponseMessage> userUnderInstitution(TsUser tsUser){ + + return Result.success(tsUserService.getAllUsers(tsUser)); + } + @ApiOperation("导入机构数据") @PostMapping("/import") public ResponseMessage importInstitution() throws Exception { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java index d3a8ad84..1bef85d0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java @@ -49,7 +49,11 @@ public interface TsUserDao extends BaseMapper { */ List getUserAndPositionPage(@Param("start")Integer start, @Param("end")Integer end,@Param("TsUser") TsUser tsUser); + List userUnderInstitution(@Param("start")Integer start, @Param("end")Integer end,@Param("TsUser") TsUser tsUser,@Param("ids") List ids); + Integer getUserAndPositionCount(@Param("TsUser") TsUser tsUser); + + Integer userUnderInstitutionCount(@Param("TsUser") TsUser tsUser,@Param("ids") List ids); /** * 通过岗位Id列表查询用户ID列表 * @param positionIds:岗位ID列表 diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java index 9e33e87e..667438d8 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java @@ -83,4 +83,6 @@ public interface ITsUserService extends IService { List selectByName(String name); List selectNameById(List strings,String type); + + IPage getAllUsers(TsUser tsUser); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java index d3298b95..83752721 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java @@ -3,6 +3,8 @@ package com.adc.da.slrs.sarUser.service.impl; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; import com.adc.da.login.util.UserUtils; +import com.adc.da.slrs.sarInstitution.entity.TsInstitution; +import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService; import com.adc.da.slrs.sarMenu.entity.SarMenu; import com.adc.da.slrs.sarMenu.service.ISarMenuService; import com.adc.da.slrs.sarPosition.dao.TsPositionDao; @@ -47,6 +49,8 @@ public class TsUserServiceImpl extends ServiceImpl implements @Autowired private TsUserDao tsUserDao; @Autowired + private ITsUserService tsUserService; + @Autowired private ITsPositionService tsPositionService; @Autowired @Lazy @@ -59,6 +63,8 @@ public class TsUserServiceImpl extends ServiceImpl implements private SyncUserService syncUserService; @Autowired private TsPositionDao tsPositionDao; + @Autowired + private ITsInstitutionService tsInstitutionService; public void deleteUser(){ @@ -364,4 +370,40 @@ public class TsUserServiceImpl extends ServiceImpl implements }); return result; } + + @Override + public IPage getAllUsers(TsUser tsUser) { + List ids=new ArrayList<>(); + ids.add(tsUser.getInstitutionId()); + List middle=new ArrayList<>(); + middle.addAll(ids); + boolean flag=true; + while (flag){ + QueryWrapper queryWrapper=new QueryWrapper<>(); + queryWrapper.in("parent_id",middle); + List tsmiddle=tsInstitutionService.list(queryWrapper); + if (tsmiddle.size()>0){ + tsmiddle.forEach(tsInstitution -> { + middle.add(tsInstitution.getId()); + }); + middle.removeAll(ids); + ids.addAll(middle); + }else { + tsmiddle.forEach(tsInstitution -> { + middle.add(tsInstitution.getId()); + }); + middle.removeAll(ids); + ids.addAll(middle); + flag=false; + } + } + Page tsUserPage = new Page<>(); + tsUserPage.setCurrent(tsUser.getCurrent()); + tsUserPage.setSize(tsUser.getSize()); + tsUserPage.setRecords(tsUserDao.userUnderInstitution((tsUser.getCurrent()-1)*tsUser.getSize(),tsUser.getSize(),tsUser,ids)); + tsUserPage.setTotal(tsUserDao.userUnderInstitutionCount(tsUser,ids)); + return tsUserPage; + } + + } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml index 47413212..0a403363 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarUser/TsUserMapper.xml @@ -48,6 +48,49 @@ limit #{start},#{end} + + + +