|
@@ -1743,7 +1743,7 @@ public class TaskController extends BladeController {
|
|
if (dto.getSelectedType().equals(1)) {
|
|
if (dto.getSelectedType().equals(1)) {
|
|
// 待办页面逻辑
|
|
// 待办页面逻辑
|
|
if (ObjectUtil.isNotEmpty(dto.getStatusValue()) && dto.getStatusValue().equals(1)) {
|
|
if (ObjectUtil.isNotEmpty(dto.getStatusValue()) && dto.getStatusValue().equals(1)) {
|
|
- sqlString.append("EXISTS (SELECT 1 FROM u_task_parallel WHERE u_task.process_instance_id = u_task_parallel.process_instance_id AND u_task_parallel.status = ? AND u_task_parallel.task_user = ? AND u_task_parallel.e_visa_content!='当前等待电签的批次较多,请等待几分钟后刷新页面查看........')");
|
|
|
|
|
|
+ sqlString.append("EXISTS (SELECT 1 FROM u_task_parallel WHERE u_task.process_instance_id = u_task_parallel.process_instance_id AND u_task_parallel.status = ? AND u_task_parallel.task_user = ? AND (u_task_parallel.e_visa_content!='当前等待电签的批次较多,请等待几分钟后刷新页面查看........' OR u_task_parallel.e_visa_content IS NULL))");
|
|
params.add(1);
|
|
params.add(1);
|
|
params.add(SecureUtil.getUserId());
|
|
params.add(SecureUtil.getUserId());
|
|
// 关联电签状态字段
|
|
// 关联电签状态字段
|
|
@@ -1757,7 +1757,7 @@ public class TaskController extends BladeController {
|
|
return R.data(emptyPage);
|
|
return R.data(emptyPage);
|
|
} else {
|
|
} else {
|
|
// 待办页未选状态:默认查待审批
|
|
// 待办页未选状态:默认查待审批
|
|
- sqlString.append("EXISTS (SELECT 1 FROM u_task_parallel WHERE u_task.process_instance_id = u_task_parallel.process_instance_id AND u_task_parallel.status = ? AND u_task_parallel.task_user = ? AND u_task_parallel.e_visa_content!='当前等待电签的批次较多,请等待几分钟后刷新页面查看........')");
|
|
|
|
|
|
+ sqlString.append("EXISTS (SELECT 1 FROM u_task_parallel WHERE u_task.process_instance_id = u_task_parallel.process_instance_id AND u_task_parallel.status = ? AND u_task_parallel.task_user = ? AND (u_task_parallel.e_visa_content!='当前等待电签的批次较多,请等待几分钟后刷新页面查看........' OR u_task_parallel.e_visa_content IS NULL))");
|
|
params.add(1);
|
|
params.add(1);
|
|
params.add(SecureUtil.getUserId());
|
|
params.add(SecureUtil.getUserId());
|
|
sqlString.append(" AND status = 1");
|
|
sqlString.append(" AND status = 1");
|
|
@@ -1848,47 +1848,51 @@ public class TaskController extends BladeController {
|
|
fixedsMap = new HashMap<>();
|
|
fixedsMap = new HashMap<>();
|
|
}
|
|
}
|
|
Map<String, List<TaskParallel>> finalTaskParallelGroupMap = taskParallelGroupMap;
|
|
Map<String, List<TaskParallel>> finalTaskParallelGroupMap = taskParallelGroupMap;
|
|
- List<Task> filteredList = allResultList.stream()
|
|
|
|
- .filter(task -> {
|
|
|
|
- // 获取任务流程信息,判断是否是垂直签
|
|
|
|
- if (task.getFixedFlowId() != null && fixedsMap.containsKey(task.getFixedFlowId())) {
|
|
|
|
- // 预设流程
|
|
|
|
- List<FixedFlowLink> fixedFlowLinks = fixedsMap.get(task.getFixedFlowId());
|
|
|
|
- List<FixedFlowLink> linkList = fixedFlowLinks.stream().filter(link -> link.getFixedFlowLinkType() == null).collect(Collectors.toList());
|
|
|
|
- if (linkList.isEmpty()) {
|
|
|
|
- // 获取垂直流程
|
|
|
|
- List<FixedFlowLink> collect = fixedFlowLinks.stream().filter(link -> link.getFixedFlowLinkType() != null && link.getFixedFlowLinkType() == 1).collect(Collectors.toList());
|
|
|
|
- if (!collect.isEmpty()) {
|
|
|
|
- // 走垂直审批逻辑
|
|
|
|
- return handleTaskParallel(fixedFlowLinks, finalTaskParallelGroupMap.get(task.getProcessInstanceId()), SecureUtil.getUserId());
|
|
|
|
|
|
+ List<Task> filteredList=new ArrayList<>();
|
|
|
|
+ if(dto.getSelectedType()==1){
|
|
|
|
+ filteredList= allResultList.stream()
|
|
|
|
+ .filter(task -> {
|
|
|
|
+ // 获取任务流程信息,判断是否是垂直签
|
|
|
|
+ if (task.getFixedFlowId() != null && fixedsMap.containsKey(task.getFixedFlowId())) {
|
|
|
|
+ // 预设流程
|
|
|
|
+ List<FixedFlowLink> fixedFlowLinks = fixedsMap.get(task.getFixedFlowId());
|
|
|
|
+ List<FixedFlowLink> linkList = fixedFlowLinks.stream().filter(link -> link.getFixedFlowLinkType() == null).collect(Collectors.toList());
|
|
|
|
+ if (linkList.isEmpty()) {
|
|
|
|
+ // 获取垂直流程
|
|
|
|
+ List<FixedFlowLink> collect = fixedFlowLinks.stream().filter(link -> link.getFixedFlowLinkType() != null && link.getFixedFlowLinkType() == 1).collect(Collectors.toList());
|
|
|
|
+ if (!collect.isEmpty()) {
|
|
|
|
+ // 走垂直审批逻辑
|
|
|
|
+ return handleTaskParallel(fixedFlowLinks, finalTaskParallelGroupMap.get(task.getProcessInstanceId()), SecureUtil.getUserId());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- }
|
|
|
|
- // 仅处理垂直签+待办页面的过滤逻辑
|
|
|
|
- if (((projectInfo != null && projectInfo.getApprovalType() == 1)) && dto.getSelectedType() == 1) {
|
|
|
|
- List<TaskParallel> parallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
|
|
- if (CollectionUtil.isEmpty(parallelList)) {
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
- boolean shouldDisplay = false;
|
|
|
|
- for (TaskParallel tp : parallelList) {
|
|
|
|
- // 当前用户是审批人:显示
|
|
|
|
- if (SecureUtil.getUserId().equals(Long.parseLong(tp.getTaskUser()))) {
|
|
|
|
- shouldDisplay = true;
|
|
|
|
- break;
|
|
|
|
|
|
+ // 仅处理垂直签+待办页面的过滤逻辑
|
|
|
|
+ if (((projectInfo != null && projectInfo.getApprovalType() == 1)) && dto.getSelectedType() == 1) {
|
|
|
|
+ List<TaskParallel> parallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
|
|
+ if (CollectionUtil.isEmpty(parallelList)) {
|
|
|
|
+ return false;
|
|
}
|
|
}
|
|
- // 前序审批未完成:不显示
|
|
|
|
- if (tp.getStatus() != 2) {
|
|
|
|
- break;
|
|
|
|
|
|
+ boolean shouldDisplay = false;
|
|
|
|
+ for (TaskParallel tp : parallelList) {
|
|
|
|
+ // 当前用户是审批人:显示
|
|
|
|
+ if (SecureUtil.getUserId().equals(Long.parseLong(tp.getTaskUser()))) {
|
|
|
|
+ shouldDisplay = true;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ // 前序审批未完成:不显示
|
|
|
|
+ if (tp.getStatus() != 2) {
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ return shouldDisplay;
|
|
}
|
|
}
|
|
- return shouldDisplay;
|
|
|
|
- }
|
|
|
|
- // 其他场景:直接保留
|
|
|
|
- return true;
|
|
|
|
- })
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
-
|
|
|
|
|
|
+ // 其他场景:直接保留
|
|
|
|
+ return true;
|
|
|
|
+ })
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+ }else {
|
|
|
|
+ filteredList= allResultList;
|
|
|
|
+ }
|
|
// 7. 基于过滤后的数据计算分页
|
|
// 7. 基于过滤后的数据计算分页
|
|
int current = dto.getCurrent();
|
|
int current = dto.getCurrent();
|
|
int size = dto.getSize();
|
|
int size = dto.getSize();
|