起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4356|回复: 7

[结贴] 能否动态设置执行者表达式

[复制链接]

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
发表于 2017-11-22 16:31:15 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
能否动态设置 执行者表达式?
做一个功能提供web界面,然后配置各环节的执行者表达式。
这样可以不用改代码。


及时结贴是个好习惯

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-11-22 17:36:32 | 显示全部楼层
那可以把表达式存到数据库中,自己定义一个函数从数据库中取出设置的表达式,在环节的执行规则中调用自己的函数
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2017-11-22 19:49:03 | 显示全部楼层
jishuang 发表于 2017-11-22 17:36
那可以把表达式存到数据库中,自己定义一个函数从数据库中取出设置的表达式,在环节的执行规则中调用自己的 ...

自己的函数是返回 字符串吧?

有没有api可以执行那个 表达式字符串? 传表达式作为参数,返回执行结果。
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-11-23 09:11:12 | 显示全部楼层
执行者表达式平台需要的是OrgUtil类型的

那样看你具体存的什么,平台提供的函数都在默认的表达式编辑器中可以看到,而且都有说明
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2017-11-23 10:54:55 | 显示全部楼层
jishuang 发表于 2017-11-23 09:11
执行者表达式平台需要的是OrgUtil类型的

那样看你具体存的什么,平台提供的函数都在默认的表达式编辑器中 ...

不光是执行者表达式。
条件判断环节 的 是 或 否 ,我也需要存储在数据库中,然后动态执行。

自定义函数 获取 数据库中的表达式,这是一种方案。

另一种方案是,我想的是,平台是如何解析这个表达式的,并转换为执行过程得到结果。
想问下是否有解析表达式的api。 如:sData1 currentDate()  都是在什么机制下由字符串表达式转换为具体的函数调用 或者 参数传递。

我希望能拥有解析表达式的方法,以期望获得更灵活的实现方式:比如表示依然存储在数据库中,我自定义action去解析这个表达式,然后给UI层调用。UI层可以根据表达式结果,进行一些UI层的展示等。
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-11-23 13:56:15 | 显示全部楼层
currentDate()就是平台提供的函数,函数对应的java代码中实现的返回时间

在存储的时候可以自己加一个类型区分,是执行者表单式的还是分支表达式的
然后自定义不同的函数根据类型判断返回不同的值

action中不能直接调用函数
如果要action和函数都用,可以把java定义到src下,action的java和函数的java中去调用src下的java的方法
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2017-11-23 23:02:54 | 显示全部楼层
本帖最后由 江苏院-吴昊 于 2017-11-24 09:54 编辑
jishuang 发表于 2017-11-23 13:56
currentDate()就是平台提供的函数,函数对应的java代码中实现的返回时间

在存储的时候可以自己加一个类型 ...

你还是没能理解我的意思。
比如有个 表达式 “relationValue(concept,sData1,null,'fName',dataModel)”,这是一个字符串。
是否有一个api,可以解析并执行这个表达式,最终返回 表达式的值。
这样的话,我就可以自定义一个action,来调用这个api执行指定的表达式,获取结果,返回给UI供参考。

我说得明白一点:
分支条件 决定了 流程节点。
我现在在UI中有个功能,在页面中列出所有的环节。到了分支的时候,我需要判断 是否列出某些节点。
判断的逻辑不应该写死在代码中,因为如果管理制度变了,就需要重新调整、编译、部署。
那现在分支表达式既然存储在 数据库中了,我可以随时通过web界面修改表达式,来动态改变分支条件,我也需要在UI通过调用action来获取表达式的
但表达式是个字符串,我需要有api得到执行结果
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-11-24 11:12:07 | 显示全部楼层
平台提供的有com.justep.system.data.Expression计算内存表达式的接口类

具体的方法说明可以参考API
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-29 08:15 , Processed in 0.051521 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表