From 74e55720d780387aac277800fee995e274a7aa27 Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: Mon, 11 Mar 2024 21:13:54 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=B0=83=E6=95=B4=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E5=B7=B2=E5=8A=9E=E6=8E=92=E9=99=A4=E6=8A=84=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ActTaskServiceImpl.java | 45 +++++-------------- 1 file changed, 10 insertions(+), 35 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java index a44502aa8..d88feb2c6 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java @@ -3,7 +3,6 @@ package org.dromara.workflow.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -45,7 +44,6 @@ import org.flowable.engine.runtime.ProcessInstance; import org.flowable.task.api.Task; import org.flowable.task.api.TaskQuery; import org.flowable.task.api.history.HistoricTaskInstance; -import org.flowable.task.api.history.HistoricTaskInstanceQuery; import org.flowable.task.service.impl.persistence.entity.TaskEntity; import org.flowable.variable.api.persistence.entity.VariableInstance; import org.springframework.scheduling.annotation.Async; @@ -374,7 +372,6 @@ public class ActTaskServiceImpl implements IActTaskService { List taskList = page.getRecords(); for (TaskVo task : taskList) { task.setBusinessStatusName(BusinessStatusEnum.findByStatus(task.getBusinessStatus())); - task.setMultiInstance(WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey()) != null); } return new TableDataInfo<>(taskList, page.getTotal()); } @@ -386,39 +383,17 @@ public class ActTaskServiceImpl implements IActTaskService { */ @Override public TableDataInfo getPageByAllTaskFinish(TaskBo taskBo, PageQuery pageQuery) { - HistoricTaskInstanceQuery query = QueryUtils.hisTaskInstanceQuery(); - query.finished().orderByHistoricTaskInstanceStartTime().desc(); - if (StringUtils.isNotBlank(taskBo.getName())) { - query.taskNameLike("%" + taskBo.getName() + "%"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StringUtils.isNotBlank(taskBo.getName()), "t.name_", taskBo.getName()); + queryWrapper.like(StringUtils.isNotBlank(taskBo.getProcessDefinitionName()), "t.processDefinitionName", taskBo.getProcessDefinitionName()); + queryWrapper.eq(StringUtils.isNotBlank(taskBo.getProcessDefinitionKey()), "t.processDefinitionKey", taskBo.getProcessDefinitionKey()); + Page page = actTaskMapper.getTaskFinishByPage(pageQuery.build(), queryWrapper); + + List taskList = page.getRecords(); + for (TaskVo task : taskList) { + task.setBusinessStatusName(BusinessStatusEnum.findByStatus(task.getBusinessStatus())); } - if (StringUtils.isNotBlank(taskBo.getProcessDefinitionName())) { - query.processDefinitionNameLike("%" + taskBo.getProcessDefinitionName() + "%"); - } - if (StringUtils.isNotBlank(taskBo.getProcessDefinitionKey())) { - query.processDefinitionKey(taskBo.getProcessDefinitionKey()); - } - List taskInstanceList = query.listPage(pageQuery.getFirstNum(), pageQuery.getPageSize()); - List historicProcessInstanceList = null; - if (CollUtil.isNotEmpty(taskInstanceList)) { - Set processInstanceIds = StreamUtils.toSet(taskInstanceList, HistoricTaskInstance::getProcessInstanceId); - historicProcessInstanceList = QueryUtils.hisInstanceQuery(processInstanceIds).list(); - } - List 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.findByStatus(taskVo.getBusinessStatus())); - taskVo.setProcessDefinitionKey(e.getProcessDefinitionKey()); - taskVo.setProcessDefinitionName(e.getProcessDefinitionName()); - }); - } - taskVo.setAssignee(Convert.toLong(task.getAssignee())); - list.add(taskVo); - } - long count = query.count(); - return new TableDataInfo<>(list, count); + return new TableDataInfo<>(taskList, page.getTotal()); } /**