1 集成环境
- Spring3.2
- Activity 5.13
2 请假流程实例
2.1 业务流程
- 员工发起请假请求,并且员工在请假完成前的任何阶段都可以销假。
- 项目经理审批首先审批流程,1天以上的需要部门经理审批,不同意时退回员工重新调整假期。
2.2 activity流程图
3 流程集成点
3.1 流程部署
测试中使用数据库存储流程定义文件,通过界面来部署流程。
Deployment deployment = processEngine.getRepositoryService() .createDeployment().name(dbFlow.getFlowName()) .addInputStream(dbFlow.getFlowName()+".bpmn20.xml", new ByteArrayInputStream(content.getBytes())).deploy(); |
3.2 流程运行
3.2.1 启动流程
在启动流程的时候可以根据实际需要做相关处理.
//任务节点上定义的formProperty可以集成到启动变量里面 /* List<FormProperty> formProperties = startFormData.getFormProperties(); if(formProperties!=null){ for(FormProperty formProperty:formProperties){ variables.put(formProperty.getId(), formProperty.getValue()); } } */ //initiator相关实现 processEngine.getIdentityService().setAuthenticatedUserId(initiator); processEngine.getRuntimeService().startProcessInstanceByKey(processDefinitionKey, variables);
/* 如果想在流程中加入业务表数据,可以启用businessKey processEngine.getRuntimeService().startProcessInstanceByKey(processDefinitionKey,businessObject.getBusinessKey(), variables); */
|
3.2.2 执行任务
参数处理和启动时类似
processEngine.getTaskService().complete(taskId, taskVariables); |
3.3 任务查询
//使用TaskService,可以完成大部分的查询要求。
TaskService taskService = processEngine.getTaskService();
3.4 流程表单
使用spring mvc发布表单地址,借用task中的formKey属性。
3.4.1 启动表单
使用spring mvc,约定界面的jsp查找位置:
比如WEB-INF/pages/workflow/run/flow1/startForm.jsp
ModelAndView model = new ModelAndView();
StartFormData startForm = flowRunManager.getStartFormData(flowKey); String formKey = startForm.getFormKey();
List<FormProperty> formProperties = startForm.getFormProperties(); for(FormProperty formProperty:formProperties){ model.addObject(formProperty.getId(),formProperty.getValue()); }
Object processDefinitionIdVar = startForm.getProcessDefinition().getKey(); String processDefinitionId = processDefinitionIdVar.toString();
model.addObject("processDefinitionId", processDefinitionId); model.setViewName("workflow/run/"+processDefinitionId+"/"+formKey); |
3.4.2 任务表单
和启动表单处理类似
3.5 自动任务
通过delegateExpression属性可以直接调用spring环境中实现了org.activiti.engine.delegate.JavaDelegate接口的bean。
<serviceTask id="userTask_node3" name="请假完成服务" activiti:delegateExpression="${vacationComplete}"/> |
3.6 多结束
如果流程有多个结束,需要在endEvent里面配置terminateEventDefinition。
<endEvent id="endEvent_node1"> <terminateEventDefinition/> </endEvent>
|
相关推荐
"activity5工作流"是一个与Java编程和工作流管理相关的资源包。工作流是指在组织内自动执行的一系列任务或业务流程,它涉及到任务分配、审批、协作等环节,通常用于提高工作效率和规范化操作。在Java领域,实现工作...
在Laravel框架中,"Activity"通常指的是记录和管理用户或系统的操作日志。这个"Laravel开发-activity"可能是为了帮助开发者实现一个自动记录应用程序中关键活动的功能。在这个项目中,我们很可能找到了一个用于...
3. **异常处理**:集成异常捕获机制,当Activity遇到未处理的异常时,能优雅地处理并记录错误信息,防止应用崩溃。 4. **数据保存与恢复**:在Activity的暂停和恢复过程中,插件可能会自动保存用户界面的状态,以便...
此工程为一键退出多个Activity简单示例,所有的Activity同时集成一个ParentActivity,在ParentActivity添加一个菜单触发事件来控制关闭activity,每打开一个Activity就记录下来并添加到一个list中,关闭的时候同时...
在本项目中,"springboot整合activity工作流审批前后台代码(有数据库)"是一个基于Spring Boot框架的应用,用于实现企业内部的工作流程审批系统。这个系统涵盖了员工、部门经理和BOSS三个不同的审批角色,旨在提供...
CodeCoverageCheck Activity是针对Team Foundation Server 2010(TFS 2010)设计的一个特定功能,主要用于在持续集成(CI)环境中检查代码覆盖率。代码覆盖率是衡量测试质量的重要指标,它能帮助开发者了解有多少源...
Activity工作流通常包括工作流引擎、工作流定义模型(如BPMN或WFN)以及与业务逻辑的集成。 在这个"activity工作流demo"中,我们可以看到两个关键组成部分:数据库结构数据和实际的工作流演示。 `sdp-activity.sql...
在Laravel框架中,`activitylog`是一个非常实用的包,它可以帮助开发者追踪和记录应用程序中的用户活动。这个包的增强版本,`Spotie Laravel Activitylog`,提供了更丰富的功能和更好的性能,使得监控和分析用户行为...
`laravel-activity-log` 是一个 Laravel 包,它提供了一个简单且强大的方式来记录应用中的各种活动。这个包可以帮助开发者轻松地跟踪和存储用户在应用中的操作,例如创建、更新或删除资源等。 ### 1. 安装与配置 ...
【Android FragmentActivity 演示】 在Android应用开发中,FragmentActivity是Android Support ...通过研究这个项目,开发者可以深入理解FragmentActivity和Fragment的使用,以及如何在实际项目中集成和管理它们。
Eclipse是一个开源的集成开发环境(IDE),支持多种编程语言。通过插件机制,用户可以根据需求扩展其功能。Eclipse Activity工作流插件就是这样一个插件,它专门为在Eclipse中进行业务流程开发而设计。 2. **...
- **历史记录配置**:启用历史记录以跟踪流程执行情况。 #### API使用 - **流程引擎API**:提供服务层接口,如流程定义管理、流程实例管理等。 - **查询API**:用于检索流程实例、任务等相关信息。 - **表达式**:...
- **历史数据查询**:记录流程的历史数据,方便追溯和审计。 5. **示例代码解析** 在"demo"目录下,通常包含了一个Jeecg-Boot集成Activiti的示例项目,可能包括流程定义文件(bpmn.xml和png图片),Java服务类,...
3. `AndroidManifest.xml`:这个文件是应用的配置文件,它记录了应用的信息,如权限、Activity、Service等。当你添加新的Activity时,必须在这儿声明。 现在,我们来添加一个新的Activity。在项目导航器中,右键...
6. **FormService**:支持表单的集成和渲染。 7. **ManagementService**:提供监控和管理引擎的工具。 #### 六、代码演示 下面是一个简单的示例代码,展示了如何使用Activity引擎来启动一个流程实例并完成一个任务...
5. **业务逻辑集成**:将业务逻辑与Activiti结合,例如在任务到达某个节点时触发特定的服务方法。这可以通过监听器、服务任务、表达式等方式实现。 6. **用户界面集成**:Jeecg-boot提供了前端界面,需要与后端的...
文件列表中的"web_5.zip、web_4.zip、web_3.zip"可能包含的是关于Spring与Activity整合的示例代码或配置文件。通常,这些zip文件会包含一个简单的Android项目,展示如何设置Spring Android环境,如何配置Activity...
5. **流程审计和监控**:可能加强了流程运行日志记录和审计功能,以及实时监控工具,便于管理员了解流程运行状况。 6. **更好的可扩展性**:Activiti 5.15 可能对插件系统进行了改进,使得第三方开发者可以更轻松地...