|
@@ -12127,4 +12127,53 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HttpRespMsg userProjectProcessList(Integer deptId, String userId, Integer projectId,Integer pageIndex, Integer pageSize) {
|
|
|
+ HttpRespMsg msg=new HttpRespMsg();
|
|
|
+ User user = userMapper.selectById(request.getHeader("token"));
|
|
|
+ Integer companyId = user.getCompanyId();
|
|
|
+ boolean viewAll = sysFunctionService.hasPriviledge(user.getRoleId(), "全部员工项目进度表");
|
|
|
+ boolean incharger = sysFunctionService.hasPriviledge(user.getRoleId(), "负责部门员工项目进度表");
|
|
|
+ List<Department> allDeptList = departmentMapper.selectList(new LambdaQueryWrapper<Department>().eq(Department::getCompanyId, companyId));
|
|
|
+ List<Map<String,Object>> resultList;
|
|
|
+ Long total;
|
|
|
+ Integer size=null;
|
|
|
+ Integer start=null;
|
|
|
+ if(pageIndex!=null&&pageSize!=null){
|
|
|
+ size=pageSize;
|
|
|
+ start=(pageIndex-1)*size;
|
|
|
+ }
|
|
|
+ //是否具有查看全部数据的权限
|
|
|
+ if(!viewAll){
|
|
|
+ if(!incharger){
|
|
|
+ //只能查看本人的数据
|
|
|
+ resultList=projectMapper.userProjectProcessList(deptId,user.getId(),projectId,companyId,null,start,size);
|
|
|
+ total=projectMapper.userProjectProcessCount(deptId,user.getId(),projectId,companyId,null);
|
|
|
+ }else {
|
|
|
+ List<Department> departmentList = departmentMapper.selectList(new LambdaQueryWrapper<Department>().select(Department::getDepartmentId).eq(Department::getManagerId, user.getId()));
|
|
|
+ List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", user.getId()));
|
|
|
+ List<Integer> deptIds=new ArrayList<>();
|
|
|
+ List<Integer> theCollect = departmentList.stream().map(dm -> dm.getDepartmentId()).distinct().collect(Collectors.toList());
|
|
|
+ theCollect.add(-1);
|
|
|
+ List<Integer> otherCollect = departmentOtherManagerList.stream().map(dom -> dom.getDepartmentId()).distinct().collect(Collectors.toList());
|
|
|
+ otherCollect.add(-1);
|
|
|
+ theCollect.addAll(otherCollect);
|
|
|
+ for (Integer integer : theCollect) {
|
|
|
+ List<Integer> branchDepartment = getBranchDepartment(integer, allDeptList);
|
|
|
+ deptIds.addAll(branchDepartment);
|
|
|
+ }
|
|
|
+ resultList=projectMapper.userProjectProcessList(deptId,userId,projectId,companyId,deptIds,start,size);
|
|
|
+ total=projectMapper.userProjectProcessCount(deptId,userId,projectId,companyId,deptIds);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ resultList=projectMapper.userProjectProcessList(deptId,userId,projectId,companyId,null,start,size);
|
|
|
+ total=projectMapper.userProjectProcessCount(deptId,userId,projectId,companyId,null);
|
|
|
+ }
|
|
|
+ Map<String,Object> resultMap=new HashMap<>();
|
|
|
+ resultMap.put("record",resultList);
|
|
|
+ resultMap.put("total",total);
|
|
|
+ msg.setData(resultMap);
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
}
|