diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessInstanceBo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessInstanceBo.java index 2ab54dcd5..ff8af2335 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessInstanceBo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessInstanceBo.java @@ -24,6 +24,11 @@ public class ProcessInstanceBo extends PageEntity implements Serializable { */ private String name; + /** + * 流程key + */ + private String key; + /** * 任务发起人 */ diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TaskBo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TaskBo.java index 0064be79a..cd2eeadf5 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TaskBo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TaskBo.java @@ -23,4 +23,14 @@ public class TaskBo extends PageEntity implements Serializable { * 任务名称 */ private String name; + + /** + * 流程定义名称 + */ + private String processDefinitionName; + + /** + * 流程定义key + */ + private String processDefinitionKey; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TaskVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TaskVo.java index 5cbb62f62..52f8ec287 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TaskVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TaskVo.java @@ -121,6 +121,16 @@ public class TaskVo { */ private String businessStatusName; + /** + * 流程定义名称 + */ + private String processDefinitionName; + + /** + * 流程定义key + */ + private String processDefinitionKey; + /** * 参与者 */ diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java index 938ad8c21..15611f6c1 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java @@ -85,6 +85,9 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService if (StringUtils.isNotBlank(processInstanceBo.getName())) { query.processInstanceNameLikeIgnoreCase("%" + processInstanceBo.getName() + "%"); } + if (StringUtils.isNotBlank(processInstanceBo.getKey())) { + query.processDefinitionKey(processInstanceBo.getKey()); + } if (StringUtils.isNotBlank(processInstanceBo.getStartUserId())) { query.startedBy(processInstanceBo.getStartUserId()); } @@ -119,6 +122,9 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService if (StringUtils.isNotEmpty(processInstanceBo.getName())) { query.processInstanceNameLikeIgnoreCase("%" + processInstanceBo.getName() + "%"); } + if (StringUtils.isNotBlank(processInstanceBo.getKey())) { + query.processDefinitionKey(processInstanceBo.getKey()); + } if (StringUtils.isNotEmpty(processInstanceBo.getStartUserId())) { query.startedBy(processInstanceBo.getStartUserId()); } @@ -459,11 +465,14 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService if (StringUtils.isNotBlank(processInstanceBo.getName())) { query.processInstanceNameLikeIgnoreCase("%" + processInstanceBo.getName() + "%"); } + if (StringUtils.isNotBlank(processInstanceBo.getKey())) { + query.processDefinitionKey(processInstanceBo.getKey()); + } if (StringUtils.isNotBlank(processInstanceBo.getBusinessKey())) { query.processInstanceBusinessKey(processInstanceBo.getBusinessKey()); } if (StringUtils.isNotBlank(processInstanceBo.getCategoryCode())) { - query.processInstanceBusinessKey(processInstanceBo.getCategoryCode()); + query.processDefinitionCategory(processInstanceBo.getCategoryCode()); } query.orderByProcessInstanceStartTime().desc(); List historicProcessInstanceList = query.listPage(processInstanceBo.getPageNum(), processInstanceBo.getPageSize()); 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 7ed1ef1a0..dd8f7d325 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 @@ -165,6 +165,12 @@ public class ActTaskServiceImpl implements IActTaskService { 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 taskList = query.listPage(taskBo.getPageNum(), taskBo.getPageSize()); List processInstanceList = null; if (CollUtil.isNotEmpty(taskList)) { @@ -178,6 +184,8 @@ public class ActTaskServiceImpl implements IActTaskService { 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); @@ -201,6 +209,12 @@ public class ActTaskServiceImpl implements IActTaskService { 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 taskInstanceList = query.listPage(taskBo.getPageNum(), taskBo.getPageSize()); List historicProcessInstanceList = null; if (CollUtil.isNotEmpty(taskInstanceList)) { @@ -214,6 +228,8 @@ public class ActTaskServiceImpl implements IActTaskService { 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);