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. **数据持久化**:虽然大部分处理在前端完成,但仍需考虑如何在用户...
6. **工作流引擎**:Jeesite可能集成了Activiti或Flowable等工作流引擎,用于实现企业的业务流程自动化。 7. **缓存机制**:利用Redis或Memcached等缓存技术,提高数据读取速度,降低数据库压力。 8. **日志记录**...
在这个场景中,“新增节点”可能指的是在应用程序的工作流程中添加新的Activity,而“获取节点属性”则涉及到读取或修改已存在的Activity的状态或配置信息。 首先,让我们深入理解Activity的工作流。Activity的工作...
本文主要讨论了如何在 Java 中读取任务管理器信息,包括物理内存、剩余物理内存、已使用物理内存、内存使用率、cpu 占有率等信息。 java 中读取任务管理器信息的必要性: 在实际开发中,了解系统的当前状态是非常...
- **锁定并读取工作流**:在开始执行之前,系统首先锁定工作流以防止其他用户对其进行修改。然后,读取工作流的定义信息,为后续执行做准备。 - **读取参数文件**:工作流可能依赖于外部参数文件来动态配置执行环境...
《JFlow驰骋工作流引擎 v4.2详解》 JFlow驰骋工作流引擎是一款高效、灵活且功能强大的工作流管理系统,专为满足企业级业务流程自动化需求而设计。在v4.2版本中,它继续提升了性能,优化了用户体验,并引入了一系列...
工作流(Workflow)是一种定义、执行和管理工作任务的自动化机制。在这个项目中,多模块设计意味着系统被划分为多个相互独立、职责明确的组件,这种架构可以提高系统的可维护性和扩展性。例如,可能有负责用户界面的...
工作流引擎通过读取预先定义的工作流模型,控制流程的执行顺序、任务分配以及状态转换。这些模型通常采用XML或其他标准格式描述,以便于编辑和解析。 在“信息开发系统”中,工作流引擎的应用非常广泛。它可以帮助...
XML文件可以被工作流引擎读取,执行和跟踪流程实例,确保了数据的标准化和跨系统兼容性。 4. **面向接口设计**: 这种设计方法强调程序的各个部分应通过接口进行交互,而不是直接引用彼此的实现。这样可以提高代码的...
在Delphi编程环境中,文件流(FileStream)是处理文件数据的一种高效方式,它允许程序员以字节序列的形式读取和写入文件。本篇文章将详细探讨如何使用TFileStream类来实现Delphi读取文件流,并结合字节数组进行文件...
工作流引擎通过读取流程定义,控制流程实例的生命周期,确保流程按照预定规则顺畅进行。 3. 需求分析 3.1 用户需求 在设计系统前,首要任务是对用户需求进行深入理解,包括对不同角色的任务分配、审批流程、信息...
JavaScript实现的工作流是一种在Web应用中管理业务流程的技术,它允许用户通过图形化的界面自定义和执行工作流。JavaScript作为客户端脚本语言,为构建这种交互式应用提供了强大的能力。在本文中,我们将深入探讨...
工作流技术是将业务流程中的工作组织和自动化的一种计算模型,旨在通过计算机系统支持多人协作,以实现特定的业务目标。工作流管理系统(WFMS)是实现这一目标的关键,它负责定义、执行和监控工作流,同时管理信息...
《疯狂工作流讲义》是杨恩雄先生撰写的一本深入解析工作流应用开发的书籍,专注于使用Activiti这一流行的工作流引擎。这本书的核心在于通过实际的代码示例,帮助读者理解和掌握工作流的实现机制,以及如何在企业级...
- 调用`RefreshSection`方法确保已加载最新的配置设置,否则可能无法立即看到修改的结果。 - 如果程序正在运行,修改配置文件可能导致应用程序无法立即获取到新的配置值,可能需要重启应用。 6. **项目结构** ...
在数据科学领域,工作流管理是至关重要的,它确保了从数据预处理、模型训练到结果部署的一系列复杂任务能够高效、可靠地执行。`Prefect`就是这样一款专为数据科学家设计的工作流自动化管理系统,它用Python语言编写...