Commit 256b6f2c1d9ee1d85f5cc339b2d2dac13cd51147
1 parent
4d39d533
review:【bpm 工作流】流程打印
Showing
3 changed files
with
24 additions
and
23 deletions
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java
| ... | ... | @@ -214,8 +214,8 @@ public class BpmProcessInstanceController { |
| 214 | 214 | AdminUserRespDTO startUser = adminUserApi.getUser(Long.valueOf(historicProcessInstance.getStartUserId())); |
| 215 | 215 | DeptRespDTO dept = deptApi.getDept(startUser.getDeptId()); |
| 216 | 216 | List<HistoricTaskInstance> tasks = taskService.getFinishedTaskListByProcessInstanceIdWithoutCancel(processInstanceId); |
| 217 | - Set<Long> userIds = convertSet(tasks, item -> Long.valueOf(item.getAssignee())); | |
| 218 | - Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds); | |
| 217 | + Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap( | |
| 218 | + convertSet(tasks, item -> Long.valueOf(item.getAssignee()))); | |
| 219 | 219 | return success(BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePrintData(historicProcessInstance, |
| 220 | 220 | processDefinitionService.getProcessDefinitionInfo(historicProcessInstance.getProcessDefinitionId()), |
| 221 | 221 | tasks, userMap, | ... | ... |
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessPrintDataRespVO.java
| 1 | 1 | package cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.module.bpm.controller.admin.base.user.UserSimpleBaseVO; | |
| 4 | 3 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | 4 | import lombok.Data; |
| 6 | 5 | |
| 7 | 6 | import java.util.List; |
| 8 | -import java.util.Map; | |
| 9 | 7 | |
| 10 | 8 | @Schema(description = "管理后台 - 流程实例的打印数据 Response VO") |
| 11 | 9 | @Data |
| ... | ... | @@ -14,25 +12,30 @@ public class BpmProcessPrintDataRespVO { |
| 14 | 12 | @Schema(description = "流程实例数据") |
| 15 | 13 | private BpmProcessInstanceRespVO processInstance; |
| 16 | 14 | |
| 17 | - @Schema(description = "是否开启自定义打印模板") | |
| 15 | + @Schema(description = "是否开启自定义打印模板", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") | |
| 18 | 16 | private Boolean printTemplateEnable; |
| 19 | 17 | |
| 20 | - @Schema(description = "自定义打印模板HTML") | |
| 18 | + @Schema(description = "自定义打印模板 HTML") | |
| 21 | 19 | private String printTemplateHtml; |
| 22 | 20 | |
| 23 | 21 | @Schema(description = "审批任务列表") |
| 24 | - private List<ApproveTask> tasks; | |
| 22 | + private List<Task> tasks; | |
| 25 | 23 | |
| 24 | + @Schema(description = "流程任务") | |
| 26 | 25 | @Data |
| 27 | - public static class ApproveTask { | |
| 26 | + public static class Task { | |
| 28 | 27 | |
| 28 | + @Schema(description = "流程任务的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | |
| 29 | 29 | private String id; |
| 30 | 30 | |
| 31 | + @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") | |
| 31 | 32 | private String name; |
| 32 | 33 | |
| 33 | - private String description; | |
| 34 | + @Schema(description = "签名 URL", example = "https://www.iocoder.cn/sign.png") | |
| 35 | + private String signPicUrl; | |
| 34 | 36 | |
| 35 | - private String signUrl; | |
| 37 | + @Schema(description = "任务描述", requiredMode = Schema.RequiredMode.REQUIRED) | |
| 38 | + private String description; // 该字段由后端拼接 | |
| 36 | 39 | |
| 37 | 40 | } |
| 38 | 41 | ... | ... |
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvert.java
| ... | ... | @@ -305,25 +305,23 @@ public interface BpmProcessInstanceConvert { |
| 305 | 305 | // 打印模板是否开启 |
| 306 | 306 | printData.setPrintTemplateEnable(printTemplateSetting != null && Boolean.TRUE.equals(printTemplateSetting.getEnable())); |
| 307 | 307 | // 流程相关数据 |
| 308 | - BpmProcessInstanceRespVO processInstance = new BpmProcessInstanceRespVO(); | |
| 309 | - processInstance.setStatus(FlowableUtils.getProcessInstanceStatus(historicProcessInstance)); | |
| 310 | - processInstance.setId(historicProcessInstance.getId()); | |
| 311 | - processInstance.setName(historicProcessInstance.getName()); | |
| 312 | - processInstance.setBusinessKey(historicProcessInstance.getBusinessKey()); | |
| 313 | - processInstance.setStartTime(DateUtils.of(historicProcessInstance.getStartTime())); | |
| 314 | - processInstance.setEndTime(DateUtils.of(historicProcessInstance.getEndTime())); | |
| 315 | - processInstance.setFormVariables(historicProcessInstance.getProcessVariables()); | |
| 316 | - processInstance.setStartUser(startUser); | |
| 317 | - processInstance.setProcessDefinition(BeanUtils.toBean(processDefinitionInfo, BpmProcessDefinitionRespVO.class)); | |
| 308 | + BpmProcessInstanceRespVO processInstance = new BpmProcessInstanceRespVO() | |
| 309 | + .setId(historicProcessInstance.getId()).setName(historicProcessInstance.getName()) | |
| 310 | + .setBusinessKey(historicProcessInstance.getBusinessKey()) | |
| 311 | + .setStartTime(DateUtils.of(historicProcessInstance.getStartTime())) | |
| 312 | + .setEndTime(DateUtils.of(historicProcessInstance.getEndTime())) | |
| 313 | + .setStartUser(startUser).setStatus(FlowableUtils.getProcessInstanceStatus(historicProcessInstance)) | |
| 314 | + .setFormVariables(historicProcessInstance.getProcessVariables()) | |
| 315 | + .setProcessDefinition(BeanUtils.toBean(processDefinitionInfo, BpmProcessDefinitionRespVO.class)); | |
| 318 | 316 | printData.setProcessInstance(processInstance); |
| 319 | 317 | // 审批历史 |
| 320 | - List<BpmProcessPrintDataRespVO.ApproveTask> approveTasks = new ArrayList<>(tasks.size()); | |
| 318 | + List<BpmProcessPrintDataRespVO.Task> approveTasks = new ArrayList<>(tasks.size()); | |
| 321 | 319 | tasks.forEach(item -> { |
| 322 | 320 | Map<String, Object> taskLocalVariables = item.getTaskLocalVariables(); |
| 323 | - BpmProcessPrintDataRespVO.ApproveTask approveTask = new BpmProcessPrintDataRespVO.ApproveTask(); | |
| 321 | + BpmProcessPrintDataRespVO.Task approveTask = new BpmProcessPrintDataRespVO.Task(); | |
| 324 | 322 | approveTask.setName(item.getName()); |
| 325 | 323 | approveTask.setId(item.getId()); |
| 326 | - approveTask.setSignUrl((String) taskLocalVariables.getOrDefault(BpmnVariableConstants.TASK_SIGN_PIC_URL, "")); | |
| 324 | + approveTask.setSignPicUrl((String) taskLocalVariables.get(BpmnVariableConstants.TASK_SIGN_PIC_URL)); | |
| 327 | 325 | approveTask.setDescription(StrUtil.format("{} / {} / {} / {} / {}", |
| 328 | 326 | userMap.get(Long.valueOf(item.getAssignee())).getNickname(), |
| 329 | 327 | item.getName(), | ... | ... |