activity学习二(api对应的SQL)

//查询部署信息

代码:List<Deployment> list = repositoryService.createDeploymentQuery().deploymentNameLike("%" + name + "%")
      .listPage(firstResult, maxResults);
SQL: select distinct RES.* from ACT_RE_DEPLOYMENT RES WHERE RES.NAME_ like ? order by RES.ID_ asc LIMIT ? OFFSET ?
参数: %%(String), 10(Integer), 0(Integer)
//查询流程定义  根据多个部署ID 查
代码:List<ProcessDefinition> list = this.repositoryService.createProcessDefinitionQuery()
      .deploymentIds(deploymentIds).listPage(firstResult, maxResults);
SQL:select distinct RES.* from ACT_RE_PROCDEF RES WHERE RES.DEPLOYMENT_ID_ in ( ? , ? , ? , ? , ? ) order by RES.ID_ asc LIMIT ? OFFSET ?
参数:%%(String), 5(Integer), 0(Integer)
//查询流程定义   根据一个部署ID 查
代码:ProcessDefinition processDefinition = this.repositoryService.createProcessDefinitionQuery()
      .deploymentId(deploymentId).singleResult();
SQL: select distinct RES.* from ACT_RE_PROCDEF RES WHERE RES.DEPLOYMENT_ID_ = ? order by RES.ID_ asc LIMIT ? OFFSET ?
参数:1(String), 2147483647(Integer), 0(Integer)
//查询流程图
ProcessDefinition processDefinition = this.repositoryService.createProcessDefinitionQuery()
      .deploymentId(deploymentId).singleResult();
// 2从流程定义对象里面得到图片的名称
String resourceName = processDefinition.getDiagramResourceName();
代码:InputStream stream = this.repositoryService.getResourceAsStream(deploymentId, resourceName);
SQL: select * from ACT_GE_BYTEARRAY where DEPLOYMENT_ID_ = ? AND NAME_ = ?
参数:1(String), HelloWorld.png(String)
//启动流程
代码:String processDefinitionKey = LeaveBill.class.getSimpleName(); //ACT_RE_PROCDEF 表里的KEY值,这里写死了和类名一样的名字,就是部署的名字
Map<String, Object> variables = new HashMap<>();
// 设置流程变量去设置下个任务的办理人
variables.put("username", SessionUtils.getCurrentUserName());
this.runtimeService.startProcessInstanceByKey(processDefinitionKey, variables);
// 1.查询最大版本号
SQL:select * from ACT_RE_PROCDEF where KEY_ = ? and (TENANT_ID_ = '' or TENANT_ID_ is null) and VERSION_ = (select max(VERSION_) from ACT_RE_PROCDEF where KEY_ = ? and (TENANT_ID_ = '' or TENANT_ID_ is null))
​​​​​​​参数:LeaveBill(String), LeaveBill(String)
//2.根据最大版本号查询流程定义表
SQL:select * from ACT_RE_PROCDEF where ID_ = ? 
参数:LeaveBill:1:5004(String)
//
select * from ACT_RU_JOB J where J.EXECUTION_ID_ = ? 
参数:5005(String)
select distinct T.* from ACT_RU_TASK T where T.EXECUTION_ID_ = ? 
参数:5005(String)
select * from ACT_RU_IDENTITYLINK where PROC_INST_ID_ = ? 
参数:5005(String)
//添加数据

SQL: insert into ACT_HI_VARINST (ID_, PROC_INST_ID_, EXECUTION_ID_, TASK_ID_, NAME_, REV_, VAR_TYPE_, BYTEARRAY_ID_, DOUBLE_, LONG_ , TEXT_, TEXT2_, CREATE_TIME_, LAST_UPDATED_TIME_) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) 
 参数: 5007(String), 5005(String), 5005(String), null, username(String), 0(Integer), string(String), null, null, null, 李四(String), null, 2021-05-25 17:11:25.844(Timestamp), 2021-05-25 17:11:25.844(Timestamp)
DEBUG [http-nio-8080-exec-8] - <==    Updates: 1
SQL: insert into ACT_HI_TASKINST ( ID_, PROC_DEF_ID_, PROC_INST_ID_, EXECUTION_ID_, NAME_, PARENT_TASK_ID_, DESCRIPTION_, OWNER_, ASSIGNEE_, START_TIME_, CLAIM_TIME_, END_TIME_, DURATION_, DELETE_REASON_, TASK_DEF_KEY_, FORM_KEY_, PRIORITY_, DUE_DATE_, CATEGORY_, TENANT_ID_ ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) 
参数: 5009(String), LeaveBill:1:5004(String), 5005(String), 5005(String), 李四(String), null, null, null, 李四(String), 2021-05-25 17:11:25.93(Timestamp), null, null, null, null, usertask1(String), null, 50(Integer), null, null, (String)
DEBUG [http-nio-8080-exec-8] - <==    Updates: 1
SQL: insert into ACT_HI_PROCINST ( ID_, PROC_INST_ID_, BUSINESS_KEY_, PROC_DEF_ID_, START_TIME_, END_TIME_, DURATION_, START_USER_ID_, START_ACT_ID_, END_ACT_ID_, SUPER_PROCESS_INSTANCE_ID_, DELETE_REASON_, TENANT_ID_, NAME_ ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) 
参数: 5005(String), 5005(String), LeaveBill:6(String), LeaveBill:1:5004(String), 2021-05-25 17:11:25.843(Timestamp), null, null, null, startevent1(String), null, null, null, (String), null
DEBUG [http-nio-8080-exec-8] - <==    Updates: 1
SQL: insert into ACT_HI_ACTINST ( ID_, PROC_DEF_ID_, PROC_INST_ID_, EXECUTION_ID_, ACT_ID_, TASK_ID_, CALL_PROC_INST_ID_, ACT_NAME_, ACT_TYPE_, ASSIGNEE_, START_TIME_, END_TIME_, DURATION_, TENANT_ID_ ) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) , (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 
参数: 5006(String), LeaveBill:1:5004(String), 5005(String), 5005(String), startevent1(String), null, null, Start(String), startEvent(String), null, 2021-05-25 17:11:25.844(Timestamp), 2021-05-25 17:11:25.924(Timestamp), 80(Long), (String), 5008(String), LeaveBill:1:5004(String), 5005(String), 5005(String), usertask1(String), 5009(String), null, 提交申请(String), userTask(String), 李四(String), 2021-05-25 17:11:25.925(Timestamp), null, null, (String)
DEBUG [http-nio-8080-exec-8] - <==    Updates: 2
SQL: insert into ACT_HI_IDENTITYLINK (ID_, TYPE_, USER_ID_, GROUP_ID_, TASK_ID_, PROC_INST_ID_) values (?, ?, ?, ?, ?, ?) 
参数: 5010(String), participant(String), 李四(String), null, null, 5005(String)
DEBUG [http-nio-8080-exec-8] - <==    Updates: 1
SQL: insert into ACT_RU_EXECUTION (ID_, REV_, PROC_INST_ID_, BUSINESS_KEY_, PROC_DEF_ID_, ACT_ID_, IS_ACTIVE_, IS_CONCURRENT_, IS_SCOPE_,IS_EVENT_SCOPE_, PARENT_ID_, SUPER_EXEC_, SUSPENSION_STATE_, CACHED_ENT_STATE_, TENANT_ID_, NAME_) values ( ?, 1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) 
参数: 5005(String), 5005(String), LeaveBill:6(String), LeaveBill:1:5004(String), usertask1(String), true(Boolean), false(Boolean), true(Boolean), false(Boolean), null, null, 1(Integer), 2(Integer), (String), null
DEBUG [http-nio-8080-exec-8] - <==    Updates: 1
SQL: insert into ACT_RU_TASK (ID_, REV_, NAME_, PARENT_TASK_ID_, DESCRIPTION_, PRIORITY_, CREATE_TIME_, OWNER_, ASSIGNEE_, DELEGATION_, EXECUTION_ID_, PROC_INST_ID_, PROC_DEF_ID_, TASK_DEF_KEY_, DUE_DATE_, CATEGORY_, SUSPENSION_STATE_, TENANT_ID_, FORM_KEY_) values (?, 1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) 
参数: 5009(String), 提交申请(String), null, null, 50(Integer), 2021-05-25 17:11:25.925(Timestamp), null, 李四(String), null, 5005(String), 5005(String), LeaveBill:1:5004(String), usertask1(String), null, null, 1(Integer), (String), null
DEBUG [http-nio-8080-exec-8] - <==    Updates: 1
SQL: insert into ACT_RU_IDENTITYLINK (ID_, REV_, TYPE_, USER_ID_, GROUP_ID_, TASK_ID_, PROC_INST_ID_, PROC_DEF_ID_) values (?, 1, ?, ?, ?, ?, ?, ?) 
参数: 5010(String), participant(String), 李四(String), null, null, 5005(String), null
DEBUG [http-nio-8080-exec-8] - <==    Updates: 1
SQL: insert into ACT_RU_VARIABLE (ID_, REV_, TYPE_, NAME_, PROC_INST_ID_, EXECUTION_ID_, TASK_ID_, BYTEARRAY_ID_, DOUBLE_, LONG_ , TEXT_, TEXT2_) values ( ?, 1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) 
参数: 5007(String), string(String), username(String), 5005(String), 5005(String), null, null, null, null, 李四(String), null
DEBUG [http-nio-8080-exec-8] - <==    Updates: 1

//查询我的待办

select distinct RES.* from ACT_RU_TASK RES WHERE RES.ASSIGNEE_ = ? order by RES.ID_ asc LIMIT ? OFFSET ?
参数:李四(String), 10(Integer), 0(Integer)

//待办任务  跳到页面

代码:Task task = this.taskService.createTaskQuery().taskId(taskId).singleResult();
SQL: select distinct RES.* from ACT_RU_TASK RES WHERE RES.ID_ = ? order by RES.ID_ asc LIMIT ? OFFSET ? 
 参数: 5009(String), 2147483647(Integer), 0(Integer)
 4,根据流程实例ID查询流程实例
代码:ProcessInstance processInstance = this.runtimeService.createProcessInstanceQuery()
				.processInstanceId(processInstanceId).singleResult();
SQL: select distinct RES.* , P.KEY_ as ProcessDefinitionKey, P.ID_ as ProcessDefinitionId, P.NAME_ as ProcessDefinitionName, P.VERSION_ as ProcessDefinitionVersion, P.DEPLOYMENT_ID_ as DeploymentId from ACT_RU_EXECUTION RES inner join ACT_RE_PROCDEF P on RES.PROC_DEF_ID_ = P.ID_ WHERE RES.PARENT_ID_ is null and RES.ID_ = ? and RES.PROC_INST_ID_ = ? order by RES.ID_ asc LIMIT ? OFFSET ? 
 参数: 5005(String), 5005(String), 2147483647(Integer), 0(Integer)

//完成任务

代码: Task task = this.taskService.createTaskQuery().taskId(taskId).singleResult();
SQL: select * from ACT_RU_TASK where ID_ = ? 
参数: 5009(String)
代码:this.taskService.addComment(taskId, processInstanceId, "[" + outcome + "]" + comment);
SQL: 1.  select * from ACT_RU_TASK where ID_ = ? 
参数: 5009(String)
DEBUG [http-nio-8080-exec-7] - <==      Total: 1
2. select * from ACT_RU_EXECUTION where ID_ = ? 
参数: 5005(String)
DEBUG [http-nio-8080-exec-7] - <==      Total: 1
3. insert into ACT_HI_COMMENT (ID_, TYPE_, TIME_, USER_ID_, TASK_ID_, PROC_INST_ID_, ACTION_, MESSAGE_, FULL_MSG_) values (?, ?, ?, ?, ?, ?, ?, ?, ?) 
参数: 7501(String), comment(String), 2021-05-26 16:37:40.904(Timestamp), 李四(String), 5009(String), 5005(String), AddComment(String), [提交]嗯嗯嗯,同意(String), java.io.ByteArrayInputStream@4a9e9dae(ByteArrayInputStream)
代码:Map<String, Object> variables = new HashMap<>();
		variables.put("outcome", outcome);
		this.taskService.complete(taskId, variables);
SQL:1. select * from ACT_RU_TASK where ID_ = ? 
参数: 5009(String)
DEBUG [http-nio-8080-exec-1] - <==      Total: 1
2.  select * from ACT_RU_EXECUTION where ID_ = ? 
参数: 5005(String)
DEBUG [http-nio-8080-exec-1] - <==      Total: 1
3. select * from ACT_RU_VARIABLE where EXECUTION_ID_ = ? and TASK_ID_ is null 
参数: 5005(String)
DEBUG [http-nio-8080-exec-1] - <==      Total: 1
4. select * from ACT_RU_IDENTITYLINK where PROC_INST_ID_ = ? 
参数: 5005(String)
DEBUG [http-nio-8080-exec-1] - <==      Total: 1
5. select * from ACT_RU_TASK where PARENT_TASK_ID_ = ? 
参数: 5009(String)
DEBUG [http-nio-8080-exec-1] - <==      Total: 0
6. select * from ACT_RU_IDENTITYLINK where TASK_ID_ = ? 
参数: 5009(String)
DEBUG [http-nio-8080-exec-1] - <==      Total: 0
7. select * from ACT_RU_VARIABLE where TASK_ID_ = ? 
参数: 5009(String)
DEBUG [http-nio-8080-exec-1] - <==      Total: 0
8. select * from ACT_HI_TASKINST where ID_ = ? 
参数: 5009(String)
DEBUG [http-nio-8080-exec-1] - <==      Total: 1
9. select distinct T.* from ACT_RU_TASK T where T.EXECUTION_ID_ = ? 
参数: 5005(String)
DEBUG [http-nio-8080-exec-1] - <==      Total: 1
10. select RES.* from ACT_HI_ACTINST RES WHERE RES.EXECUTION_ID_ = ? and RES.ACT_ID_ = ? and RES.END_TIME_ is null order by RES.ID_ asc LIMIT ? OFFSET ? 
参数: 5005(String), usertask1(String), 1(Integer), 0(Integer)
//执行任务监听类,设置下一个办理人
	public void notify(DelegateTask delegateTask) {
		//得到当前用户
		User currentUser = SessionUtils.getCurrentUser();
		//取出领导ID
		Integer mgr=currentUser.getMgr();
		//取出IOC容器
		HttpServletRequest request=SessionUtils.getCurrentServletRequest();
		ApplicationContext applicationContext = WebApplicationContextUtils
                  .getWebApplicationContext(request.getServletContext());
		//从IOC容器里面取出UserService
		UserService userService=applicationContext.getBean(UserService.class);
		//3查询领导信息
		User leaderUser = userService.queryUserById(mgr);
		//4,设置办理人
		delegateTask.setAssignee(leaderUser.getName());
	}

API总结
1.几个接口(和表有对应关系):

ProcessDefinition—–act_re_procdef
ProcessInstance——act_ru_execution
Task—–act_ru_task

2.几个Query对象

DeploymentQuery——act_re_deployment
ProcessDefinitionQuery—–act_re_procdef
TaskQuery—–act_ru_task

3.几个Service

RepositoryService—-操作部署表、流程定义表等静态资源信息表
RuntimeService—-操作流程实例表、任务表等动态信息表
TaskService—–操作任务表
HistoryService—-操作历史表 IdentityService—-操作用户表、组表、关系表
 

 

 

 

 

おすすめ

転載: blog.csdn.net/weixin_43075758/article/details/117228351