CN107122173A - 一种适配activiti、可拖拽的表单生成方法 - Google Patents
一种适配activiti、可拖拽的表单生成方法 Download PDFInfo
- Publication number
- CN107122173A CN107122173A CN201710191458.3A CN201710191458A CN107122173A CN 107122173 A CN107122173 A CN 107122173A CN 201710191458 A CN201710191458 A CN 201710191458A CN 107122173 A CN107122173 A CN 107122173A
- Authority
- CN
- China
- Prior art keywords
- list
- flow
- data
- activiti
- pulled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种适配activiti、可拖拽的表单生成方法,包括以下步骤:表单构建:采用页面拖拽技术,实现用户自定义表单,并生成对应的html模板及表单版本;节点绑定:将表单绑定到activiti生成的工作流节点上;版本控制:标识流程实例对应的表单版本,避免表单修改之后,旧的流程实例出错;数据存储:保存表单模板、流程实例、配置关系和流程实例数据;表单渲染:渲染工作流程中的表单实例数据。本发明实现与activiti配套的面向业务人员的表单生成方法,通过页面拖拽的方式生成对应工作流节点的表单,适应流程复杂、流程多变的常规场景下快速响应变化。
Description
技术领域
本发明涉及可拖拽的表单生成领域,特别涉及一种和activiti工作流引擎配套的面向业务人员的表单生成方法。
背景技术
随着工作流引擎的不断发展,基于BPMN2.0规范实现的activiti5也逐渐完善并应用于工作流开发的解决方案中。在基于avtiviti实现的系统中,流程节点对应的表单开发目前主流的实现方式有三种:动态表单,外置表单和普通表单。
动态表单:对开发者友好,方式是在流程定义文件(bpmn20.xml)中用activiti:formProperty属性定义,可以在开始事件(Start Event)和Task上设置,而且支持变量自动替换,语法就是UEL。但是因为表单完全没有布局,所有表单元素都是顺序输出显示,用户体验度较差。
外置表单:这种方式常用于基于工作流平台开发的方式,代码写的很少,开发人员只要把表单内容写好保存到.form文件中即可,然后配置每个节点需要的表单名称(formkey),实际运行时通过引擎提供的API读取Task对应的form内容输出到页面。此种方式对于在经常添加新流程的需求比较适用,可以快速发布新流程,把流程设计出来之后再设计表单之后两者关联就可以使用了,适用于流程简单且多变的场景。
普通表单:表单由开发人员编码实现,与流程打包发布到系统中,适用于业务流程变化少,流程较复杂的情况。
以上三种表单构建的方式都是面向开发人员,而实际的应用场景中,业务人员更了解流程的设计和变化,应对每一次流程节点中的表单变化又需要开发人员重新做流程节点对应的表单开发,加大了需求变化中的沟通成本和开发成本。
发明内容
本发明所要解决的技术问题是提供一种适配activiti、可拖拽的表单生成方法,通过页面拖拽的方式生成对应工作流节点的表单,解决在流程复杂、流程多变的常规场景下快速响应变化的问题。
为解决上述技术问题,本发明采用的技术方案是:
一种适配activiti、可拖拽的表单生成方法,包括以下步骤:
S1:表单构建:采用页面拖拽技术,实现用户自定义表单,并生成对应的html模板及表单版本;
S2:节点绑定:将表单绑定到activiti生成的工作流节点上;
S3:版本控制:标识流程实例对应的表单版本,避免表单修改之后,旧的流程实例出错;
S4:数据存储:保存表单模板、流程实例、配置关系和流程实例数据;
S5:表单渲染:渲染工作流程中的表单实例数据。
进一步的,所述表单构建具体为:
S11:采用bootstrap form builder动态表单构建技术,为用户提供一个表单配置界面;
S12:用户通过拖拽生成一个表单模板M1,并为表单的每个元素取一个全局唯一的name;
S13:将生成的表单模板M1的html代码以字符串的方式保存到数据库中;
S14:为生成的表单模板生成以数字递增的版本号V1;
S15:将V1保存为M1的版本号,为M1生成全局唯一的标识主键D1。
进一步的,所述节点绑定具体为:
S21:建立activiti流程模板A1,其子节点包括B1,B2,B3…;
S22:为A1的子节点B1配置表单关联M1;
S23:保存B1与M1的关系到数据库关联表。
进一步的,所述版本控制具体为:
S31:创建A1的实例C1;
S32:生成C1-M1-V1的实例关系保存到工作流实例表中;
S33:C1在流程运转中产生的业务数据以全局name-value的方式保存到流程业务数据表中。
进一步的,所述数据存储具体包括:表单模板数据、流程模板数据、流程实例数据、流程实例的实际业务数据、表单与流程实例的关系数据。
进一步的,所述表单渲染具体为:
S51:获取当前流程实例C1;
S52:获取与C1节点关联的表单M1,根据M1的版本获取html代码串;
S53:根据流程实例C1获取流程业务数据列表;
S54:以流程数据列表中的name与html代码串中的name对应的方式将value值渲染到表单M1中;
S55:构建带数据的完整表单做前端显示。
与现有技术相比,本发明的有益效果是:
可以在不做代码开发的情况下,由业务人员本身来应对复杂的工作流程中的表单变化,实现与activiti配套的面向业务人员的表单生成方法,通过页面拖拽的方式生成对应工作流节点的表单,适应流程复杂、流程多变的常规场景下快速响应变化。
可以做到真正灵活生成表单,实现了用户自定义表单,并且避免了表单修改之后,旧的流程实例出错。采用页面拖拽技术,操作方便简单,实现容易可行。采用了ctiviti建模,其是基于web浏览器的,提供了对BPMN2.0图形化规范的支持,建模后的流程以文件格式进行存储,可在后端提供导入导出BPMN2.0流程定义文件的功能。
附图说明
图1为本发明中表单构建方法流程图。
图2为本发明中表单配置方法流程图。
图3为本发明中流程实例数据保存方法流程图。
图4为本发明中表单渲染数据方法流程图。
具体实施方式
本说明书中公开的所有特征,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
下面结合附图对本发明作详细说明。
下面将结合附图和具体实施方式本发明作进一步详细的说明。一种适配activiti、可拖拽的表单生成方法,包括以下步骤:
表单构建:采用页面拖拽技术,实现用户自定义表单,并生成对应的html模板及表单版本;节点绑定:将表单绑定到activiti生成的工作流节点上;版本控制:标识流程实例对应的表单版本,避免表单修改之后,旧的流程实例出错;数据存储:保存表单模板、流程实例、配置关系和流程实例数据;表单渲染:渲染工作流程中的表单实例数据。
所述表单构建具体为:采用bootstrap form buiider动态表单构建技术,为用户提供一个表单配置界面;用户通过拖拽生成一个表单模板M1,并为表单的每个元素取一个全局唯一的name;将生成的表单模板M1的html代码以字符串的方式保存到数据库中;为生成的表单模板生成以数字递增的版本号V1;将V1保存为M1的版本号,为M1生成全局唯一的标识主键D1。
所述节点绑定具体为:建立activiti流程模板A1,其子节点包括B1,B2,B3…;为A1的子节点B1配置表单关联M1;保存B1与M1的关系到数据库关联表。
所述版本控制具体为:创建A1的实例C1;生成C1-M1-V1的实例关系保存到工作流实例表中;C1在流程运转中产生的业务数据以全局name-value的方式保存到流程业务数据表中。
所述数据存储具体包括:表单模板数据、流程模板数据、流程实例数据、流程实例的实际业务数据、表单与流程实例的关系数据。
所述表单渲染具体为:获取当前流程实例C1;获取与C1节点关联的表单M1,根据M1的版本获取html代码串;根据流程实例C1获取流程业务数据列表;以流程数据列表中的name与html代码串中的name对应的方式将value值渲染到表单M1中;构建带数据的完整表单做前端显示。
图1为本发明中表单构建方法流程图,即:
第一步:采用bootstrap form builder动态表单构建技术,为用户提供一个表单配置界面;
第二步:用户通过拖拽生成一个表单模板M1,并为表单的每个元素取一个全局唯一的name;将生成的表单模板M1的html代码以字符串的方式保存到数据库中;
第三步:为生成的表单模板生成以数字递增的版本号V1;
第四步:将V1保存为M1的版本号,为M1生成全局唯一的标识主键D1。
图2为本发明中表单配置方法流程图,即:
第五步:建立activiti流程模板A1,其子节点包括B1,B2,B3…;
第六步:获取流程某一节点B1;
第七步:为A1的子节点B1配置表单关联M1;
第八步:保存B1与M1的关系到数据库关联表。
图3为本发明中流程实例数据保存方法流程图,即:
第九步:创建A1的实例C1;
第十步:生成C1-M1-V1的实例关系保存到工作流实例表中;
第十一步:C1在流程运转中产生的业务数据以全局name-value的方式保存到流程业务数据表中。
图4为本发明中表单渲染数据方法流程图,即:
第十二步:获取当前流程实例C1;
第十三步:获取与C1节点关联的表单M1,根据M1的版本获取html代码串;
第十四步:根据流程实例C1获取流程业务数据列表;
第十五步:以流程数据列表中的name与html代码串中的name对应的方式将value值渲染到表单M1中;
第十六步:构建带数据的完整表单做前端显示。
Claims (6)
1.一种适配activiti、可拖拽的表单生成方法,其特征在于,包括以下步骤:
表单构建:采用页面拖拽技术,实现用户自定义表单,并生成对应的html模板及表单版本;
节点绑定:将表单绑定到activiti生成的工作流节点上;
版本控制:标识流程实例对应的表单版本,避免表单修改之后,旧的流程实例出错;
数据存储:保存表单模板、流程实例、配置关系和流程实例数据;
表单渲染:渲染工作流程中的表单实例数据。
2.根据权利要求1所述的一种适配activiti、可拖拽的表单生成方法,其特征在于,所述表单构建具体为:
采用bootstrap form builder动态表单构建技术,为用户提供一个表单配置界面;
用户通过拖拽生成一个表单模板M1,并为表单的每个元素取一个全局唯一的name;
将生成的表单模板M1的html代码以字符串的方式保存到数据库中;
为生成的表单模板生成以数字递增的版本号V1;
将V1保存为M1的版本号,为M1生成全局唯一的标识主键D1。
3.根据权利要求1所述的一种适配activiti、可拖拽的表单生成方法,其特征在于,所述节点绑定具体为:
建立activiti流程模板A1,其子节点包括B1,B2,B3…;
为A1的子节点B1配置表单关联M1;
保存B1与M1的关系到数据库关联表。
4.根据权利要求1所述的一种适配activiti、可拖拽的表单生成方法,其特征在于,所述版本控制具体为:
创建A1的实例C1;
生成C1-M1-V1的实例关系保存到工作流实例表中;
C1在流程运转中产生的业务数据以全局name-value的方式保存到流程业务数据表中。
5.根据权利要求1所述的一种适配activiti、可拖拽的表单生成方法,其特征在于,所述数据存储具体包括:表单模板数据、流程模板数据、流程实例数据、流程实例的实际业务数据、表单与流程实例的关系数据。
6.根据权利要求1所述的一种适配activiti、可拖拽的表单生成方法,其特征在于,所述表单渲染具体为:
获取当前流程实例C1;
获取与C1节点关联的表单M1,根据M1的版本获取html代码串;
根据流程实例C1获取流程业务数据列表;
以流程数据列表中的name与html代码串中的name对应的方式将value值渲染到表单M1中;
构建带数据的完整表单做前端显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710191458.3A CN107122173A (zh) | 2017-03-28 | 2017-03-28 | 一种适配activiti、可拖拽的表单生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710191458.3A CN107122173A (zh) | 2017-03-28 | 2017-03-28 | 一种适配activiti、可拖拽的表单生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107122173A true CN107122173A (zh) | 2017-09-01 |
Family
ID=59718158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710191458.3A Pending CN107122173A (zh) | 2017-03-28 | 2017-03-28 | 一种适配activiti、可拖拽的表单生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107122173A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144647A (zh) * | 2018-08-21 | 2019-01-04 | 深圳市博安达信息技术股份有限公司 | 一种表单设计方法与装置、终端设备以及存储介质 |
CN109213765A (zh) * | 2018-08-20 | 2019-01-15 | 中国平安人寿保险股份有限公司 | 数据表关联的方法、装置、计算机设备和存储介质 |
CN109558126A (zh) * | 2018-11-27 | 2019-04-02 | 南方电网调峰调频发电有限公司信息通信分公司 | 表单设计器 |
CN110413281A (zh) * | 2019-08-01 | 2019-11-05 | 南京信业能源科技有限公司 | 一种基于拖拽式构建企业流转流程管控方法 |
CN111460779A (zh) * | 2020-03-31 | 2020-07-28 | 杭州趣链科技有限公司 | 一种基于Activiti的流程表单数据渲染和存取方法 |
CN111858619A (zh) * | 2019-04-28 | 2020-10-30 | 中国移动通信集团河南有限公司 | 一种数据自流转的方法、装置和电子设备 |
CN112529545A (zh) * | 2020-12-31 | 2021-03-19 | 河钢数字技术股份有限公司 | 一种基于微服务模式的动态部署工作流的系统及方法 |
CN112540803A (zh) * | 2020-12-18 | 2021-03-23 | 深圳赛安特技术服务有限公司 | 一种表单设计适配方法、装置、设备及存储介质 |
CN112668295A (zh) * | 2021-01-15 | 2021-04-16 | 云南电网有限责任公司迪庆供电局 | 一种基于自定义表单和Activiti工作流的管理系统及方法 |
CN113312181A (zh) * | 2021-06-21 | 2021-08-27 | 浪潮云信息技术股份公司 | 一种基于activiti自定义表单的高并发工作流审批方法 |
CN114047989A (zh) * | 2021-11-12 | 2022-02-15 | 浪潮通信信息系统有限公司 | 一种动态表单配置、渲染方法、系统及装置 |
CN114266233A (zh) * | 2021-11-29 | 2022-04-01 | 中国联合网络通信集团有限公司 | 表单生成方法、装置、设备及介质 |
CN115934086A (zh) * | 2022-12-28 | 2023-04-07 | 苏州峰之鼎信息科技有限公司 | 蓝图与页面设计的信息共享方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819539A (zh) * | 2010-04-28 | 2010-09-01 | 中国航天科技集团公司第五研究院第五一三研究所 | 一种μCOS-Ⅱ移植到ARM7的中断嵌套方法 |
CN101957936A (zh) * | 2009-07-15 | 2011-01-26 | 深圳市艾派应用系统有限公司 | 一种工作流表单实现方法和系统 |
CN104216912A (zh) * | 2013-06-04 | 2014-12-17 | 广州中国科学院软件应用技术研究所 | 一种无侵入式的业务表单工作流化的实现方法与装置 |
-
2017
- 2017-03-28 CN CN201710191458.3A patent/CN107122173A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957936A (zh) * | 2009-07-15 | 2011-01-26 | 深圳市艾派应用系统有限公司 | 一种工作流表单实现方法和系统 |
CN101819539A (zh) * | 2010-04-28 | 2010-09-01 | 中国航天科技集团公司第五研究院第五一三研究所 | 一种μCOS-Ⅱ移植到ARM7的中断嵌套方法 |
CN104216912A (zh) * | 2013-06-04 | 2014-12-17 | 广州中国科学院软件应用技术研究所 | 一种无侵入式的业务表单工作流化的实现方法与装置 |
Non-Patent Citations (2)
Title |
---|
段勇 等: "《政府信息化建设与典型系统设计》", 30 September 2009 * |
韦瀛寰: "工作流引擎在工程项目管理系统中的应用于研究", 《山东工业技术》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213765A (zh) * | 2018-08-20 | 2019-01-15 | 中国平安人寿保险股份有限公司 | 数据表关联的方法、装置、计算机设备和存储介质 |
CN109144647A (zh) * | 2018-08-21 | 2019-01-04 | 深圳市博安达信息技术股份有限公司 | 一种表单设计方法与装置、终端设备以及存储介质 |
CN109144647B (zh) * | 2018-08-21 | 2021-11-16 | 深圳博沃智慧科技有限公司 | 一种表单设计方法与装置、终端设备以及存储介质 |
CN109558126A (zh) * | 2018-11-27 | 2019-04-02 | 南方电网调峰调频发电有限公司信息通信分公司 | 表单设计器 |
CN109558126B (zh) * | 2018-11-27 | 2022-04-15 | 南方电网调峰调频发电有限公司信息通信分公司 | 表单设计器 |
CN111858619B (zh) * | 2019-04-28 | 2023-07-21 | 中国移动通信集团河南有限公司 | 一种数据自流转的方法、装置和电子设备 |
CN111858619A (zh) * | 2019-04-28 | 2020-10-30 | 中国移动通信集团河南有限公司 | 一种数据自流转的方法、装置和电子设备 |
CN110413281A (zh) * | 2019-08-01 | 2019-11-05 | 南京信业能源科技有限公司 | 一种基于拖拽式构建企业流转流程管控方法 |
CN111460779B (zh) * | 2020-03-31 | 2024-03-15 | 杭州趣链科技有限公司 | 一种基于Activiti的流程表单数据渲染和存取方法 |
CN111460779A (zh) * | 2020-03-31 | 2020-07-28 | 杭州趣链科技有限公司 | 一种基于Activiti的流程表单数据渲染和存取方法 |
CN112540803A (zh) * | 2020-12-18 | 2021-03-23 | 深圳赛安特技术服务有限公司 | 一种表单设计适配方法、装置、设备及存储介质 |
CN112540803B (zh) * | 2020-12-18 | 2023-08-11 | 深圳赛安特技术服务有限公司 | 一种表单设计适配方法、装置、设备及存储介质 |
CN112529545A (zh) * | 2020-12-31 | 2021-03-19 | 河钢数字技术股份有限公司 | 一种基于微服务模式的动态部署工作流的系统及方法 |
CN112668295A (zh) * | 2021-01-15 | 2021-04-16 | 云南电网有限责任公司迪庆供电局 | 一种基于自定义表单和Activiti工作流的管理系统及方法 |
CN113312181A (zh) * | 2021-06-21 | 2021-08-27 | 浪潮云信息技术股份公司 | 一种基于activiti自定义表单的高并发工作流审批方法 |
CN114047989A (zh) * | 2021-11-12 | 2022-02-15 | 浪潮通信信息系统有限公司 | 一种动态表单配置、渲染方法、系统及装置 |
CN114266233A (zh) * | 2021-11-29 | 2022-04-01 | 中国联合网络通信集团有限公司 | 表单生成方法、装置、设备及介质 |
CN115934086A (zh) * | 2022-12-28 | 2023-04-07 | 苏州峰之鼎信息科技有限公司 | 蓝图与页面设计的信息共享方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107122173A (zh) | 一种适配activiti、可拖拽的表单生成方法 | |
CN102968306B (zh) | 一种基于数据模型驱动的代码自动生成方法和系统 | |
CN103383645B (zh) | 代码生成方法及系统 | |
CN114035773B (zh) | 一种基于配置的低代码开发表单方法、系统及装置 | |
CN102663103B (zh) | 可配置的自动化生成数据库和数据访问的方法 | |
CN113076096B (zh) | 一种桌面应用程序开发方法、装置、设备及存储介质 | |
CN101146281A (zh) | 一种面向移动终端的创建图形用户界面模型 | |
CN103092890A (zh) | 报表自动生成及发送的系统及方法 | |
CN104731589A (zh) | 用户界面的自动生成方法及自动生成装置 | |
CN101645006B (zh) | 一种Eclipse的属性页的动态生成方法及装置 | |
CN106648587A (zh) | 一种基于注解的Web应用代码生成方法 | |
CN102360290A (zh) | 表单生成装置和表单生成方法 | |
CN105512304A (zh) | 在线生成互联网应用方法和系统集成方法及支撑平台 | |
CN103823793A (zh) | 基于Excel模板的动态报表实现方法 | |
CN101714078A (zh) | 代码生成方法及装置 | |
CN111124379B (zh) | 页面生成方法、装置、电子设备及存储介质 | |
CN104063495A (zh) | 表单扩展方法与表单扩展装置 | |
CN105468793B (zh) | 一种仿真模型数据的自动化管理方法 | |
CN103116500A (zh) | 一种结构体定义和结构输出的方法及装置 | |
CN102521008B (zh) | 程序编译装置和程序编译方法 | |
CN106502680A (zh) | 一种通过可视化界面进行图元扩展的方法 | |
CN102830974A (zh) | 一种可视化快速生成java代码的辅助开发工具 | |
CN111026756A (zh) | 一种表单动态生成和关联查询的方法 | |
US20100023922A1 (en) | Linking uml activity diagram nodes to uml class diagram nodes by using properties from applied stereotypes | |
TWI629602B (zh) | 互動式網頁程式自動產生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170901 |