(一) 开始一个请假流程
//user是请假人的actorId
ExecutionService es=JbpmServiceFactory.getInstance().openExecutionService(user);
HashMap vs=new HashMap();
//一些参数
vs.put(Constants.REQUEST_STATUS,String.valueOf(0));
vs.put(Constants.REQUEST_RETURN_INFO,"No info!");
vs.put(Constants.USER_NAME,EncodeTransfer.toISO(user));
vs.put(Constants.REQUEST_DAYS,String.valueOf(rea.getDays()));
try {
//开启请假流程
es.startProcessInstance(Constants.WORK_NAME, vs);
log.info("["+user+"]"+"申请假期开始!请假"+rea.getDays()+"天!");
return am.findForward("main");
} catch (ExecutionException ex) {
ex.printStackTrace();
log.error("请假进程无法开始!");
return am.findForward("error");
}finally{
es.close();
}
(二)当前执行任务
对于部门经理或者老板,找到要处理的请假。
String actorId = (String) req.getSession().getAttribute(Constants.USER);
if(actorId.equals("wang")){
actorId="boss";
}else if(actorId.equals("bigli")){
actorId="chief";
}
// get the execution service
ExecutionService executionService = JbpmServiceFactory.getInstance().
openExecutionService(actorId);
// get the tasklist from jbpm for user
List tasks = new ArrayList();
// add the jbpm tasks
tasks.addAll(executionService.getTaskList(actorId));
// put the tasklist into the form
mf.setTasks(tasks);
// get the tasklist from jbpm for user
List definitions = new ArrayList();
// add the jbpm definitions
definitions.addAll(executionService.getLatestDefinitions());
// put the tasklist into the form
mf.setRequests(definitions);
// close the execution service
executionService.close();
req.getSession().setAttribute("mainForm",mf);
log.debug("任务: " + tasks);
log.debug("当前可以执行的请求: " + definitions);
(三)处理请假
String actorId = (String) reqrest.getSession().getAttribute(Constants.
USER);
Long tokenId=new Long(req.getParameter("tokenId"));
// get the execution service
ExecutionService executionService = JbpmServiceFactory.getInstance().
openExecutionService(actorId);
Map hm=executionService.getVariables(tokenId);//变量
String act=req.getParameter("action");//进行转换的transition
executionService.endOfState(tokenId,hm,act);
executionService.close();
分享到:
相关推荐
**jbPM4工作流示例jbpmDemo**是一款基于jBPM4的工作流管理系统实例,旨在帮助用户深入了解和掌握jBPM4工作流引擎的使用方法。jBPM4是一款强大的开源工作流管理系统,它提供了流程建模、执行以及监控等功能,广泛应用...
jbpm工作流整合是一个关键的主题,它涉及到企业级业务流程管理(BPM)系统的实施与集成。jbpm是一个开源的工作流管理系统,它提供了一套全面的工具和框架,用于设计、执行、监控和优化业务流程。这个压缩包可能包含...
【Jbpm工作流示例】是一个以Jbpm 4.4版本为基础的工作流程管理系统实例,主要用于展示和学习工作流的基本操作和功能。Jbpm(Java Business Process Management)是一个开源的工作流引擎,它提供了全面的业务流程管理...
**JBPM工作流详解** JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了一整套解决方案,用于设计、执行和管理业务流程。在本示例中,我们将深入探讨如何利用JBPM实现销售批复这一具体...
**jBPM工作流详解** jBPM,全称Java Business Process Management,是Red Hat公司开发的一款开源的工作流管理系统,它提供了对业务流程的建模、执行和监控能力。jBPM不仅支持传统的工作流标准,如BPMN 2.0,还集成...
【JBPM工作流全套学习资料】是一份详尽的学习资源,涵盖了JBPM工作流系统的基础到高级知识。JBPM(Java Business Process Management)是开源的企业级工作流管理系统,它允许开发者设计、部署和执行业务流程。这个...
JBPM工作流示例旨在帮助初学者理解工作流管理系统的核心概念,掌握流程定义、部署和执行的方法。通过XML配置文件的学习,可以更加灵活地设计和实现业务流程,从而提高企业的运营效率和管理水平。在实际项目中,可以...
【李腾飞JBPM工作流引擎代码test01到test04】是一系列关于使用JBPM工作流引擎进行程序开发的示例代码。JBPM(Java Business Process Management)是一款开源的工作流管理系统,它允许开发者设计、执行和管理业务流程...
总结来说,JBPM工作流系统提供了强大的业务流程管理能力,通过`jbpm_5_leave_web`这样的示例工程,可以帮助我们快速理解和实践业务流程自动化。同时,它还支持多种数据库,具备良好的扩展性和可定制性,是企业级应用...
"JBPM工作流实战_流程定义文件的上传处理视频 03"这一主题主要关注如何在实际操作中处理JBPM流程定义文件的上传,这在构建业务流程自动化系统时是非常关键的步骤。 首先,流程定义文件是JBPM工作流的核心组成部分,...
jbpm工作流是一种开源的工作流管理系统,由JBoss组织开发,用于帮助企业自动化业务流程。jbpm提供了丰富的功能,包括流程定义、执行、监控和集成,适用于各种业务场景,如人力资源管理、采购流程、客户服务等。 在...
工作流JBPM SSH示例是将企业级工作流管理系统JBPM与流行的Java开发框架SSH(Struts、Spring、Hibernate)整合的一个典型应用。这个示例旨在帮助开发者理解如何在Java Web环境中集成工作流管理,以实现更高效的企业...
JBPM(JBoss Business Process Management)是一个开源的工作流管理系统,由Java语言开发,设计用于实现灵活、可扩展的业务流程自动化。JBPM的核心特点是它的直观流程语言,它使用任务、异步等待状态、定时器、自动...
### Spring与JBoss JBPM工作流集成开发指南 #### 一、引言 随着信息技术的发展,企业越来越依赖于高效的工作流管理系统来优化业务流程。工作流管理系统能够支持或自动化业务过程的一部分或全部,通过计算机化的...
在"wipe-flow"这个压缩包文件中,很可能包含了与jbpm工作流相关的示例流程或项目的源代码。这些代码可能涵盖了流程定义文件(bpmn2.xml)、Java服务类(实现业务逻辑)、配置文件(如jbpm的配置、数据库连接配置等)...
【JBPM工作流介绍PPT】是一份针对工作流管理和开源工作流引擎jBPM的培训资料,旨在帮助IT专业人士理解和应用工作流技术。工作流起源于生产组织和办公自动化领域,目的是通过规则化和流程化的方式提升工作效率,降低...
- **jbpm4web**:可能是一个基于jbpm4.3的工作流Web应用程序示例,它演示了如何在Web环境中使用jbpm,并可能包含了SSH框架的集成。 - **文件内容**:这个压缩包可能包含Web应用的源代码、配置文件、流程定义文件...
总结来说,jbpm是一个强大的Java工作流引擎,具有流程建模、执行和管理的全面功能,适合用于构建企业级工作流系统。jbpm-demo提供了丰富的示例,帮助开发者快速上手,而jbpm-2.0-beta1的压缩包则包含了实现这些功能...
**JBPM工作流经典例子详解** JBPM,全称Java Business Process Management,是一个开源的工作流管理系统,用于管理和执行业务流程。它提供了强大的流程建模、执行和监控功能,且基于Java,具有良好的跨平台性和可...