mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-02-03 04:04:58 +08:00
【功能修改】工作流:流程审批详情的“流程记录”,从 timeline 改成 list table
This commit is contained in:
parent
56d280fd3f
commit
9a9e721b50
@ -123,18 +123,15 @@ public class BpmTaskController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 拼接数据
|
// 拼接数据
|
||||||
HistoricProcessInstance processInstance = processInstanceService.getHistoricProcessInstance(processInstanceId);
|
|
||||||
// 获得 User 和 Dept Map
|
|
||||||
Set<Long> userIds = convertSetByFlatMap(taskList, task ->
|
Set<Long> userIds = convertSetByFlatMap(taskList, task ->
|
||||||
Stream.of(NumberUtils.parseLong(task.getAssignee()), NumberUtils.parseLong(task.getOwner())));
|
Stream.of(NumberUtils.parseLong(task.getAssignee()), NumberUtils.parseLong(task.getOwner())));
|
||||||
userIds.add(NumberUtils.parseLong(processInstance.getStartUserId()));
|
|
||||||
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
|
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
|
||||||
Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(
|
Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(
|
||||||
convertSet(userMap.values(), AdminUserRespDTO::getDeptId));
|
convertSet(userMap.values(), AdminUserRespDTO::getDeptId));
|
||||||
// 获得 Form Map
|
// 获得 Form Map
|
||||||
Map<Long, BpmFormDO> formMap = formService.getFormMap(
|
Map<Long, BpmFormDO> formMap = formService.getFormMap(
|
||||||
convertSet(taskList, task -> NumberUtils.parseLong(task.getFormKey())));
|
convertSet(taskList, task -> NumberUtils.parseLong(task.getFormKey())));
|
||||||
return success(BpmTaskConvert.INSTANCE.buildTaskListByProcessInstanceId(taskList, processInstance,
|
return success(BpmTaskConvert.INSTANCE.buildTaskListByProcessInstanceId(taskList,
|
||||||
formMap, userMap, deptMap));
|
formMap, userMap, deptMap));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|||||||
import cn.iocoder.yudao.module.bpm.controller.admin.base.user.UserSimpleBaseVO;
|
import cn.iocoder.yudao.module.bpm.controller.admin.base.user.UserSimpleBaseVO;
|
||||||
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO;
|
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO;
|
||||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
|
import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
|
||||||
|
import cn.iocoder.yudao.module.bpm.enums.task.BpmTaskStatusEnum;
|
||||||
import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils;
|
import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.FlowableUtils;
|
||||||
import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO;
|
import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO;
|
||||||
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
||||||
@ -78,18 +79,17 @@ public interface BpmTaskConvert {
|
|||||||
}
|
}
|
||||||
|
|
||||||
default List<BpmTaskRespVO> buildTaskListByProcessInstanceId(List<HistoricTaskInstance> taskList,
|
default List<BpmTaskRespVO> buildTaskListByProcessInstanceId(List<HistoricTaskInstance> taskList,
|
||||||
HistoricProcessInstance processInstance,
|
|
||||||
Map<Long, BpmFormDO> formMap,
|
Map<Long, BpmFormDO> formMap,
|
||||||
Map<Long, AdminUserRespDTO> userMap,
|
Map<Long, AdminUserRespDTO> userMap,
|
||||||
Map<Long, DeptRespDTO> deptMap) {
|
Map<Long, DeptRespDTO> deptMap) {
|
||||||
return CollectionUtils.convertList(taskList, task -> {
|
return CollectionUtils.convertList(taskList, task -> {
|
||||||
|
// 特殊:已取消的任务,不返回
|
||||||
BpmTaskRespVO taskVO = BeanUtils.toBean(task, BpmTaskRespVO.class);
|
BpmTaskRespVO taskVO = BeanUtils.toBean(task, BpmTaskRespVO.class);
|
||||||
Integer taskStatus = FlowableUtils.getTaskStatus(task);
|
Integer taskStatus = FlowableUtils.getTaskStatus(task);
|
||||||
|
if (BpmTaskStatusEnum.isCancelStatus(taskStatus)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
taskVO.setStatus(taskStatus).setReason(FlowableUtils.getTaskReason(task));
|
taskVO.setStatus(taskStatus).setReason(FlowableUtils.getTaskReason(task));
|
||||||
// 流程实例
|
|
||||||
AdminUserRespDTO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId()));
|
|
||||||
taskVO.setProcessInstance(BeanUtils.toBean(processInstance, BpmTaskRespVO.ProcessInstance.class));
|
|
||||||
taskVO.getProcessInstance().setStartUser(BeanUtils.toBean(startUser, UserSimpleBaseVO.class));
|
|
||||||
// 表单信息
|
// 表单信息
|
||||||
BpmFormDO form = MapUtil.get(formMap, NumberUtils.parseLong(task.getFormKey()), BpmFormDO.class);
|
BpmFormDO form = MapUtil.get(formMap, NumberUtils.parseLong(task.getFormKey()), BpmFormDO.class);
|
||||||
if (form != null) {
|
if (form != null) {
|
||||||
|
Loading…
Reference in New Issue
Block a user