From 9a6910be9274257cb67e2de43fd6389c261404ea Mon Sep 17 00:00:00 2001 From: konbai <1527468660@qq.com> Date: Wed, 11 May 2022 00:17:46 +0800 Subject: [PATCH] =?UTF-8?q?del=20--=20=E7=A7=BB=E9=99=A4=E5=B7=B2=E8=BF=87?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/workflow/WfTaskController.java | 18 +- .../workflow/service/IWfTaskService.java | 19 --- .../service/impl/WfTaskServiceImpl.java | 154 ------------------ 3 files changed, 1 insertion(+), 190 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfTaskController.java index a9a57799..57cd5e17 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfTaskController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfTaskController.java @@ -1,12 +1,10 @@ package com.ruoyi.web.controller.workflow; import cn.hutool.core.util.ObjectUtil; -import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.workflow.domain.bo.WfTaskBo; import com.ruoyi.workflow.domain.dto.WfNextDto; import com.ruoyi.workflow.domain.vo.WfTaskVo; -import com.ruoyi.workflow.domain.bo.WfTaskBo; import com.ruoyi.workflow.service.IWfTaskService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -51,20 +49,6 @@ public class WfTaskController { return R.ok(); } - @Deprecated - @ApiOperation(value = "获取待办列表", response = WfTaskVo.class) - @GetMapping(value = "/todoList") - public TableDataInfo todoList(PageQuery pageQuery) { - return flowTaskService.todoList(pageQuery); - } - - @Deprecated - @ApiOperation(value = "获取已办任务", response = WfTaskVo.class) - @GetMapping(value = "/finishedList") - public TableDataInfo finishedList(PageQuery pageQuery) { - return flowTaskService.finishedList(pageQuery); - } - @ApiOperation(value = "获取流程变量", response = WfTaskVo.class) @GetMapping(value = "/processVariables/{taskId}") public R processVariables(@ApiParam(value = "流程任务Id") @PathVariable(value = "taskId") String taskId) { diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfTaskService.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfTaskService.java index ffdfe7f6..3a1b8e60 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfTaskService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfTaskService.java @@ -1,10 +1,7 @@ package com.ruoyi.workflow.service; -import com.ruoyi.common.core.domain.PageQuery; -import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.workflow.domain.bo.WfTaskBo; import com.ruoyi.workflow.domain.dto.WfNextDto; -import com.ruoyi.workflow.domain.vo.WfTaskVo; import com.ruoyi.workflow.domain.vo.WfViewerVo; import org.flowable.bpmn.model.UserTask; import org.flowable.engine.runtime.ProcessInstance; @@ -99,22 +96,6 @@ public interface IWfTaskService { */ void revokeProcess(WfTaskBo bo); - - /** - * 代办任务列表 - * - * @return - */ - TableDataInfo todoList(PageQuery pageQuery); - - - /** - * 已办任务列表 - * - * @return - */ - TableDataInfo finishedList(PageQuery pageQuery); - /** * 获取流程过程图 * @param processId diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java index 7463754b..019436d9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java @@ -4,12 +4,8 @@ package com.ruoyi.workflow.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.google.common.collect.Lists; -import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.StringUtils; @@ -24,7 +20,6 @@ import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.workflow.domain.bo.WfTaskBo; import com.ruoyi.workflow.domain.dto.WfNextDto; -import com.ruoyi.workflow.domain.vo.WfTaskVo; import com.ruoyi.workflow.domain.vo.WfViewerVo; import com.ruoyi.workflow.service.IWfTaskService; import lombok.RequiredArgsConstructor; @@ -45,9 +40,7 @@ import org.flowable.engine.runtime.ProcessInstance; import org.flowable.image.ProcessDiagramGenerator; import org.flowable.task.api.DelegationState; 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.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -538,124 +531,6 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ List oriSequenceFlows = new ArrayList<>(flowNode.getOutgoingFlows()); } - /** - * 代办任务列表 - * - * @return - */ - @Override - public TableDataInfo todoList(PageQuery pageQuery) { - Page page = new Page<>(); - Long userId = LoginHelper.getUserId(); - TaskQuery taskQuery = taskService.createTaskQuery() - .active() - .includeProcessVariables() - .taskCandidateOrAssigned(userId.toString()) - .orderByTaskCreateTime().desc(); - page.setTotal(taskQuery.count()); - int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); - List taskList = taskQuery.listPage(offset, pageQuery.getPageSize()); - List flowList = new ArrayList<>(); - for (Task task : taskList) { - WfTaskVo flowTask = new WfTaskVo(); - // 当前流程信息 - flowTask.setTaskId(task.getId()); - flowTask.setTaskDefKey(task.getTaskDefinitionKey()); - flowTask.setCreateTime(task.getCreateTime()); - flowTask.setProcDefId(task.getProcessDefinitionId()); - flowTask.setTaskName(task.getName()); - // 流程定义信息 - ProcessDefinition pd = repositoryService.createProcessDefinitionQuery() - .processDefinitionId(task.getProcessDefinitionId()) - .singleResult(); - flowTask.setDeployId(pd.getDeploymentId()); - flowTask.setProcDefName(pd.getName()); - flowTask.setProcDefVersion(pd.getVersion()); - flowTask.setProcInsId(task.getProcessInstanceId()); - - // 流程发起人信息 - HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() - .processInstanceId(task.getProcessInstanceId()) - .singleResult(); - SysUser startUser = sysUserService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId())); -// SysUser startUser = sysUserService.selectUserById(Long.parseLong(task.getAssignee())); - flowTask.setStartUserId(startUser.getNickName()); - flowTask.setStartUserName(startUser.getNickName()); - flowTask.setStartDeptName(startUser.getDept().getDeptName()); - - // 流程变量 - flowTask.setProcVars(this.getProcessVariables(task.getId())); - - flowList.add(flowTask); - } - - page.setRecords(flowList); - return TableDataInfo.build(page); - } - - - /** - * 已办任务列表 - * - * @return - */ - @Override - public TableDataInfo finishedList(PageQuery pageQuery) { - Page page = new Page<>(); - Long userId = LoginHelper.getUserId(); - HistoricTaskInstanceQuery taskInstanceQuery = historyService.createHistoricTaskInstanceQuery() - .includeProcessVariables() - .finished() - .taskAssignee(userId.toString()) - .orderByHistoricTaskInstanceEndTime() - .desc(); - int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); - List historicTaskInstanceList = taskInstanceQuery.listPage(offset, pageQuery.getPageSize()); - List hisTaskList = Lists.newArrayList(); - for (HistoricTaskInstance histTask : historicTaskInstanceList) { - WfTaskVo flowTask = new WfTaskVo(); - // 当前流程信息 - flowTask.setTaskId(histTask.getId()); - // 审批人员信息 - flowTask.setCreateTime(histTask.getCreateTime()); - flowTask.setFinishTime(histTask.getEndTime()); - flowTask.setDuration(getDate(histTask.getDurationInMillis())); - flowTask.setProcDefId(histTask.getProcessDefinitionId()); - flowTask.setTaskDefKey(histTask.getTaskDefinitionKey()); - flowTask.setTaskName(histTask.getName()); - - // 流程定义信息 - ProcessDefinition pd = repositoryService.createProcessDefinitionQuery() - .processDefinitionId(histTask.getProcessDefinitionId()) - .singleResult(); - flowTask.setDeployId(pd.getDeploymentId()); - flowTask.setProcDefName(pd.getName()); - flowTask.setProcDefVersion(pd.getVersion()); - flowTask.setProcInsId(histTask.getProcessInstanceId()); - flowTask.setHisProcInsId(histTask.getProcessInstanceId()); - - // 流程发起人信息 - HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() - .processInstanceId(histTask.getProcessInstanceId()) - .singleResult(); - SysUser startUser = sysUserService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId())); - flowTask.setStartUserId(startUser.getNickName()); - flowTask.setStartUserName(startUser.getNickName()); - flowTask.setStartDeptName(startUser.getDept().getDeptName()); - - // 流程变量 - flowTask.setProcVars(this.getProcessVariables(histTask.getId())); - - hisTaskList.add(flowTask); - } - page.setTotal(taskInstanceQuery.count()); - page.setRecords(hisTaskList); -// Map result = new HashMap<>(); -// result.put("result",page); -// result.put("finished",true); - return TableDataInfo.build(page); - } - private static Predicate distinctByKey(Function keyExtractor) { Set seen = ConcurrentHashMap.newKeySet(); return t -> seen.add(keyExtractor.apply(t)); @@ -855,33 +730,4 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ taskService.complete(task.getId(), variables); } } - - /** - * 流程完成时间处理 - * - * @param ms - * @return - */ - private String getDate(long ms) { - - long day = ms / (24 * 60 * 60 * 1000); - long hour = (ms / (60 * 60 * 1000) - day * 24); - long minute = ((ms / (60 * 1000)) - day * 24 * 60 - hour * 60); - long second = (ms / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - minute * 60); - - if (day > 0) { - return day + "天" + hour + "小时" + minute + "分钟"; - } - if (hour > 0) { - return hour + "小时" + minute + "分钟"; - } - if (minute > 0) { - return minute + "分钟"; - } - if (second > 0) { - return second + "秒"; - } else { - return 0 + "秒"; - } - } }