在完成任务时候,提供流程变量以控制流程的走向


        该死的乱码,我只能用 拼音来设计 每个任务节点的名称。

        如下图的红色箭头所示,在用户提交请假申请后,有两个走向:a走向  与 b 走向。

        


         串行网关要判断走哪条路径,而a路径与b路径不同点在于,其判断条件不一样。

        如果流程变量days小于2,也就是请假天数小于2天,走a路径,否则走b路径。

         a路径与b路径的相关设置如下,a路径的Condition是${days<2},b路径的Condition是${days>1}

        

        


        所以,在执行到串行网关之前,需要提供流程变量days的值。   

        一般来说,我们会在到达串行网关的前一步设置流程变量来控制流程的走向。

        本例子中,就是在完成“submit”任务节点的时候提供days流程变量,以控制流程接下来的走向。

        明码如下,我们设置了流程变量days的值是3,那么下一个任务将会是 "buMenJingLiShenPi"(部门经理审批)

        

    //完成任务
    @Test
    public void completeTask(){
        BeanFactory bf = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        TaskService taskService = (TaskService)bf.getBean("taskService");
        Map<String,Object> map = Maps.newHashMap();
        map.put("days",3);
        //用户提交请假申请的任务id号
        String taskId = "1001";
        //完成任务的时候,同时设置流程变量
        taskService.complete(taskId,map);
    }


猜你喜欢

转载自blog.csdn.net/yanluandai1985/article/details/80847046