|
@@ -1607,15 +1607,17 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
projectVO.setProjectSeparate(first1.get());
|
|
|
}
|
|
|
}else if (companyId==Constant.MLD_COMPANY_ID){
|
|
|
- List<ProjectLeader> leaderCollect = leaderList.stream().filter(l -> l.getProjectId().equals(project.getId())).collect(Collectors.toList());
|
|
|
- leaderCollect.forEach(l->{
|
|
|
- Optional<User> userOptional = userList.stream().filter(u -> u.getId().equals(l.getLeaderId())).findFirst();
|
|
|
- if(userOptional.isPresent()){
|
|
|
- User user1 = userOptional.get();
|
|
|
- l.setUserName(user1.getName());
|
|
|
- }
|
|
|
- });
|
|
|
- projectVO.setLeaderList(leaderCollect);
|
|
|
+ if (!leaderList.isEmpty()) {
|
|
|
+ List<ProjectLeader> leaderCollect = leaderList.stream().filter(l ->l.getProjectId()!=null&& l.getProjectId().equals(project.getId())).collect(Collectors.toList());
|
|
|
+ leaderCollect.forEach(l -> {
|
|
|
+ Optional<User> userOptional = userList.stream().filter(u -> u.getId().equals(l.getLeaderId())).findFirst();
|
|
|
+ if (userOptional.isPresent()) {
|
|
|
+ User user1 = userOptional.get();
|
|
|
+ l.setUserName(user1.getName());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ projectVO.setLeaderList(leaderCollect);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//工程专业版:计算当前项目的总进度
|
|
@@ -1700,6 +1702,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
|
|
|
//添加或编辑项目
|
|
|
+ @Transactional
|
|
|
@Override
|
|
|
public HttpRespMsg editProject(Integer id, String name, String code, String[] userIds, String inchargerId,
|
|
|
Integer isPublic,
|
|
@@ -1775,6 +1778,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
String oldInchargerId = null;
|
|
|
Project oldProject = null;
|
|
|
if (id == null) {
|
|
|
+ ArrayList<ProjectLeader> leaderArrayList = new ArrayList<>();
|
|
|
//新增项目
|
|
|
if (name == null) {
|
|
|
//httpRespMsg.setError("请填写项目名称");
|
|
@@ -1864,6 +1868,26 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
} else {
|
|
|
project.setCustomerName("");
|
|
|
}
|
|
|
+ if (companyId==Constant.MLD_COMPANY_ID){
|
|
|
+ if (leaderIds!=null&&leaderIds.length>0) {
|
|
|
+ List<User> userManagers = userMapper.selectList(new QueryWrapper<User>()
|
|
|
+ .eq("role_name", "区域经理&PM").eq("company_id",companyId));
|
|
|
+ for (String leaderId : leaderIds) {
|
|
|
+ ProjectLeader leader = new ProjectLeader();
|
|
|
+ leader.setProjectId(project.getId());
|
|
|
+ leader.setLeaderId(leaderId);
|
|
|
+ if (!userManagers.isEmpty()){
|
|
|
+ boolean b = userManagers.stream().anyMatch(u -> u.getId().equals(leaderId));
|
|
|
+ if (b){
|
|
|
+ httpRespMsg.setError("区域经理不能担任小组长");
|
|
|
+ return httpRespMsg;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ leader.setCompanyId(companyId);
|
|
|
+ leaderArrayList.add(leader);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
if (projectMapper.insert(project) == 0) {
|
|
|
//httpRespMsg.setError("操作失败");
|
|
|
httpRespMsg.setError(MessageUtils.message("other.operationFail"));
|
|
@@ -1874,23 +1898,17 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
if (projectKeyNodesData != null) {
|
|
|
updateProjectKeyNodesData(projectKeyNodesData, project.getId());
|
|
|
}
|
|
|
+
|
|
|
+ }if (companyId==Constant.MLD_COMPANY_ID) {
|
|
|
+ if (leaderIds != null && leaderIds.length > 0) {
|
|
|
+ leaderArrayList.forEach(l->l.setProjectId(project.getId()));
|
|
|
+ projectLeaderService.saveBatch(leaderArrayList);
|
|
|
+ }
|
|
|
}
|
|
|
id = project.getId();
|
|
|
if(companyId==936){
|
|
|
projectSeparate.setId(id);
|
|
|
projectSeparateMapper.insert(projectSeparate);
|
|
|
- }else if (companyId==Constant.MLD_COMPANY_ID){
|
|
|
- if (leaderIds!=null&&leaderIds.length>0) {
|
|
|
- ArrayList<ProjectLeader> leaderArrayList = new ArrayList<>();
|
|
|
- for (String leaderId : leaderIds) {
|
|
|
- ProjectLeader leader = new ProjectLeader();
|
|
|
- leader.setProjectId(project.getId());
|
|
|
- leader.setLeaderId(leaderId);
|
|
|
- leader.setCompanyId(companyId);
|
|
|
- leaderArrayList.add(leader);
|
|
|
- }
|
|
|
- projectLeaderService.saveBatch(leaderArrayList);
|
|
|
- }
|
|
|
}
|
|
|
OperationRecord operationRecord=new OperationRecord();
|
|
|
operationRecord.setProjectName(project.getProjectName());
|
|
@@ -2163,6 +2181,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
}else if (companyId==Constant.MLD_COMPANY_ID){
|
|
|
projectLeaderService.remove(new QueryWrapper<ProjectLeader>().eq("project_id",p.getId()));
|
|
|
+ List<User> userManagers = userMapper.selectList(new QueryWrapper<User>()
|
|
|
+ .eq("role_name", "区域经理&PM").eq("company_id",companyId));
|
|
|
if (leaderIds!=null&&leaderIds.length>0) {
|
|
|
ArrayList<ProjectLeader> leaderArrayList = new ArrayList<>();
|
|
|
for (String leaderId : leaderIds) {
|
|
@@ -2170,6 +2190,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
leader.setProjectId(p.getId());
|
|
|
leader.setLeaderId(leaderId);
|
|
|
leader.setCompanyId(companyId);
|
|
|
+ if (!userManagers.isEmpty()){
|
|
|
+ boolean b = userManagers.stream().anyMatch(u -> u.getId().equals(leaderId));
|
|
|
+ if (b){
|
|
|
+ httpRespMsg.setError("区域经理不能担任小组长");
|
|
|
+ return httpRespMsg;
|
|
|
+ }
|
|
|
+ }
|
|
|
leaderArrayList.add(leader);
|
|
|
}
|
|
|
projectLeaderService.saveBatch(leaderArrayList);
|
|
@@ -2409,7 +2436,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
projectDeptRelateMapper.delete(new LambdaQueryWrapper<ProjectDeptRelate>()
|
|
|
.eq(ProjectDeptRelate::getProjectId,id)
|
|
|
);
|
|
|
- if(CollectionUtils.isNotEmpty(deptList)){
|
|
|
+ if(CollectionUtils.isNotEmpty(deptList)&&id!=null){
|
|
|
projectDeptRelateMapper.insertBatch(id,deptList);
|
|
|
}
|
|
|
|