我是activiti初学者,询问工作流中业务和流程及表单的两个初学者问题,
其实这个和具体的引擎关系不大了。
1 如何根据流程实例找到对应的业务表?
多个流程的话,如果统一的待办,已办入口,要通过流程实例ID去找具体是哪个业务实体表吧?
比如请假,报销两个流程,在系统中要有唯一的一个”待办,已办“入口,
用户点待办,看到的只是待办的流程名称,这个我已经实现了,但用户需要先看到待办的流程,然后点进去,再看这个到底是什么流程,是请假呢,还是报销?
这个需要通过流程实例id去找业务表。
我的做法是在每个业务实体表,比如请假表,加了一个流程实例id的字段,
在流程启动的时候,写入这个ID,这个大家都应该知道。
而为了适应在多个流程(多个业务表了)中,通过流程实例ID找到
业务表,我再增加了一个表:
流程定义 对应业务表名称 业务表主键名称
请假流程定义id qjdtable(数据库中的物理表名) qjdId
我的想法是:假如要看某个待办流程的具体情况,可以通过
1) 流程实例id得出流程定义id
2) 在这个表中,根据流程定义id,知道要到qjdtable这个业务表中,通过qjdId去找对应的实体记录。
不知道我的这个方法是否可行?
2) 我设计了一个统一的流程审批意见总表:
id 业务实体表 业务表主键 流程实例id 审批意见子表名
1 qjdtable qjid 1001 qingjiaapprov
2 baoxiaotable baoxiaoid 1002 baoxiaoapprov
就是说,比如用户申请提交了一个请假单,同时要在这个主表中保留一个记录(唯一的),并且设定审批意见子表的表名(有多少个审批流程,就有多少个审批意见子表)
好了,假设现在到部门经理审批这个请假单了,那么在 qingjiaapprov 这个表中,记录如下
自动递增id 审批意见主表id 审批人 审批时间 审批意见 流程实例id
12 1 部门经理.............. 1001
13 1 总经理 1001
14 2 部门经理 1002
这样的设计,不知道大家觉得如何?有无什么问题?
3) 之所以要分开审批意见主表和审批意见子表,是因为有的时候有的流程中,某些节点,审批者不单是”同意,不同意,审批意见“,有的时候可能要填写复杂的业务表单!但这些业务表单的字段,如何保存好呢?所以我才在每个流程的业务审批子表中,设计不同的这些备用的字段去保存!当然,
这个方法我觉得也麻烦,表单一改,数据库字段要改,不知道大家有什么好的办法?
相关推荐
【初学者面试宝典】是针对Java开发及前端基础的一份综合知识整理,涵盖了面试中常见的一些技术要点。本文将详细解析其中的关键知识点,帮助读者深入理解和掌握。 **WEB前端基础** 1. **JavaScript的数据类型**:...
- **常见问题**:收集了一些使用表单设计器过程中遇到的典型问题及解决方案。 通过以上总结可以看出,驰骋表单设计器不仅具备强大的设计功能,还支持丰富的扩展性和灵活性,能够满足不同场景下的需求。无论是对于...
总的来说,这个78OA工作流设计教程是面向所有层次用户的,无论是初次接触OA流程设计的新手,还是有一定经验的用户,都能从中受益。通过系统的教学和丰富的实践案例,用户能够掌握设计高效、符合企业需求的工作流程的...
由于本人之前没有工作流及JBPM的相关基础,刚开始学习Activiti的时候可以说是无比痛苦的,根本不知道从何下手,这里也建议大家先进行工作流及BPMN2.0规范的学习,有了一定的基础后,再着手学习Activiti。 1.3.2. ...
Struts2和jQuery是两种非常流行的Java Web开发技术。Struts2是一个强大的MVC框架,用于构建企业级的Web应用程序,而jQuery则是一个...对于初学者来说,深入研究这个示例有助于掌握Struts2和jQuery在实际开发中的应用。
在IT领域,表单验证是Web开发中的一个关键部分,特别是在构建用户交互性强的网站或应用时。表单验证确保用户输入的数据符合预期格式...对于初学者和经验丰富的开发者来说,这些都是提高工作效率和产品质量的宝贵资源。
在这个压缩包中,我们有两个主要的文件:`readME.txt` 和 `activiti-5.16.3`。 `readME.txt` 文件通常包含关于压缩包内容的基本信息,如安装指南、使用说明或更新日志。在 Activiti 的上下文中,这个文件可能详细...
2. **序列(Sequence)和流程图(Flowchart)**: 这是UiPath中的两种基本流程控制结构,用于组织和管理自动化步骤。序列按照线性顺序执行,而流程图则通过分支和循环提供更灵活的流程控制。 3. **变量(Variables)...
Flowable是一款开源的工作流引擎,它基于Activiti的源代码并进行了优化,提供了一套强大的业务流程自动化解决方案。Flowable 6.3.0是该引擎的一个版本,它包括了丰富的文档、库文件以及五个WAR包,这些内容是构建和...
《Spring与Activiti在项目管理中的应用》 在IT行业中,流程管理是企业信息系统不可或缺的一部分,它能够规范工作流程,提高工作效率。...无论是对于初学者还是有经验的开发者,这都是一个值得研究和学习的实战项目。
Activiti 是一个开源的工作流引擎,它被广泛用于企业应用中的业务流程自动化。这个资源是 Activiti 的 5.17.0 版本的第一卷,由于文件大小的原因,整个包被分成了两部分进行上传。这一部分包含了数据库相关的文件、...
这篇文章将引导初学者进入SWT和JFace的世界,理解这两个库的核心概念,并展示如何利用它们来构建用户界面。 SWT是Eclipse项目的一部分,它是一个基于操作系统原生控件的Java GUI库。SWT的目标是提供比Java AWT和...
这些示例可以帮助初学者快速理解和学习如何在自己的项目中集成浮动标签效果。开发者可以参考这些例子,结合自己的表单结构,将浮动标签功能引入到现有的Bootstrap表单中。 总结起来,"基于Bootstrap的表单浮动标签...
6. **表单与变量**:介绍如何集成表单数据和流程变量,实现业务逻辑。 7. **事件与信号**:阐述如何使用信号和事件来实现流程间的通信和流程的异步行为。 8. **服务调用**:讲解如何在流程中调用外部服务,如数据库...
Ext4和SpringMVC是两种在Java开发领域广泛使用的开源技术。...通过阅读和理解源码,可以深入理解这两个技术的工作原理和集成方式,提升Java Web开发技能。同时,这也是一个开放源码的精神体现,鼓励分享和互相学习。
K2 BlackPearl是一款强大的工作流和业务流程管理平台,广泛应用于企业级业务自动化和流程优化。这些教学资料包含了PPTX格式的课件,适合初学者和有一定基础的学习者提升对K2 BlackPearl的理解。 1. **K2 BlackPearl...
在2018年,Metronic 发布了v5.1 和 v5.0.5 两个版本,为用户提供了最新的功能和优化。 1. **Metronic 特性** - **响应式布局**:Metronic 支持多设备和不同屏幕尺寸的兼容性,确保在桌面、平板和手机上都有良好的...