|
@@ -2137,6 +2137,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
boolean hasAuditAllPri = sysFunctionService.hasPriviledge(user.getRoleId(), "审核全员日报");
|
|
|
List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().select("id, state, group_audit_state, creator_id, create_date, project_id,audit_dept_managerid,department_audit_state, project_auditor_id, is_dept_audit").in("id", ids));
|
|
|
Integer onlyAuditOnce = userMapper.selectById(reportList.get(0).getCreatorId()).getOnlyAuditOnce();
|
|
|
+ //5情况下,可能设置了第二和第三审核人
|
|
|
+ String secondAuditor = timeType.getSecondAuditor();
|
|
|
+ String thirdAuditor = timeType.getThirdAuditor();
|
|
|
for (Report r : reportList) {
|
|
|
//直属领导审核或者部门负责人审核
|
|
|
Report newReport = new Report();
|
|
@@ -2144,9 +2147,25 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
if (timeType.getReportAuditType() == 5) {
|
|
|
if(hasAuditAllPri || ((r.getIsDeptAudit() == 0 && user.getId().equals(r.getProjectAuditorId()))
|
|
|
|| (r.getIsDeptAudit() == 1 && user.getId().equals(r.getAuditDeptManagerid())))){
|
|
|
- newReport.setState(1);
|
|
|
- newReport.setDepartmentAuditState(1);
|
|
|
- newReport.setProjectAuditState(1);
|
|
|
+ if (thirdAuditor != null && secondAuditor != null) {
|
|
|
+ if (user.getId().equals(thirdAuditor)) {
|
|
|
+ //当前为第三审核人在审核,直接通过
|
|
|
+ newReport.setState(1);
|
|
|
+ newReport.setDepartmentAuditState(1);
|
|
|
+ newReport.setProjectAuditState(1);
|
|
|
+ } else if (user.getId().equals(secondAuditor)) {
|
|
|
+ newReport.setIsDeptAudit(0);
|
|
|
+ newReport.setProjectAuditorId(thirdAuditor);
|
|
|
+ } else {
|
|
|
+ //第一层审核,转给第二审核人
|
|
|
+ newReport.setIsDeptAudit(0);
|
|
|
+ newReport.setProjectAuditorId(secondAuditor);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ newReport.setState(1);
|
|
|
+ newReport.setDepartmentAuditState(1);
|
|
|
+ newReport.setProjectAuditState(1);
|
|
|
+ }
|
|
|
newReport.setProjectAuditTime(LocalDateTime.now());
|
|
|
}else {
|
|
|
httpRespMsg.setError("您无权审核该日报");
|
|
@@ -2734,12 +2753,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
Integer roleId = user.getRoleId();
|
|
|
boolean canAuditAllReport = sysFunctionService.hasPriviledge(roleId, "审核全员日报");
|
|
|
boolean isDirectAudit = false;
|
|
|
- String reporterSuperiorId = userMapper.selectById(oneReport.getCreatorId()).getSuperiorId();
|
|
|
- if(reporterSuperiorId!=null && reporterSuperiorId.equals(user.getId().toString())){
|
|
|
- isDirectAudit = true;
|
|
|
- }
|
|
|
-
|
|
|
- if(!(isDirectAudit || (reporterSuperiorId == null && user.getId().equals(oneReport.getAuditDeptManagerid())) || canAuditAllReport)){
|
|
|
+ if (!(canAuditAllReport || user.getId().equals(oneReport.getProjectAuditorId()) || user.getId().equals(oneReport.getAuditDeptManagerid()))) {
|
|
|
httpRespMsg.setError("您无权操作权限");
|
|
|
return httpRespMsg;
|
|
|
}
|
|
@@ -3436,6 +3450,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
//人员所属部门负责人审核或者直属领导审核
|
|
|
boolean hasAuditAllPri = sysFunctionService.hasPriviledge(user.getRoleId(), "审核全员日报");
|
|
|
List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().select("id, state, group_audit_state, creator_id, create_date, project_id,audit_dept_managerid,department_audit_state, project_auditor_id, is_dept_audit").in("id", ids));
|
|
|
+ String secondAuditor = timeType.getSecondAuditor();
|
|
|
+ String thirdAuditor = timeType.getThirdAuditor();
|
|
|
allReports = reportList;
|
|
|
for (Report r : reportList) {
|
|
|
//直属领导审核或者部门负责人审核
|
|
@@ -3444,13 +3460,36 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
if (timeType.getReportAuditType() == 5) {
|
|
|
if(hasAuditAllPri || ((r.getIsDeptAudit() == 0 && user.getId().equals(r.getProjectAuditorId()))
|
|
|
|| (r.getIsDeptAudit() == 1 && user.getId().equals(r.getAuditDeptManagerid())))){
|
|
|
- r.setState(1);
|
|
|
- r.setDepartmentAuditState(1);
|
|
|
- r.setProjectAuditState(1);
|
|
|
+ if (thirdAuditor != null && secondAuditor != null) {
|
|
|
+ if (user.getId().equals(thirdAuditor)) {
|
|
|
+ //当前为第三审核人在审核,直接通过
|
|
|
+ r.setState(1);
|
|
|
+ r.setDepartmentAuditState(1);
|
|
|
+ r.setProjectAuditState(1);
|
|
|
+ newReport.setState(1);
|
|
|
+ newReport.setDepartmentAuditState(1);
|
|
|
+ newReport.setProjectAuditState(1);
|
|
|
+ } else if (user.getId().equals(secondAuditor)) {
|
|
|
+ r.setIsDeptAudit(0);
|
|
|
+ r.setProjectAuditorId(thirdAuditor);
|
|
|
+ newReport.setIsDeptAudit(0);
|
|
|
+ newReport.setProjectAuditorId(thirdAuditor);
|
|
|
+ } else {
|
|
|
+ //第一层审核,转给第二审核人
|
|
|
+ r.setIsDeptAudit(0);
|
|
|
+ r.setProjectAuditorId(secondAuditor);
|
|
|
+ newReport.setIsDeptAudit(0);
|
|
|
+ newReport.setProjectAuditorId(secondAuditor);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ r.setState(1);
|
|
|
+ r.setDepartmentAuditState(1);
|
|
|
+ r.setProjectAuditState(1);
|
|
|
+ newReport.setState(1);
|
|
|
+ newReport.setDepartmentAuditState(1);
|
|
|
+ newReport.setProjectAuditState(1);
|
|
|
+ }
|
|
|
r.setProjectAuditTime(LocalDateTime.now());
|
|
|
- newReport.setState(1);
|
|
|
- newReport.setDepartmentAuditState(1);
|
|
|
- newReport.setProjectAuditState(1);
|
|
|
newReport.setProjectAuditTime(LocalDateTime.now());
|
|
|
} else {
|
|
|
httpRespMsg.setError("您无权审核该日报");
|