add 添加查询当前租户所有待办,已办任务

This commit is contained in:
gssong 2023-07-04 21:36:38 +08:00
parent 54837deda0
commit f58f12c603
3 changed files with 121 additions and 0 deletions

View File

@ -70,6 +70,16 @@ public class ActTaskController extends BaseController {
return iActTaskService.getTaskWaitByPage(taskBo);
}
/**
* 查询当前租户所有待办任务
*
* @param taskBo 参数
*/
@GetMapping("/getAllTaskWaitByPage")
public TableDataInfo<TaskVo> getAllTaskWaitByPage(TaskBo taskBo) {
return iActTaskService.getAllTaskWaitByPage(taskBo);
}
/**
* 查询当前用户的已办任务
*
@ -80,6 +90,16 @@ public class ActTaskController extends BaseController {
return iActTaskService.getTaskFinishByPage(taskBo);
}
/**
* 查询当前租户所有已办任务
*
* @param taskBo 参数
*/
@GetMapping("/getAllTaskFinishByPage")
public TableDataInfo<TaskVo> getAllTaskFinishByPage(TaskBo taskBo) {
return iActTaskService.getAllTaskFinishByPage(taskBo);
}
/**
* 签收拾取任务
*

View File

@ -37,6 +37,15 @@ public interface IActTaskService {
*/
TableDataInfo<TaskVo> getTaskWaitByPage(TaskBo taskBo);
/**
* 查询当前租户所有待办任务
*
* @param taskBo 参数
* @return 结果
*/
TableDataInfo<TaskVo> getAllTaskWaitByPage(TaskBo taskBo);
/**
* 查询当前用户的已办任务
*
@ -45,6 +54,14 @@ public interface IActTaskService {
*/
TableDataInfo<TaskVo> getTaskFinishByPage(TaskBo taskBo);
/**
* 查询当前租户所有已办任务
*
* @param taskBo 参数
* @return 结果
*/
TableDataInfo<TaskVo> getAllTaskFinishByPage(TaskBo taskBo);
/**
* 委派任务
*

View File

@ -201,6 +201,48 @@ public class ActTaskServiceImpl implements IActTaskService {
return new TableDataInfo<>(list, count);
}
/**
* 查询当前租户所有待办任务
*
* @param taskBo 参数
*/
@Override
public TableDataInfo<TaskVo> getAllTaskWaitByPage(TaskBo taskBo) {
TaskQuery query = taskService.createTaskQuery().taskTenantId(TenantHelper.getTenantId());
if (StringUtils.isNotBlank(taskBo.getName())) {
query.taskNameLike("%" + taskBo.getName() + "%");
}
if (StringUtils.isNotBlank(taskBo.getProcessDefinitionName())) {
query.processDefinitionNameLike("%" + taskBo.getProcessDefinitionName() + "%");
}
if (StringUtils.isNotBlank(taskBo.getProcessDefinitionKey())) {
query.processDefinitionKey(taskBo.getProcessDefinitionKey());
}
List<Task> taskList = query.listPage(taskBo.getPageNum(), taskBo.getPageSize());
List<ProcessInstance> processInstanceList = null;
if (CollUtil.isNotEmpty(taskList)) {
Set<String> processInstanceIds = StreamUtils.toSet(taskList, Task::getProcessInstanceId);
processInstanceList = runtimeService.createProcessInstanceQuery().processInstanceIds(processInstanceIds).list();
}
List<TaskVo> list = new ArrayList<>();
for (Task task : taskList) {
TaskVo taskVo = BeanUtil.toBean(task, TaskVo.class);
if (CollUtil.isNotEmpty(processInstanceList)) {
processInstanceList.stream().filter(e -> e.getId().equals(task.getProcessInstanceId())).findFirst().ifPresent(e -> {
taskVo.setBusinessStatus(e.getBusinessStatus());
taskVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(taskVo.getBusinessStatus()));
taskVo.setProcessDefinitionKey(e.getProcessDefinitionKey());
taskVo.setProcessDefinitionName(e.getProcessDefinitionName());
});
}
taskVo.setAssignee(StringUtils.isNotBlank(task.getAssignee()) ? Long.valueOf(task.getAssignee()) : null);
taskVo.setParticipantVo(WorkflowUtils.getCurrentTaskParticipant(task.getId()));
list.add(taskVo);
}
long count = query.count();
return new TableDataInfo<>(list, count);
}
/**
* 查询当前用户的已办任务
*
@ -244,6 +286,48 @@ public class ActTaskServiceImpl implements IActTaskService {
return new TableDataInfo<>(list, count);
}
/**
* 查询当前租户所有已办任务
*
* @param taskBo 参数
*/
@Override
public TableDataInfo<TaskVo> getAllTaskFinishByPage(TaskBo taskBo) {
HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery()
.taskTenantId(TenantHelper.getTenantId()).finished().orderByHistoricTaskInstanceStartTime().desc();
if (StringUtils.isNotBlank(taskBo.getName())) {
query.taskNameLike("%" + taskBo.getName() + "%");
}
if (StringUtils.isNotBlank(taskBo.getProcessDefinitionName())) {
query.processDefinitionNameLike("%" + taskBo.getProcessDefinitionName() + "%");
}
if (StringUtils.isNotBlank(taskBo.getProcessDefinitionKey())) {
query.processDefinitionKey(taskBo.getProcessDefinitionKey());
}
List<HistoricTaskInstance> taskInstanceList = query.listPage(taskBo.getPageNum(), taskBo.getPageSize());
List<HistoricProcessInstance> historicProcessInstanceList = null;
if (CollUtil.isNotEmpty(taskInstanceList)) {
Set<String> processInstanceIds = StreamUtils.toSet(taskInstanceList, HistoricTaskInstance::getProcessInstanceId);
historicProcessInstanceList = historyService.createHistoricProcessInstanceQuery().processInstanceIds(processInstanceIds).list();
}
List<TaskVo> list = new ArrayList<>();
for (HistoricTaskInstance task : taskInstanceList) {
TaskVo taskVo = BeanUtil.toBean(task, TaskVo.class);
if (CollUtil.isNotEmpty(historicProcessInstanceList)) {
historicProcessInstanceList.stream().filter(e -> e.getId().equals(task.getProcessInstanceId())).findFirst().ifPresent(e -> {
taskVo.setBusinessStatus(e.getBusinessStatus());
taskVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(taskVo.getBusinessStatus()));
taskVo.setProcessDefinitionKey(e.getProcessDefinitionKey());
taskVo.setProcessDefinitionName(e.getProcessDefinitionName());
});
}
taskVo.setAssignee(StringUtils.isNotBlank(task.getAssignee()) ? Long.valueOf(task.getAssignee()) : null);
list.add(taskVo);
}
long count = query.count();
return new TableDataInfo<>(list, count);
}
/**
* 委派任务
*