activit 外置表单使用

看了很多文章,都多少缺些东西,研究后,写了个小demo。

部署文件列表

                outSildeForm.png

                outSildeForm.bpmn

                outSildeForm.form

                start.form

其中  start.form为启动节点表单,outSildeForm.form为审批节点表单

start.form:

 <input type="text" id="name" name="name"></input>

outSildeForm.form

<input type="text" id="name" name="name">#{name}</input>    区别在查看节点可以从流程变量中获取值并自动赋值。

 outSildeForm.bpmn部分

  <process id="outSideForm" name="outSideForm" isExecutable="true">
    <startEvent id="startevent1" name="Start" activiti:formKey="act/designs/outSideForm/start.form"></startEvent>
                                                            <userTask id="usertask1" name="节点1" activiti:assignee="4202" activiti:formKey="act/designs/outSideForm/outSildeForm.form"></userTask>
 

部署测试demo

        //式部署流程 (文件流方式部署无效)
  DeploymentBuilder   deploymentBuilder =repositoryService.createDeployment();
  deploymentBuilder.addClasspathResource("act/designs/outSideForm/outSildeForm.bpmn");
  deploymentBuilder.addClasspathResource("act/designs/outSideForm/outSildeForm.png");
  deploymentBuilder.addClasspathResource("act/designs/outSideForm/outSildeForm.form");
  deploymentBuilder.addClasspathResource("act/designs/outSideForm/start.form");
  Deployment  deployment= deploymentBuilder.deploy();
  
  System.out.println("部署成功");

   //获取流程定义id
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult();


    Object renderedStartForm = formService.getRenderedStartForm(processDefinition.getId());
    //表单信息填写variables里
    
    Map<String, String> variables = Maps.newHashMap();
    variables.put("name", "test");
   
    //启动流程
        ProcessInstance processInstance = formService.submitStartFormData(processDefinition.getId(), variables);
 
        //查询待审批
    List<Task> todoListAssignee = taskService.createTaskQuery().processDefinitionKey("outSideForm")
.taskAssignee("4202").active().orderByTaskPriority().desc().orderByTaskCreateTime().desc().list();
        
   
    //审批
    for(Task task : todoListAssignee)
    {
    //获取审批表单
    Object renderedTaskForm = formService.getRenderedTaskForm(task.getId());

    variables.put("flag","yes");

               //审批

    formService.submitTaskFormData(task.getId(), variables);
   
    }

 

 

                 

                

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值