review:【bpm 工作流】流程打印
This commit is contained in:
@@ -214,8 +214,8 @@ public class BpmProcessInstanceController {
|
||||
AdminUserRespDTO startUser = adminUserApi.getUser(Long.valueOf(historicProcessInstance.getStartUserId()));
|
||||
DeptRespDTO dept = deptApi.getDept(startUser.getDeptId());
|
||||
List<HistoricTaskInstance> tasks = taskService.getFinishedTaskListByProcessInstanceIdWithoutCancel(processInstanceId);
|
||||
Set<Long> userIds = convertSet(tasks, item -> Long.valueOf(item.getAssignee()));
|
||||
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
|
||||
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
|
||||
convertSet(tasks, item -> Long.valueOf(item.getAssignee())));
|
||||
return success(BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePrintData(historicProcessInstance,
|
||||
processDefinitionService.getProcessDefinitionInfo(historicProcessInstance.getProcessDefinitionId()),
|
||||
tasks, userMap,
|
||||
|
||||
@@ -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<ApproveTask> tasks;
|
||||
private List<Task> 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; // 该字段由后端拼接
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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<BpmProcessPrintDataRespVO.ApproveTask> approveTasks = new ArrayList<>(tasks.size());
|
||||
List<BpmProcessPrintDataRespVO.Task> approveTasks = new ArrayList<>(tasks.size());
|
||||
tasks.forEach(item -> {
|
||||
Map<String, Object> 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(),
|
||||
|
||||
Reference in New Issue
Block a user