###工作流
####创建流程引擎
1.基于默认的配置文件创建一个流程引擎:
ProcessEngine processEngine = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResourceDefault()
.buildProcessEngine();
2.在缺少配置文件创建一个流程引擎
ProcessEngine processEngine = ProcessEngineConfiguration
.createStandaloneProcessEngineConfiguration()
.buildProcessEngine();
3.获取一个默认的流程引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine()
####部署流程定义文件
Deployment deloyment = processEngine.getRepositoryService()
.createDeployment() //创建一个部署对象
.name(“流程名称”)
.addClasspathResource(".bpmn") //加载配置
.deploy(); //完成部署
校验是否部署成功 deloyment.getId();
deloyment.getName();
开启一个流程process 流程Id
开启一个实例 task
##部署流程 process
##4启动运行流程
###第一步 开启实例
process 流程名 x
riskcode 险种编码 y
map 备注
startProcessInstanceByKey(processId,riskcode,map)
ProcessEngine processEngine; //流程引擎
RuntimeService runtimeService = processEngine.getRuntimeService();
TaskService taskService = processEngine.getTaskService();
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(process, business, menuGroup1); //开启实例
##处理流程任务
###第二步 进行扭转
开始扭转 从定义到审核,审核通过需要网关传递变量进行确定结束任务。
TaskService taskService = procssEngine.getTaskService(); //获取到实例
TaskService taskService =taskService.createTaskQuery() //创建任务查询
.taskName(“节点”) //查询节点
.processInstanceBusinessKey(businessId) //产品业务Id
.singleResult(); //返回单个结果
目的: 获取到taskId
taskService.claim(taskId,assignent); //进行任务分配
taskService.complete(taskId); //结束这个节点
##第三步 审核
同第二步一样,首先获取实例,查询节点,
通过网关需要定义变量的值
map.put(“网关变量”,“true”);
processEngine.getTaskService.complete(taskId,map);
###关联的数据库表名
lpf_m_lmRiskApp_m:险种定义表riskcode
ACT_RU_EXECUTION:运行时流程执行实例表 BUSINESS_KEY_(业务编码) ID_
PROC_INST_ID_ 流程实例编号
ACT_RU_TASK: 运行时任务表 EXECUTION_ID_ (执行实例Id) NAME_(变量名称)