- 浏览: 576977 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (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 1517Activiti总结内容 常用方法汇总 sequenceFl ... -
Activiti自我总结
2014-12-26 20:55 1282Spring代码 <?xml version=&qu ... -
Activiti根据Flowname进行转向
2014-06-29 18:13 703转向问题需要注意的是每次转向到其他节点时要把其他Transit ... -
Activiti小知识总结
2014-06-29 11:00 5831.ACT_HI_ACTINS表中Assignee字段没有值的 ... -
Activiti获取待办任务信息
2014-06-27 10:00 5170根据userid获得TaskQuery然后再获得Histori ... -
Activiti获取任务候选人
2014-06-27 09:33 2117IdentityLink是任务候选人的对象。来自于taskSe ... -
Activiti获得下一个节点
2014-06-26 14:37 1459用PvmTransition表示箭头的类。而这些类是从 Lis ... -
Activiti获取流程中的审批意见
2014-06-26 14:18 2356执行流程的过程中所有的变量信息都保存在ACT_HI_VARIN ... -
Activiti获取某个流程实例的FormKey
2014-06-25 15:21 2411通过任务id获得formkey ProcessDef ... -
Activiti中流程对象之间的关系
2014-06-25 10:36 716在开始之前先看看下图,对整个对象结构有个了解,再结合下面的详细 ... -
Activiti学习-2
2014-06-08 17:12 8585.12乱码问题解决: <!-- Activiti ... -
activiti学习之task与execution的关系
2014-06-08 16:54 1378一.含义 task 即待办任务 execution 即流程 ... -
Activiti学习总结
2014-06-03 11:50 18951.获得流程图乱码问题 ... -
Activiti环境安装及项目下载基础学习
2014-06-01 23:10 574Activiti资料 官网:http://www.activ ...
相关推荐
Activiti 学习笔记十:开始活动节点(判断流程是否结束及查询历史)
伪汇总审批,就是每一条流程都是独立的,这些独立的流程在走到某个节点的时候,这个节点的审批人可以一次性进行多个任务的审批
NULL 博文链接:https://chun521521.iteye.com/blog/2182997
activiti代码实现审批流程的审批功能,可以正常运行,我已经调试通过
Activiti12流程跟踪任务节点和线高亮显示,能标记流程所走过节点和线为红色,未走过的节点和线不标记,支持驳回和子流程。
主要介绍了activiti获取流程图的方法,需要的朋友可以参考下
这个是Activiti开发的请假流程实例,可以作为用Activiti开发工作流的参考;项目采用spring+hibernate+strus2+activity开发,可以运行;数据库采用oracle,其中 QingJia 和 QingJiaHis 是自己的业务表,分别表示 请假...
Activiti(Flowable) 流程实例克隆解决方案1
在用activiti的时候经常遇到取会签人员的问题,这个文档解决怎么获取会签人员。
Activiti 学习笔记六:流程执行历史记录
activiti工作流实例,实例化、获取任务、完成任务、任务跟踪、历史任务
Activiti工作流示例ActivitiDemo 本示例带有全部源码,详细使用Canvas动画演示了Activiti工作流引擎的使用。非常实用,非常先进和完整。希望您会喜欢。
使用activiti工作流引擎显示流程图时高亮显示流程图中已执行节点和已执行路径方法源代码
Activiti多实例任务实现会签.
activiti学习-使用activiti多实例任务实现会签
4.程序中使用的是spring mvc注解的方式,可扩展的地方也很多,我是从网上下的maven项目,然后自己改成web项目,除了整个架子外,其他的都是我自己的东西 5.目前能实现的功能就是走一个流程,适合初学者研究 我深知...
Activiti工作流设计实例,配置复杂的Activiti工作流模板
用的是activiti6,demo中有bpmn流程图、创建流程、启动流程、得到代办、代办人传值、代办审批、节点之间传数据以及删除流程实例等操作。bpmn图,你需要下载插件要不然看到的是XML文件
主要介绍了Activiti流程图查看实例,需要的朋友可以参考下
activiti流程图查看demo