定义实体

使用流程的实体,需要继承 BpmDomainEntity 实体。BpmDomainEntity 包含如下信息:

// 流程定义Id(含具体版本)
protected String processDefinitionId;
// 流程实例Id
protected String processInstanceId;
// 发起人
protected String submitter = null;
// 流程状态
protected String status = null;

在流程启动后流程引擎会自动使实体与流程实例建立关联(通过 processInstanceId 字段)。同时流程引擎将自动为实体维护发起人(submitter)、流程状态(status)和流程定义Id(processDefinitionI)信息。流程状态所体现的是流程中的任务环节,当任何环节变化时此流程状态也会随之改变。

具体关联哪个流程是在 @Scaffold 标记所对应的 scaffold.js 中进行定义的

exports.processDefinitionKey = 'example-generate-bpm-task-userTask';

除了继承 BpmDomainEntity 外,关于流程就不再需要其他的任何设置了。当然可以向其他业务实体一样进行关联、验证等设置。

@Entity
@Table(name = "CDEIO_EMPLOYEE")
@Scaffold("/employee")

public class Employee extends BpmDomainEntity {
    // 具体的业务配置
    ...
}