潘志宝
2024-11-11 31bd2c17088ec34072deabe106ff1d695c8b2b49
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.bpm.controller.admin.definition.vo.process;
H 2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data;
5
6 import java.time.LocalDateTime;
7 import java.util.List;
8
9 @Schema(description = "管理后台 - 流程定义 Response VO")
10 @Data
11 public class BpmProcessDefinitionRespVO {
12
13     @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
14     private String id;
15
16     @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
17     private Integer version;
18
19     @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "平台")
20     private String name;
21
22     @Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "iailab")
23     private String key;
24
25     @Schema(description = "流程图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.baidu.com/iailab.jpg")
26     private String icon;
27
28     @Schema(description = "流程描述", example = "我是描述")
29     private String description;
30
31     @Schema(description = "流程分类", example = "1")
32     private String category;
33     @Schema(description = "流程分类名字", example = "请假")
34     private String categoryName;
35
36     @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1")
37     private Integer formType;
38     @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024")
39     private Long formId;
40     @Schema(description = "表单名字", example = "请假表单")
41     private String formName;
42     @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED)
43     private String formConf;
44     @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED)
45     private List<String> formFields;
46     @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空",
47             example = "/bpm/oa/leave/create")
48     private String formCustomCreatePath;
49     @Schema(description = "自定义表单的查看路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空",
50             example = "/bpm/oa/leave/view")
51     private String formCustomViewPath;
52
53     @Schema(description = "中断状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
54     private Integer suspensionState; // 参见 SuspensionState 枚举
55
56     @Schema(description = "部署时间")
57     private LocalDateTime deploymentTime; // 需要从对应的 Deployment 读取,非必须返回
58
59     @Schema(description = "BPMN XML")
60     private String bpmnXml; // 需要从对应的 BpmnModel 读取,非必须返回
61
62     @Schema(description = "发起用户需要选择审批人的任务数组")
63     private List<UserTask> startUserSelectTasks; // 需要从对应的 BpmnModel 读取,非必须返回
64
65     @Schema(description = "BPMN UserTask 用户任务")
66     @Data
67     public static class UserTask {
68
69         @Schema(description = "任务标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "sudo")
70         private String id;
71
72         @Schema(description = "任务名", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
73         private String name;
74
75     }
76
77 }