review:【bpm 工作流】流程打印
This commit is contained in:
@@ -214,8 +214,8 @@ public class BpmProcessInstanceController {
|
|||||||
AdminUserRespDTO startUser = adminUserApi.getUser(Long.valueOf(historicProcessInstance.getStartUserId()));
|
AdminUserRespDTO startUser = adminUserApi.getUser(Long.valueOf(historicProcessInstance.getStartUserId()));
|
||||||
DeptRespDTO dept = deptApi.getDept(startUser.getDeptId());
|
DeptRespDTO dept = deptApi.getDept(startUser.getDeptId());
|
||||||
List<HistoricTaskInstance> tasks = taskService.getFinishedTaskListByProcessInstanceIdWithoutCancel(processInstanceId);
|
List<HistoricTaskInstance> tasks = taskService.getFinishedTaskListByProcessInstanceIdWithoutCancel(processInstanceId);
|
||||||
Set<Long> userIds = convertSet(tasks, item -> Long.valueOf(item.getAssignee()));
|
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
|
||||||
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
|
convertSet(tasks, item -> Long.valueOf(item.getAssignee())));
|
||||||
return success(BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePrintData(historicProcessInstance,
|
return success(BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePrintData(historicProcessInstance,
|
||||||
processDefinitionService.getProcessDefinitionInfo(historicProcessInstance.getProcessDefinitionId()),
|
processDefinitionService.getProcessDefinitionInfo(historicProcessInstance.getProcessDefinitionId()),
|
||||||
tasks, userMap,
|
tasks, userMap,
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
package cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance;
|
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 io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Schema(description = "管理后台 - 流程实例的打印数据 Response VO")
|
@Schema(description = "管理后台 - 流程实例的打印数据 Response VO")
|
||||||
@Data
|
@Data
|
||||||
@@ -14,25 +12,30 @@ public class BpmProcessPrintDataRespVO {
|
|||||||
@Schema(description = "流程实例数据")
|
@Schema(description = "流程实例数据")
|
||||||
private BpmProcessInstanceRespVO processInstance;
|
private BpmProcessInstanceRespVO processInstance;
|
||||||
|
|
||||||
@Schema(description = "是否开启自定义打印模板")
|
@Schema(description = "是否开启自定义打印模板", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
|
||||||
private Boolean printTemplateEnable;
|
private Boolean printTemplateEnable;
|
||||||
|
|
||||||
@Schema(description = "自定义打印模板HTML")
|
@Schema(description = "自定义打印模板 HTML")
|
||||||
private String printTemplateHtml;
|
private String printTemplateHtml;
|
||||||
|
|
||||||
@Schema(description = "审批任务列表")
|
@Schema(description = "审批任务列表")
|
||||||
private List<ApproveTask> tasks;
|
private List<Task> tasks;
|
||||||
|
|
||||||
|
@Schema(description = "流程任务")
|
||||||
@Data
|
@Data
|
||||||
public static class ApproveTask {
|
public static class Task {
|
||||||
|
|
||||||
|
@Schema(description = "流程任务的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
|
@Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
|
||||||
private String name;
|
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()));
|
printData.setPrintTemplateEnable(printTemplateSetting != null && Boolean.TRUE.equals(printTemplateSetting.getEnable()));
|
||||||
// 流程相关数据
|
// 流程相关数据
|
||||||
BpmProcessInstanceRespVO processInstance = new BpmProcessInstanceRespVO();
|
BpmProcessInstanceRespVO processInstance = new BpmProcessInstanceRespVO()
|
||||||
processInstance.setStatus(FlowableUtils.getProcessInstanceStatus(historicProcessInstance));
|
.setId(historicProcessInstance.getId()).setName(historicProcessInstance.getName())
|
||||||
processInstance.setId(historicProcessInstance.getId());
|
.setBusinessKey(historicProcessInstance.getBusinessKey())
|
||||||
processInstance.setName(historicProcessInstance.getName());
|
.setStartTime(DateUtils.of(historicProcessInstance.getStartTime()))
|
||||||
processInstance.setBusinessKey(historicProcessInstance.getBusinessKey());
|
.setEndTime(DateUtils.of(historicProcessInstance.getEndTime()))
|
||||||
processInstance.setStartTime(DateUtils.of(historicProcessInstance.getStartTime()));
|
.setStartUser(startUser).setStatus(FlowableUtils.getProcessInstanceStatus(historicProcessInstance))
|
||||||
processInstance.setEndTime(DateUtils.of(historicProcessInstance.getEndTime()));
|
.setFormVariables(historicProcessInstance.getProcessVariables())
|
||||||
processInstance.setFormVariables(historicProcessInstance.getProcessVariables());
|
.setProcessDefinition(BeanUtils.toBean(processDefinitionInfo, BpmProcessDefinitionRespVO.class));
|
||||||
processInstance.setStartUser(startUser);
|
|
||||||
processInstance.setProcessDefinition(BeanUtils.toBean(processDefinitionInfo, BpmProcessDefinitionRespVO.class));
|
|
||||||
printData.setProcessInstance(processInstance);
|
printData.setProcessInstance(processInstance);
|
||||||
// 审批历史
|
// 审批历史
|
||||||
List<BpmProcessPrintDataRespVO.ApproveTask> approveTasks = new ArrayList<>(tasks.size());
|
List<BpmProcessPrintDataRespVO.Task> approveTasks = new ArrayList<>(tasks.size());
|
||||||
tasks.forEach(item -> {
|
tasks.forEach(item -> {
|
||||||
Map<String, Object> taskLocalVariables = item.getTaskLocalVariables();
|
Map<String, Object> taskLocalVariables = item.getTaskLocalVariables();
|
||||||
BpmProcessPrintDataRespVO.ApproveTask approveTask = new BpmProcessPrintDataRespVO.ApproveTask();
|
BpmProcessPrintDataRespVO.Task approveTask = new BpmProcessPrintDataRespVO.Task();
|
||||||
approveTask.setName(item.getName());
|
approveTask.setName(item.getName());
|
||||||
approveTask.setId(item.getId());
|
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("{} / {} / {} / {} / {}",
|
approveTask.setDescription(StrUtil.format("{} / {} / {} / {} / {}",
|
||||||
userMap.get(Long.valueOf(item.getAssignee())).getNickname(),
|
userMap.get(Long.valueOf(item.getAssignee())).getNickname(),
|
||||||
item.getName(),
|
item.getName(),
|
||||||
|
|||||||
Reference in New Issue
Block a user