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. **日志记录**...
本文主要讨论了如何在 Java 中读取任务管理器信息,包括物理内存、剩余物理内存、已使用物理内存、内存使用率、cpu 占有率等信息。 java 中读取任务管理器信息的必要性: 在实际开发中,了解系统的当前状态是非常...
《JFlow驰骋工作流引擎 v4.2详解》 JFlow驰骋工作流引擎是一款高效、灵活且功能强大的工作流管理系统,专为满足企业级业务流程自动化需求而设计。在v4.2版本中,它继续提升了性能,优化了用户体验,并引入了一系列...
工作流(Workflow)是一种定义、执行和管理工作任务的自动化机制。在这个项目中,多模块设计意味着系统被划分为多个相互独立、职责明确的组件,这种架构可以提高系统的可维护性和扩展性。例如,可能有负责用户界面的...
MWMS的工作流引擎能够读取XML格式的自定义模板来实现灵活的流程,并且通过工作流历史日志提供图形化的监控功能,使用户能直观地跟踪工作流执行情况。 总的来说,微软的工作流解决方案为企业提供了强大而灵活的工具...
工作流引擎通过读取预先定义的工作流模型,控制流程的执行顺序、任务分配以及状态转换。这些模型通常采用XML或其他标准格式描述,以便于编辑和解析。 在“信息开发系统”中,工作流引擎的应用非常广泛。它可以帮助...
XML文件可以被工作流引擎读取,执行和跟踪流程实例,确保了数据的标准化和跨系统兼容性。 4. **面向接口设计**: 这种设计方法强调程序的各个部分应通过接口进行交互,而不是直接引用彼此的实现。这样可以提高代码的...
工作流引擎通过读取流程定义,控制流程实例的生命周期,确保流程按照预定规则顺畅进行。 3. 需求分析 3.1 用户需求 在设计系统前,首要任务是对用户需求进行深入理解,包括对不同角色的任务分配、审批流程、信息...
JavaScript实现的工作流是一种在Web应用中管理业务流程的技术,它允许用户通过图形化的界面自定义和执行工作流。JavaScript作为客户端脚本语言,为构建这种交互式应用提供了强大的能力。在本文中,我们将深入探讨...
工作流技术是将业务流程中的工作组织和自动化的一种计算模型,旨在通过计算机系统支持多人协作,以实现特定的业务目标。工作流管理系统(WFMS)是实现这一目标的关键,它负责定义、执行和监控工作流,同时管理信息...
《疯狂工作流讲义》是杨恩雄先生撰写的一本深入解析工作流应用开发的书籍,专注于使用Activiti这一流行的工作流引擎。这本书的核心在于通过实际的代码示例,帮助读者理解和掌握工作流的实现机制,以及如何在企业级...
在数据科学领域,工作流管理是至关重要的,它确保了从数据预处理、模型训练到结果部署的一系列复杂任务能够高效、可靠地执行。`Prefect`就是这样一款专为数据科学家设计的工作流自动化管理系统,它用Python语言编写...
本资源“4流实战_工作流中的概念与JBPM相关API调用”聚焦于这一主题,通过JBPM(Java Business Process Management)这一开源工作流引擎,深入探讨工作流的核心概念以及如何通过API来实现相关功能。 首先,我们要...
5. **Activiti**:一个轻量级的工作流引擎,主要用于流程设计、流程执行以及流程监控等方面。 #### JeeSite框架搭建与配置详解 ##### 搭建环境 - **Eclipse**:一款流行的Java集成开发环境,提供丰富的插件支持和...
JavaScript编写的工作流设计器是一种基于Web的应用程序,它允许用户通过图形化界面设计和配置工作流程。这个工具的主要目的是为了简化企业或组织中的业务流程管理,让用户无需编程知识就能创建、编辑和部署工作流。...