Search in sources :

Example 1 with NotAction

use of com.jfinal.core.NotAction in project my_curd by qinyou.

the class FormBaseController method createProcess.

/**
 * 发起流程
 *
 * @param processKey 流程 key
 * @param formId     业务表数据主键
 * @param formName   业务表名
 */
@NotAction
@Before(Tx.class)
protected void createProcess(String processKey, String formId, String formName, Date createTime) {
    ProcessDefinition definition = ActivitiUtils.getRepositoryService().createProcessDefinitionQuery().processDefinitionKey(processKey).latestVersion().singleResult();
    Optional.of(definition);
    String processInstanceName = definition.getName() + "(" + WebUtils.getSysUser(this).getRealName() + " - " + new DateTime(createTime).toString("yyyy/MM/dd HH:mm:ss") + ")";
    // 填充流程发起人参数
    Authentication.setAuthenticatedUserId(WebUtils.getSessionUsername(this));
    ProcessInstanceBuilder builder = ActivitiUtils.getRuntimeService().createProcessInstanceBuilder().processDefinitionKey(processKey).businessKey(formId).processInstanceName(processInstanceName).addVariable("businessForm", formName);
    // 此处如果抛出异常,代表 processKey 流程不存在
    builder.start();
}
Also used : ProcessInstanceBuilder(org.activiti.engine.runtime.ProcessInstanceBuilder) ProcessDefinition(org.activiti.engine.repository.ProcessDefinition) DateTime(org.joda.time.DateTime) Before(com.jfinal.aop.Before) NotAction(com.jfinal.core.NotAction)

Aggregations

Before (com.jfinal.aop.Before)1 NotAction (com.jfinal.core.NotAction)1 ProcessDefinition (org.activiti.engine.repository.ProcessDefinition)1 ProcessInstanceBuilder (org.activiti.engine.runtime.ProcessInstanceBuilder)1 DateTime (org.joda.time.DateTime)1