diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ActHistoryInfoVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ActHistoryInfoVo.java index 067b6f5d8..459b2d0f6 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ActHistoryInfoVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ActHistoryInfoVo.java @@ -3,10 +3,12 @@ package org.dromara.workflow.domain.vo; import lombok.Data; import org.dromara.common.translation.annotation.Translation; import org.dromara.common.translation.constant.TransConstant; +import org.flowable.engine.task.Attachment; import java.io.Serial; import java.io.Serializable; import java.util.Date; +import java.util.List; /** * 流程审批记录视图 @@ -79,4 +81,9 @@ public class ActHistoryInfoVo implements Serializable { * 审批信息 */ private String comment; + + /** + * 审批附件 + */ + private List attachmentList; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/AttachmentCmd.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/AttachmentCmd.java index 0257388d3..fc335048c 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/AttachmentCmd.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/AttachmentCmd.java @@ -49,7 +49,7 @@ public class AttachmentCmd implements Command { AttachmentEntity attachmentEntity = attachmentEntityManager.create(); attachmentEntity.setRevision(1); attachmentEntity.setUserId(LoginHelper.getUserId().toString()); - attachmentEntity.setName(sysOssVo.getFileName()); + attachmentEntity.setName(sysOssVo.getOriginalName()); attachmentEntity.setDescription(sysOssVo.getOriginalName()); attachmentEntity.setType(sysOssVo.getFileSuffix()); attachmentEntity.setTaskId(taskId); 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 b334f2fc5..318e1227f 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 @@ -42,6 +42,7 @@ import org.flowable.engine.impl.persistence.entity.ExecutionEntity; import org.flowable.engine.repository.ProcessDefinition; import org.flowable.engine.runtime.ProcessInstance; import org.flowable.engine.runtime.ProcessInstanceQuery; +import org.flowable.engine.task.Attachment; import org.flowable.engine.task.Comment; import org.flowable.task.api.Task; import org.flowable.task.api.history.HistoricTaskInstance; @@ -318,6 +319,8 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService list = StreamUtils.sorted(list, Comparator.comparing(HistoricTaskInstance::getEndTime, Comparator.nullsFirst(Date::compareTo)).reversed()); List actHistoryInfoVoList = new ArrayList<>(); List processInstanceComments = taskService.getProcessInstanceComments(processInstanceId); + //附件 + List attachmentList = taskService.getProcessInstanceAttachments(processInstanceId); for (HistoricTaskInstance historicTaskInstance : list) { ActHistoryInfoVo actHistoryInfoVo = new ActHistoryInfoVo(); BeanUtils.copyProperties(historicTaskInstance, actHistoryInfoVo); @@ -342,6 +345,13 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService } catch (NumberFormatException ignored) { log.warn("当前任务【{}】,办理人转换人员ID【{}】异常!", historicTaskInstance.getName(), historicTaskInstance.getAssignee()); } + //附件 + if (CollUtil.isNotEmpty(attachmentList)) { + List attachments = attachmentList.stream().filter(e -> e.getTaskId().equals(historicTaskInstance.getId())).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(attachments)) { + actHistoryInfoVo.setAttachmentList(attachments); + } + } actHistoryInfoVoList.add(actHistoryInfoVo); } List collect = new ArrayList<>();