|
@@ -1129,9 +1129,16 @@ public class TaskController extends BladeController {
|
|
|
@ApiOperationSupport(order = 1)
|
|
|
@ApiOperation(value = "资料填报-任务管理-任务查看分页查询", notes = "传入BusinessTaskDTO")
|
|
|
public R<IPage<BusinessTaskPageVO>> page(@RequestBody BusinessTaskDTO dto) throws IOException {
|
|
|
+ if (ObjectUtil.isEmpty(SecureUtil.getUser())) {
|
|
|
+ throw new ServiceException("未获取到当前用户信息,请联系管理员");
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isEmpty(dto.getProjectIdValue())) {
|
|
|
+ throw new ServiceException("未获取到当前用户所在的项目信息,请联系管理员");
|
|
|
+ }
|
|
|
if (ObjectUtil.isEmpty(dto.getCurrentContractId())) {
|
|
|
throw new ServiceException("未获取到当前用户所在的合同段信息,请联系管理员");
|
|
|
}
|
|
|
+ ProjectInfo projectInfo = jdbcTemplate.query("select approval_type from m_project_info where id = " + dto.getProjectIdValue(), new BeanPropertyRowMapper<>(ProjectInfo.class)).stream().findAny().orElse(null);
|
|
|
int current = dto.getCurrent();
|
|
|
int size = dto.getSize();
|
|
|
//封装入参SQL
|
|
@@ -1297,6 +1304,24 @@ public class TaskController extends BladeController {
|
|
|
vo.setProcessInstanceId(task.getProcessInstanceId());
|
|
|
List<TaskParallel> taskParallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
|
if (taskParallelList != null && taskParallelList.size() > 0) {
|
|
|
+ //如果是垂直签,判断是否是当前用户审批轮次,不是当前用户审批轮次就不显示该任务
|
|
|
+ if (projectInfo != null && projectInfo.getApprovalType() == 1) {
|
|
|
+ boolean shouldDisplayTask = false; //标记是否显示当前任务
|
|
|
+ for (TaskParallel taskParallel : taskParallelList) {
|
|
|
+ if (SecureUtil.getUserId().equals(Long.parseLong(taskParallel.getTaskUser()))) {
|
|
|
+ shouldDisplayTask = true; //当前用户是审批人,需要显示任务
|
|
|
+ break;
|
|
|
+ } else if (taskParallel.getStatus() != 2) {
|
|
|
+ //之前的审批人员任务未完成,不显示任务
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!shouldDisplayTask) {
|
|
|
+ //跳过当前任务
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
List<String> names = taskParallelList.stream().map(TaskParallel::getTaskUserName).collect(Collectors.toList());
|
|
|
if (names.size() > 0) {
|
|
|
vo.setTaskApproveUserNames(StringUtils.join(names, ","));
|
|
@@ -1330,6 +1355,7 @@ public class TaskController extends BladeController {
|
|
|
}
|
|
|
return vo;
|
|
|
})
|
|
|
+ .filter(Objects::nonNull) //过滤掉为null的任务
|
|
|
.collect(Collectors.toList());
|
|
|
page.setRecords(pageList);
|
|
|
page.setTotal(totalCount);
|
|
@@ -1433,7 +1459,7 @@ public class TaskController extends BladeController {
|
|
|
} else {
|
|
|
sqlString.append(" AND EXISTS (SELECT 1 FROM u_task_parallel WHERE u_task.process_instance_id = u_task_parallel.process_instance_id AND u_task_parallel.e_visa_status = 99 AND u_task_parallel.status != 3)");
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
if (StringUtils.isNotBlank(dto.getEVisaUserName())) {
|
|
|
sqlString.append(" AND EXISTS (SELECT 1 FROM u_task_parallel WHERE u_task.process_instance_id = u_task_parallel.process_instance_id AND u_task_parallel.e_visa_status = 1 AND u_task_parallel.status = 2 AND u_task_parallel.task_user_name LIKE ?)");
|
|
|
params.add("%" + dto.getEVisaUserName() + "%");
|