diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfProcessController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfProcessController.java index 51f29519..a455b227 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfProcessController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfProcessController.java @@ -41,8 +41,8 @@ public class WfProcessController extends BaseController { */ @GetMapping(value = "/list") @SaCheckPermission("workflow:process:startList") - public TableDataInfo list(PageQuery pageQuery) { - return processService.processList(pageQuery); + public TableDataInfo list(ProcessQuery processQuery, PageQuery pageQuery) { + return processService.processList(processQuery, pageQuery); } /** @@ -96,24 +96,20 @@ public class WfProcessController extends BaseController { /** * 我拥有的流程 - * - * @param pageQuery 分页参数 */ @SaCheckPermission("workflow:process:ownList") @GetMapping(value = "/ownList") - public TableDataInfo ownProcess(PageQuery pageQuery) { - return processService.queryPageOwnProcessList(pageQuery); + public TableDataInfo ownProcess(ProcessQuery processQuery, PageQuery pageQuery) { + return processService.queryPageOwnProcessList(processQuery, pageQuery); } /** * 获取待办列表 - * - * @param pageQuery 分页参数 */ @SaCheckPermission("workflow:process:todoList") @GetMapping(value = "/todoList") - public TableDataInfo todoProcess(PageQuery pageQuery) { - return processService.queryPageTodoProcessList(pageQuery); + public TableDataInfo todoProcess(ProcessQuery processQuery, PageQuery pageQuery) { + return processService.queryPageTodoProcessList(processQuery, pageQuery); } /** @@ -135,8 +131,8 @@ public class WfProcessController extends BaseController { */ @SaCheckPermission("workflow:process:finishedList") @GetMapping(value = "/finishedList") - public TableDataInfo finishedProcess(PageQuery pageQuery) { - return processService.queryPageFinishedProcessList(pageQuery); + public TableDataInfo finishedProcess(ProcessQuery processQuery, PageQuery pageQuery) { + return processService.queryPageFinishedProcessList(processQuery, pageQuery); } /** diff --git a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/core/domain/ProcessQuery.java b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/core/domain/ProcessQuery.java index e0bad6a4..fea76199 100644 --- a/ruoyi-flowable/src/main/java/com/ruoyi/flowable/core/domain/ProcessQuery.java +++ b/ruoyi-flowable/src/main/java/com/ruoyi/flowable/core/domain/ProcessQuery.java @@ -2,6 +2,9 @@ package com.ruoyi.flowable.core.domain; import lombok.Data; +import java.util.HashMap; +import java.util.Map; + /** * 流程查询实体对象 * @@ -30,4 +33,9 @@ public class ProcessQuery { * 状态 */ private String state; + + /** + * 请求参数 + */ + private Map params = new HashMap<>(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfProcessService.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfProcessService.java index ec44dbdc..ad8bbe27 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfProcessService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfProcessService.java @@ -20,7 +20,7 @@ public interface IWfProcessService { * @param pageQuery 分页参数 * @return */ - TableDataInfo processList(PageQuery pageQuery); + TableDataInfo processList(ProcessQuery processQuery, PageQuery pageQuery); /** * 查询流程部署关联表单信息 @@ -61,13 +61,13 @@ public interface IWfProcessService { * 查询我的流程列表 * @param pageQuery 分页参数 */ - TableDataInfo queryPageOwnProcessList(PageQuery pageQuery); + TableDataInfo queryPageOwnProcessList(ProcessQuery processQuery, PageQuery pageQuery); /** * 查询代办任务列表 * @param pageQuery 分页参数 */ - TableDataInfo queryPageTodoProcessList(PageQuery pageQuery); + TableDataInfo queryPageTodoProcessList(ProcessQuery processQuery, PageQuery pageQuery); /** * 查询待签任务列表 @@ -79,5 +79,5 @@ public interface IWfProcessService { * 查询已办任务列表 * @param pageQuery 分页参数 */ - TableDataInfo queryPageFinishedProcessList(PageQuery pageQuery); + TableDataInfo queryPageFinishedProcessList(ProcessQuery processQuery, PageQuery pageQuery); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java index a0827dc2..d725e770 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfProcessServiceImpl.java @@ -20,16 +20,17 @@ import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.flowable.common.constant.TaskConstants; import com.ruoyi.flowable.core.FormConf; +import com.ruoyi.flowable.core.domain.ProcessQuery; import com.ruoyi.flowable.factory.FlowServiceFactory; import com.ruoyi.flowable.flow.FlowableUtils; import com.ruoyi.flowable.utils.ModelUtils; import com.ruoyi.flowable.utils.ProcessFormUtils; +import com.ruoyi.flowable.utils.ProcessUtils; import com.ruoyi.flowable.utils.TaskUtils; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.workflow.domain.WfDeployForm; -import com.ruoyi.flowable.core.domain.ProcessQuery; import com.ruoyi.workflow.domain.vo.*; import com.ruoyi.workflow.mapper.WfDeployFormMapper; import com.ruoyi.workflow.service.IWfProcessService; @@ -83,7 +84,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce * @return 流程定义分页列表数据 */ @Override - public TableDataInfo processList(PageQuery pageQuery) { + public TableDataInfo processList(ProcessQuery processQuery, PageQuery pageQuery) { Page page = new Page<>(); // 流程定义列表数据查询 ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery() @@ -91,6 +92,8 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce .active() .orderByProcessDefinitionKey() .asc(); + // 构建搜索条件 + ProcessUtils.buildProcessSearch(processDefinitionQuery, processQuery); long pageTotal = processDefinitionQuery.count(); if (pageTotal <= 0) { return TableDataInfo.build(); @@ -219,13 +222,15 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce } @Override - public TableDataInfo queryPageOwnProcessList(PageQuery pageQuery) { + public TableDataInfo queryPageOwnProcessList(ProcessQuery processQuery, PageQuery pageQuery) { Page page = new Page<>(); Long userId = LoginHelper.getUserId(); HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery() .startedBy(userId.toString()) .orderByProcessInstanceStartTime() .desc(); + // 构建搜索条件 + ProcessUtils.buildProcessSearch(historicProcessInstanceQuery, processQuery); int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); List historicProcessInstances = historicProcessInstanceQuery .listPage(offset, pageQuery.getPageSize()); @@ -269,7 +274,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce } @Override - public TableDataInfo queryPageTodoProcessList(PageQuery pageQuery) { + public TableDataInfo queryPageTodoProcessList(ProcessQuery processQuery, PageQuery pageQuery) { Page page = new Page<>(); Long userId = LoginHelper.getUserId(); TaskQuery taskQuery = taskService.createTaskQuery() @@ -278,6 +283,8 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce .taskCandidateOrAssigned(userId.toString()) .taskCandidateGroupIn(TaskUtils.getCandidateGroup()) .orderByTaskCreateTime().desc(); + // 构建搜索条件 + ProcessUtils.buildProcessSearch(taskQuery, processQuery); page.setTotal(taskQuery.count()); int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); List taskList = taskQuery.listPage(offset, pageQuery.getPageSize()); @@ -327,9 +334,8 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce .taskCandidateUser(userId.toString()) .taskCandidateGroupIn(TaskUtils.getCandidateGroup()) .orderByTaskCreateTime().desc(); - if (StringUtils.isNotBlank(processQuery.getProcessName())) { - taskQuery.processDefinitionNameLike("%" + processQuery.getProcessName() + "%"); - } + // 构建搜索条件 + ProcessUtils.buildProcessSearch(taskQuery, processQuery); page.setTotal(taskQuery.count()); int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); List taskList = taskQuery.listPage(offset, pageQuery.getPageSize()); @@ -367,7 +373,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce } @Override - public TableDataInfo queryPageFinishedProcessList(PageQuery pageQuery) { + public TableDataInfo queryPageFinishedProcessList(ProcessQuery processQuery, PageQuery pageQuery) { Page page = new Page<>(); Long userId = LoginHelper.getUserId(); HistoricTaskInstanceQuery taskInstanceQuery = historyService.createHistoricTaskInstanceQuery() @@ -376,6 +382,8 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce .taskAssignee(userId.toString()) .orderByHistoricTaskInstanceEndTime() .desc(); + // 构建搜索条件 + ProcessUtils.buildProcessSearch(taskInstanceQuery, processQuery); int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); List historicTaskInstanceList = taskInstanceQuery.listPage(offset, pageQuery.getPageSize()); List hisTaskList = new ArrayList<>(); diff --git a/ruoyi-ui/src/views/workflow/work/claim.vue b/ruoyi-ui/src/views/workflow/work/claim.vue index 62398842..2a48992d 100644 --- a/ruoyi-ui/src/views/workflow/work/claim.vue +++ b/ruoyi-ui/src/views/workflow/work/claim.vue @@ -11,6 +11,18 @@ @keyup.enter.native="handleQuery" /> + + + 搜索 重置 @@ -88,6 +100,8 @@ export default { title: "", // 是否显示弹出层 open: false, + // 日期范围 + dateRange: [], // 查询参数 queryParams: { pageNum: 1, @@ -110,7 +124,7 @@ export default { /** 查询流程定义列表 */ getList() { this.loading = true; - listClaimProcess(this.queryParams).then(response => { + listClaimProcess(this.addDateRange(this.queryParams, this.dateRange)).then(response => { this.claimList = response.rows; this.total = response.total; this.loading = false; @@ -123,6 +137,7 @@ export default { }, /** 重置按钮操作 */ resetQuery() { + this.dateRange = []; this.resetForm("queryForm"); this.handleQuery(); }, diff --git a/ruoyi-ui/src/views/workflow/work/finished.vue b/ruoyi-ui/src/views/workflow/work/finished.vue index f50cf3a8..b82b95ce 100644 --- a/ruoyi-ui/src/views/workflow/work/finished.vue +++ b/ruoyi-ui/src/views/workflow/work/finished.vue @@ -1,22 +1,26 @@