main方法测试流程引擎

大家推荐个靠谱的公众号程序员探索之路,公众号内点击网赚获取彩蛋,大家一起加油,这个公众号已经接入图灵https://i-blog.csdnimg.cn/blog_migrate/93320939ba8f8b0a898e29429753f496.png ​  

最近公司要用activiti,稍微看一下

idea/eclipse如何画流程图:https://blog.csdn.net/yueloveme/article/details/87195743

主要代码与运行结果:

完整项目地址:https://github.com/ZhZGod/activiti 

LOG.info("开始测试main方法");
//创建流程引擎
ProcessEngine processEngine = getProcessEngine();
//部署流程定义文件
ProcessDefinition processDefinition = getProcessDefinition(processEngine);
//启动运行流程
ProcessInstance processInstance = getProcessInstance(processEngine, processDefinition);
//处理流程任务
FormService formService = processEngine.getFormService();
Scanner scanner = new Scanner(System.in);
while (processInstance != null && !processInstance.isEnded()) {
   TaskService taskService = processEngine.getTaskService();
   List<Task> list = taskService.createTaskQuery().list();
   LOG.info("待处理的任务数量[{}]", list.size());
   for (Task t : list) {
      LOG.info("待处理的任务是:[{}]", t.getName());
      TaskFormData taskFormData = formService.getTaskFormData(t.getId());
      List<FormProperty> formProperties = taskFormData.getFormProperties();
      HashMap<String, Object> form = Maps.newHashMap();
      for (FormProperty f : formProperties) {
         LOG.info("请输入:[{}],类型:[{}]", f.getName(), f.getType());
         String s = scanner.nextLine();
         LOG.info("您输入的内容是:[{}]", s);
         if (StringFormType.class.isInstance(f.getType())) {
            form.put(f.getId(), s);
         } else if (DateFormType.class.isInstance(f.getType())) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            Date parse = simpleDateFormat.parse(s);
            form.put(f.getId(), parse);
         } else {
            LOG.info("{}类型暂不支持", f.getType());
         }
      }
      taskService.complete(t.getId(), form);
      processInstance = processEngine.getRuntimeService()
            .createProcessInstanceQuery()
            .processInstanceId(processInstance.getId())
            .singleResult();
   }
}
LOG.info("结束测试main方法");
/**
 开始测试main方法
 流程引擎名称:[default],版本:[6.0.0.4]
 流程定义文件[二级审批流程图],流程ID[second_approve:1:4]
 启动流程,[second_approve]
 待处理的任务数量[1]
 待处理的任务是:[填写表单信息]
 请输入:[申请原因],类型:[org.activiti.engine.impl.form.StringFormType@38a1a26]
 加薪
 您输入的内容是:[加薪]
 请输入:[申请人id],类型:[org.activiti.engine.impl.form.StringFormType@38a1a26]
 123
 您输入的内容是:[123]
 请输入:[申请时间],类型:[org.activiti.engine.impl.form.DateFormType@1744a475]
 2018-12-14
 您输入的内容是:[2018-12-14]
 请输入:[确认申请],类型:[org.activiti.engine.impl.form.StringFormType@38a1a26]
 y
 您输入的内容是:[y]
 待处理的任务数量[1]
 待处理的任务是:[主管审批]
 请输入:[审批信息],类型:[org.activiti.engine.impl.form.StringFormType@38a1a26]
 同意,加薪1000
 您输入的内容是:[同意,加薪1000]
 请输入:[主管审批结果],类型:[org.activiti.engine.impl.form.StringFormType@38a1a26]
 y
 您输入的内容是:[y]
 待处理的任务数量[1]
 待处理的任务是:[人事审批]
 请输入:[人事审批信息],类型:[org.activiti.engine.impl.form.StringFormType@38a1a26]
 同意,额外奖励500
 您输入的内容是:[同意,额外奖励500]
 请输入:[人事审批结果],类型:[org.activiti.engine.impl.form.StringFormType@38a1a26]
 y
 您输入的内容是:[y]
 结束测试main方法
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值