|
@@ -248,7 +248,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
List<Integer> uIds = new ArrayList<>();
|
|
List<Integer> uIds = new ArrayList<>();
|
|
List<ProjectVO> projects = new ArrayList<>();
|
|
List<ProjectVO> projects = new ArrayList<>();
|
|
List<Integer> projectIds = new ArrayList<>();
|
|
List<Integer> projectIds = new ArrayList<>();
|
|
- projectIds.add(-1);
|
|
|
|
if (Constant.SYS_PARENT_ID == user.getParentId()) {
|
|
if (Constant.SYS_PARENT_ID == user.getParentId()) {
|
|
projects = projectMapper.getProjectListByUid(keyName, user);
|
|
projects = projectMapper.getProjectListByUid(keyName, user);
|
|
} else if (Constant.SYS_ID == user.getParentId()) {
|
|
} else if (Constant.SYS_ID == user.getParentId()) {
|
|
@@ -257,15 +256,19 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
//资产方管理员,看到自己创建的项目
|
|
//资产方管理员,看到自己创建的项目
|
|
qwr.select("id").eq("creator_id", user.getId());
|
|
qwr.select("id").eq("creator_id", user.getId());
|
|
projectIds = projectMapper.selectList(qwr).stream().map(Project::getId).collect(Collectors.toList());
|
|
projectIds = projectMapper.selectList(qwr).stream().map(Project::getId).collect(Collectors.toList());
|
|
- projects = projectMapper.getProjectListByUidInProjectIds(keyName,projectIds);
|
|
|
|
|
|
+ projectIds.add(-1);
|
|
|
|
+ projects = projectMapper.getProjectListByUidInProjectIds(keyName, projectIds);
|
|
} else if (user.getSubordinateType() == 1) {
|
|
} else if (user.getSubordinateType() == 1) {
|
|
projectIds = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", user.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
|
|
projectIds = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", user.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
|
|
- projects = projectMapper.getProjectListByUidInProjectIds(keyName,projectIds); }
|
|
|
|
|
|
+ projectIds.add(-1);
|
|
|
|
+ projects = projectMapper.getProjectListByUidInProjectIds(keyName, projectIds);
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
|
|
|
|
QueryWrapper<Project> qwPro = new QueryWrapper<>();
|
|
QueryWrapper<Project> qwPro = new QueryWrapper<>();
|
|
qwPro.eq("manager_id", user.getId());
|
|
qwPro.eq("manager_id", user.getId());
|
|
- projectIds = projectMapper.selectList(qwPro).stream().map(Project::getId).collect(Collectors.toList());;
|
|
|
|
|
|
+ projectIds = projectMapper.selectList(qwPro).stream().map(Project::getId).collect(Collectors.toList());
|
|
|
|
+ projectIds.add(-1);
|
|
//项目经理或者普通用户
|
|
//项目经理或者普通用户
|
|
projectIds.addAll(projectUserMapper.selectList(new QueryWrapper<ProjectUser>()
|
|
projectIds.addAll(projectUserMapper.selectList(new QueryWrapper<ProjectUser>()
|
|
.eq("user_id", user.getId()))
|
|
.eq("user_id", user.getId()))
|
|
@@ -278,7 +281,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
.stream()
|
|
.stream()
|
|
.map(ProjectApprove::getProjectId)
|
|
.map(ProjectApprove::getProjectId)
|
|
.collect(Collectors.toList()));
|
|
.collect(Collectors.toList()));
|
|
- projects = projectMapper.getProjectListByUidInProjectIds(keyName,projectIds);
|
|
|
|
|
|
+ projects = projectMapper.getProjectListByUidInProjectIds(keyName, projectIds);
|
|
}
|
|
}
|
|
PageInfo<ProjectVO> pageInfos = new PageInfo<>(projects);
|
|
PageInfo<ProjectVO> pageInfos = new PageInfo<>(projects);
|
|
msg.data = pageInfos;
|
|
msg.data = pageInfos;
|
|
@@ -312,31 +315,79 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
public HttpRespMsg getProjectDetail(Project project, String token) {
|
|
public HttpRespMsg getProjectDetail(Project project, String token) {
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
|
|
+ User user = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
|
|
|
|
+ List<Project> projects = new ArrayList<>();
|
|
|
|
+ if (user != null) {
|
|
|
|
+ List<Integer> uIds = new ArrayList<>();
|
|
|
|
+ List<Integer> projectIds = new ArrayList<>();
|
|
|
|
+ if (Constant.SYS_PARENT_ID == user.getParentId()) {
|
|
|
|
+ projects = projectMapper.selectList(new QueryWrapper<Project>());
|
|
|
|
+ } else if (Constant.SYS_ID == user.getParentId()) {
|
|
|
|
+ if (user.getSubordinateType() == 0) {
|
|
|
|
+ QueryWrapper<Project> qwr = new QueryWrapper<>();
|
|
|
|
+ //资产方管理员,看到自己创建的项目
|
|
|
|
+ qwr.select("id").eq("creator_id", user.getId());
|
|
|
|
+ projectIds = projectMapper.selectList(qwr).stream().map(Project::getId).collect(Collectors.toList());
|
|
|
|
+ projectIds.add(-1);
|
|
|
|
+ projects = projectMapper.selectList(new QueryWrapper<Project>().in("id", projectIds));
|
|
|
|
+ } else if (user.getSubordinateType() == 1) {
|
|
|
|
+ projectIds = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", user.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
|
|
|
|
+ projectIds.add(-1);
|
|
|
|
+ projects = projectMapper.selectList(new QueryWrapper<Project>().in("id", projectIds));
|
|
|
|
+ } else {
|
|
|
|
+
|
|
|
|
+ QueryWrapper<Project> qwPro = new QueryWrapper<>();
|
|
|
|
+ qwPro.eq("manager_id", user.getId());
|
|
|
|
+ projectIds = projectMapper.selectList(qwPro).stream().map(Project::getId).collect(Collectors.toList());
|
|
|
|
+ projectIds.add(-1);
|
|
|
|
+ //项目经理或者普通用户
|
|
|
|
+ projectIds.addAll(projectUserMapper.selectList(new QueryWrapper<ProjectUser>()
|
|
|
|
+ .eq("user_id", user.getId()))
|
|
|
|
+ .stream()
|
|
|
|
+ .map(ProjectUser::getProjectId)
|
|
|
|
+ .collect(Collectors.toList()));
|
|
|
|
+ //作为审批人
|
|
|
|
+ projectIds.addAll(projectApproveMapper.selectList(new QueryWrapper<ProjectApprove>()
|
|
|
|
+ .eq("approver_id", user.getId()))
|
|
|
|
+ .stream()
|
|
|
|
+ .map(ProjectApprove::getProjectId)
|
|
|
|
+ .collect(Collectors.toList()));
|
|
|
|
+ projects = projectMapper.selectList(new QueryWrapper<Project>().in("id", projectIds));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ msg.setError("当前用户不存,或涉及到权限问题,请重新登录");
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
|
|
+ List<Integer> pIds = projects.stream().map(Project::getId).collect(Collectors.toList());
|
|
|
|
+ if(!pIds.contains(project.getId())){
|
|
|
|
+ msg.setError("您没有查看该项目的权限");
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
ProjectVO vo = projectMapper.getProjectById(project.getId());
|
|
ProjectVO vo = projectMapper.getProjectById(project.getId());
|
|
- User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", token));
|
|
|
|
- if (Constant.SYS_PARENT_ID == currentUser.getParentId()) {
|
|
|
|
|
|
+ if (Constant.SYS_PARENT_ID == user.getParentId()) {
|
|
//当前人超级管理员 ,对项目只可以浏览
|
|
//当前人超级管理员 ,对项目只可以浏览
|
|
map.put("update", 0);
|
|
map.put("update", 0);
|
|
map.put("download", 0);
|
|
map.put("download", 0);
|
|
map.put("view", 1);
|
|
map.put("view", 1);
|
|
map.put("approve", 0);
|
|
map.put("approve", 0);
|
|
- } else if (Constant.SYS_ID == currentUser.getParentId()) {
|
|
|
|
|
|
+ } else if (Constant.SYS_ID == user.getParentId()) {
|
|
//当前为系统管理员
|
|
//当前为系统管理员
|
|
- if(Constant.ASSETS_COMPANY == currentUser.getSubordinateType()){
|
|
|
|
|
|
+ if (Constant.ASSETS_COMPANY == user.getSubordinateType()) {
|
|
map.put("update", 1);
|
|
map.put("update", 1);
|
|
map.put("download", 1);
|
|
map.put("download", 1);
|
|
map.put("view", 1);
|
|
map.put("view", 1);
|
|
map.put("approve", 0);
|
|
map.put("approve", 0);
|
|
- }else if(Constant.PRODUCER_COMPANY == currentUser.getSubordinateType()){
|
|
|
|
|
|
+ } else if (Constant.PRODUCER_COMPANY == user.getSubordinateType()) {
|
|
map.put("update", 0);
|
|
map.put("update", 0);
|
|
map.put("download", 1);
|
|
map.put("download", 1);
|
|
map.put("view", 1);
|
|
map.put("view", 1);
|
|
map.put("approve", 0);
|
|
map.put("approve", 0);
|
|
}
|
|
}
|
|
- } else if (vo.getManagerId() == currentUser.getId()) {
|
|
|
|
|
|
+ } else if (vo.getManagerId() == user.getId()) {
|
|
//当前人是该项目的项目经理
|
|
//当前人是该项目的项目经理
|
|
Integer approve = 0;
|
|
Integer approve = 0;
|
|
- if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", currentUser.getId())) > 0) {
|
|
|
|
|
|
+ if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", user.getId())) > 0) {
|
|
//查看当前项目经理是否为审批人
|
|
//查看当前项目经理是否为审批人
|
|
approve = 1;
|
|
approve = 1;
|
|
}
|
|
}
|
|
@@ -344,14 +395,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
map.put("download", 1);
|
|
map.put("download", 1);
|
|
map.put("view", 1);
|
|
map.put("view", 1);
|
|
map.put("approve", approve);
|
|
map.put("approve", approve);
|
|
- } else if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", currentUser.getId())) > 0) {
|
|
|
|
|
|
+ } else if (projectApproveMapper.selectCount(new QueryWrapper<ProjectApprove>().eq("approver_id", user.getId())) > 0) {
|
|
//是否为审批人
|
|
//是否为审批人
|
|
//该项目的参与人
|
|
//该项目的参与人
|
|
Integer update = 0;
|
|
Integer update = 0;
|
|
Integer download = 0;
|
|
Integer download = 0;
|
|
Integer view = 0;
|
|
Integer view = 0;
|
|
Integer approve = 1;
|
|
Integer approve = 1;
|
|
- List<Power> powers = powerMapper.selectList(new QueryWrapper<Power>().eq("project_id", project.getId()).eq("user_id", currentUser.getId()));
|
|
|
|
|
|
+ List<Power> powers = powerMapper.selectList(new QueryWrapper<Power>().eq("project_id", project.getId()).eq("user_id", user.getId()));
|
|
if (powers.size() > 0) {
|
|
if (powers.size() > 0) {
|
|
for (Power power : powers) {
|
|
for (Power power : powers) {
|
|
if (power.getPowerType() == 0) {
|
|
if (power.getPowerType() == 0) {
|
|
@@ -375,7 +426,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
Integer download = 0;
|
|
Integer download = 0;
|
|
Integer view = 0;
|
|
Integer view = 0;
|
|
Integer approve = 0;
|
|
Integer approve = 0;
|
|
- List<Power> powers = powerMapper.selectList(new QueryWrapper<Power>().eq("project_id", project.getId()).eq("user_id", currentUser.getId()));
|
|
|
|
|
|
+ List<Power> powers = powerMapper.selectList(new QueryWrapper<Power>().eq("project_id", project.getId()).eq("user_id", user.getId()));
|
|
if (powers.size() > 0) {
|
|
if (powers.size() > 0) {
|
|
for (Power power : powers) {
|
|
for (Power power : powers) {
|
|
if (power.getPowerType() == 0) {
|
|
if (power.getPowerType() == 0) {
|
|
@@ -473,10 +524,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
moulds = mouldMapper.selectListByCondition(userVO);
|
|
moulds = mouldMapper.selectListByCondition(userVO);
|
|
} else if (Constant.SYS_ID == userVO.getParentId()) {
|
|
} else if (Constant.SYS_ID == userVO.getParentId()) {
|
|
|
|
|
|
- if(Constant.ASSETS_COMPANY == userVO.getSubordinateType()){
|
|
|
|
|
|
+ if (Constant.ASSETS_COMPANY == userVO.getSubordinateType()) {
|
|
//资产方管理员
|
|
//资产方管理员
|
|
moulds = mouldMapper.selectListByCondition(userVO);
|
|
moulds = mouldMapper.selectListByCondition(userVO);
|
|
- }else if(Constant.PRODUCER_COMPANY == userVO.getSubordinateType()){
|
|
|
|
|
|
+ } else if (Constant.PRODUCER_COMPANY == userVO.getSubordinateType()) {
|
|
set = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", userVO.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
|
|
set = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", userVO.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
|
|
moulds = mouldMapper.selectListByConditionByProject(userVO, set);
|
|
moulds = mouldMapper.selectListByConditionByProject(userVO, set);
|
|
}
|
|
}
|
|
@@ -575,8 +626,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
} else {
|
|
} else {
|
|
if (Constant.SYS_ID == user.getParentId()) {
|
|
if (Constant.SYS_ID == user.getParentId()) {
|
|
//admin创建人员,获取该公司下的所有项目
|
|
//admin创建人员,获取该公司下的所有项目
|
|
- list = projectMapper.selectList(new QueryWrapper<Project>().eq("owner_company", user.getCompanyId()));
|
|
|
|
- }else{
|
|
|
|
|
|
+ list = projectMapper.selectList(new QueryWrapper<Project>().eq("owner_company", user.getCompanyId()));
|
|
|
|
+ } else {
|
|
//项目经理创建人员,获取当前项目经理的充当项目经理的任务
|
|
//项目经理创建人员,获取当前项目经理的充当项目经理的任务
|
|
list = projectMapper.selectList(new QueryWrapper<Project>().eq("manager_id", user.getId()));
|
|
list = projectMapper.selectList(new QueryWrapper<Project>().eq("manager_id", user.getId()));
|
|
}
|
|
}
|
|
@@ -600,10 +651,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
moulds = mouldMapper.selectListByCondition(userVO);
|
|
moulds = mouldMapper.selectListByCondition(userVO);
|
|
} else if (Constant.SYS_ID == userVO.getParentId()) {
|
|
} else if (Constant.SYS_ID == userVO.getParentId()) {
|
|
|
|
|
|
- if(Constant.ASSETS_COMPANY == userVO.getSubordinateType()){
|
|
|
|
|
|
+ if (Constant.ASSETS_COMPANY == userVO.getSubordinateType()) {
|
|
//资产方管理员
|
|
//资产方管理员
|
|
moulds = mouldMapper.selectListByCondition(userVO);
|
|
moulds = mouldMapper.selectListByCondition(userVO);
|
|
- }else if(Constant.PRODUCER_COMPANY == userVO.getSubordinateType()){
|
|
|
|
|
|
+ } else if (Constant.PRODUCER_COMPANY == userVO.getSubordinateType()) {
|
|
set = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", userVO.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
|
|
set = customCompanyMapper.selectList(new QueryWrapper<CustomCompany>().eq("company_id", userVO.getCompanyId())).stream().map(CustomCompany::getProjectId).collect(Collectors.toList());
|
|
moulds = mouldMapper.selectListByConditionByProject(userVO, set);
|
|
moulds = mouldMapper.selectListByConditionByProject(userVO, set);
|
|
}
|
|
}
|