基于业务驱动的表单设计实现方法和系统与流程

文档序号:24190464发布日期:2021-03-09 14:57阅读:123来源:国知局
1.本申请涉及计算机
技术领域
:,尤其涉及一种基于业务驱动的表单设计实现方法。
背景技术
::2.表单一般用于填写一些申请、订单等信息,人事系统或其它系统,或多或少都有业务表单功能,常见的有应聘申请表、入职审批表、岗位调动表等。表单填写的相关数据最终会存入数据库。3.现有技术中,这些表单一般都是出厂内置或在项目研发阶段给客户定制开发好的。在实际应用中,当业务发生变更的时候,无法由业务方自行改变或增加新的业务表单。还有一些提供表单服务的网站,可以由用户定制,但是因为与业务方数据无法密切集成,导致无法实现一些复杂的业务逻辑。还有就是表单打印的问题,一般业务对打印的表单格式有要求,如果填写和打印看到的格式不完全一样,就会产生一些理解或数据核对障碍。技术实现要素:4.本申请提供一种基于业务驱动的表单设计实现方法,以解决现有技术中,在业务发生变化,需要对表单进行修改时,只能由计算机专业人员进行修改,或通过提供表单服务的网站进行修改,修改难度大、成本高,以及无法与业务放数据密切集成,导致对于一些复杂的业务逻辑无法实现,还容易导致信息损失的问题。5.本申请的上述目的是通过以下技术方案来实现的:6.第一方面,本申请提供一种基于业务驱动的表单设计实现方法,包括:7.接收用户输入的指标集和指标项,将所述指标集与所述指标项以关系型数据库表的形式构建到数据库中,生成业务字典数据;8.接收用户绘制的表格框架,基于用户操作将表格以及表格中的单元格与业务字典数据中的指标项进行匹配设置,生成表单定义数据并存储;其中表单定义数据包括表单基本信息、表单页签信息、表单标题信息和表单项信息;9.基于所述表单定义数据生成或更新表单业务数据临时表,并向用户提供表单业务数据临时表,供用户填充表单数据。10.可选的,所述指标集包括:指标集编码、指标集名称、指标集类型、指标集别名、是否构库、是否支持附件;11.所述指标项包括:所属指标集编码、指标编码、指标名称、指标类型、指标长度、小数位数、代码类型、是否构库。12.可选的,所述基于用户操作将表格以及表格中的单元格与业务字典数据中的指标项匹配设置包括:13.接收用户操作信息,为需要输入的表单项单元格匹配设置对应指标项或指标集,其中需要从库中取数显示的设置为“变动前”,需要填写保存到数据库中的设置为“变动后”;为用户定义在表单中需要进行计算的单元格中的“计算公式”匹配设置相应指标项;为用户定义在表单中需要进行校验的单元格中的“校验公式”匹配设置对应指标项;为表单更多的“控制参数”匹配对应指标项或指标集,如:是否需要审批、本表单业务完成后需要通知的下游业务表单、表单执行计算的时机、提取历史数据的规则、提交入库时的数据更新方式。14.可选的,基于用户操作将表格以及表格中的单元格与业务字典数据中的指标项进行匹配设置还包括:基于用户操作,为用户设置的表单打印输出参数设置匹配指标项;15.其中,打印输出参数包括纸张大小、页面边距。16.可选的,还包括对业务表单进行使用权限设置。17.可选的,还包括:基于设置的使用权限,对请求操作的操作人员进行权限认证,只有该操作人员通过权限认证后才能对表单进行操作。18.可选的,所述基于所述表单定义数据生成或更新表单业务数据临时表,包括:19.根据表单定义数据,从业务字典数据中获取每一表单项的指标项数据并在表单业务数据临时表中添加相应字段;其中,所述每一表单项的指标项信息包括每一表单项的类型、长度。20.可选的,所述向用户提供表单业务数据临时表,供用户填充表单数据包括:21.基于所述表单定义数据和所述表单业务数据临时表数据生成html页面,并将其返回给浏览器,供业务操作人员在浏览器端进行表单填写。22.可选的,还包括:23.对表单进行校验;24.若校验不通过,返还到浏览器,供用户重新修改;25.若检验通过,将表单数据更新至业务表单数据中。26.第二方面,本申请实施例还提供一种基于业务驱动的表单设计实现系统,包括;27.获取模块,用于获取用户建立的指标集和指标项数据、用户绘制的表格框架、以及用户设置的表格框架与指标集和指标项的对应关系;28.建立模块,基于指标集和指标项建立业务字典数据,并将所述业务字典数据与用户绘制的表单框架以及单元格进行匹配设置,生成表单定义数据;并基于业务表单数据生成或更新临时表单;29.转换模块,用于将表单定义数据和表单业务数据临时表数据转换为html页面,并将其返回至浏览器,供用户进行查看和填写;30.更新模块,用于对用户填写数据进行验证,并在通过验证后将表单数据更新至业务数据中。31.本申请的实施例提供的技术方案可以包括以下有益效果:32.本申请的实施例提供的技术方案中,用户可以基于业务需求建立指标集、指标项,预设系统将指标集与指标项进行构库,以关系型数据库表的方式存储于数据库中,生成业务字典数据,为表单提供具体的表单项来源;然后用户再通过绘图工具以所见即所得的方式绘制表格框架,将表格框架以及表格框架中的单元格与指标集或指标项进行匹配设置,生成记录表单信息的表单定义数据;预设系统将表单定义数据内容、表单结构等保存在数据库中,基于表单定义数据和业务字典数据生成或更新表单业务数据临时表,并进行填充,生成html页面,通过浏览器向用户展示,供用户完成数据输入,最后将用户填充数据后的表单更新至业务数据中。通过本申请提供的基于业务驱动的表单设计实现方法,非计算机领域的普通用户,即业务人员可以根据业务需求简单、灵活、快捷地实现人员、组织相关业务的数据采集、填报等业务表单的制作和应用,达到全程无需开发人员参与,完全由业务人员自己完成表单的业务要求,从而解决了现有技术中,表单修改难度大、成本高并且容易造成信息泄露丢失的问题。33.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明34.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。35.图1为本申请实施例示出的一种基于业务驱动的表单设计实现方法的流程示意图;36.图2为本申请实施例示出的一种基于业务驱动的表单设计实现方法中数据字典信息和数据库表的对应关系图;37.图3是本申请实施例提供的基于业务驱动的表单设计实现方法的内部实现流程示意图。具体实施方式38.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。39.表单是一般用于填写一些申请、订单等信息,人事系统或其它系统,或多或少都有业务表单功能,常见的有应聘申请表、入职审批表、岗位调动表等。表单填写的相关数据最终会存入数据库。这些表单一般都是出厂内置或在项目研发阶段给客户定制开发好的。40.在对组织和人员的管理中,不同的企事业单位都有规范的或特别的业务需求需要通过表单的方式来记录或完成。目前主要有两种方式设计表单:1、在已有人事或其它业务系统中,由系统的开发人员按照需求定制开发实现;2、使用外部网站自定义表单,采集数据后导入内部系统。这两种方式的缺点:1、开发人员与业务人员沟通影响实际最终实现的效果,并且无法实时响应需求的变更,有的还增加额外的费用;2、无法满足复杂的业务规则和流程,损失业务实际办理过程信息。3、表单与实际需要打印的格式是不一致的,打印表单样式需要额外制作。41.实施例42.参照图1,图1为本申请实施例示出的一种基于业务驱动的表单设计实现方法的流程示意图。如图1所示,该方法包括:43.s101、接收用户输入的指标集和指标项,将所述指标集与所述指标项以关系型数据库表的形式构建到数据库中,生成业务字典数据;44.具体的,业务字典数据包括指标集与每一个指标集下的指标项,指标集包括以下字段:指标集编码、指标集名称、指标集类型、指标集别名、是否构库、是否支持附件。指标项包括以下字段:所属指标集编码、指标编码、指标名称、指标类型、指标长度、小数位数、代码类型、是否构库。45.准备业务字典数据的具体过程为:由用户根据实际业务需求在预设系统中创建指标集,创建好指标集后,在指标集下创建指标项;预设系统对用户创建的指标集以及指标集下的对应指标项进行构库,即在数据库中按指标集和指标项的定义生成对应的数据表,以关系型数据库表的形式构建到数据库中,形成业务字典数据。46.图2为本申请实施例示出的一种基于业务驱动的表单设计实现方法中数据字典信息和数据库表的对应关系图,如图2所示,指标集相当于表,指标项相当于表中的字段,指标集和指标项为表单提供具体的表单项来源,为通过表单完成业务后提供表单数据的存储。47.在实际应用中,在将指标集及指标项进行构库,即表的构建过程中,可以使用数据库定义语言ddl数据库定义语言,具体有:datadefinitionlanguage,用于建立、修改、删除数据库对象,包括创建语句(create)、修改语句(alter)、删除语句(drop),比如使用createtable创建表,使用altertable修改表,使用droptable删除表等动作。48.s102、接收用户绘制的表格框架,基于用户操作将表格以及表格中的单元格与业务字典数据中的指标项进行匹配设置,生成表单定义数据并存储;49.具体的,用户可以基于业务需求通过“表格工具”进行绘制表格框架,需要说明的是,该过程采用所见即所得的方式,即按照线下的表样,按照业务要求在计算机图形界面中使用鼠标画出相应的表格框架,绘图技术可以采用delphi的tcanvas组件来实现;在绘制过程中,用户也可以在画好的表格中相应的单元格中填入各表单项的标题或其它文本内容,在用户绘制好表格框架以及填写相关标题和其他文本内容后,接收用户绘制的表格框架并基于用户操作指定业务规则;50.具体业务指定规则为将表单以及表单中的单元格与业务字典数据中的指标项进行匹配设置,该过程是用户基于业务需求进行操作的,例如:用户为需要输入的表单项单元格设置对应指标项或集合,其中需要从库中取数显示的设置为“变动前”,需要填写保存到数据库中的设置为“变动后”。当然,该指标项和指标项来源于上述的业务字典数据中;为表单中需要进行计算的指标项定义“计算公式”,其中,计算公式中使用的指标项也来源于业务字典数据中;为表单中需要进行校验(对填写的数据有效性、业务限制等有要求的)的指标项定义“校验公式”,其中校验公式使用的计算公式中使用的指标项也来源于业务字典;为表单设置更多的“控制参数”,如:是否需要审批、本表单业务完成后需要通知的下游业务表单、表单执行计算的时机、提取历史数据的规则、提交入库时的数据更新方式等。另外,用户还可以为表单设置打印输出等相关参数,如纸张大小、边距等。51.将用户绘制的表格框架以及相应单元格、表格的数据进行存储,将表单定义数据保存在数据库中;下表是本申请实施例提供的基于业务驱动的表单设计实现方法中表单定义数据的具体数据表格,如下表所示,表单定义数据包括表单定义数据包括表单基本信息、表单页签信息、表单标题信息和表单项信息;其中,表单基本信息包括表单的名称、id、分类、纸张设置、控制参数等;表单页签信息包括多页表单的页id、所属表单id、是否打印等;表单标题信息包括表单每一页的标题id、内容、所属表单id、所属页签id等;表单项信息包括表单单元格id、所属表单id、所属页签id、单元格参数等;将这些信息分别存储于template_table、template_page、template_title、template_set中。[0052][0053]s103、基于所述表单定义数据生成或更新表单业务数据临时表,并向用户提供表单业务数据临时表,供用户填充表单数据;[0054]在基于用户操作,生成了业务字典数据、以及表单定义数据后,生成表单业务临时数据表,并向用户提供该表单业务临时数据表。在每次用户对表格进行重新设置,包括输入新的表格定义数据后,预设系统检查表单业务临时数据表的结构与表单定义数据是否一致,在一致时,为用户生成表单业务临时数据表,转换为hlml页面,通过浏览器展示,供用户填充数据;在不一致时,基于表单定义数据更新表单业务临时数据表,再如上述向用户展示,供用户填充数据。[0055]本申请提供一种基于业务驱动的表单设计实现方法,针对企事业单位多变的组织和人事业务,让无开发背景的业务人员,可以在系统中通过定义业务字典信息、使用鼠标绘制业务表单,以达到可以自行设计、修改系统现有业务功能或扩展出新的业务功能的目的,即业务直接驱动系统制作想要的表单,而非间接的由非业务的开发人员编码实现功能后再由业务人员来验证使用,大大的提高了系统的灵活性和可扩展性,提高了系统对业务变更的响应速度。[0056]进一步的,本申请实施例提供的基于业务驱动的表单设计实现方法,还包括对业务表单进行使用权限设置;具体的,对业务表单进行使用权限设置包括:对业务字典数据中的指标集和指标项进行读、写授权;以及对业务分类和分类下的表单进行使用授权。在业务操作人员对表单使用之前,都要检查业务操作人员的表单使用权限,无权限,退出,有权限,则继续。[0057]图3是本申请实施例提供的基于业务驱动的表单设计实现方法的内部实现流程示意图,如图3所示:[0058]在业务人员打开表单预设系统后,首先通过预设系统对业务人员的权限进行检查,在业务人员没有操作权限时,提示业务人员没有表单权限,并结束访问,只有在业务人员拥有权限后,在允许业务人员读取表单等。[0059]在操作人员授权之后,流程分为表单生成阶段和表单填写阶段,而表单生成阶段为预设系统根据用户之前的设置,包括表单定义数据、业务字典数据,对于更新内容来说数据还包括来源于之前用户对数据的填写内容,自动进行的,即系统自动生成表单。[0060]具体参考图3,系统从数据库中读取表单定义数据,基于表单定义数据和业务字典数据,为用户生成临时表,即表单业务数据临时表,检查表单业务数据临时表的结构是否与用户设置的表单定义数据内容一致,如果一致,则向表单业务数据临时表填充数据;如果不一致,则基于表单定义数据对表单业务数据临时表的结构进行更改更新,在更新后向表单业务数据临时表填充数据;具体基于表单定义数据更新临时表单结构的方式为:根据业务对象的不同(人或组织)在表单业务数据临时表中新建对应的关键信息字段(如人员编号、组织编号等),根据表单项的定义数据,从业务字典数据中获取每一项的类型、长度等信息后,在临时表中添加相应的字段。[0061]需要说明的是,如图3表单生产阶段还包括,在没有临时表生成时,即对于全新内容的业务类型,基于表单定义数据等新建临时表。[0062]在更新表单业务数据临时表后,需要对表单业务数据临时表进行数据填充,即图中表单填写阶段,具体内部实现方式为:当选择业务对象(如人员或机构)时,将该业务对象的数据填充表单业务数据临时表。对于变化前项目,需要再次通过业务字典信息反查到各项对应的业务数据表,从该业务数据表中获取数据,并放入之前提到的表单业务数据临时表中。[0063]在系统完成对表单业务数据临时表的填充后,按照表单定义数据和临时表单数据生成html页面,并返回给浏览器。具体包括;检查表单页中各页签是否可见,不可见的跳过,可见的页签内容根据表单定义数据逐页将其转为html格式的web页面。以及将表单定义数据包括表单的位置数据、表单项的信息转换为html的table等表格元素;表单标题、表单项的标题等固定数据填入相应单元格中;以及表单中定义的动态数据,从表单业务数据临时表中获取,其中包括上次用户通过浏览器填写的数据,在html表格的相应单元格中插入相应数据类型的编辑框,将数据放入编辑框中,根据表单项的读写权限设置是否只读或完全不可见。然后将这些信息一同动态生成的html页面返回到浏览器,展示给操作人员。[0064]拥有权限的操作人员可以在浏览器端填写表单,点击保存或计算等按钮,html表单数据发送给后台web应用,web应用根据表单定义的业务规则和逻辑对表单数据进行相应的计算和校验,计算结果填入表单业务数据临时表中,如果校验不通过,则将计算结果与校验提示再次返回给浏览器,操作人员即用户根据提示进行后续操作。如果校验通过,则根据表单定义的更新规则,将各表单项数据更新或新增到对应的各业务数据表。[0065]通过本申请实施例提供的基于业务驱动的表单设计实现方法,终端业务用户可根据业务需要自行制作复杂的符合自身业务需要的表单,解决了现有技术中需要研发人员了解业务后进行编码的时间长、成本高的问题,同时避免利用第三方表单数据对接过程中的信息损失等问题。在实际生产使用过程中,业务人员可以随时应对人事业务的变动,提高工作的效率。[0066]基于同一个发明构思,本申请实施例还提供一种基于业务驱动的表单设计实现系统,包括:[0067]获取模块,用于获取用户建立的指标集和指标项数据、用户绘制的表格框架、以及用户设置的表格框架与指标集和指标项的对应关系;[0068]建立模块,基于指标集和指标项建立业务字典数据,并将所述业务字典数据与用户绘制的表单框架以及单元格进行匹配设置,生成表单定义数据;并基于业务表单数据生成或更新临时表单;[0069]转换模块,用于将表单定义数据和表单业务数据临时表数据转换为html页面,并将其返回至浏览器,供用户进行查看和填写;[0070]更新模块,用于对用户填写数据进行验证,并在通过验证后将表单数据更新至业务数据中。[0071]具体模块的功能实现方式,在上述基于业务驱动的表单设计实现方法中已经进行详细的阐述,在此不再进行赘述。[0072]可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。[0073]需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。[0074]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属
技术领域
:的技术人员所理解。[0075]应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。[0076]本
技术领域
:的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。[0077]此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。[0078]上述提到的存储介质可以是只读存储器,磁盘或光盘等。[0079]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。[0080]尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1