|
@@ -902,9 +902,10 @@ public class ReportController {
|
|
|
}
|
|
|
}
|
|
|
try {
|
|
|
+ User reportor = targetUidList == null ? user : userService.getById(targetUidList.get(0));
|
|
|
List<AuditWorkflowTimeSetting> auditWorkflowList
|
|
|
= auditWorkflowTimeSettingMapper.selectList(
|
|
|
- new QueryWrapper<AuditWorkflowTimeSetting>().eq("dept_id", user.getDepartmentId()).orderByAsc("seq"));
|
|
|
+ new QueryWrapper<AuditWorkflowTimeSetting>().eq("dept_id", reportor.getDepartmentId()).orderByAsc("seq"));
|
|
|
List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", user.getCompanyId()));
|
|
|
|
|
|
//准备全局的校验数据
|
|
@@ -913,7 +914,7 @@ public class ReportController {
|
|
|
if (comTimeType.getType() == 2) {
|
|
|
excludeTimeList = timeAutoExcludeMapper.selectList(new QueryWrapper<TimeAutoExclude>().eq("company_id", user.getCompanyId()));
|
|
|
//按当前填报人所属部门或者全公司来匹配
|
|
|
- excludeTimeList = excludeTimeList.stream().filter(ex->ex.getDId() == null || ex.getDId().equals(user.getDepartmentId())).collect(Collectors.toList());
|
|
|
+ excludeTimeList = excludeTimeList.stream().filter(ex->ex.getDId() == null || ex.getDId().equals(reportor.getDepartmentId())).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < id.length; i++) {
|
|
@@ -1142,6 +1143,7 @@ public class ReportController {
|
|
|
} else {
|
|
|
//批量代填的情况
|
|
|
for (User subsUser : targetUserList) {
|
|
|
+ System.out.println("这是代填=========");
|
|
|
Report report = new Report()
|
|
|
.setId(id[i] == -1 ? null : id[i])
|
|
|
.setProjectId(projectId[i])
|
|
@@ -1154,7 +1156,7 @@ public class ReportController {
|
|
|
.setCustomData(customData[i])
|
|
|
.setStage(stage != null && stage.length>0?stage[i]:"-")
|
|
|
// .setState(auditWorkflowList.size() == 0?1:0)//代填的如果没有自定义审核流程就直接审核通过了
|
|
|
- .setCompanyId(user.getCompanyId())
|
|
|
+ .setCompanyId(subsUser.getCompanyId())
|
|
|
.setPicAdd(pics!=null?pics[i]:null)
|
|
|
.setPicStr(picStr!=null?picStr[i]:null)
|
|
|
.setCreateDate(LocalDate.parse(createDate[i], DateTimeFormatter.ofPattern("yyyy-MM-dd")))
|
|
@@ -1179,34 +1181,38 @@ public class ReportController {
|
|
|
report.setState(draft==0?0:3);
|
|
|
} else {
|
|
|
//并非并行审核模式下的代填,需要设置审核状态
|
|
|
- if (auditWorkflowList.size() == 0) {
|
|
|
- //没有自定义审核流,直接代填的,还是走正常的审核流程
|
|
|
- report.setIsDeptAudit(0);
|
|
|
- report.setIsFinalAudit(1);
|
|
|
- report.setState(0);
|
|
|
- } else {
|
|
|
- //有审核流程的,取项目经理后面的流程节点
|
|
|
- int projectLeaderNodeIndex = 0;
|
|
|
- for (int t=0;t<auditWorkflowList.size(); t++) {
|
|
|
- if (auditWorkflowList.get(t).getIsDeptAudit() == 0) {
|
|
|
- projectLeaderNodeIndex = t;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- if (projectLeaderNodeIndex == auditWorkflowList.size() -1) {
|
|
|
- //最后一个节点就是项目经理,那就不用审核了,直接通过
|
|
|
- report.setState(1);
|
|
|
- } else {
|
|
|
- //否则取下一个节点,待审核
|
|
|
- report.setState(0);
|
|
|
- int nextIndex = projectLeaderNodeIndex + 1;
|
|
|
- AuditWorkflowTimeSetting nextNode = auditWorkflowList.get(nextIndex);
|
|
|
- report.setIsFinalAudit((nextIndex == auditWorkflowList.size()-1)?1:0);
|
|
|
- report.setIsDeptAudit(nextNode.getIsDeptAudit());
|
|
|
- report.setAuditDeptid(nextNode.getAuditDeptId());
|
|
|
- report.setAuditDeptManagerid(nextNode.getAuditDeptId() != null?allDeptList.stream().filter(d->d.getDepartmentId().equals(nextNode.getAuditDeptId())).findFirst().get().getManagerId(): null);
|
|
|
- }
|
|
|
- }
|
|
|
+ report.setState(0);
|
|
|
+ setReportWorkflowAuditor(auditWorkflowList, allDeptList, report,comTimeType);
|
|
|
+
|
|
|
+// if (auditWorkflowList.size() == 0) {
|
|
|
+// //没有自定义审核流,直接代填的,还是走正常的审核流程
|
|
|
+// report.setIsDeptAudit(0);
|
|
|
+// report.setIsFinalAudit(1);
|
|
|
+// report.setState(0);
|
|
|
+// } else {
|
|
|
+// System.out.println("代填的情况下,有自定义审核流程");
|
|
|
+
|
|
|
+// int projectLeaderNodeIndex = 0;
|
|
|
+// for (int t=0;t<auditWorkflowList.size(); t++) {
|
|
|
+// if (auditWorkflowList.get(t).getIsDeptAudit() == 0) {
|
|
|
+// projectLeaderNodeIndex = t;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if (projectLeaderNodeIndex == auditWorkflowList.size() -1) {
|
|
|
+// //最后一个节点就是项目经理,那就不用审核了,直接通过
|
|
|
+// report.setState(1);
|
|
|
+// } else {
|
|
|
+// //否则取下一个节点,待审核
|
|
|
+// report.setState(0);
|
|
|
+// int nextIndex = projectLeaderNodeIndex + 1;
|
|
|
+// AuditWorkflowTimeSetting nextNode = auditWorkflowList.get(nextIndex);
|
|
|
+// report.setIsFinalAudit((nextIndex == auditWorkflowList.size()-1)?1:0);
|
|
|
+// report.setIsDeptAudit(nextNode.getIsDeptAudit());
|
|
|
+// report.setAuditDeptid(nextNode.getAuditDeptId());
|
|
|
+// report.setAuditDeptManagerid(nextNode.getAuditDeptId() != null?allDeptList.stream().filter(d->d.getDepartmentId().equals(nextNode.getAuditDeptId())).findFirst().get().getManagerId(): null);
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
|
|
@@ -2163,6 +2169,7 @@ public class ReportController {
|
|
|
report.setIsFinalAudit(auditWorkflowList.size() > 1?0:1);
|
|
|
report.setIsDeptAudit(firstNode.getIsDeptAudit());
|
|
|
report.setAuditDeptid(firstNode.getAuditDeptId());
|
|
|
+ System.out.println("firstNode.getIsDeptAudit() = " + firstNode.getIsDeptAudit());
|
|
|
if (firstNode.getIsDeptAudit() == 1) {
|
|
|
Department curDept = allDeptList.stream()
|
|
|
.filter(ad->ad.getDepartmentId().equals(firstNode.getAuditDeptId())).findFirst().get();
|