流程实例
| Modifiers | Name | Description |
|---|---|---|
static Integer |
COMPLETE_REASON_BYADMIN |
|
static Integer |
COMPLETE_REASON_BYSUPV |
|
static Integer |
COMPLETE_REASON_DELETECHILDREN |
|
static Integer |
COMPLETE_REASON_EXPIRED |
|
static Integer |
COMPLETE_REASON_REJECTED |
|
static Integer |
COMPLETE_REASON_TIMEOUT |
|
static Integer |
PRIORITY_CRITICAL |
|
static Integer |
PRIORITY_NONURGENT |
|
static Integer |
PRIORITY_NORMAL |
|
static Integer |
PRIORITY_URGENT |
|
static Integer |
SECURITY_ONFIDENTIAL |
|
static Integer |
SECURITY_RESTRICTED |
|
static Integer |
SECURITY_SECRET |
|
static Integer |
SECURITY_TOPSECRET |
|
static Integer |
SECURITY_UNCLASSIFIED |
|
static Integer |
STATE_CANCELED |
|
static Integer |
STATE_COMPLETED |
|
static Integer |
STATE_DRAFT |
|
static String |
STATE_NAME_CANCELED |
|
static String |
STATE_NAME_COMPLETED |
|
static String |
STATE_NAME_DRAFT |
|
static String |
STATE_NAME_PROCESSING |
|
static String |
STATE_NAME_TEMP |
默认的状态名称i18n后缀 |
static String |
STATE_NAME_TERMINATED |
|
static Integer |
STATE_PROCESSING |
|
static Integer |
STATE_TEMP |
流程状态 |
static Integer |
STATE_TERMINATED |
|
static Long |
SUBDOCID_NULL |
引入子流程关联文档未创建时的临时文档ID |
protected Object |
_doc |
|
protected Process |
_proc |
| Type | Name and description |
|---|---|
String |
actorsName当前办理人 |
bropen.framework.core.domain.DomainApplication |
application所属应用 |
Long |
bizId所属业务定义的ID |
Set<ProcessInstance> |
children子流程实例 |
Integer |
completeReason流程结束原因 |
Date |
completeTime流程结束时间 |
static Object |
constraints |
Date |
createTime流程开始时间 |
String |
definitionName文种:业务定义名称 |
String |
docClass关联文档的Class |
String |
docController关联文档的Contoller |
Long |
docId关联文档的ID |
String |
docNumber关联文档的编号:最长不超过32个字符 |
EmulateProcess |
emulateProcess仿真流程 |
String |
endEventId结束事件的Id |
String |
entry流程定义路径(x.y.z.Foobar) |
String |
ext1扩展分类属性:可以用于任务列表等。 |
String |
ext2 |
static Object |
hasMany |
bropen.framework.core.osm.Employee |
initiator原始起草人:如果要获得起草人,使用方法 drafter() |
String |
initiatorActual实际起草人名称:流程可能是由代为起草的,这里记录实际拟稿人的名称等信息 |
String |
initiatorName起草人名称 |
bropen.framework.core.osm.Employee |
initiatorTransfered起草人移交后的接收人 |
Date |
lastUpdated时间戳:更新 |
static Map |
listFields |
static Object |
mappedBy |
static Object |
mapping |
String |
nodesName当前办理人列表:actors |
String |
organizationFullName起草机构全名 |
Long |
organizationId起草机构 |
ProcessInstance |
parent所属父流程实例:冗余数据 |
Task |
parentTask子流程实例所属的任务实例,此任务实例关联所属的父流实例 |
Integer |
priority紧急程度/优先级 |
String |
processId流程定义的ID |
String |
revision流程定义版本号 |
Integer |
security密级 |
String |
startEventId开始事件的Id |
Integer |
state流程状态:STATE_* |
String |
stateName流程状态名称:如果流程结束,则为结束事件(end-state)的名称 |
Set<Task> |
tasks任务实例列表 |
String |
title流程实例的标题 |
static Object |
transients |
| Type | Name and description |
|---|---|
Object |
beforeInsert() |
Object |
beforeUpdate() |
Object |
beforeValidate() |
static void |
bootStrapInit() |
static String |
calTitle(Object doc)计算title |
Boolean |
canceled()流程是否被撤销 |
ProcessInstance |
changeState(Integer to, Map options = [now: new Date()改变状态 |
Boolean |
completed()流程是否正常完成 |
Object |
data(Map options = [lock: false) |
void |
deleteTask(Task t, boolean recursive = false)删除一个任务 |
Object |
document(Map options = [lock: false)获得关联文档 |
bropen.framework.core.osm.Employee |
drafter()当前起草人,返回 initiatorTransfered 或 initiator |
bropen.framework.core.osm.EmployeeIdentity |
drafterEI()当前起草人身份,不含已被禁用的身份。 |
void |
dummyTask(Task t)将任务转换成 DUMMY 任务(仅用于授权),如果用户有其他任务,则直接删除该任务 |
Boolean |
ended()流程是否结束 |
Task |
firstCompletedTask(bropen.framework.core.osm.Employee emp, Map options = [taskNode: null)获得员工的最近一个已完成的task |
Task |
firstOtherTask(bropen.framework.core.osm.Employee emp, Map options = [taskNode: null)获得员工的第一个授权的(dummy或移交的)任务 |
Task |
firstTask(bropen.framework.core.osm.Employee emp, Map options = [preTask: null)获得员工的第一个需要办理的任务 |
List<bropen.framework.core.osm.Employee> |
getActors()只读属性:当前办理人列表 |
static String |
getDisplayCompleteReason(Integer completeReason, boolean isDefaultLang = false) |
String |
getDisplayDefinitionName() |
static String |
getDisplayDefinitionName(String definitionName) |
String |
getDisplayStateName()只读属性:国际化后的状态名称 |
static String |
getDisplayStateName(String stateName, Integer completeReason = null, boolean isDefaultLang = false)国际化后的状态名称 |
List<bropen.framework.core.osm.Employee> |
getReaders()只读属性:当前待阅人列表 |
boolean |
isCollapsedSubprocess()当前流程实例是否是引入子流程实例 |
bropen.framework.core.security.Permission$Granted |
isReader(bropen.framework.core.osm.Employee emp, Map options = null)判断员工是否有权限访问本流程实例 |
boolean |
isSubprocess()当前流程实例是否是子流程实例 |
Object |
onDelete() |
List<Opinion> |
opinions(bropen.framework.core.osm.Employee emp, Map criteria = [groupIds: null, Map options = [:])获得意见对象列表 |
bropen.framework.core.osm.Organization |
organization()起草机构 |
Process |
processDefinition()获得当前流程定义 |
static List<Map> |
processes()获得已加载的流程定义列表 |
Object |
sendToRead(Task task, Object sender, Object receiver, Map options = [nodeId: null) |
Object |
sendToread(Task task, Object sender, Object receiver, Map options = [nodeId: null)生成一个待阅 |
Task |
startNode()起草环节 |
Task |
startTask(Task taskNode = null)起草任务 |
Boolean |
terminated()流程是否被终止 |
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() |
默认的状态名称i18n后缀
流程状态
引入子流程关联文档未创建时的临时文档ID
当前办理人
所属应用
所属业务定义的ID
子流程实例
流程结束原因
流程结束时间
流程开始时间
文种:业务定义名称
关联文档的Class
关联文档的Contoller
关联文档的ID
关联文档的编号:最长不超过32个字符
属性值取自 Domain 的某个属性,配置在 application.yml(|.groovy) 的 bropen.bpm.process.docnumber.mapping
仿真流程
结束事件的Id
流程定义路径(x.y.z.Foobar)
唯一、不为空,默认情况下和文档类名相同
扩展分类属性:可以用于任务列表等。
如在待办中根据项目名称进行分类。
属性值取自Domain的某个属性,配置在 bropen.bpm.process.ext1.mapping。
原始起草人:如果要获得起草人,使用方法 drafter()
实际起草人名称:流程可能是由代为起草的,这里记录实际拟稿人的名称等信息
属性值取自Domain的某个属性,配置在Config.groovy的 bropen.bpm.process.initiatorActual.mapping
起草人名称
起草人移交后的接收人
时间戳:更新
当前办理人列表:actors
起草机构全名
起草机构
流程实例是子流程时:
所属父流程实例:冗余数据
子流程实例所属的任务实例,此任务实例关联所属的父流实例
紧急程度/优先级
取值范围 1~9,由业务自己定,数字越大,级别越高; 默认范围[0=无,5=一般、7=紧急、9=特急]
流程定义的ID
流程定义版本号
密级
1~9,由业务自己定,数字越大,级别越高; 默认范围[0=公开,1= 受限(内部)、5=秘密、7=机密、9=高密(绝密)]
开始事件的Id
流程状态:STATE_*
流程状态名称:如果流程结束,则为结束事件(end-state)的名称
任务实例列表
流程实例的标题
计算title
doc - 文档实例流程是否被撤销
改变状态
to - 状态值,为 STATE_XXX 中的一种options.now - 改变为结束状态的时间,默认为当前时间。如果to为草稿或流转中,则本参数无效options.stateName - 状态名称,默认从流程定义或者 STATE_NAME_XXX 中取options.completeReason - 流程结束原因流程是否正常完成
删除一个任务
注意这本方法未更新流程状态,如需更新流程状态,则应该调用 processEngineService.deleteTask。
t - 要删除的任务recursive - 是否递归删除任务的后续任务,默认为否获得关联文档
options.lock - 是否取出来并lock住,默认为falseoptions.relink - 如果docId为空,是否尝试重新计算出docId,默认为false当前起草人,返回 initiatorTransfered 或 initiator
当前起草人身份,不含已被禁用的身份。
如果身份或起草人都已被禁用或删除,则通过起草任务的移交人进行计算。
将任务转换成 DUMMY 任务(仅用于授权),如果用户有其他任务,则直接删除该任务
注意本方法未更新流程状态
t - 要转换或删除的任务流程是否结束
获得员工的最近一个已完成的task
优先级:已办、草稿、已阅
emp - 员工options.taskNode - 任务的过滤条件:环节名options.taskGroupId - 任务的过滤条件:分组ID,默认为"*",表明在任何分组均可。因为分组id为null时表示为主干,因此只好用*来代替所有。获得员工的第一个授权的(dummy或移交的)任务
emp - 员工options.taskNode - 任务的过滤条件:环节名options.taskGroupId - 任务的过滤条件:分组ID,默认为"*",表明在任何分组均可。因为分组id为null时表示为主干,因此只好用*来代替所有。获得员工的第一个需要办理的任务
优先级:草稿、待办、待阅
emp - 员工options.preTask - 如果不为空,则从该任务找它提交出去的新任务,而不是从整个流程实例的任务中去查找options.types - 任务类型列表,排在最前面的优先级高。默认为[Task.TYPE_DRAFT, Task.TYPE_TODO, Task.TYPE_TOREAD]options.taskNode - 任务的过滤条件:环节名options.subprocess - 是否可包含子流程待办,默认falseoptions.taskGroupId - 任务的过滤条件:分组ID,默认为"*",表明在任何分组均可。因为分组id为null时表示为主干,因此只好用*来代替所有。只读属性:当前办理人列表
只读属性:国际化后的状态名称
国际化后的状态名称
stateName - 状态名称completeReason - 流程结束原因isDefaultLang - true/false,true时是取系统默认语言的i18n的值;false且有请求则取请求的对应语言的值只读属性:当前待阅人列表
当前流程实例是否是引入子流程实例
判断员工是否有权限访问本流程实例
emp - 员工当前流程实例是否是子流程实例
获得意见对象列表
emp - 如果不为null,则会返回对应员工的未提交意见criteria - 其他可选参数,参考 service 中的同名方法options - 格式化参数Map,参考 service 中的同名方法起草机构
获得当前流程定义
获得已加载的流程定义列表
生成一个待阅
options - 其他可选参数,参考 service 中的同名方法起草环节
如果流程实例已创建,则返回起草的环节;否则返回null
注:首环节可能有多个,这里的起草环节包含于首环节
起草任务
taskNode - 起草任务所在环节(针对有多个起草环节的流程)流程是否被终止
流程实例标题