Commit 23eda6b1a90e7688bc804953103b4e2020ec5198
1 parent
a4d31f9c
新增 bpm 基于流程实例查询任务列表
Showing
2 changed files
with
31 additions
and
40 deletions
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmTaskConvert.java
| @@ -29,27 +29,21 @@ public interface BpmTaskConvert { | @@ -29,27 +29,21 @@ public interface BpmTaskConvert { | ||
| 29 | 29 | ||
| 30 | BpmTaskConvert INSTANCE = Mappers.getMapper(BpmTaskConvert.class); | 30 | BpmTaskConvert INSTANCE = Mappers.getMapper(BpmTaskConvert.class); |
| 31 | 31 | ||
| 32 | - default List<BpmTaskTodoPageItemRespVO> convertList(List<Task> tasks, Map<String, ProcessInstance> processInstanceMap, | ||
| 33 | - Map<Long, SysUserDO> userMap) { | 32 | + default List<BpmTaskTodoPageItemRespVO> convertList1(List<Task> tasks, Map<String, ProcessInstance> processInstanceMap, |
| 33 | + Map<Long, SysUserDO> userMap) { | ||
| 34 | return CollectionUtils.convertList(tasks, task -> { | 34 | return CollectionUtils.convertList(tasks, task -> { |
| 35 | + BpmTaskTodoPageItemRespVO respVO = convert1(task); | ||
| 35 | ProcessInstance processInstance = processInstanceMap.get(task.getProcessInstanceId()); | 36 | ProcessInstance processInstance = processInstanceMap.get(task.getProcessInstanceId()); |
| 36 | - return convert(task, processInstance, userMap.get(Long.valueOf(processInstance.getStartUserId()))); | 37 | + if (processInstance != null) { |
| 38 | + SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); | ||
| 39 | + respVO.setProcessInstance(convert(processInstance, startUser)); | ||
| 40 | + } | ||
| 41 | + return respVO; | ||
| 37 | }); | 42 | }); |
| 38 | } | 43 | } |
| 39 | 44 | ||
| 40 | - @Mappings({ | ||
| 41 | - @Mapping(source = "task.id", target = "id"), | ||
| 42 | - @Mapping(source = "task.name", target = "name"), | ||
| 43 | - @Mapping(source = "task.claimTime", target = "claimTime"), | ||
| 44 | - @Mapping(source = "task.createTime", target = "createTime"), | ||
| 45 | - @Mapping(source = "task.suspended", target = "suspensionState", qualifiedByName = "convertSuspendedToSuspensionState"), | ||
| 46 | - @Mapping(source = "processInstance.id", target = "processInstance.id"), | ||
| 47 | - @Mapping(source = "processInstance.name", target = "processInstance.name"), | ||
| 48 | - @Mapping(source = "processInstance.startUserId", target = "processInstance.startUserId"), | ||
| 49 | - @Mapping(source = "processInstance.processDefinitionId", target = "processInstance.processDefinitionId"), | ||
| 50 | - @Mapping(source = "user.nickname", target = "processInstance.startUserNickname") | ||
| 51 | - }) | ||
| 52 | - BpmTaskTodoPageItemRespVO convert(Task task, ProcessInstance processInstance, SysUserDO user); | 45 | + @Mapping(source = "suspended", target = "suspensionState", qualifiedByName = "convertSuspendedToSuspensionState") |
| 46 | + BpmTaskTodoPageItemRespVO convert1(Task bean); | ||
| 53 | 47 | ||
| 54 | @Named("convertSuspendedToSuspensionState") | 48 | @Named("convertSuspendedToSuspensionState") |
| 55 | default Integer convertSuspendedToSuspensionState(boolean suspended) { | 49 | default Integer convertSuspendedToSuspensionState(boolean suspended) { |
| @@ -61,29 +55,19 @@ public interface BpmTaskConvert { | @@ -61,29 +55,19 @@ public interface BpmTaskConvert { | ||
| 61 | Map<String, HistoricProcessInstance> historicProcessInstanceMap, | 55 | Map<String, HistoricProcessInstance> historicProcessInstanceMap, |
| 62 | Map<Long, SysUserDO> userMap) { | 56 | Map<Long, SysUserDO> userMap) { |
| 63 | return CollectionUtils.convertList(tasks, task -> { | 57 | return CollectionUtils.convertList(tasks, task -> { |
| 58 | + BpmTaskDonePageItemRespVO respVO = convert2(task); | ||
| 64 | BpmTaskExtDO taskExtDO = bpmTaskExtDOMap.get(task.getId()); | 59 | BpmTaskExtDO taskExtDO = bpmTaskExtDOMap.get(task.getId()); |
| 60 | + copyTo(taskExtDO, respVO); | ||
| 65 | HistoricProcessInstance processInstance = historicProcessInstanceMap.get(task.getProcessInstanceId()); | 61 | HistoricProcessInstance processInstance = historicProcessInstanceMap.get(task.getProcessInstanceId()); |
| 66 | - SysUserDO userDO = userMap.get(Long.valueOf(processInstance.getStartUserId())); | ||
| 67 | - return convert(task, taskExtDO, processInstance, userDO); | 62 | + if (processInstance != null) { |
| 63 | + SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); | ||
| 64 | + respVO.setProcessInstance(convert(processInstance, startUser)); | ||
| 65 | + } | ||
| 66 | + return respVO; | ||
| 68 | }); | 67 | }); |
| 69 | } | 68 | } |
| 70 | 69 | ||
| 71 | - @Mappings({ | ||
| 72 | - @Mapping(source = "task.id", target = "id"), | ||
| 73 | - @Mapping(source = "task.name", target = "name"), | ||
| 74 | - @Mapping(source = "task.claimTime", target = "claimTime"), | ||
| 75 | - @Mapping(source = "task.createTime", target = "createTime"), | ||
| 76 | - @Mapping(source = "task.endTime", target = "endTime"), | ||
| 77 | - @Mapping(source = "task.durationInMillis", target = "durationInMillis"), | ||
| 78 | - @Mapping(source = "taskExtDO.result", target = "result"), | ||
| 79 | - @Mapping(source = "taskExtDO.comment", target = "comment"), | ||
| 80 | - @Mapping(source = "processInstance.id", target = "processInstance.id"), | ||
| 81 | - @Mapping(source = "processInstance.name", target = "processInstance.name"), | ||
| 82 | - @Mapping(source = "processInstance.startUserId", target = "processInstance.startUserId"), | ||
| 83 | - @Mapping(source = "processInstance.processDefinitionId", target = "processInstance.processDefinitionId"), | ||
| 84 | - @Mapping(source = "startUser.nickname", target = "processInstance.startUserNickname") | ||
| 85 | - }) | ||
| 86 | - BpmTaskDonePageItemRespVO convert(HistoricTaskInstance task, BpmTaskExtDO taskExtDO, HistoricProcessInstance processInstance, SysUserDO startUser); | 70 | + BpmTaskDonePageItemRespVO convert2(HistoricTaskInstance bean); |
| 87 | 71 | ||
| 88 | @Mappings({ | 72 | @Mappings({ |
| 89 | @Mapping(source = "id", target = "taskId"), | 73 | @Mapping(source = "id", target = "taskId"), |
| @@ -98,7 +82,7 @@ public interface BpmTaskConvert { | @@ -98,7 +82,7 @@ public interface BpmTaskConvert { | ||
| 98 | return CollectionUtils.convertList(tasks, task -> { | 82 | return CollectionUtils.convertList(tasks, task -> { |
| 99 | BpmTaskRespVO respVO = convert3(task); | 83 | BpmTaskRespVO respVO = convert3(task); |
| 100 | BpmTaskExtDO taskExtDO = bpmTaskExtDOMap.get(task.getId()); | 84 | BpmTaskExtDO taskExtDO = bpmTaskExtDOMap.get(task.getId()); |
| 101 | - copyTo3(taskExtDO, respVO); | 85 | + copyTo(taskExtDO, respVO); |
| 102 | if (processInstance != null) { | 86 | if (processInstance != null) { |
| 103 | SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); | 87 | SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); |
| 104 | respVO.setProcessInstance(convert(processInstance, startUser)); | 88 | respVO.setProcessInstance(convert(processInstance, startUser)); |
| @@ -117,7 +101,17 @@ public interface BpmTaskConvert { | @@ -117,7 +101,17 @@ public interface BpmTaskConvert { | ||
| 117 | 101 | ||
| 118 | BpmTaskRespVO convert3(HistoricTaskInstance bean); | 102 | BpmTaskRespVO convert3(HistoricTaskInstance bean); |
| 119 | BpmTaskRespVO.User convert3(SysUserDO bean); | 103 | BpmTaskRespVO.User convert3(SysUserDO bean); |
| 120 | - void copyTo3(BpmTaskExtDO from, @MappingTarget BpmTaskRespVO to); | 104 | + |
| 105 | + void copyTo(BpmTaskExtDO from, @MappingTarget BpmTaskDonePageItemRespVO to); | ||
| 106 | + | ||
| 107 | + @Mappings({ | ||
| 108 | + @Mapping(source = "processInstance.id", target = "id"), | ||
| 109 | + @Mapping(source = "processInstance.name", target = "name"), | ||
| 110 | + @Mapping(source = "processInstance.startUserId", target = "startUserId"), | ||
| 111 | + @Mapping(source = "processInstance.processDefinitionId", target = "processDefinitionId"), | ||
| 112 | + @Mapping(source = "startUser.nickname", target = "startUserNickname") | ||
| 113 | + }) | ||
| 114 | + BpmTaskTodoPageItemRespVO.ProcessInstance convert(ProcessInstance processInstance, SysUserDO startUser); | ||
| 121 | 115 | ||
| 122 | @Mappings({ | 116 | @Mappings({ |
| 123 | @Mapping(source = "processInstance.id", target = "id"), | 117 | @Mapping(source = "processInstance.id", target = "id"), |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/impl/BpmTaskServiceImpl.java
| @@ -2,7 +2,6 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.task.impl; | @@ -2,7 +2,6 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.task.impl; | ||
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.hutool.core.io.IoUtil; | 4 | import cn.hutool.core.io.IoUtil; |
| 5 | -import cn.hutool.core.util.NumberUtil; | ||
| 6 | import cn.hutool.core.util.StrUtil; | 5 | import cn.hutool.core.util.StrUtil; |
| 7 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.*; | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.*; |
| 8 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmTaskConvert; | 7 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmTaskConvert; |
| @@ -34,7 +33,6 @@ import org.activiti.engine.history.HistoricTaskInstance; | @@ -34,7 +33,6 @@ import org.activiti.engine.history.HistoricTaskInstance; | ||
| 34 | import org.activiti.engine.history.HistoricTaskInstanceQuery; | 33 | import org.activiti.engine.history.HistoricTaskInstanceQuery; |
| 35 | import org.activiti.engine.repository.ProcessDefinition; | 34 | import org.activiti.engine.repository.ProcessDefinition; |
| 36 | import org.activiti.engine.runtime.ProcessInstance; | 35 | import org.activiti.engine.runtime.ProcessInstance; |
| 37 | -import org.activiti.engine.task.Comment; | ||
| 38 | import org.activiti.engine.task.Task; | 36 | import org.activiti.engine.task.Task; |
| 39 | import org.activiti.engine.task.TaskQuery; | 37 | import org.activiti.engine.task.TaskQuery; |
| 40 | import org.activiti.image.ProcessDiagramGenerator; | 38 | import org.activiti.image.ProcessDiagramGenerator; |
| @@ -48,7 +46,6 @@ import javax.validation.Valid; | @@ -48,7 +46,6 @@ import javax.validation.Valid; | ||
| 48 | import java.io.IOException; | 46 | import java.io.IOException; |
| 49 | import java.io.InputStream; | 47 | import java.io.InputStream; |
| 50 | import java.util.*; | 48 | import java.util.*; |
| 51 | -import java.util.function.Function; | ||
| 52 | 49 | ||
| 53 | import static cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants.*; | 50 | import static cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants.*; |
| 54 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 51 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| @@ -155,7 +152,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { | @@ -155,7 +152,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { | ||
| 155 | Map<Long, SysUserDO> userMap = userService.getUserMap( | 152 | Map<Long, SysUserDO> userMap = userService.getUserMap( |
| 156 | convertSet(processInstanceMap.values(), instance -> Long.valueOf(instance.getStartUserId()))); | 153 | convertSet(processInstanceMap.values(), instance -> Long.valueOf(instance.getStartUserId()))); |
| 157 | // 拼接结果 | 154 | // 拼接结果 |
| 158 | - return new PageResult<>(BpmTaskConvert.INSTANCE.convertList(tasks, processInstanceMap, userMap), | 155 | + return new PageResult<>(BpmTaskConvert.INSTANCE.convertList1(tasks, processInstanceMap, userMap), |
| 159 | taskQuery.count()); | 156 | taskQuery.count()); |
| 160 | } | 157 | } |
| 161 | 158 |