flowable 没有ACT_HI_FORM_PROPERTY表
时间: 2023-08-18 11:10:25 浏览: 119
非常抱歉,我之前的回答有误。在Flowable中,表单的数据存储位置和方式与Activiti类似,但表格结构和字段可能会有所不同。
当使用Flowable提供的表单功能时,表单数据会存储在以下两个表格中:
1. ACT_HI_FORMINST表格:用于存储表单实例数据,包括表单的ID、名称、提交时间、表单数据的JSON格式等。
2. ACT_HI_DETAIL表格:用于存储表单字段的详细信息,包括表单字段的ID、所属表单的ID、字段名称、字段值等。
在启动流程实例时,如果表单中有输入数据,则表单数据会被存储在ACT_HI_DETAIL表格中。当流程执行到需要展示表单的任务节点时,Flowable会从ACT_HI_DETAIL表格中读取相应的表单数据,并在前端展示出来。
需要注意的是,Flowable的表单功能与Activiti的表单功能在实现方式和存储位置上是相似的,但具体的表格结构和字段可能会有所不同。如果需要深入了解Flowable的表单功能和表格结构,可以参考官方文档或源代码。
相关问题
flowable中查act_hi_procinst表用什么方法
在 Flowable 中,可以使用 `HistoryService` 中的 `createHistoricProcessInstanceQuery()` 方法来查询 `act_hi_procinst` 表。该方法返回一个 `HistoricProcessInstanceQuery` 对象,可以通过该对象设置查询条件,例如根据流程实例 ID 或流程定义 ID 等进行查询。查询完成后,可以通过 `list()` 方法获取查询结果,该方法返回一个 `List<HistoricProcessInstance>` 对象,其中包含符合查询条件的所有历史流程实例的信息。
java如何操作flowable的TASK_CREATED监听在ACT_RU_IDENTITYLINK表产生数据后执行
可以通过在Flowable的配置文件中配置一个监听器,在任务被创建时触发并执行一些逻辑。具体步骤如下:
1. 创建一个类并实现FlowableEventListener接口,重写onEvent方法,在该方法中判断事件类型是否为TASK_CREATED,如果是,则获取任务信息并执行需要的操作。
```java
public class TaskCreatedEventListener implements FlowableEventListener {
@Override
public void onEvent(FlowableEvent event) {
if (event instanceof FlowableEntityEvent) {
FlowableEntityEvent entityEvent = (FlowableEntityEvent) event;
if (FlowableEngineEventType.TASK_CREATED.equals(entityEvent.getType())) {
TaskEntity taskEntity = (TaskEntity) entityEvent.getEntity();
// 获取任务信息并执行需要的操作
}
}
}
@Override
public boolean isFailOnException() {
return false;
}
}
```
2. 在Flowable的配置文件中配置监听器,并设置监听器的优先级。在该配置中,需要将任务创建事件与监听器进行关联。
```xml
<bean id="taskCreatedEventListener" class="com.example.TaskCreatedEventListener"/>
<bean id="flowableEventRegistry" class="org.flowable.spring.registry.DefaultFlowableEventListenerRegistry">
<property name="eventListeners">
<list>
<bean class="org.flowable.spring.event.registry.GenericEventListenerContainer">
<property name="eventTypes">
<list>
<value>TASK_CREATED</value>
</list>
</property>
<property name="eventListener">
<ref bean="taskCreatedEventListener"/>
</property>
<property name="priority" value="100"/>
</bean>
</list>
</property>
</bean>
```
3. 在ACT_RU_IDENTITYLINK表产生数据后执行需要的操作,可以在监听器中进行判断并执行。
```java
public class TaskCreatedEventListener implements FlowableEventListener {
@Autowired
private RuntimeService runtimeService;
@Override
public void onEvent(FlowableEvent event) {
if (event instanceof FlowableEntityEvent) {
FlowableEntityEvent entityEvent = (FlowableEntityEvent) event;
if (FlowableEngineEventType.TASK_CREATED.equals(entityEvent.getType())) {
TaskEntity taskEntity = (TaskEntity) entityEvent.getEntity();
// 判断任务的identity link是否已经创建
boolean isIdentityLinkCreated = runtimeService.createIdentityLinkQuery()
.taskId(taskEntity.getId())
.count() > 0;
if (isIdentityLinkCreated) {
// 执行需要的操作
}
}
}
}
@Override
public boolean isFailOnException() {
return false;
}
}
```
通过以上步骤,就可以实现在任务创建时监听ACT_RU_IDENTITYLINK表的数据变化并执行需要的操作。
阅读全文