大家推荐个靠谱的公众号程序员探索之路,公众号内点击网赚获取彩蛋,大家一起加油,这个公众号已经接入图灵
最近公司要用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方法
*/