activiti总结
来源:互联网 发布:联想授权数据恢复中心 编辑:程序博客网 时间:2024/05/21 10:59
bpmn:
TaskListener:
event:TaskLinstener会调用的类型
create:任务创建并设置所有属性后触发
assignment:任务分配给一些人时触发
complete:当任务完成,并尚未从运行数据中删除时触发
class:调用的代理类,该类必须实现TaskListener接口
expression:无法与class同时使用,指定事件发生时执行的表达式
SequenceFlow:
Main config:
lebel width:
Condition:满足条件,格式为:${boolean类型表达式}
TaskUser:
Main config:
Assignee:把任务指定给指定用户
Candidate users:任务指定给一批候选人
Candidate groups:任务指定给候选组
Form ky:关联表单
API:
RuntimeService:
ProcessInstance:流程实例
Execution:执行流,就是一个流程实例具体要执行的过程对象 好像是有分支的时候会产生新的execution
一个流程启动,就会创建一个流程实例,流程中有几个分支,就会有几个执行流
RuntimeService提供了很多操作流程实例的API
启动:startProcessInstanceByXX 激活,挂起:activateProcessInstanceById suspendProcessInstanceById 执行流的查询:createExecutionQuery获得一个ExecutionQuery对象,该对象可根据信息查询执行流 流程实例的查询:createProcessInstanceQuery 删除:deleteProcessInstanceIdentityService:管理用户和用户组RepositoryService: 管理流程仓库,部署,删除,读取流程资源 创建部署构建器:createDeployment,通过它执行部署 deploy:部署 查询流程定义:createProcessDefinitionQueryFormService: 管理表单--起始节点表单,任务表单 getStartFormData,getTaskFormData 目前Activiti默认支持的类型有String,long,enum,date,boolean,collection,如果要使用自定义类型,需要定义解析类
动态表单:
<startEvent activiti:initiator="applyUserId" id="start" name="start"> <extensionElements> <activiti:formProperty datePattern="yyyy-MM-dd" id="startDate" name="请假开始日期" required="true" type="date"/> <activiti:formProperty datePattern="yyyy-MM-dd" id="endDate" name="请假结束日期" required="true" type="date"/> <activiti:formProperty id="reason" name="请假原因" required="true" type="string"/> </extensionElements></startEvent><userTask activiti:assignee="admin" activiti:exclusive="true" id="deptLeaderAudit" name="部门领导审批"> <extensionElements> <activiti:formProperty datePattern="yyyy-MM-dd" id="startDate" name="请假开始日期" type="date" writable="false"/> <activiti:formProperty datePattern="yyyy-MM-dd" id="endDate" name="请假结束日期" type="date" writable="false"/> <activiti:formProperty id="reason" name="请假原因" type="string" writable="false"/> <activiti:formProperty id="deptLeaderPass" name="审批意见" required="true" type="enum"> <activiti:value id="true" name="同意"/> <activiti:value id="false" name="不同意"/> </activiti:formProperty> </extensionElements></userTask>
静态表单:
<startEvent id="begin" name="请假申请" activiti:initiator="applyUserId" activiti:formKey="/demo/leave/startForm"></startEvent><userTask id="leaderAudit" name="部门经理审批" activiti:candidateGroups="test" activiti:formKey="/demo/leave/completeForm"></userTask>