|
@@ -1338,6 +1338,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
httpRespMsg.data = nameList;
|
|
httpRespMsg.data = nameList;
|
|
} catch (NullPointerException e) {
|
|
} catch (NullPointerException e) {
|
|
//httpRespMsg.setError("验证失败");
|
|
//httpRespMsg.setError("验证失败");
|
|
|
|
+ e.printStackTrace();
|
|
httpRespMsg.setError(MessageUtils.message("access.verificationError"));
|
|
httpRespMsg.setError(MessageUtils.message("access.verificationError"));
|
|
return httpRespMsg;
|
|
return httpRespMsg;
|
|
}
|
|
}
|
|
@@ -1708,18 +1709,24 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
}
|
|
}
|
|
}else if(timeType.getReportAuditType() == 5){
|
|
}else if(timeType.getReportAuditType() == 5){
|
|
List<Report> updateReportList = new ArrayList<>();
|
|
List<Report> updateReportList = new ArrayList<>();
|
|
- //项目所属BU审核
|
|
|
|
- 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").in("id", ids));
|
|
|
|
|
|
+ //人员所属部门负责人审核或者直属领导审核
|
|
|
|
+ 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").in("id", ids));
|
|
for (Report r : reportList) {
|
|
for (Report r : reportList) {
|
|
- //部门负责人审核
|
|
|
|
- if(user.getId().equals(r.getAuditDeptManagerid())){
|
|
|
|
- r.setState(1);
|
|
|
|
- r.setDepartmentAuditState(1);
|
|
|
|
|
|
+ //直属领导审核或者部门负责人审核
|
|
|
|
+ Report newReport = new Report();
|
|
|
|
+ newReport.setId(r.getId());
|
|
|
|
+ if(hasAuditAllPri || ((r.getProjectAuditorId() != null && user.getId().equals(r.getProjectAuditorId()))
|
|
|
|
+ || (r.getProjectAuditorId() == null && user.getId().equals(r.getAuditDeptManagerid())))){
|
|
|
|
+ newReport.setState(1);
|
|
|
|
+ newReport.setDepartmentAuditState(1);
|
|
|
|
+ newReport.setProjectAuditState(1);
|
|
|
|
+ newReport.setProjectAuditTime(LocalDateTime.now());
|
|
}else {
|
|
}else {
|
|
- httpRespMsg.setError("非当前日报所属人员所在部门主要负责人");
|
|
|
|
|
|
+ httpRespMsg.setError("您无权审核该日报");
|
|
return httpRespMsg;
|
|
return httpRespMsg;
|
|
}
|
|
}
|
|
- updateReportList.add(r);
|
|
|
|
|
|
+ updateReportList.add(newReport);
|
|
}
|
|
}
|
|
if (updateReportList.size() > 0) {
|
|
if (updateReportList.size() > 0) {
|
|
updateBatchById(updateReportList);
|
|
updateBatchById(updateReportList);
|
|
@@ -2120,10 +2127,16 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
}
|
|
}
|
|
Report oneReport = reportMapper.selectById(ids.get(0));
|
|
Report oneReport = reportMapper.selectById(ids.get(0));
|
|
if(timeType.getReportAuditType()==5){
|
|
if(timeType.getReportAuditType()==5){
|
|
- //日报审核类型为5时,只有日报所属人员所在部门主要负责人或者有审核全公司日报的权限才能审核
|
|
|
|
|
|
+ //日报审核类型为5时,只有日报所属人员所在部门主要负责人或者有审核全公司日报的权限才能审核,或者填报人的直属审核人
|
|
Integer roleId = user.getRoleId();
|
|
Integer roleId = user.getRoleId();
|
|
boolean canAuditAllReport = sysFunctionService.hasPriviledge(roleId, "审核全员日报");
|
|
boolean canAuditAllReport = sysFunctionService.hasPriviledge(roleId, "审核全员日报");
|
|
- if(!user.getId().equals(oneReport.getAuditDeptManagerid()) && !canAuditAllReport){
|
|
|
|
|
|
+ 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)){
|
|
httpRespMsg.setError("您无权操作权限");
|
|
httpRespMsg.setError("您无权操作权限");
|
|
return httpRespMsg;
|
|
return httpRespMsg;
|
|
}
|
|
}
|
|
@@ -2763,6 +2776,36 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
if (updateReportList.size() > 0) {
|
|
if (updateReportList.size() > 0) {
|
|
updateBatchById(updateReportList);
|
|
updateBatchById(updateReportList);
|
|
}
|
|
}
|
|
|
|
+ } else if(timeType.getReportAuditType() == 5){
|
|
|
|
+ allUsers = userMapper.selectList(new QueryWrapper<User>().select("id, name, department_id").eq("company_id", company.getId()));
|
|
|
|
+ List<Report> updateReportList = new ArrayList<>();
|
|
|
|
+ //人员所属部门负责人审核或者直属领导审核
|
|
|
|
+ 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").in("id", ids));
|
|
|
|
+ allReports = reportList;
|
|
|
|
+ for (Report r : reportList) {
|
|
|
|
+ //直属领导审核或者部门负责人审核
|
|
|
|
+ Report newReport = new Report();
|
|
|
|
+ newReport.setId(r.getId());
|
|
|
|
+ if(hasAuditAllPri || ((r.getProjectAuditorId() != null && user.getId().equals(r.getProjectAuditorId()))
|
|
|
|
+ || (r.getProjectAuditorId() == null && user.getId().equals(r.getAuditDeptManagerid())))){
|
|
|
|
+ r.setState(1);
|
|
|
|
+ r.setDepartmentAuditState(1);
|
|
|
|
+ r.setProjectAuditState(1);
|
|
|
|
+ r.setProjectAuditTime(LocalDateTime.now());
|
|
|
|
+ newReport.setState(1);
|
|
|
|
+ newReport.setDepartmentAuditState(1);
|
|
|
|
+ newReport.setProjectAuditState(1);
|
|
|
|
+ newReport.setProjectAuditTime(LocalDateTime.now());
|
|
|
|
+ } else {
|
|
|
|
+ httpRespMsg.setError("您无权审核该日报");
|
|
|
|
+ return httpRespMsg;
|
|
|
|
+ }
|
|
|
|
+ updateReportList.add(newReport);
|
|
|
|
+ }
|
|
|
|
+ if (updateReportList.size() > 0) {
|
|
|
|
+ updateBatchById(updateReportList);
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
List<AuditWorkflowTimeSetting> settings = auditWorkflowTimeSettingMapper.selectList(
|
|
List<AuditWorkflowTimeSetting> settings = auditWorkflowTimeSettingMapper.selectList(
|
|
new QueryWrapper<AuditWorkflowTimeSetting>().eq("company_id", company.getId())
|
|
new QueryWrapper<AuditWorkflowTimeSetting>().eq("company_id", company.getId())
|