- 浏览: 596143 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
已知businessid即eventid获得对应的审批记录
某个流程实例的节点信息都是存放在ACT_HI_ACTINST表中
business key存放在ACT_HI_PROCINST中,得到HistoricProcessInstance后获得对应的流程实例id。然后根据流程实例id获得ACT_HI_ACTINST对应的数据。即审批记录存放在ACT_HI_ACTINST中。结束时间不为空则说明已经审批完成
某个流程实例的节点信息都是存放在ACT_HI_ACTINST表中
business key存放在ACT_HI_PROCINST中,得到HistoricProcessInstance后获得对应的流程实例id。然后根据流程实例id获得ACT_HI_ACTINST对应的数据。即审批记录存放在ACT_HI_ACTINST中。结束时间不为空则说明已经审批完成
/** * * @CreateUser:xxxxx * @ReturnType:List * @param businessEventId * @return * @CreateDate:2014-6-10下午5:07:02 * @UseFor :获得某个流程实例各个节点的审批记录 */ public List getApproveHistory(String businessEventId) { List<TaskBo> taskBoList = new ArrayList<TaskBo>(); HistoricProcessInstance hisProcessInstance = (HistoricProcessInstance) historyService .createHistoricProcessInstanceQuery() .processInstanceBusinessKey(businessEventId).singleResult(); // 该流程实例的所有节点审批记录 List<HistoricActivityInstanceQuery> hisActInstList = getHisUserTaskActivityInstanceList(hisProcessInstance .getId()); for (Iterator iterator = hisActInstList.iterator(); iterator.hasNext();) { // 需要转换成HistoricActivityInstance HistoricActivityInstance activityInstance = (HistoricActivityInstance) iterator .next(); //如果还没结束则不放里面 if ("".equals(taskBo.getEndTime()) || taskBo.getEndTime() == null) { continue; } TaskBo taskBo = new TaskBo(); taskBo.setTaskName(activityInstance.getActivityName()); // 获得审批人名称 Assignee存放的是审批用户id if (activityInstance.getAssignee() != null) { taskBo.setApproveUserName(getUserName(activityInstance .getAssignee())); } else { taskBo.setApproveUserName(""); } // 获取流程节点开始时间 taskBo.setStartTime(activityInstance.getStartTime() != null ? DateTimeUtil .getFormatDate(activityInstance.getStartTime(), WorkflowConstants.DATEFORMATSTRING) : ""); // 获取流程节点结束时间 if (activityInstance.getEndTime() == null) { taskBo.setEndTime(""); } else { taskBo.setEndTime(DateTimeUtil.getFormatDate( activityInstance.getEndTime(), WorkflowConstants.DATEFORMATSTRING)); } taskBoList.add(taskBo); } return taskBoList; } /** * * @CreateUser:xxxx * @ReturnType:List * @param processInstanceId * @return * @CreateDate:2014-6-25下午5:03:13 * @UseFor :在 ACT_HI_ACTINST 表中找到对应流程实例的userTask节点 不包括startEvent */ private List<HistoricActivityInstanceQuery> getHisUserTaskActivityInstanceList( String processInstanceId) { List<HistoricActivityInstanceQuery> hisActivityInstanceList = ((HistoricActivityInstanceQuery) historyService .createHistoricActivityInstanceQuery() .processInstanceId(processInstanceId).activityType("userTask") .finished().orderByHistoricActivityInstanceEndTime().desc()) .list(); return hisActivityInstanceList; } /** * * @CreateUser:xxxx * @ReturnType:String * @param userId * @return * @CreateDate:2014-6-10下午5:04:30 * @UseFor :获得审批人 */ private String getUserName(String userId) { User user = (User) identityService.createUserQuery().userId(userId) .singleResult(); return user.getFirstName(); }
发表评论
文章已被作者锁定,不允许评论。
-
Activiti 学习总结内容
2016-11-04 14:50 1560Activiti总结内容 常用方法汇总 sequenceFl ... -
Activiti自我总结
2014-12-26 20:55 1303Spring代码 <?xml version=&qu ... -
Activiti根据Flowname进行转向
2014-06-29 18:13 720转向问题需要注意的是每次转向到其他节点时要把其他Transit ... -
Activiti小知识总结
2014-06-29 11:00 6121.ACT_HI_ACTINS表中Assignee字段没有值的 ... -
Activiti获取待办任务信息
2014-06-27 10:00 5229根据userid获得TaskQuery然后再获得Histori ... -
Activiti获取任务候选人
2014-06-27 09:33 2196IdentityLink是任务候选人的对象。来自于taskSe ... -
Activiti获得下一个节点
2014-06-26 14:37 1482用PvmTransition表示箭头的类。而这些类是从 Lis ... -
Activiti获取流程中的审批意见
2014-06-26 14:18 2436执行流程的过程中所有的变量信息都保存在ACT_HI_VARIN ... -
Activiti获取某个流程实例的FormKey
2014-06-25 15:21 2468通过任务id获得formkey ProcessDef ... -
Activiti中流程对象之间的关系
2014-06-25 10:36 731在开始之前先看看下图,对整个对象结构有个了解,再结合下面的详细 ... -
Activiti学习-2
2014-06-08 17:12 8795.12乱码问题解决: <!-- Activiti ... -
activiti学习之task与execution的关系
2014-06-08 16:54 1435一.含义 task 即待办任务 execution 即流程 ... -
Activiti学习总结
2014-06-03 11:50 19191.获得流程图乱码问题 ... -
Activiti环境安装及项目下载基础学习
2014-06-01 23:10 595Activiti资料 官网:http://www.activ ...
相关推荐
查询结果返回的是 HistoricProcessInstance 对象,从中我们可以获取到流程实例的详细历史记录。 四、查询历史活动实例(HistoricActivityInstance) 除了查询整个流程实例的历史,我们还可以深入到每个活动...
审批流程是组织中常见的业务流程,涉及不同角色的人员对某个请求或任务进行审查和批准。在Activiti中,这些流程可以通过流程定义文件(通常为`.bpmn`格式)来描述,该文件定义了各个步骤、参与者和决策规则。 在...
历史记录是 Activiti 中的一个重要特性,它允许开发者和管理员查看已经执行过的流程实例和任务的详细信息。这些信息包括但不限于流程实例的启动时间、结束时间、参与者、任务完成顺序、变量变化等,对于业务分析和...
要实现高亮显示已执行节点和路径,我们需要获取流程实例的历史数据。Activiti 提供了 HistoryService 接口,可以用来查询历史任务实例(HistoricTaskInstance)和历史流程实例(HistoricProcessInstance)。通过这些...
【标题】"Activiti工作流之流程实例、任务的执行" 在企业级应用开发中,工作流管理系统(Workflow Management System, WfMS)扮演着重要角色,它负责自动化业务流程,确保任务按照预定义的规则有序进行。Activiti是...
创建流程实例是Activiti中的关键步骤,这通常通过调用API或使用提供的工作流服务完成。在示例中,可能包含了创建请假流程的代码示例,展示如何启动一个新的流程实例。 3. **启动流程**: 启动流程涉及到激活流程...
1. 获取流程实例和任务信息:首先,我们需要查询数据库获取流程实例和相关任务的信息,包括任务的状态(如未完成、进行中、已完成)。 2. 遍历流程图元素:遍历流程图的各个元素,包括任务节点和连接线,然后根据...
在用activiti的时候经常遇到取会签人员的问题,这个文档解决怎么获取会签人员。
5. **审批节点(Approval Nodes)**:在 BPMN 流程图中,审批节点可能是用户任务(User Task)或服务任务(Service Task),用于表示审批过程。 6. **表单(Forms)**:审批流程通常涉及填写和提交表单。Activiti ...
在代码中,加签可能涉及对现有审批流的修改,添加新的审批节点,并更新流程实例的状态,确保所有参与者都能接收到通知并进行相应的操作。 再者,**流程变量**在BPM中用于存储流程实例运行过程中的状态信息。它们...
在请假流程中,每个审批节点对应一个任务,审批人需要在任务列表中找到自己的任务,进行审批操作。 7. 结束流程: 当所有必要的审批环节完成,流程到达结束事件,表明请假申请已被处理完毕。Activiti会记录整个...
Activiti 是一个开源的工作流引擎,它被设计用于在企业应用程序中实现业务流程自动化。这个工作流实例提供了关于如何在实际项目中应用 Activiti 的详细示例。由于网上关于 Activiti 的实例相对较少,这个实例对于...
- **历史数据**:Activiti 还提供了对历史流程实例的记录,便于审计和分析。 7. **API 交互**: - **REST API** 或 **Java API**:开发者可以通过 Activiti 提供的 API 与流程引擎进行交互,启动流程实例、领取...
- 监控流程:使用Activiti提供的API或管理界面,可以查看流程实例的状态、历史记录等。 4. 工作流demo分析: "activitidemo"可能包含了一个完整的示例项目,展示了如何整合和使用Activiti。这个项目可能包括以下...
6. **实施方法**:实现这样的监控图可能涉及到以下步骤:创建流程定义,启动流程实例,使用Activiti API获取流程实例信息,根据这些信息动态生成高亮的流程图,并将其渲染到网页上。 7. **实际应用**:在企业环境中...
当任务到达某个用户任务节点时,Activiti会创建一个`Task`对象并将其分配给指定的用户或用户组。用户可以完成任务,或者将任务指派给其他用户。完成任务通常通过调用`complete`方法实现,传入任务ID。 审批过程可能...
使用 Activiti Modeler 或其他支持BPMN 2.0的建模工具,创建一个简单的流程模型,例如请假审批流程,包括申请、部门经理审批、人事审批等节点。 2. **部署流程** 将流程模型导出为`.bpmn20.xml`文件,然后通过...
### Activiti节点说明 #### 一、启动事件与结束事件 **启动事件**与**结束事件**是Activiti流程定义中最基本的元素之一,用于标识流程的起点与终点。 ##### 启动事件 启动事件根据不同的特性又可以分为多种类型...
4. **ActivitiUtils.java**:这通常是一个工具类,包含了一些与Activiti相关的通用方法,比如获取流程实例信息,解析BPMN模型,或者处理与流程图渲染相关的辅助任务。 通过上述文件,开发者可以了解如何在Activiti...