[发明专利]一种实现flowable引擎自定义条件判断的方法及工具在审
申请号: | 202211095480.5 | 申请日: | 2022-09-06 |
公开(公告)号: | CN116301839A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 王柏华;姜波;张连超;周双;许金源 | 申请(专利权)人: | 浪潮软件股份有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F8/34 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 冯春连 |
地址: | 271000 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 flowable 引擎 自定义 条件 判断 方法 工具 | ||
本发明公开一种实现flowable引擎自定义条件判断的方法,涉及flowable引擎技术领域,包括:在flowable引擎上定义一个条件判断模型类,定义的条件判断模型类中包含字段名称、组件类型、字段的值、以及运算符类型;定义的条件判断模型类提供一个eval方法,所述eval方法首先将输入的条件转换为json字符串,随后根据组件类型和运算符类型的具体字段,对实际值和参考值进行对比判断。本发明还公开一种实现flowable引擎自定义条件判断的工具,其与前述方法相结合,可以解决现有flowable引擎自带EL条件表达式不能对业务化条件进行判断的缺陷。
技术领域
本发明涉及flowable引擎技术领域,具体的说是一种实现flowable引擎自定义条件判断的方法及工具。
背景技术
低代码平台开发过程中,有许多偏向于业务类型的组件,比如组织机构,人员选择框,地址选择框等等,这些组件如果用flowable自带的条件表达式将难以实现,比如山东济南历下区是否属于江苏省,技术平台研发部门是否属于浪潮集团等等,类似于这些高度业务化的条件判断,需要结合实际的业务场景才能判断其结果,这就迫使我们对flowable的条件判断进行优化改造。
对于flowable自带的EL条件表达式,在判断某个变量大于100时,写法如下:
conditionExpressionxsi:type=tFormalExpression![CDATA[${condition100}]]/conditionExpression
当需要判断“山东济南历下区是否属于江苏省”这类问题的时候,则没法用EL表达式进行条件组装。
发明内容
本发明针对flowable自带的EL条件表达式存在的不足之处,提供一种实现flowable引擎自定义条件判断的方法及工具。
首先,本发明提供一种实现flowable引擎自定义条件判断的方法,解决上述技术问题采用的技术方案如下:
一种实现flowable引擎自定义条件判断的方法,该方法的实现需要在flowable引擎上定义一个条件判断模型类,定义的条件判断模型类中包含字段名称、组件类型、字段的值、以及运算符类型;
定义的条件判断模型类提供一个eval方法,所述eval方法首先将输入的条件转换为json字符串,随后根据组件类型和运算符类型的具体字段,对实际值和参考值进行对比判断。
可选的,所涉及组件类型包括单行文本、多行文本、checkbox、radio、Switch。
可选的,所涉及运算符类型包括基本操作运算符和自定义运算符,其中,基本操作运算符包括大于、等于、小于三种,自定义运算符包括属于、包含、包含任意一个。
可选的,在flowable引擎上定义一个条件判断模型类CustomFlowableConditionHandler.java。
进一步可选的,所涉及条件判断模型类提供的eval方法具体表示为:
public boolean eval(Object actualValue,String filterStr),
其中,
actualValue用于接收工作流条件的字段值,
filterStr用于将输入的条件转换为json字符串的格式。
其次,本发明提供一种实现flowable引擎自定义条件判断的工具,解决上述技术问题采用的技术方案如下:
一种实现flowable引擎自定义条件判断的工具,其结构包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件股份有限公司,未经浪潮软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211095480.5/2.html,转载请声明来源钻瓜专利网。