流程任务实例
| Modifiers | Name | Description |
|---|---|---|
static Integer |
DO_TYPE_COUNTERSIGN |
|
static Integer |
DO_TYPE_NORMAL |
|
static Integer |
LOCK_TYPE_DOC |
|
static Integer |
LOCK_TYPE_NODE |
|
static Integer |
LOCK_TYPE_NONE |
文档锁类型 |
static Integer |
NODE_TYPE_SERVICE |
|
static Integer |
NODE_TYPE_TODO |
环节类型 |
static Integer |
NODE_TYPE_TOREAD |
|
static List<Integer> |
RANGE_LOCK_TYPE |
|
static List<Integer> |
RANGE_NODE_TYPE |
|
static List<String> |
RANGE_TASK_STATUS_ACTOR |
|
static List<Integer> |
RANGE_TASK_TYPE |
|
static Set<Integer> |
RANGE_TASK_TYPE_ACTOR |
|
static Set<Integer> |
RANGE_TASK_TYPE_DO |
|
static List<Integer> |
RANGE_TRAN_TYPE |
|
static Integer |
READ_TYPE_CANCELED |
|
static Integer |
READ_TYPE_COMPLETED |
|
static Integer |
READ_TYPE_NORMAL |
|
static Integer |
READ_TYPE_TERMINATED |
|
static Integer |
SEND_TYPE_BACK |
|
static Integer |
SEND_TYPE_NORMAL |
|
static Integer |
SEND_TYPE_RETURN |
|
static Integer |
SF_TYPE_BACK |
|
static Integer |
SF_TYPE_LOOP |
|
static Integer |
SF_TYPE_NORMAL |
路径类型 |
static Integer |
SF_TYPE_RETURN |
|
static Integer |
SF_TYPE_SEND |
|
static String |
STATUS_COMPLETED |
|
static String |
STATUS_CONTENTION |
|
static String |
STATUS_CREATED |
|
static String |
STATUS_DUMMY |
|
static String |
STATUS_STARTED |
|
static String |
STATUS_SUSPENDED |
|
static String |
STATUS_TERMINATED |
|
static String |
STATUS_TIMEOUT |
|
static Integer |
TYPE_DRAFT |
|
static Integer |
TYPE_DUMMY |
|
static Integer |
TYPE_SERVICE |
|
static Integer |
TYPE_SUBPROCESS |
|
static Integer |
TYPE_TODO |
|
static Integer |
TYPE_TOREAD |
| Type | Name and description |
|---|---|
bropen.framework.core.osm.Employee |
actor发送任务(前置任务):如果是合并的任务,这里只能保存创建本任务时的前置任务 --- 废弃,此外还会导致nextTasks保存不上,原因不明 |
Long |
actorIdEver临时:任务所有者ID |
bropen.framework.core.osm.Employee |
actorSubstitute委托的临时代理人 |
Long |
actorSubstituteIdEver临时:代理人ID |
String |
actorTitle接收任务时,任务所有者的头衔(选人的时候会出现,可能需要参与某些业务计算,或显示在流程日志中) |
bropen.framework.core.osm.Employee |
actorTransfered移交接收人(该环节以后的办理人,设置在已办任务上) |
Long |
actorTransferedIdEver临时:移交接收人ID |
static Object |
belongsTo |
Integer |
completeReason任务结束原因 |
Date |
completeTime任务结束时间 |
static Object |
constraints |
Integer |
countersignNumber串行会签时的序号:一个随机两位数(用来分组)+两位数序号 |
Date |
createTime任务收到时间:如果是合并的任务,本时间会随每次合并自动更新 |
Date |
dateCreated任务创建时间 |
String |
decisiveOpinion决定性意见 |
Integer |
doType待办类型 :如果是待办的话 |
List<Map<String, Object>> |
events |
String |
ext1扩展属性 |
String |
ext2 |
String |
groupIdTODO 引入任务所有者类型 |
String |
groupName任务分组名称 |
static Object |
hasMany |
Boolean |
hasOpinion是否有流转意见 |
Long |
idEver临时:ID |
Date |
lastUpdated任务更新时间 |
static Map |
listFields |
static Object |
mapping |
Set<Task> |
nextTasks后续任务:可能会多对多(join的情况) |
String |
nodeId任务环节ID |
String |
nodeName任务环节名,或显示名(如在被跨过环节,由默认代理人办理时的环节名称) |
Set<Opinion> |
opinions流转意见:一对多 |
String |
organizationFullName任务所属机构全名 |
Long |
organizationId任务所属机构:多身份时,如果选择错了身份,这里的机构ID也就错了;) |
String |
prevStatus前一个状态 |
ProcessInstance |
processInst所属父流程实例 |
Long |
processInstIdEver临时:流程实例ID |
Integer |
readType阅知类型:如果是待阅的话 |
String |
reminds临时:强制发送的待办提醒类型(多值以分号分隔),如提交时发送人勾选的 senderRemindTypes |
Integer |
rollbackCount回滚次数 |
Integer |
sendType发送类型:发送到本任务的路径的类型 |
String |
sender任务发送者(上一办理人) |
Long |
senderUid临时:发送人的用户ID |
String |
sequenceflowNames结束时选择的提交路径 |
Date |
startTime任务开始时间:打开时间 or 自动任务的执行完成时间 |
String |
status任务状态 |
String |
statusEver临时:状态 |
Integer |
substituteType委托策略:可同时处理、或仅代理人能处理(取值范围为 Substitute 的 WORK_TYPE_ANY(默认)、WORK_TYPE_MOVE) |
Integer |
substituteTypeEver临时:代理类型 |
String |
timeout任务超时规则 |
String |
title任务标题 |
static Object |
transients |
Integer |
type任务类型:草稿0、待办1、待阅2、赋权用的10、自动20、子流程30 |
Integer |
typeEver临时:任务类型 |
| Type | Name and description |
|---|---|
bropen.framework.core.osm.Employee |
actor()该任务对应环节的以后的办理人,比如退回时。 |
bropen.framework.core.osm.EmployeeIdentity |
actorEI()该任务对应环节的以后的办理人身份,比如退回时。 |
List<Long> |
actorIds()能处理该任务的办理人的ID:可能是actor、actorTransfered、actorSubstitute |
List<bropen.framework.core.osm.Employee> |
actors()能处理该任务的办理人列表:可能是actor、actorTransfered、actorSubstitute |
bropen.framework.core.osm.Employee |
actualActor()该任务的实际办理人。 |
bropen.framework.core.osm.EmployeeIdentity |
actualActorEI()该任务的实际办理人身份。 |
Object |
afterLoad() |
Object |
beforeDelete() |
Object |
beforeInsert() |
Object |
beforeUpdate() |
static void |
bootStrapInit() |
static String |
calTitle(Task task, Object doc)计算title |
Task |
complete(String sequenceflowNames = "", Date now = new Date(, Integer completeReason = null) |
Task |
dummy(Date completeTime = null, Integer completeReason = null) |
List<SequenceFlow> |
getAvailableSequenceFlows()只读属性:可选路径 |
String |
getDisplayNodeName()只读属性:国际化后的环节名称 |
String |
getDisplaySender()只读属性:国际化后的任务发送者(上一办理人) |
static String |
getDisplaySender(String sender)国际化后的任务发送者(上一办理人) |
String |
getDisplaySequenceflowNames()只读属性:格式化后,用于显示的路径名 |
boolean |
getEditable()只读属性:根据流程定义计算环节是否可编辑 |
Boolean |
getRollbackable()只读属性:是否和撤回(抽单) |
ProcessInstance |
getSubProcessInstance()如果当前任务实例是关联子流程的任务,获取当前任务实例关联的子流程实例 @return |
Boolean |
handover(bropen.framework.core.osm.EmployeeIdentity actorEi, Map options = null)任务移交 |
Boolean |
isEditable()根据任务的状态、环节属性判断,当前任务是否可编辑 |
String |
isEndTask()判断是否是流程的结束任务 |
Boolean |
isStartTask()判断是否是流程的开始任务 |
Opinion |
opinion(Map criteria = [tag: null)根据tag、groupId找对应的意见 |
bropen.framework.core.osm.Organization |
organization()任务所属机构 |
List<Task> |
prevTasks(Map options = null)取上一任务列表,按照完成时间逆序排序 |
Task |
reactive() |
Task |
reset(Date now = new Date()改变状态 |
Task |
resume() |
void |
rollback()撤回:删除后续待办,并将本任务设置未待办 |
void |
setSubProcessInstance(ProcessInstance processInstance)设置Task关联的子流程实例 |
Task |
start(Date now = new Date() |
Task |
suspend() |
Task |
terminate(Date now = new Date(, Integer completeReason = null) |
List<Task> |
terminatePreTasks()结束所有前置未完成的任务 |
String |
toString()任务标题 |
| Methods inherited from class | Name |
|---|---|
class Object |
Object#wait(long, int), Object#wait(long), Object#wait(), Object#equals(Object), Object#toString(), Object#hashCode(), Object#getClass(), Object#notify(), Object#notifyAll() |
文档锁类型
环节类型
路径类型
发送任务(前置任务):如果是合并的任务,这里只能保存创建本任务时的前置任务 --- 废弃,此外还会导致nextTasks保存不上,原因不明
临时:任务所有者ID
委托的临时代理人
临时:代理人ID
接收任务时,任务所有者的头衔(选人的时候会出现,可能需要参与某些业务计算,或显示在流程日志中)
移交接收人(该环节以后的办理人,设置在已办任务上)
临时:移交接收人ID
任务结束原因
任务结束时间
串行会签时的序号:一个随机两位数(用来分组)+两位数序号
任务收到时间:如果是合并的任务,本时间会随每次合并自动更新
任务创建时间
决定性意见
待办类型 :如果是待办的话
扩展属性
TODO 引入任务所有者类型
任务分组名称
是否有流转意见
临时:ID
任务更新时间
后续任务:可能会多对多(join的情况)
任务环节ID
任务环节名,或显示名(如在被跨过环节,由默认代理人办理时的环节名称)
流转意见:一对多
任务所属机构全名
任务所属机构:多身份时,如果选择错了身份,这里的机构ID也就错了;)
前一个状态
所属父流程实例
临时:流程实例ID
阅知类型:如果是待阅的话
临时:强制发送的待办提醒类型(多值以分号分隔),如提交时发送人勾选的 senderRemindTypes
回滚次数
发送类型:发送到本任务的路径的类型
任务发送者(上一办理人)
临时:发送人的用户ID
结束时选择的提交路径
以符号 | 分隔多条路径;路径中的 / 为指向网关的路径与出口路径之间的分隔符; 如果中间有“__@”,则表示跨环节路径;前台显示时,会隐藏符号“__”后面的文字; 参考用,目前没有实际意义 -- 在 ProcessController 中会修正到最长255个字符。
任务开始时间:打开时间 or 自动任务的执行完成时间
任务状态
包括:
1、created、started、suspended、completed、terminated:之间可转换
2、dummy:什么状态都不是,仅当 type 为 TYPE_DUMMY 时设置
3、timeout: 只出现在 prevStatus 中,表示任务超时后系统自动处理的
4、contention:只出现在 prevStatus 中,表示被抢先处理的待办
用于判断时,要求用包含、等于关系,不建议使用不等于、不包含的关系,以免以后新增状态而导致错误!
临时:状态
委托策略:可同时处理、或仅代理人能处理(取值范围为 Substitute 的 WORK_TYPE_ANY(默认)、WORK_TYPE_MOVE)
临时:代理类型
任务超时规则
时间(xxh、xxm、xxd)|策略。仅对 TYPE_TODO、TYPE_SERVICE 有效。
策略包括:complete、terminate、submit(通过可用的默认路径提交--如果路径指向网关或者任务为ServiceTask则可能有多条)、 路径名列表(逗号或分号分隔)、wait(继续等待到下次时再执行,一般由script返回)、script|XXXX(执行脚本,小于200个字符,可返回其他策略)。
任务标题
任务类型:草稿0、待办1、待阅2、赋权用的10、自动20、子流程30
临时:任务类型
该任务对应环节的以后的办理人,比如退回时。 可能是actor、actorTransfered、actorSubstitute
该任务对应环节的以后的办理人身份,比如退回时。 可能是actor、actorTransfered、actorSubstitute
能处理该任务的办理人的ID:可能是actor、actorTransfered、actorSubstitute
能处理该任务的办理人列表:可能是actor、actorTransfered、actorSubstitute
该任务的实际办理人。对于已办任务,则代理人优先!
该任务的实际办理人身份。对于已办任务,则代理人优先!
计算title
task - 任务实例doc - 文档实例只读属性:可选路径
只读属性:国际化后的环节名称
只读属性:国际化后的任务发送者(上一办理人)
国际化后的任务发送者(上一办理人)
只读属性:格式化后,用于显示的路径名
只读属性:根据流程定义计算环节是否可编辑
只读属性:是否和撤回(抽单)
如果当前任务实例是关联子流程的任务,获取当前任务实例关联的子流程实例
任务移交
actorEi - 接收人身份options.actor - 移交人员工或身份对象,默认为当前任务的所有者options.accessible - 移交后,原办理人是否有阅读权限,默认为 trueoptions.updatePi - 是否更新流程实例的办理人等冗余数据,默认为 true;
批量操作时,可以设置为否,然后将流程实例去重后调用 processEngineService.resetFlowNodeAndActorNames 执行更新。根据任务的状态、环节属性判断,当前任务是否可编辑
判断是否是流程的结束任务
判断是否是流程的开始任务
根据tag、groupId找对应的意见
criteria.tag - 意见标签,默认为nullcriteria.groupId - 分组,默认为当前任务的分组!任务所属机构
取上一任务列表,按照完成时间逆序排序
options - 默认为 [completed: true, direct: true],即取直接前置已办任务列表。options.nodeId - 特定的前置环节idoptions.completed - 是否取已办,默认trueoptions.direct - 是否只取直接前置任务,nodedId 可不为空,默认为true;否则取所有前置任务,且 nodeId 必须为空。options.loop - 是否取所有在当前环节循环的前置任务列表,等同于 [nodeId: this.nodeId, completed: true, direct: true]改变状态
撤回:删除后续待办,并将本任务设置未待办
设置Task关联的子流程实例
processInstance - 子流程实例结束所有前置未完成的任务
任务标题