|
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.management.platform.constant.Constant;
|
|
|
import com.management.platform.controller.WeiXinCorpController;
|
|
|
import com.management.platform.entity.*;
|
|
|
+import com.management.platform.entity.vo.SysRichFunction;
|
|
|
import com.management.platform.entity.vo.UserVO;
|
|
|
import com.management.platform.mapper.*;
|
|
|
import com.management.platform.service.*;
|
|
@@ -159,6 +160,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
private ThirdPartyInterfaceMapper thirdPartyInterfaceMapper;
|
|
|
@Resource
|
|
|
SysConfigMapper sysConfigMapper;
|
|
|
+ @Resource
|
|
|
+ private ReportFormMapper reportFormMapper;
|
|
|
|
|
|
public static String provider_access_token = null;
|
|
|
public static long providerTokenExpireTime = 0L;
|
|
@@ -2411,32 +2414,39 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpRespMsg getUserListByRole(HttpServletRequest request) {
|
|
|
+ public HttpRespMsg getUserListByRole(HttpServletRequest request,String tableName) {
|
|
|
HttpRespMsg httpRespMsg=new HttpRespMsg();
|
|
|
User user = userMapper.selectById(request.getHeader("token"));
|
|
|
- SysRole sysRole = sysRoleMapper.selectById(user.getRoleId());
|
|
|
+ ReportForm reportForm = reportFormMapper.selectOne(new QueryWrapper<ReportForm>().eq("report_form_name", tableName));
|
|
|
+ List<SysFunction> sysFunctionList = sysFunctionMapper.selectList(new QueryWrapper<SysFunction>().eq("report_form_id", reportForm.getId()));
|
|
|
+ String allName = sysFunctionList.stream().filter(sl -> sl.getName().contains("全公司")||sl.getName().contains("全部")||sl.getName().contains("工时成本预警表")||sl.getName().contains("日报待审核")).findFirst().get().getName();
|
|
|
+ String deptName = sysFunctionList.stream().filter(sl -> sl.getName().contains("负责部门")||sl.getName().contains("负责")||sl.getName().contains("工时成本预警表")||sl.getName().contains("日报待审核")).findFirst().get().getName();
|
|
|
+ List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(user.getRoleId(),allName);
|
|
|
+ List<SysRichFunction> functionDeptList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), deptName);
|
|
|
List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", user.getId()));
|
|
|
List<DepartmentOtherManager> otherManagers = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", user.getId()));
|
|
|
//获取全部子部门
|
|
|
List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", user.getCompanyId()));
|
|
|
- List<Integer> collect = departmentList.stream().distinct().map(Department::getDepartmentId).collect(Collectors.toList());
|
|
|
- List<Integer> collect1 = otherManagers.stream().distinct().map(DepartmentOtherManager::getDepartmentId).collect(Collectors.toList());
|
|
|
List<Integer> deptIds=new ArrayList<>();
|
|
|
- for (Integer departmentId : collect) {
|
|
|
- List<Integer> ids = departmentService.getDeptIncludeSubDeptIds(departmentId, allDeptList);
|
|
|
- deptIds.addAll(ids);
|
|
|
- }
|
|
|
- for (Integer departmentId : collect1) {
|
|
|
- List<Integer> ids = departmentService.getDeptIncludeSubDeptIds(departmentId, allDeptList);
|
|
|
- deptIds.addAll(ids);
|
|
|
- }
|
|
|
- if(deptIds!=null&&deptIds.size()>0){
|
|
|
- List<User> userList = userMapper.selectList(new QueryWrapper<User>().in("department_id", deptIds));
|
|
|
- if(sysRole.getRolename().equals("超级管理员")){
|
|
|
- userList= userMapper.selectList(new QueryWrapper<User>().eq("company_id", user.getCompanyId()));
|
|
|
+ List<User> userList=new ArrayList<>();
|
|
|
+ //判断查看权限
|
|
|
+ if(functionAllList.size()==0){
|
|
|
+ deptIds=new ArrayList<>();
|
|
|
+ deptIds.add(-1);
|
|
|
+ if(functionDeptList.size()>0){
|
|
|
+ List<Integer> collect = departmentList.stream().distinct().map(dm -> dm.getDepartmentId()).collect(Collectors.toList());
|
|
|
+ List<Integer> otherCollect = otherManagers.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
|
|
|
+ collect.addAll(otherCollect);
|
|
|
+ for (Integer integer : collect) {
|
|
|
+ List<Integer> branchDepartment = departmentService.getDeptIncludeSubDeptIds(integer, allDeptList);
|
|
|
+ deptIds.addAll(branchDepartment);
|
|
|
+ }
|
|
|
}
|
|
|
- httpRespMsg.data=userList;
|
|
|
+ userList = userMapper.selectList(new QueryWrapper<User>().in("department_id", deptIds));
|
|
|
+ }else {
|
|
|
+ userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", user.getCompanyId()));
|
|
|
}
|
|
|
+ httpRespMsg.data=userList;
|
|
|
return httpRespMsg;
|
|
|
}
|
|
|
|