Commit 256b6f2c1d9ee1d85f5cc339b2d2dac13cd51147

Authored by YunaiV
1 parent 4d39d533

review:【bpm 工作流】流程打印

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(),
... ...