|
@@ -1129,9 +1129,16 @@ public class TaskController extends BladeController {
|
|
@ApiOperationSupport(order = 1)
|
|
@ApiOperationSupport(order = 1)
|
|
@ApiOperation(value = "资料填报-任务管理-任务查看分页查询", notes = "传入BusinessTaskDTO")
|
|
@ApiOperation(value = "资料填报-任务管理-任务查看分页查询", notes = "传入BusinessTaskDTO")
|
|
public R<IPage<BusinessTaskPageVO>> page(@RequestBody BusinessTaskDTO dto) throws IOException {
|
|
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())) {
|
|
if (ObjectUtil.isEmpty(dto.getCurrentContractId())) {
|
|
throw new ServiceException("未获取到当前用户所在的合同段信息,请联系管理员");
|
|
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 current = dto.getCurrent();
|
|
int size = dto.getSize();
|
|
int size = dto.getSize();
|
|
//封装入参SQL
|
|
//封装入参SQL
|
|
@@ -1297,6 +1304,24 @@ public class TaskController extends BladeController {
|
|
vo.setProcessInstanceId(task.getProcessInstanceId());
|
|
vo.setProcessInstanceId(task.getProcessInstanceId());
|
|
List<TaskParallel> taskParallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
List<TaskParallel> taskParallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
if (taskParallelList != null && taskParallelList.size() > 0) {
|
|
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());
|
|
List<String> names = taskParallelList.stream().map(TaskParallel::getTaskUserName).collect(Collectors.toList());
|
|
if (names.size() > 0) {
|
|
if (names.size() > 0) {
|
|
vo.setTaskApproveUserNames(StringUtils.join(names, ","));
|
|
vo.setTaskApproveUserNames(StringUtils.join(names, ","));
|
|
@@ -1330,6 +1355,7 @@ public class TaskController extends BladeController {
|
|
}
|
|
}
|
|
return vo;
|
|
return vo;
|
|
})
|
|
})
|
|
|
|
+ .filter(Objects::nonNull) //过滤掉为null的任务
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
page.setRecords(pageList);
|
|
page.setRecords(pageList);
|
|
page.setTotal(totalCount);
|
|
page.setTotal(totalCount);
|
|
@@ -1433,7 +1459,7 @@ public class TaskController extends BladeController {
|
|
} else {
|
|
} 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)");
|
|
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())) {
|
|
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 ?)");
|
|
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() + "%");
|
|
params.add("%" + dto.getEVisaUserName() + "%");
|
|
@@ -1557,15 +1583,15 @@ public class TaskController extends BladeController {
|
|
String resultIds = processInstanceIds.stream()
|
|
String resultIds = processInstanceIds.stream()
|
|
.map(id -> "'" + id + "'")
|
|
.map(id -> "'" + id + "'")
|
|
.collect(Collectors.joining(","));
|
|
.collect(Collectors.joining(","));
|
|
- taskParallelGroupMap = jdbcTemplate.query("select parallel_process_instance_id,process_instance_id,task_user_name from u_task_parallel where process_instance_id in(" + resultIds + ") order by id", new BeanPropertyRowMapper<>(TaskParallel.class)).stream().collect(Collectors.groupingBy(TaskParallel::getProcessInstanceId));
|
|
|
|
|
|
+ taskParallelGroupMap = jdbcTemplate.query("select parallel_process_instance_id,process_instance_id,e_visa_status,task_user,task_user_name,status from u_task_parallel where process_instance_id in(" + resultIds + ") order by id", new BeanPropertyRowMapper<>(TaskParallel.class)).stream().collect(Collectors.groupingBy(TaskParallel::getProcessInstanceId));
|
|
}
|
|
}
|
|
Map<String, List<TaskParallel>> finalTaskParallelGroupMap = taskParallelGroupMap;
|
|
Map<String, List<TaskParallel>> finalTaskParallelGroupMap = taskParallelGroupMap;
|
|
|
|
|
|
for (Task task : taskList) {
|
|
for (Task task : taskList) {
|
|
List<TaskParallel> taskParallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
List<TaskParallel> taskParallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
for (TaskParallel taskParallel : taskParallelList) {
|
|
for (TaskParallel taskParallel : taskParallelList) {
|
|
- //待审批的不进行重签
|
|
|
|
- if (!(new Integer(1)).equals(taskParallel.getStatus())) {
|
|
|
|
|
|
+ //待审批的不进行重签, 存在待审批,但是电签状态是失败的
|
|
|
|
+ if (!(new Integer(1)).equals(taskParallel.getStatus()) || (taskParallel.getEVisaStatus() != null && taskParallel.getEVisaStatus() == 99)) {
|
|
TaskApprovalVO approvalVO = new TaskApprovalVO();
|
|
TaskApprovalVO approvalVO = new TaskApprovalVO();
|
|
approvalVO.setTaskId(task.getId().toString());
|
|
approvalVO.setTaskId(task.getId().toString());
|
|
approvalVO.setFlag("OK");
|
|
approvalVO.setFlag("OK");
|
|
@@ -1574,6 +1600,7 @@ public class TaskController extends BladeController {
|
|
approvalVO.setFormDataId(task.getFormDataId());
|
|
approvalVO.setFormDataId(task.getFormDataId());
|
|
approvalVO.setParallelProcessInstanceId(taskParallel.getParallelProcessInstanceId());
|
|
approvalVO.setParallelProcessInstanceId(taskParallel.getParallelProcessInstanceId());
|
|
approvalVO.setYsNickName(taskParallel.getTaskUserName());
|
|
approvalVO.setYsNickName(taskParallel.getTaskUserName());
|
|
|
|
+ approvalVO.setUserId(Long.parseLong(taskParallel.getTaskUser()));
|
|
taskApprovalVOS.add(approvalVO);
|
|
taskApprovalVOS.add(approvalVO);
|
|
}
|
|
}
|
|
}
|
|
}
|