首页> 中国专利> 网格化布局的工作流程实现方法、系统及介质

网格化布局的工作流程实现方法、系统及介质

摘要

本发明实施例公开了网格化布局的工作流程实现方法、系统及介质,其中方法包括:提供网格化磁吸布局的流程布局区域,包括若干个单元格,根据用户拖动流程节点实时更新流程节点的位置信息,基于位置信息和单元格调整流程节点的位置信息;根据用户操作,生成流程配置信息,流程配置信息包括节点信息与箭头信息。本发明实施例通过网格化磁吸布局的方式编辑工作流程,实现布局规整、方便、灵活,不同人员配置的流程图不会出现太大的差异。

著录项

  • 公开/公告号CN112667236A

    专利类型发明专利

  • 公开/公告日2021-04-16

    原文格式PDF

  • 申请/专利权人 珠海新华通软件股份有限公司;

    申请/专利号CN202011587047.4

  • 发明设计人 南策云;杨小龙;南子康;黄强;

    申请日2020-12-28

  • 分类号G06F8/38(20180101);G06F3/0486(20130101);G06F3/0485(20130101);G06F21/31(20130101);

  • 代理机构44205 广州嘉权专利商标事务所有限公司;

  • 代理人张志辉

  • 地址 519000 广东省珠海市香洲区穗珠路1号安平大厦3A楼

  • 入库时间 2023-06-19 10:38:35

说明书

技术领域

本发明涉及计算机信息处理技术领域,特别涉及一种网格化布局的工作流程实现方法、系统及介质。

背景技术

开发一个系统,最关键的部分不是系统的界面,也不是和数据库之间的信息交换,而是如何根据业务逻辑开发出符合实际需要的程序逻辑确并保其稳定性、易维护性(模块化和结构化)和弹性(容易根据实际业务逻辑的变化作出程序上的变动,例如决策权的改变、组织结构的变动和由于业务方向的变化产生的全新业务逻辑等等)。Workflow引擎解决的就是这个问题:如果应用程序缺乏强大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。

就好比一辆汽车,外表做得再漂亮,如果发动机有问题就只是一个摆设。应用系统的弹性就好比引擎转速方面的性能,加速到100公里需要1个小时(业务流程发生变动需要进行半年的程序修改)还能叫好车吗?引擎动不动就熄火(程序因为逻辑的问题陷入死循环)的车还敢开吗?

随着社会发展,新的工作流程开发技术已经实现可视化操作界面、流程定制开发、在线调试、实时变更无需编程、节点组件设置属性等功能。但高体验性的可视化编辑及操作性却无人创新,还是比较落后。现需要一种网格化拖拽磁吸布局的工作流程实现系统。

发明内容

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种网格化布局的工作流程实现方法,能够使开发工作流系统整体效率提升,同时开发简单快捷,真正实现大型网站性能提升的目的。

本发明还提出一种网格化布局的工作流程实现系统。

本发明还提出一种实施上述方法的计算机可读存储介质。

根据本发明的第一方面实施例的网格化布局的工作流程实现方法,包括:步骤S100、提供网格化磁吸布局的流程布局区域,所述流程布局区域包括若干个单元格,根据用户拖动流程节点实时更新所述流程节点的位置信息,基于所述位置信息和所述单元格调整所述流程节点的位置信息;步骤S200、根据用户操作,生成流程配置信息,所述流程配置信息包括节点信息与箭头信息。

根据本发明的一些实施例,所述步骤S100包括:步骤S110、建立坐标系,以矩形的流程布局区域其中一角为坐标原点,预设所述单元格的宽度、高度及边距,将所述流程布局区域划分为多个虚拟的单元格;步骤S120、响应于用户创建流程节点并在所述流程布局区域拖动所述流程节点,实时更新所述流程节点的坐标信息,所述流程节点为矩形;步骤S130、所述流程节点拖动完成后,基于所述流程节点的坐标信息计算最靠近的单元格,基于所述最靠近的单元格的坐标信息调整所述流程节点的坐标信息。

根据本发明的一些实施例,所述步骤S130包括:步骤S131、若所述坐标系以所述流程布局区域的左上角为坐标原点,则结束拖动流程节点后,获取所述流程节点的左上角坐标;步骤S132、基于整除取余的方法,计算出所述流程节点的最靠近的单元格,将所述流程节点的坐标换算成单元格坐标,并将所述流程节点的左上角坐标设置为所述最靠近的单元格的左上角坐标。

根据本发明的一些实施例,所述步骤S200包括:步骤S210、根据第一鉴权逻辑验证第一用户的操作权限;步骤S220、根据所述第一用户的操作,获取所述流程布局区域的节点数量、通过属性设置面板获取所述第一用户设置的节点属性信息以及箭头信息,并生成节点编号及节点拓扑信息,将所述节点编号、所述节点属性信息以及所述节点拓扑信息保存为所述第一流程配置信息;其中,所述节点属性信息包括节点类型以及节点状态;所述节点状态包括未处理、审核中、通过、不通过以及回退。

根据本发明的一些实施例,所述步骤S220包括:设置各流程节点的状态操作权限,将所述流程节点各状态下的操作权限与对应的角色进行关联并保存,将各用户和对应的角色进行关联并保存。

根据本发明的一些实施例,所述步骤S200包括:步骤S230、根据第二鉴权逻辑验证所述第二用户的操作权限;步骤S240、根据所述第二用户的操作,更新第一节点的节点状态;步骤S250、根据所述第一节点的属性信息,基于预设的流程逻辑更新第一相关节点的节点状态;步骤S260、根据所述第一节点和所述第一相关节点的节点状态,更新所述第一流程配置信息,得到第二流程配置信息。

根据本发明的一些实施例,步骤S251、根据所述节点拓扑信息确定所述第一节点的兄弟节点,所述兄弟节点与所述第一节点具有相同的来源节点或去向节点;步骤S252、若所述第一节点的节点状态修改为回退,则修改所述兄弟节点的节点状态为未处理。

根据本发明的第二方面实施例的网格化布局的工作流程实现系统,包括:流程布局区域模块,用于提供网格化磁吸布局的流程布局区域,所述流程布局区域包括若干个单元格,根据用户拖动流程节点实时更新所述流程节点的位置信息,基于所述位置信息和所述单元格调整所述流程节点的位置信息;流程配置信息生成模块,用于根据用户操作,生成流程配置信息,所述流程配置信息包括节点信息与箭头信息。

根据本发明的一些实施例,所述流程布局区域模块包括:流程布局区域设置单元,用于建立坐标系,以矩形的流程布局区域其中一角为坐标原点,预设所述单元格的宽度、高度及边距,将所述流程布局区域划分为多个虚拟的单元格;流程节点坐标信息单元,用于响应于用户创建流程节点并在所述流程布局区域拖动所述流程节点,实时更新所述流程节点的坐标信息,所述流程节点为矩形;流程节点坐标调整单元,用于在所述流程节点拖动完成后,基于所述流程节点的坐标信息计算最靠近的单元格,基于所述最靠近的单元格的坐标信息调整所述流程节点的坐标信息。

根据本发明的一些实施例,所述流程节点坐标调整单元包括:计算单元,用于在结束拖动流程节点后,获取所述流程节点的左上角坐标;基于整除取余的方法,计算出所述流程节点的最靠近的单元格,将所述流程节点的坐标换算成单元格坐标,并将所述流程节点的左上角坐标设置为所述最靠近的单元格的左上角坐标,其中所述坐标系以所述流程布局区域的左上角为坐标原点。

根据本发明的第三方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明的第一方面实施例任一项的方法。

本发明实施例至少具有如下有益效果:本发明实施例通过网格化拖拽磁吸布局的流程编辑界面,实现布局规整、方便、灵活,不同人员配置的流程图不会出现太大的差异。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例的方法的流程示意图。

图2为本发明实施例的网格化磁吸布局的实现方法的流程示意图。

图3为本发明实施例的流程节点位置调整方法的流程示意图。

图4为本发明实施例的根据第一用户设置流程配置信息的流程示意图。

图5为本发明实施例的根据第二用户更新流程配置信息的流程示意图。

图6为本发明实施例的自动修改节点状态的流程示意图。

图7为本发明实施例的系统的模块示意框图。

图8为本发明实施例的编辑界面示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

术语解释:

流程基本意思是指水流的路程;事物进行中的次序或顺序的布置和安排;或指由两个及以上的业务步骤,完成一个完整的业务行为的过程。

工作流程是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。

组件(Component)是对数据和方法的简单封装。C++Builder中,一个组件就是一个从TComponent派生出来的特定对象。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。使用组件可以实现拖放式编程、快速的属性处理以及真正的面向对象的设计。VCL和CLX组件是C++Builder系统的核心。

功能模块是指数据说明、可执行语句等程序元素的集合,它是指单独命名的可通过名字来访问的过程、函数、子程序或宏调用。功能模块化是将程序划分成若干个功能模块,每个功能模块完成了一个子功能,再把这些功能模块总起来组成一个整体。以满足所要求的整个系统的功能。

本发明升级工作流开发模式,从而使开发工作流系统整体效率提升,同时开发简单快捷,真正实现大型网站性能提升的目的。

参照图1和图8,本发明实施例的方法主要包括以下步骤:

步骤S100、提供网格化磁吸布局的流程布局区域,该流程布局区域包括若干个单元格,根据用户拖动流程节点实时更新流程节点的位置信息,基于位置信息和单元格调整流程节点的位置信息;

步骤S200、根据用户操作,生成流程配置信息,流程配置信息包括节点信息与箭头信息。

在一些实施例中,用户可通过顶部工具栏和右键布局区域添加流程节点,用鼠标可以任意拖动流程节点,松开鼠标时,流程节点会自动被吸入到最靠近的格子。

参照图2,步骤S100包括:

步骤S110、建立坐标系,以矩形的流程布局区域其中一角为坐标原点,预设单元格的宽度、高度及边距,将流程布局区域划分为多个虚拟的单元格(单元格的坐标数据不需要保存);

步骤S120、响应于用户创建流程节点并在所述流程布局区域拖动流程节点,实时更新流程节点的坐标信息,其中,流程节点为矩形;

步骤S130、流程节点拖动完成后(即用户当松开鼠标时),基于流程节点的坐标信息计算最靠近的单元格,基于最靠近的单元格的坐标信息调整流程节点的坐标信息。

参照图3,步骤S130包括:

步骤S131、若坐标系以流程布局区域的左上角为坐标原点,则结束拖动流程节点后,获取流程节点的左上角坐标;

步骤S132、基于整除取余的方法,计算出流程节点的最靠近的单元格,将流程节点的坐标换算成单元格坐标,并将流程节点的左上角坐标设置为最靠近的单元格的左上角坐标。

本实施例中,流程节点坐标具体运算方法如下代码所示:

本发明实施例设置了多种鉴权逻辑,不同角色的操作权限不同,以下通过第一用户和第二用户的不同操作步骤展示。第一用户具有创建流程、设计流程节点并保存的权限,第二用户具有修改已有的流程节点状态的权限。

参照图4,第一用户的创建流程的方法步骤包括:

步骤S210、根据第一鉴权逻辑验证第一用户的操作权限;

步骤S220、根据第一用户的操作,获取流程布局区域的节点数量、通过属性设置面板获取第一用户设置的节点属性信息以及箭头信息,并生成节点编号及节点拓扑信息,将节点编号、节点属性信息以及节点拓扑信息保存为第一流程配置信息;

其中,节点属性信息包括节点类型以及节点状态;节点状态包括未处理、审核中、通过、不通过以及回退。

在一些实施例中,步骤S220包括:设置各流程节点的状态操作权限,将流程节点各状态下的操作权限与对应的角色进行关联并保存,将各用户和对应的角色进行关联并保存。

参照图5,第二用户修改流程节点状态的步骤如下:

步骤S230、根据第二鉴权逻辑验证第二用户的操作权限;

步骤S240、根据第二用户的操作,更新第一节点的节点状态;

步骤S250、根据第一节点的属性信息,基于预设的流程逻辑更新第一相关节点的节点状态;

步骤S260、根据第一节点和第一相关节点的节点状态,更新第一流程配置信息,得到第二流程配置信息。

进一步参照图6,更新相关节点的步骤如下:

步骤S251、根据节点拓扑信息确定第一节点的兄弟节点,兄弟节点与第一节点具有相同的来源节点或去向节点;

步骤S252、若第一节点的节点状态修改为回退,则修改兄弟节点的节点状态为未处理。

参照图8,在一些实施例中,用户通过该编辑界面进行工作流程设计。

用户可以新建多个流程,每个流程可以备份、导入、删除。这样流程编辑过程中,不怕丢失数据,导入已有流程,可以在该流程的基础上深入编辑修改,为编辑提供了方便;

用户点击条流程,进入流程编辑界面,如图8所示;

编辑界面分3大部分,顶部是功能按钮,左边为流程编辑区域,右边为属性设置。

顶部功能按钮可以实现导入已有的流程。新增“中间节点”“结束节点”只需要点击一次,流程编辑区域即可显示该节点。当各节点方框大小不一,想重新设置为默认大小,则点击“默认大小”。当想看到各节点顺序代码时,则点击“显示代码”即可。当想整体移动所有节点时,则点击“整体移动”按钮后,鼠标再在流程编辑区域拖拽节点,即可整体移动所有节点。当修改完成后,点击“保存”即可。

流程编辑区域,网格Grid拖拽磁吸布局节点方框及箭头。节点方框拖拽时,显示新的显示位置,放开鼠标后,磁性自动显示于新位置上,同时箭头也自动跟随改变。

节点方框的四角,鼠标停留后显示双箭头图标,可以拖放改变尺寸功能,鼠标按住后拖动,即可看到节点方框放大缩小,放开鼠标左键后,大小即固定下来。适用节点名称字符较多的情况调节版面效果。

图形化箭头指向,真实模拟流程流转路径;指哪打哪,无论通过还是不通过、回退、自定义均可条件校验。节点与节点之间,通过来回拖放即可生成两条图形化箭头及配套的属性,每条箭头对向显示,一般赋予通过及退回功能。

人工节点信息设置,审批人员控制,可从自定义、当前用户、指定角色、指定权限、指定环节原处理人、从页面转入的处理人、部门领导(正)、部门领导(副)、部门领导(正+副)、部门所有人、从接口获取、指定权限且与提交人同部门设置审批人。

工作流程节点代码编号,设置后,自动匹配页面程序顺序。

整个工作流各节点的当前状态,状态包括是否通过还是退回、审核中等,关联起来,即可全局显示最新实时的流程进度,方便大型系统跟踪并提供指示。

在一些实施例中,本发明实施例实现多个流程方便共享、备份、复制、导入;工作流程的处理人员可以选择角色,该角色的相关人员都可以参与处理流程节点;工作流程节点,可以查看进度跟踪最新状态;大型网站多流程可以自动关联匹配。

与前述实施例相对应,本发明还提供了系统的实施例。对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

参照图7,本发明实施例的系统包括:流程布局区域模块,用于提供网格化磁吸布局的流程布局区域,包括若干个单元格,根据用户拖动流程节点实时更新流程节点的位置信息,基于位置信息和单元格调整流程节点的位置信息;流程配置信息生成模块,用于根据用户操作,生成流程配置信息,流程配置信息包括节点信息与箭头信息。

在一些实施例中,流程布局区域模块包括:流程布局区域设置单元,用于建立坐标系,以矩形的流程布局区域其中一角为坐标原点,预设单元格的宽度、高度及边距,将流程布局区域划分为多个虚拟的单元格;流程节点坐标信息单元,用于响应于用户创建流程节点并在流程布局区域拖动流程节点,实时更新流程节点的坐标信息,其中流程节点为矩形;流程节点坐标调整单元,用于在流程节点拖动完成后,基于流程节点的坐标信息计算最靠近的单元格,基于最靠近的单元格的坐标信息调整流程节点的坐标信息。

在一些实施例中,流程节点坐标调整单元包括:计算单元,用于在结束拖动流程节点后,获取流程节点的左上角坐标;基于整除取余的方法,计算出流程节点的最靠近的单元格,将流程节点的坐标换算成单元格坐标,并将流程节点的左上角坐标设置为最靠近的单元格的左上角坐标,其中坐标系以流程布局区域的左上角为坐标原点。

在一些实施例中,流程配置信息生成模块包括权限单元,用于根据鉴权逻辑验证用户的操作权限;节点信息更新单元,用于更新节点的属性信息;流程配置信息更新单元,用于根据节点的属性信息更新流程配置信息。

尽管本文描述了具体实施方案,但是本领域中的普通技术人员将认识到,许多其它修改或另选的实施方案同样处于本公开的范围内。例如,结合特定设备或组件描述的功能和/或处理能力中的任一项可以由任何其它设备或部件来执行。另外,虽然已根据本公开的实施方案描述了各种例示性具体实施和架构,但是本领域中的普通技术人员将认识到,对本文所述的例示性具体实施和架构的许多其它修改也处于本公开的范围内。

上文参考根据示例性实施方案所述的系统、方法、系统和/或计算机程序产品的框图和流程图描述了本公开的某些方面。应当理解,框图和流程图中的一个或多个块以及框图和流程图中的块的组合可分别通过执行计算机可执行程序指令来实现。同样,根据一些实施方案,框图和流程图中的一些块可能无需按示出的顺序执行,或者可以无需全部执行。另外,超出框图和流程图中的块所示的那些部件和/或操作以外的附加部件和/或操作可存在于某些实施方案中。

因此,框图和流程图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的元件或步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,框图和流程图中的每个块以及框图和流程图中的块的组合可以由执行特定功能、元件或步骤的专用硬件计算机系统或者专用硬件和计算机指令的组合来实现。

本文所述的程序模块、应用程序等可包括一个或多个软件组件,包括例如软件对象、方法、数据结构等。每个此类软件组件可包括计算机可执行指令,所述计算机可执行指令响应于执行而使本文所述的功能的至少一部分(例如,本文所述的例示性方法的一种或多种操作)被执行。

软件组件可以用各种编程语言中的任一种来编码。一种例示性编程语言可以为低级编程语言,诸如与特定硬件体系结构和/或操作系统平台相关联的汇编语言。包括汇编语言指令的软件组件可能需要在由硬件架构和/或平台执行之前由汇编程序转换为可执行的机器代码。另一种示例性编程语言可以为更高级的编程语言,其可以跨多种架构移植。包括更高级编程语言的软件组件在执行之前可能需要由解释器或编译器转换为中间表示。编程语言的其它示例包括但不限于宏语言、外壳或命令语言、作业控制语言、脚本语言、数据库查询或搜索语言、或报告编写语言。在一个或多个示例性实施方案中,包含上述编程语言示例中的一者的指令的软件组件可直接由操作系统或其它软件组件执行,而无需首先转换成另一种形式。

软件组件可存储为文件或其它数据存储构造。具有相似类型或相关功能的软件组件可一起存储在诸如特定的目录、文件夹或库中。软件组件可为静态的(例如,预设的或固定的)或动态的(例如,在执行时创建或修改的)。

上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号