|
@@ -164,6 +164,76 @@ public class SysUserController {
|
|
|
result.setResult(pageList);
|
|
|
|
|
|
|
|
|
+ log.info(pageList.toString());
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ @RequestMapping(value = "/listBy", method = RequestMethod.GET)
|
|
|
+ public Result<IPage<SysUser>> queryPageListBy(SysUser user,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
|
|
+ @RequestParam(name="pageSize", defaultValue="300") Integer pageSize,HttpServletRequest req) {
|
|
|
+ Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
|
|
|
+// String deptName = user.getDeptName();
|
|
|
+ String[] deptName = {"人事","后勤部","财务一部"};//user.getDeptName();
|
|
|
+ user.setDeptName(null);
|
|
|
+
|
|
|
+ String syHireType = user.getSyHireType();
|
|
|
+ user.setSyHireType(null);
|
|
|
+ QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap());
|
|
|
+// queryWrapper.like(StringUtils.isNotBlank(realname),"realname",realname);
|
|
|
+ Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
|
|
|
+ //根据公司id过滤
|
|
|
+// LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
|
|
|
+// queryWrapper.lambda().like(SysUser::getPkOrg,sysUser.getOrgCode());
|
|
|
+ if(StringUtils.isNotBlank(syHireType) && syHireType.equals("在职")){
|
|
|
+ queryWrapper.last("and IFNULL(sy_Hire_Type,'在职') !='离职' order by substring_index(work_no, '-', 1) + 0 asc,work_no asc");
|
|
|
+ }else{
|
|
|
+ queryWrapper.last("order by substring_index(work_no, '-', 1) + 0 asc,work_no asc");
|
|
|
+ }
|
|
|
+ List<String> deptList = new ArrayList<>();
|
|
|
+ for(String o:deptName){
|
|
|
+ SysUser user2 = new SysUser();
|
|
|
+ user2.setDeptName(o);
|
|
|
+ List<SysUser> aa = sysUserMapper.selectUserInfo("T",user2);
|
|
|
+
|
|
|
+ for(SysUser a:aa){
|
|
|
+ deptList.add(a.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(deptList.size() > 0){
|
|
|
+ queryWrapper.lambda().in(SysUser::getId,deptList);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ IPage<SysUser> pageList = sysUserService.page(page, queryWrapper);
|
|
|
+
|
|
|
+ List<SysPosition> positionList = sysPositionService.list();
|
|
|
+ Map<String,String> map = new HashMap<>();
|
|
|
+ for(SysPosition o:positionList){
|
|
|
+ map.put(o.getCode(),o.getName());
|
|
|
+ }
|
|
|
+
|
|
|
+ pageList.getRecords().forEach( item ->{
|
|
|
+ if(StringUtils.isNotBlank(item.getPost()) && map.containsKey(item.getPost())){
|
|
|
+ item.setPostName(map.get(item.getPost()));
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ //批量查询用户的所属部门
|
|
|
+ //step.1 先拿到全部的 useids
|
|
|
+ //step.2 通过 useids,一次性查询用户的所属部门名字
|
|
|
+ List<String> userIds = pageList.getRecords().stream().map(SysUser::getId).collect(Collectors.toList());
|
|
|
+ if(userIds!=null && userIds.size()>0){
|
|
|
+ Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
|
|
|
+ pageList.getRecords().forEach(item->{
|
|
|
+ //TODO 临时借用这个字段用于页面展示
|
|
|
+ item.setOrgCode(useDepNames.get(item.getId()));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ result.setSuccess(true);
|
|
|
+ result.setResult(pageList);
|
|
|
+
|
|
|
+
|
|
|
log.info(pageList.toString());
|
|
|
return result;
|
|
|
}
|