BpmTaskResult.java
5.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
package com.hotent.runtime.params;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import com.hotent.base.util.BeanUtils;
import com.hotent.base.util.StringUtil;
import com.hotent.bpm.api.model.identity.BpmIdentity;
import com.hotent.bpm.persistence.model.BpmIdentityResult;
import com.hotent.bpm.persistence.model.DefaultBpmTask;
import com.hotent.bpm.persistence.util.ServiceUtil;
import com.hotent.uc.api.model.IUser;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 流程任务
*
* @company 广州宏天软件股份有限公司
* @author zhangxianwen
* @email zhangxw@jee-soft.cn
* @date 2018年6月28日
*/
@ApiModel(value="流程任务")
public class BpmTaskResult {
@ApiModelProperty(name="taskId",notes="任务ID",example="10000000000001",required=true)
protected String taskId;
@ApiModelProperty(name="taskName",notes="任务名称",example="经理审批",required=true)
protected String taskName;
@ApiModelProperty(name="subject",notes="流程实例标题",example="经理审批",required=true)
protected String subject;
@ApiModelProperty(name="nodeId",notes="任务所属节点ID",example="managerApproval",required=true)
protected String nodeId;
@ApiModelProperty(name="flowKey",notes="流程定义KEY",example="qjlc",required=true)
protected String flowKey;
@ApiModelProperty(name="flowName",notes="流程名称",example="请假流程",required=true)
protected String flowName;
@ApiModelProperty(name="status",notes="任务状态",
allowableValues="NORMAL(普通任务),AGENT(代理任务),DELIVERTO(转办任务),TRANSFORMING(流转源任务),TRANSFORMED(接收流转任务),COMMU(通知任务),BACK(被驳回任务),ADDSIGN(加签)",
example="NORMAL",required=true)
protected String status;
@ApiModelProperty(name="dueTime",notes="任务到期时间",example="2017-10-17 12:18:00",required=true)
protected LocalDateTime dueTime;
@ApiModelProperty(name="suspendState",notes="是否挂起",
allowableValues="0(正常),1(挂起)",
example="0",required=true)
protected Short suspendState;
@ApiModelProperty(name="typeId",notes="任务类型ID",required=true)
protected String typeId = "";
@ApiModelProperty(name="creator",notes="任务创建人",required=true)
protected BpmIdentityResult creator = null;
@ApiModelProperty(name="assignee",notes="任务执行人",required=true)
protected BpmIdentityResult assignee = null;
@ApiModelProperty(name="candidate",notes="任务候选人",required=true)
protected List<BpmIdentityResult> candidate = null;
@ApiModelProperty(name="createDate",notes="任务创建时间",required=true)
protected LocalDateTime createDate;
public BpmTaskResult(DefaultBpmTask defaultBpmTask) throws Exception{
if(BeanUtils.isEmpty(defaultBpmTask)){
throw new RuntimeException("流程任务为空");
}
this.taskId = defaultBpmTask.getId();
this.taskName = defaultBpmTask.getName();
this.subject = defaultBpmTask.getSubject();
this.nodeId = defaultBpmTask.getNodeId();
this.flowKey = defaultBpmTask.getProcDefKey();
this.flowName = defaultBpmTask.getProcDefName();
this.status = defaultBpmTask.getStatus();
this.dueTime = defaultBpmTask.getDueTime();
this.suspendState = defaultBpmTask.getSuspendState();
this.typeId = defaultBpmTask.getTypeId();
this.createDate = defaultBpmTask.getCreateDate();
String creatorId = defaultBpmTask.getCreatorId();
if(StringUtil.isNotEmpty(creatorId)){
IUser creatorUser = ServiceUtil.getUserById(creatorId);
this.creator = new BpmIdentityResult(creatorUser);
}
String assigneeId = defaultBpmTask.getAssigneeId();
if(StringUtil.isNotZeroEmpty(assigneeId)){
IUser assigneeUser = ServiceUtil.getUserById(assigneeId);
this.assignee = new BpmIdentityResult(assigneeUser);
}
List<BpmIdentity> identityList = defaultBpmTask.getIdentityList();
if(BeanUtils.isNotEmpty(identityList)){
List<IUser> extractUser = ServiceUtil.extractUser(identityList);
if(BeanUtils.isNotEmpty(extractUser)){
this.candidate = new ArrayList<BpmIdentityResult>();
for (IUser iUser : extractUser) {
this.candidate.add(new BpmIdentityResult(iUser));
}
}
}
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getNodeId() {
return nodeId;
}
public void setNodeId(String nodeId) {
this.nodeId = nodeId;
}
public String getFlowKey() {
return flowKey;
}
public void setFlowKey(String flowKey) {
this.flowKey = flowKey;
}
public String getFlowName() {
return flowName;
}
public void setFlowName(String flowName) {
this.flowName = flowName;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public LocalDateTime getDueTime() {
return dueTime;
}
public void setDueTime(LocalDateTime dueTime) {
this.dueTime = dueTime;
}
public Short getSuspendState() {
return suspendState;
}
public void setSuspendState(Short suspendState) {
this.suspendState = suspendState;
}
public String getTypeId() {
return typeId;
}
public void setTypeId(String typeId) {
this.typeId = typeId;
}
public BpmIdentityResult getCreator() {
return creator;
}
public void setCreator(BpmIdentityResult creator) {
this.creator = creator;
}
public BpmIdentityResult getAssignee() {
return assignee;
}
public void setAssignee(BpmIdentityResult assignee) {
this.assignee = assignee;
}
public List<BpmIdentityResult> getCandidate() {
return candidate;
}
public void setCandidate(List<BpmIdentityResult> candidate) {
this.candidate = candidate;
}
public LocalDateTime getCreateDate() {
return createDate;
}
public void setCreateDate(LocalDateTime createDate) {
this.createDate = createDate;
}
}