绝了,我想起来了不启动流程取得第一任务的下一环节
来源:互联网 发布:数据库误删除没备份 编辑:程序博客网 时间:2024/06/04 18:11
由第一个task获取下一个task是什么(为了页面动态显示,客户选择),然后启动流程,指定task
思路,发布流程获取flowKey--》根据flowKey获取所有的环节--》根据activityImpl【0】第一个环节获取下一流转--》成功
由于代码private,所有用了反射获取
附注:不能根据activitiId获取activityImpl,因为流程未启动,没有活动状态,则为空,如图测试效果:
所以上代码:
List list = new ArrayList(); PimFlowDefine flowDefine = pimFlowDefineMapper.selectByPrimaryKey(flowId); String flowKey = flowDefine.getFlowKey(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey(flowKey).latestVersion().singleResult(); ProcessDefinitionEntity def = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(processDefinition.getId()); List<IMap> jobList = iActivitiUtilSvc.getAllJobsByKey(flowKey);String activityId = jobList.get(0).getString("id");List<ActivityImpl> activitiList = def.getActivities(); //rs是指RepositoryService的实例List<PvmTransition> transitions = activitiList.get(0).getOutgoingTransitions();try {Method method = ActivitiUtilSvcImpl.class.getDeclaredMethod("jumpGateway", List.class,List.class,String.class);method.setAccessible(true);method.invoke(ActivitiUtilSvcImpl.class.newInstance(),list, transitions, "map");} catch (Exception e) {e.printStackTrace();}param.put("nextJob", list);
private void jumpGateway(List list, List<PvmTransition> outTransitions, String listType){for (PvmTransition tr : outTransitions) {PvmActivity ac = tr.getDestination(); //获取线路的下一节点 String type = ac.getProperty("type").toString();if (type.endsWith("Gateway")) {List<PvmTransition> outTransitionsTemp = ac.getOutgoingTransitions();jumpGateway(list, outTransitionsTemp, listType);}else{if("map".equals(listType.toLowerCase())){IMap map = new IMap();map.put("id", ac.getId());map.put("name", ac.getProperty("name"));list.add(map);}else if("string".equals(listType.toLowerCase())){list.add(ac.getId());}}} }
0 0
- 绝了,我想起来了不启动流程取得第一任务的下一环节
- 我是个电脑白痴,但我想把我电脑的硬盘锁起来,但不知道用什么软件,请大家帮帮忙,谢谢了
- 我想我又读到了一首唯美的诗
- 我想你了,你却不知道
- 我想你了,你却不知道
- 我想你了 你却不知道
- 今天下大雨我想起了吴若希的歌曲
- 亲爱的 我想你了
- 流程的冬天来了?不,春天来了!
- 我想生成随机长度的随机字符串可是不行 不知道为什么 先记下了
- 我想我真的累了
- 我想我的宝宝了,很想。
- 我想改了我的音箱
- 我想玩你的那个小鸟了
- 不联网的情况下启动TOMCAT发生了java.net.unknownhostException
- 第一个iOS应用在真机上跑起来了!
- 我想跑了
- 我想死你了
- 视差效果实现
- Linearization of the kernel functions in SVM
- 第7章 Spring Boot的Web开发2
- mysql 有索引没走索引 更新锁全表
- Asp.net post 实例
- 绝了,我想起来了不启动流程取得第一任务的下一环节
- java 复习——数据类型
- 深入理解JavaScript系地址
- iOS--屏幕尺寸
- MySql-5.7.16 win64免安装版安装教程
- 机器学习小组知识点24:数据预处理之数据清理(Data-Cleaning)
- 四大组件基础篇
- openfire php 初始配置
- python学习笔记5 面向对象编程