From 256b6f2c1d9ee1d85f5cc339b2d2dac13cd51147 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 7 Sep 2025 17:22:10 +0800 Subject: [PATCH] =?UTF-8?q?review=EF=BC=9A=E3=80=90bpm=20=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E6=B5=81=E3=80=91=E6=B5=81=E7=A8=8B=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/BpmProcessInstanceController.java | 4 ++-- .../instance/BpmProcessPrintDataRespVO.java | 19 ++++++++------- .../task/BpmProcessInstanceConvert.java | 24 +++++++++---------- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java index 46c1f8a7e9..09df9b7e61 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java @@ -214,8 +214,8 @@ public class BpmProcessInstanceController { AdminUserRespDTO startUser = adminUserApi.getUser(Long.valueOf(historicProcessInstance.getStartUserId())); DeptRespDTO dept = deptApi.getDept(startUser.getDeptId()); List tasks = taskService.getFinishedTaskListByProcessInstanceIdWithoutCancel(processInstanceId); - Set userIds = convertSet(tasks, item -> Long.valueOf(item.getAssignee())); - Map userMap = adminUserApi.getUserMap(userIds); + Map userMap = adminUserApi.getUserMap( + convertSet(tasks, item -> Long.valueOf(item.getAssignee()))); return success(BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePrintData(historicProcessInstance, processDefinitionService.getProcessDefinitionInfo(historicProcessInstance.getProcessDefinitionId()), tasks, userMap, diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessPrintDataRespVO.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessPrintDataRespVO.java index e5983c442a..8f85da966a 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessPrintDataRespVO.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessPrintDataRespVO.java @@ -1,11 +1,9 @@ package cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance; -import cn.iocoder.yudao.module.bpm.controller.admin.base.user.UserSimpleBaseVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.util.List; -import java.util.Map; @Schema(description = "管理后台 - 流程实例的打印数据 Response VO") @Data @@ -14,25 +12,30 @@ public class BpmProcessPrintDataRespVO { @Schema(description = "流程实例数据") private BpmProcessInstanceRespVO processInstance; - @Schema(description = "是否开启自定义打印模板") + @Schema(description = "是否开启自定义打印模板", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") private Boolean printTemplateEnable; - @Schema(description = "自定义打印模板HTML") + @Schema(description = "自定义打印模板 HTML") private String printTemplateHtml; @Schema(description = "审批任务列表") - private List tasks; + private List tasks; + @Schema(description = "流程任务") @Data - public static class ApproveTask { + public static class Task { + @Schema(description = "流程任务的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") private String id; + @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") private String name; - private String description; + @Schema(description = "签名 URL", example = "https://www.iocoder.cn/sign.png") + private String signPicUrl; - private String signUrl; + @Schema(description = "任务描述", requiredMode = Schema.RequiredMode.REQUIRED) + private String description; // 该字段由后端拼接 } diff --git a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java index f41037945b..cbfb876fb2 100644 --- a/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java +++ b/yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java @@ -305,25 +305,23 @@ public interface BpmProcessInstanceConvert { // 打印模板是否开启 printData.setPrintTemplateEnable(printTemplateSetting != null && Boolean.TRUE.equals(printTemplateSetting.getEnable())); // 流程相关数据 - BpmProcessInstanceRespVO processInstance = new BpmProcessInstanceRespVO(); - processInstance.setStatus(FlowableUtils.getProcessInstanceStatus(historicProcessInstance)); - processInstance.setId(historicProcessInstance.getId()); - processInstance.setName(historicProcessInstance.getName()); - processInstance.setBusinessKey(historicProcessInstance.getBusinessKey()); - processInstance.setStartTime(DateUtils.of(historicProcessInstance.getStartTime())); - processInstance.setEndTime(DateUtils.of(historicProcessInstance.getEndTime())); - processInstance.setFormVariables(historicProcessInstance.getProcessVariables()); - processInstance.setStartUser(startUser); - processInstance.setProcessDefinition(BeanUtils.toBean(processDefinitionInfo, BpmProcessDefinitionRespVO.class)); + BpmProcessInstanceRespVO processInstance = new BpmProcessInstanceRespVO() + .setId(historicProcessInstance.getId()).setName(historicProcessInstance.getName()) + .setBusinessKey(historicProcessInstance.getBusinessKey()) + .setStartTime(DateUtils.of(historicProcessInstance.getStartTime())) + .setEndTime(DateUtils.of(historicProcessInstance.getEndTime())) + .setStartUser(startUser).setStatus(FlowableUtils.getProcessInstanceStatus(historicProcessInstance)) + .setFormVariables(historicProcessInstance.getProcessVariables()) + .setProcessDefinition(BeanUtils.toBean(processDefinitionInfo, BpmProcessDefinitionRespVO.class)); printData.setProcessInstance(processInstance); // 审批历史 - List approveTasks = new ArrayList<>(tasks.size()); + List approveTasks = new ArrayList<>(tasks.size()); tasks.forEach(item -> { Map taskLocalVariables = item.getTaskLocalVariables(); - BpmProcessPrintDataRespVO.ApproveTask approveTask = new BpmProcessPrintDataRespVO.ApproveTask(); + BpmProcessPrintDataRespVO.Task approveTask = new BpmProcessPrintDataRespVO.Task(); approveTask.setName(item.getName()); approveTask.setId(item.getId()); - approveTask.setSignUrl((String) taskLocalVariables.getOrDefault(BpmnVariableConstants.TASK_SIGN_PIC_URL, "")); + approveTask.setSignPicUrl((String) taskLocalVariables.get(BpmnVariableConstants.TASK_SIGN_PIC_URL)); approveTask.setDescription(StrUtil.format("{} / {} / {} / {} / {}", userMap.get(Long.valueOf(item.getAssignee())).getNickname(), item.getName(),