|
@@ -2221,9 +2221,12 @@ public class TaskController extends BladeController {
|
|
}
|
|
}
|
|
|
|
|
|
private boolean checkTheTaskPersonSort(List<TaskParallel> taskParallels) {
|
|
private boolean checkTheTaskPersonSort(List<TaskParallel> taskParallels) {
|
|
- //未完成审批人信息
|
|
|
|
- List<String> name = new ArrayList<>();
|
|
|
|
- //是否为最后一个审批人
|
|
|
|
|
|
+ List<TaskParallel> taskParallelList = BeanUtil.copyProperties(taskParallels, TaskParallel.class);
|
|
|
|
+
|
|
|
|
+ /*未完成审批人名称*/
|
|
|
|
+ List<String> uncompletedName = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ /*最终审批人*/
|
|
boolean isCurrentUserLastApprover = false;
|
|
boolean isCurrentUserLastApprover = false;
|
|
|
|
|
|
/*平行签审批,首先排除相同sort,只判断自己的顺序*/
|
|
/*平行签审批,首先排除相同sort,只判断自己的顺序*/
|
|
@@ -2234,6 +2237,7 @@ public class TaskController extends BladeController {
|
|
Integer currentSort = current.getSort();
|
|
Integer currentSort = current.getSort();
|
|
taskParallels.removeIf(f -> f.getSort().equals(currentSort) && !f.getTaskUser().equals(SecureUtil.getUserId().toString()));
|
|
taskParallels.removeIf(f -> f.getSort().equals(currentSort) && !f.getTaskUser().equals(SecureUtil.getUserId().toString()));
|
|
|
|
|
|
|
|
+ /*解析*/
|
|
for (TaskParallel parallel : taskParallels) {
|
|
for (TaskParallel parallel : taskParallels) {
|
|
if (parallel.getTaskUser().equals(SecureUtil.getUserId().toString())) {
|
|
if (parallel.getTaskUser().equals(SecureUtil.getUserId().toString())) {
|
|
if (parallel.getStatus().equals(2)) {
|
|
if (parallel.getStatus().equals(2)) {
|
|
@@ -2242,18 +2246,27 @@ public class TaskController extends BladeController {
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
if (parallel.getStatus() != 2) {
|
|
if (parallel.getStatus() != 2) {
|
|
- name.add(parallel.getTaskUserName());
|
|
|
|
|
|
+ uncompletedName.add(parallel.getTaskUserName());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if (name.size() > 0) {
|
|
|
|
- throw new ServiceException("当前任务还有【" + StringUtils.join(name, "、") + "】未完成审批,请您稍后再试");
|
|
|
|
|
|
+ if (uncompletedName.size() > 0) {
|
|
|
|
+ throw new ServiceException("当前任务还有【" + StringUtils.join(uncompletedName, "、") + "】未完成审批,请您稍后再试");
|
|
}
|
|
}
|
|
|
|
|
|
- TaskParallel taskParallel = taskParallels.get(taskParallels.size() - 1);
|
|
|
|
- if (taskParallel.getTaskUser().equals(SecureUtil.getUserId().toString())) {
|
|
|
|
- isCurrentUserLastApprover = true;
|
|
|
|
|
|
+ /*判断平行签情况:最后一个人如果为平行签人,那么判断是否还有同sort人员的审批状态*/
|
|
|
|
+ TaskParallel taskParallel_1 = taskParallelList.get(taskParallelList.size() - 1);
|
|
|
|
+ if (taskParallel_1.getTaskUser().equals(SecureUtil.getUserId().toString())) {
|
|
|
|
+ /*其他人是否已完成,都完成的情况下才视为最终审批人*/
|
|
|
|
+ List<TaskParallel> collect = taskParallelList.stream()
|
|
|
|
+ .filter(f -> f.getSort().equals(taskParallel_1.getSort())
|
|
|
|
+ && !f.getTaskUser().equals(SecureUtil.getUserId().toString()))
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+ /*如果还有待审批(status=1)的,那么非最终审批人;只有全部是已审批(status=2)才视为最终审批人*/
|
|
|
|
+ List<TaskParallel> collect1 = collect.stream().filter(f -> f.getStatus().equals(1)).collect(Collectors.toList());
|
|
|
|
+ if (collect1.size() == 0) {
|
|
|
|
+ isCurrentUserLastApprover = true;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
return isCurrentUserLastApprover;
|
|
return isCurrentUserLastApprover;
|
|
}
|
|
}
|
|
|
|
|