1、ActTaskService新增以下方法
/**
* 获取流程历史实例对象
* @param procInsId
* @return
*/
@Transactional(readOnly = false)
public HistoricProcessInstance getEndProcIns(String procInsId) {
HistoricProcessInstance his = historyService.createHistoricProcessInstanceQuery().processInstanceId(procInsId).singleResult();
return his;
}
2、ActTaskController增加以下红色代码
/**
* 获取流程表单
* @param taskId任务ID
* @param taskName任务名称
* @param taskDefKey 任务环节标识
* @param procInsId 流程实例ID
* @param procDefId 流程定义ID
*/
@RequestMapping(value = "form")
public String form(Act act, HttpServletRequest request, Model model){
String todoStatus=request.getParameter("status");
// 获取流程XML上的表单KEY
String formKey = actTaskService.getFormKey(act.getProcDefId(), act.getTaskDefKey());
// 获取流程实例对象
if (act.getProcInsId() != null){
if("todo".equals(todoStatus)){
act.setProcIns(actTaskService.getProcIns(act.getProcInsId()));
}
if("finish".equals(todoStatus)){
HistoricProcessInstance historicAact = actTaskService.getEndProcIns(act.getProcInsId());
if(null!=historicAact){
String buk= historicAact.getBusinessKey();
if(StringUtils.isNotBlank(buk)){
int x=buk.indexOf(":");
if(x>-1){
buk=buk.substring(x+1);
act.setBusinessId(buk);
}
}
}
/*if(null!=acts&&acts.size()>0){
act.setProcIns(acts.get(0).getProcIns());
}*/
}
}
return "redirect:" + ActUtils.getFormUrl(formKey, act);
//// 传递参数到视图
//model.addAttribute("act", act);
//model.addAttribute("formUrl", formUrl);
//return "modules/act/actTaskForm";
}
相关推荐
Jeesite是一款基于Spring Boot和MyBatis的开源企业级应用框架,它提供了一套完整的开发体系,包括权限管理、工作流引擎、报表工具等,大大简化了企业级应用的开发过程。本文将详细探讨Jeesite依赖包中的各个组件,...
工作流实例是业务自动化中的一个重要概念,它涵盖了组织内各种任务、活动和决策的系统化管理,以确保流程的高效性和一致性。工作流实例是指在特定时间启动并按预定顺序执行的一系列工作流程活动。这些实例是根据预先...
- **锁定并读取工作流**:为了保证数据一致性,PowerCenter支持锁定工作流,防止并发修改,同时允许读取工作流的状态和历史记录。 - **读取参数文件**:参数文件是存储工作流配置信息的外部文件,工作流在运行时...
2. **工作流引擎**:它是实现工作流的核心组件,负责读取工作流定义,管理和执行流程实例。OSWorkflow提供了一套API,允许开发者启动流程、查询状态、进行任务分配等。 3. **任务(Task)**:每个工作流由一系列...
3. **状态管理**:跟踪每个任务的状态,如待办、进行中、已完成等。 4. **事件驱动**:监听用户的操作或其他系统事件,触发相应的业务逻辑。 5. **数据持久化**:虽然大部分处理在前端完成,但仍需考虑如何在用户...
在这个场景中,“新增节点”可能指的是在应用程序的工作流程中添加新的Activity,而“获取节点属性”则涉及到读取或修改已存在的Activity的状态或配置信息。 首先,让我们深入理解Activity的工作流。Activity的工作...
本文主要讨论了如何在 Java 中读取任务管理器信息,包括物理内存、剩余物理内存、已使用物理内存、内存使用率、cpu 占有率等信息。 java 中读取任务管理器信息的必要性: 在实际开发中,了解系统的当前状态是非常...
2. **任务管理**:当流程启动时,工作流引擎会创建并分配任务给相关人员或系统。任务状态(如待处理、进行中、已完成)的跟踪是关键。 3. **流程实例管理**:每个根据流程定义启动的实例都是一个流程实例,引擎需要...
《JFlow驰骋工作流引擎 v4.2详解》 JFlow驰骋工作流引擎是一款高效、灵活且功能强大的工作流管理系统,专为满足企业级业务流程自动化需求而设计。在v4.2版本中,它继续提升了性能,优化了用户体验,并引入了一系列...
- **锁定并读取工作流**:在开始执行之前,系统首先锁定工作流以防止其他用户对其进行修改。然后,读取工作流的定义信息,为后续执行做准备。 - **读取参数文件**:工作流可能依赖于外部参数文件来动态配置执行环境...
MWMS的工作流引擎能够读取XML格式的自定义模板来实现灵活的流程,并且通过工作流历史日志提供图形化的监控功能,使用户能直观地跟踪工作流执行情况。 总的来说,微软的工作流解决方案为企业提供了强大而灵活的工具...
工作流引擎通过读取预先定义的工作流模型,控制流程的执行顺序、任务分配以及状态转换。这些模型通常采用XML或其他标准格式描述,以便于编辑和解析。 在“信息开发系统”中,工作流引擎的应用非常广泛。它可以帮助...
在Delphi编程环境中,文件流(FileStream)是处理文件数据的一种高效方式,它允许程序员以字节序列的形式读取和写入文件。本篇文章将详细探讨如何使用TFileStream类来实现Delphi读取文件流,并结合字节数组进行文件...
工作流引擎通过读取流程定义,控制流程实例的生命周期,确保流程按照预定规则顺畅进行。 3. 需求分析 3.1 用户需求 在设计系统前,首要任务是对用户需求进行深入理解,包括对不同角色的任务分配、审批流程、信息...
JavaScript实现的工作流是一种在Web应用中管理业务流程的技术,它允许用户通过图形化的界面自定义和执行工作流。JavaScript作为客户端脚本语言,为构建这种交互式应用提供了强大的能力。在本文中,我们将深入探讨...
工作流技术是将业务流程中的工作组织和自动化的一种计算模型,旨在通过计算机系统支持多人协作,以实现特定的业务目标。工作流管理系统(WFMS)是实现这一目标的关键,它负责定义、执行和监控工作流,同时管理信息...
《疯狂工作流讲义》是杨恩雄先生撰写的一本深入解析工作流应用开发的书籍,专注于使用Activiti这一流行的工作流引擎。这本书的核心在于通过实际的代码示例,帮助读者理解和掌握工作流的实现机制,以及如何在企业级...
在数据科学领域,工作流管理是至关重要的,它确保了从数据预处理、模型训练到结果部署的一系列复杂任务能够高效、可靠地执行。`Prefect`就是这样一款专为数据科学家设计的工作流自动化管理系统,它用Python语言编写...
本文将深入探讨如何读取流媒体文件信息,以及与之相关的技术概念。 首先,我们需要理解什么是流媒体文件。流媒体是指通过网络传输的连续媒体内容,如音频、视频或动画,允许用户在数据传输过程中实时播放,而无需...
工作流引擎是一种软件系统,它负责管理和自动化一系列相互关联的任务,形成一个定义明确的工作流程。在本设计说明书中,我们关注的是一个使用Java技术构建的工作流引擎,它结合了图形编辑器、并发任务执行和图遍历...