[自学Activti]3流程实例ProcessInstance 操作流程实例例子 Day3

ProcessDefinition与ProcessInstance是一对多关系
ProcessDefinition:行动计划
ProcessInstance:具体行动

ProcessDefinition对多ProcessInstance
一个计划多个行动

//操作实例需要注入RunTime
@Autowired
private RuntimeService runtimeService;

//操作部署信息注入
@Autowired
private RepositoryService repositoryService;

代码部分:
当我们需要操作流程实例时需要初始化

@Autowired
    private RuntimeService runtimeService;

    //初始化流程实例
    @Test
    public void  initProcessInstance (){
        //通过实例Key初始化实例
        //key 流程开始的参数
        //businessKey 信息业务名称

        //工作中
        //1获取页面表单填报内容,请假时间,请假事由, String  参数
        //2: 参数 写入业务表 ,返回业务表主键ID==businessKey
        //目的: 业务数据与流程数据关联
        //businessKey用处:反查业务内容是什么
        String key = "Process_1";
        String businessKey  = "测试";

        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(key,businessKey);
        System.out.println("流程实例ID为"+processInstance.getProcessInstanceId());
    }
    //获取流程实例列表
    @Test
    public void  getProcessInstances (){
        List<ProcessInstance> list = runtimeService.createProcessInstanceQuery().list();
        //流程定义的ID为 流程定义的key+版本号+UUID
        for (ProcessInstance processInstance : list) {
            //isSuspended 查看流程是否被挂起
            System.out.println(processInstance.isSuspended());
            //查看流程定义ID
            System.out.println(processInstance.getProcessInstanceId());
        }
    }
    //挂起实例
    @Test
    public void  activtiProcessInstance (){
        //传入流程实例id
        //执行挂起
        runtimeService.suspendProcessInstanceById("9f4f9fc3-2e8f-11ed-a457-708bcd0c3dc6");
    }
    //激活实例
    @Test
    public void  startActivtiProcessInstance (){
        //传入流程实例ID
        //激活后会取消挂起状态
        runtimeService.activateProcessInstanceById("9f4f9fc3-2e8f-11ed-a457-708bcd0c3dc6");
    }
    //删除流程实例
    @Test
    public void  delProcessInstance (){
        //key 删除流程id
        //delText 删除理由

        //Activti多次删除会抛异常
        String key = "9f4f9fc3-2e8f-11ed-a457-708bcd0c3dc6";
        String delText  = "测试";

        runtimeService.deleteProcessInstance(key,delText);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值