CN107122173A - 一种适配activiti、可拖拽的表单生成方法 - Google Patents

一种适配activiti、可拖拽的表单生成方法 Download PDF

Info

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
Application number
CN201710191458.3A
Other languages
English (en)
Inventor
夏珺峥
王双成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Gifted Data Co Ltd
Original Assignee
Chengdu Gifted Data Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Gifted Data Co Ltd filed Critical Chengdu Gifted Data Co Ltd
Priority to CN201710191458.3A priority Critical patent/CN107122173A/zh
Publication of CN107122173A publication Critical patent/CN107122173A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation 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、可拖拽的表单生成方法
技术领域
本发明涉及可拖拽的表单生成领域,特别涉及一种和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中;
构建带数据的完整表单做前端显示。
CN201710191458.3A 2017-03-28 2017-03-28 一种适配activiti、可拖拽的表单生成方法 Pending CN107122173A (zh)

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 (11)

* Cited by examiner, † Cited by third party
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自定义表单的高并发工作流审批方法
CN115934086A (zh) * 2022-12-28 2023-04-07 苏州峰之鼎信息科技有限公司 蓝图与页面设计的信息共享方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
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 广州中国科学院软件应用技术研究所 一种无侵入式的业务表单工作流化的实现方法与装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
段勇 等: "《政府信息化建设与典型系统设计》", 30 September 2009 *
韦瀛寰: "工作流引擎在工程项目管理系统中的应用于研究", 《山东工业技术》 *

Cited By (16)

* Cited by examiner, † Cited by third party
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 南方电网调峰调频发电有限公司信息通信分公司 表单设计器
CN111858619A (zh) * 2019-04-28 2020-10-30 中国移动通信集团河南有限公司 一种数据自流转的方法、装置和电子设备
CN111858619B (zh) * 2019-04-28 2023-07-21 中国移动通信集团河南有限公司 一种数据自流转的方法、装置和电子设备
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自定义表单的高并发工作流审批方法
CN115934086A (zh) * 2022-12-28 2023-04-07 苏州峰之鼎信息科技有限公司 蓝图与页面设计的信息共享方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN107122173A (zh) 一种适配activiti、可拖拽的表单生成方法
CN103383645B (zh) 代码生成方法及系统
CN102663103B (zh) 可配置的自动化生成数据库和数据访问的方法
CN114035773B (zh) 一种基于配置的低代码开发表单方法、系统及装置
CN101840334B (zh) 一种软件构件服务化封装方法
CN102968306A (zh) 一种基于数据模型驱动的代码自动生成方法和系统
CN102566984B (zh) 一种配置参数的方法及装置
CN101146281A (zh) 一种面向移动终端的创建图形用户界面模型
CN103092890A (zh) 报表自动生成及发送的系统及方法
CN113076096B (zh) 一种桌面应用程序开发方法、装置、设备及存储介质
CN103970737A (zh) 一种数据构造方法和装置
CN102360290A (zh) 表单生成装置和表单生成方法
CN106648587A (zh) 一种基于注解的Web应用代码生成方法
CN103823793A (zh) 基于Excel模板的动态报表实现方法
CN105512304A (zh) 在线生成互联网应用方法和系统集成方法及支撑平台
CN101645006B (zh) 一种Eclipse的属性页的动态生成方法及装置
CN111124379B (zh) 页面生成方法、装置、电子设备及存储介质
CN108762743A (zh) 一种数据表操作代码生成方法及装置
CN103116500A (zh) 一种结构体定义和结构输出的方法及装置
CN103164206A (zh) 基于saas的软件定制系统
CN105468793B (zh) 一种仿真模型数据的自动化管理方法
CN106502680B (zh) 一种通过可视化界面进行图元扩展的方法
CN102830974A (zh) 一种可视化快速生成java代码的辅助开发工具
US20100023922A1 (en) Linking uml activity diagram nodes to uml class diagram nodes by using properties from applied stereotypes
CN110716913B (zh) 一种Kafka与Elasticsearch数据库数据的互相迁移方法

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