|
@@ -1303,7 +1303,8 @@ public class TaskController extends BladeController {
|
|
|
int size = dto.getSize();
|
|
|
//封装入参SQL
|
|
|
List<Object> params = new ArrayList<>();
|
|
|
- StringBuilder sqlString = new StringBuilder("SELECT * FROM u_task WHERE 1=1 AND is_deleted = 0 AND approval_type in(1,3,4,8,9,10)");
|
|
|
+ String sqlResult = "SELECT * ";
|
|
|
+ StringBuilder sqlString = new StringBuilder(" FROM u_task WHERE 1=1 AND is_deleted = 0 AND approval_type in(1,3,4,8,9,10)");
|
|
|
if (ObjectUtil.isNotEmpty(dto.getTypeValue())) {
|
|
|
sqlString.append(" AND type = ?");
|
|
|
params.add(dto.getTypeValue());
|
|
@@ -1379,7 +1380,8 @@ public class TaskController extends BladeController {
|
|
|
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 = ?)");
|
|
|
params.add(1);
|
|
|
params.add(SecureUtil.getUserId());
|
|
|
-
|
|
|
+ sqlResult = "SELECT *, (SELECT ifnull(e_visa_status, -1) FROM u_task_parallel WHERE u_task.process_instance_id = u_task_parallel.process_instance_id AND u_task_parallel.STATUS = 1 " +
|
|
|
+ "AND u_task_parallel.task_user = " + SecureUtil.getUserId() + " and is_deleted = 0 order by id desc limit 1) as e_status";
|
|
|
//如果是待办页面,且 任务状态下拉框 选择的不是 待审批状态 的任务,那么直接返回null
|
|
|
} else if (ObjectUtil.isNotEmpty(dto.getStatusValue()) && !dto.getStatusValue().equals(1)) {
|
|
|
return null;
|
|
@@ -1390,6 +1392,8 @@ public class TaskController extends BladeController {
|
|
|
params.add(1);
|
|
|
params.add(SecureUtil.getUserId());
|
|
|
sqlString.append(" AND status = 1");
|
|
|
+ sqlResult = "SELECT *, (SELECT ifnull(e_visa_status, -1) FROM u_task_parallel WHERE u_task.process_instance_id = u_task_parallel.process_instance_id AND u_task_parallel.STATUS = 1 " +
|
|
|
+ "AND u_task_parallel.task_user = " + SecureUtil.getUserId() + " and is_deleted = 0 order by id desc limit 1) as e_status";
|
|
|
}
|
|
|
|
|
|
} else if (dto.getSelectedType().equals(2)) { //已办页面
|
|
@@ -1407,7 +1411,7 @@ public class TaskController extends BladeController {
|
|
|
// sqlString.append(" AND (SELECT COUNT(1) FROM u_information_query WHERE u_task.form_data_id = id and is_deleted=0) > 0");
|
|
|
|
|
|
//总数量
|
|
|
- String sqlCount = sqlString.toString().replace("*", "count(1)");
|
|
|
+ String sqlCount = "select count(1) " + sqlString;
|
|
|
Optional<Integer> totalCountOptional = Optional.ofNullable(jdbcTemplate.queryForObject(sqlCount, Integer.class, params.toArray()));
|
|
|
int totalCount = totalCountOptional.orElse(0);
|
|
|
|
|
@@ -1423,13 +1427,17 @@ public class TaskController extends BladeController {
|
|
|
}
|
|
|
} else {
|
|
|
//Web端默认倒叙
|
|
|
- sqlString.append(" ORDER BY create_time DESC LIMIT ? OFFSET ?");
|
|
|
+ if (!sqlResult.equals("SELECT * ")) {
|
|
|
+ sqlString.append(" ORDER BY e_status asc, create_time DESC LIMIT ? OFFSET ?");
|
|
|
+ } else {
|
|
|
+ sqlString.append(" ORDER BY create_time DESC LIMIT ? OFFSET ?");
|
|
|
+ }
|
|
|
}
|
|
|
params.add(size);
|
|
|
params.add((current - 1) * size);
|
|
|
|
|
|
//执行SQL获取数据
|
|
|
- String sqlPage = sqlString.toString();
|
|
|
+ String sqlPage = sqlResult + sqlString;
|
|
|
List<Task> resultList = jdbcTemplate.query(
|
|
|
sqlPage,
|
|
|
new BeanPropertyRowMapper<>(Task.class),
|
|
@@ -1467,6 +1475,7 @@ public class TaskController extends BladeController {
|
|
|
vo.setApprovalType(task.getApprovalType());
|
|
|
vo.setFormDataId(task.getFormDataId());
|
|
|
vo.setProcessInstanceId(task.getProcessInstanceId());
|
|
|
+ vo.setEStatus(task.getEStatus());
|
|
|
List<TaskParallel> taskParallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
|
|
|
if (taskParallelList != null && taskParallelList.size() > 0) {
|
|
|
//如果是垂直签,且是待办页面,判断是否是当前用户审批轮次,不是当前用户审批轮次就不显示该任务
|