|
@@ -1484,7 +1484,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
User auditTargetUser = userMapper.selectById(creatorId);
|
|
|
if (timeType.getReportAuditType() == 2) {
|
|
|
//先按分组审核,再进行项目经理审核
|
|
|
- List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().select("id, state, group_audit_state, project_id, project_audit_state").in("id", ids));
|
|
|
+ List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().select("id, state, group_audit_state, project_id, project_audit_state, project_auditor_id").in("id", ids));
|
|
|
List<Integer> assProjectIds = reportList.stream().map(Report::getProjectId).collect(Collectors.toList());
|
|
|
List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().select("id, incharger_id").in("id", assProjectIds));
|
|
|
Optional<Project> first = projectList.stream().filter(p -> StringUtils.isEmpty(p.getInchargerId())).findFirst();
|
|
@@ -1501,10 +1501,20 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
if (r.getGroupAuditState() == 0) {
|
|
|
r.setGroupAuditState(1);
|
|
|
r.setProjectAuditTime(LocalDateTime.now());
|
|
|
+
|
|
|
//分组审核完,该项目的pm审核了
|
|
|
Project project1 = projectList.stream().filter(project -> project.getId().equals(r.getProjectId())).findFirst().get();
|
|
|
- r.setProjectAuditorId(project1.getInchargerId());
|
|
|
- r.setProjectAuditorName(userMapper.selectById(project1.getInchargerId()).getName());
|
|
|
+
|
|
|
+ //如果分组负责人和项目经理是同一个人,那么就不需要项目经理审核了
|
|
|
+ if (r.getProjectAuditorId().equals(project1.getInchargerId())) {
|
|
|
+ r.setProjectAuditState(1);
|
|
|
+ r.setProjectAuditTime(LocalDateTime.now());
|
|
|
+ r.setState(1);
|
|
|
+ } else {
|
|
|
+ //不是同一个人,那么就需要项目经理审核
|
|
|
+ r.setProjectAuditorId(project1.getInchargerId());
|
|
|
+ r.setProjectAuditorName(userMapper.selectById(project1.getInchargerId()).getName());
|
|
|
+ }
|
|
|
} else if (r.getProjectAuditState() == 0) {
|
|
|
r.setProjectAuditState(1);
|
|
|
r.setProjectAuditTime(LocalDateTime.now());
|
|
@@ -2556,7 +2566,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
if (timeType.getReportAuditType() == 2) {
|
|
|
allUsers = userMapper.selectList(new QueryWrapper<User>().select("id, name, department_id").eq("company_id", company.getId()));
|
|
|
//先分组负责人审核,再项目负责人审核
|
|
|
- List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().select("id, state, group_audit_state, project_id, project_audit_state, creator_id, create_date, company_id").in("id", ids));
|
|
|
+ List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().select("id, state, group_audit_state, project_id, project_audit_state, project_auditor_id, creator_id, create_date, company_id").in("id", ids));
|
|
|
allReports = reportList;
|
|
|
List<Integer> assProjectIds = reportList.stream().map(Report::getProjectId).collect(Collectors.toList());
|
|
|
List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().select("id, incharger_id").in("id", assProjectIds));
|
|
@@ -2574,10 +2584,23 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
if (r.getGroupAuditState() == 0) {
|
|
|
r.setGroupAuditState(1);
|
|
|
r.setProjectAuditTime(LocalDateTime.now());
|
|
|
- //分组审核完,该项目的pm审核了
|
|
|
+
|
|
|
Project project1 = projectList.stream().filter(project -> project.getId().equals(r.getProjectId())).findFirst().get();
|
|
|
- r.setProjectAuditorId(project1.getInchargerId());
|
|
|
- r.setProjectAuditorName(userMapper.selectById(project1.getInchargerId()).getName());
|
|
|
+ Optional<User> pmFirst = allUsers.stream().filter(a -> a.getId().equals(project1.getInchargerId())).findFirst();
|
|
|
+ if (!pmFirst.isPresent()) {
|
|
|
+ httpRespMsg.setError(MessageUtils.message("project.masterError",project1.getProjectName()));
|
|
|
+ return httpRespMsg;
|
|
|
+ }
|
|
|
+ //如果分组负责人和项目经理是同一个人,那么就不需要项目经理审核了
|
|
|
+ if (r.getProjectAuditorId().equals(project1.getInchargerId())) {
|
|
|
+ r.setProjectAuditState(1);
|
|
|
+ r.setProjectAuditTime(LocalDateTime.now());
|
|
|
+ r.setState(1);
|
|
|
+ } else {
|
|
|
+ //分组审核完,该项目的pm审核了
|
|
|
+ r.setProjectAuditorId(project1.getInchargerId());
|
|
|
+ r.setProjectAuditorName(pmFirst.get().getName());
|
|
|
+ }
|
|
|
} else if (r.getProjectAuditState() == 0) {
|
|
|
r.setProjectAuditState(1);
|
|
|
r.setProjectAuditTime(LocalDateTime.now());
|