您的位置:首页 > 其它

实际工作中遇到的技术难题与大家交流(工作流条件表达式计算部分),希望技术高手能给于指点

2012-03-16 20:49 876 查看
有一个审核的工作流程,默认情况下是 【杭州编辑审核】--》 【北京编辑审核】--》 【信息发布员审核】--》 【信息发布】

这个是一个典型的工作审核流程,我们可以简单的建立3个角色,来定义这个审核流程,也很容易可以达到目的,但是问题没这么简单了。

1:若是杭州编辑发布的,需要走 【杭州编辑审核】--》 【北京编辑审核】--》 【信息发布员审核】--》 【信息发布】 流程。

2:若是北京编辑发布的,需要走 【北京编辑审核】--》 【信息发布员审核】 --》 【信息发布】流程。

这下问题变得有些复杂了,还需要自动判断当前编辑人员是属于哪个组织的?说白了,就是需要有一个条件表达式。

// 例如程序想达到的运行效果如下,这个是审核流程的入口判断

if (this.userinfo.company == "杭州")

{

杭州的审核流程

}

if (this.userinfo.company == "北京")

{

北京的审核流程

}

例如现在设置了一个条件表达式 “UserInfo.Company == "杭州"” 那问题是,如何动态的让程序判断是否满足了这个条件?

我如何写程序才能道道

if ([b]UserInfo.Company == "杭州"[/b])

{

杭州的审核流程

}

红色部分是可以自由定义的,我如何能做到,与我写固定的程序一样的效果?这个表达式是否能成立,用C#如何做才是最灵活的?客户可以自由定义的?

如何能让程序动态执行?红色部分又可以自由定义?请高手指点

例如红色这个表达式可以由用户自由定义的功能

UserInfo.Company == "杭州" && [b]UserInfo.Age < 40[/b]

UserInfo.Company == "北京"

UserInfo.Age > 40 || [b]UserInfo.Age < 30[/b]

工作流开始 --》 UserInfo.Company == "杭州"?--》 【杭州编辑审核】-》 【北京编辑审核】-》 【信息发布员审核】 -》 【信息发布】

|| ^

|| ||

V ||

==============================================

当然在程序里进行了硬编码,那是很容易的事情,但是红色部分想用户自己可以灵活定义,就难了,不知道如何做会更好?更灵活?

虚心向大家学习,当然红色部分的表达式可能更复杂,不是只是一个 == 条件的。

若有满意的例子程序可以提供的,愿意支付 500元辛苦费。

程序的要求:

1:能验证表达式是否成立,语法是否正确?出错了可以提示。

2:能正确保存表达式,显示表达式。

3:能正确解析表达式。

4: 不需要整个流程的定义,流程的实现,只需要条件表达式这部分的示意程序就可以了。

5: 只要C#语言的代码,其他语言的不要。

往往想得太高了,实际能力没那么强的,呵呵

先简单一点儿能实现,就很不错了

例如 天数 > 3 很容易就可以修改为

天数 > 3 && 天数 < 5

主要目的,不是为了绕过难题解决问题,而是就是解决这个问题,不需要变通的解决方法。

将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。

About



吉日嘎拉(蒙古语为吉祥如意),2000年毕业于黑龙江大学计算机系软件专业,目前定居杭州,典型的IT软件土鳖一个,外号“软件包工头”。

通用权限管理系统组件(GPM - General Permissions Manager)自2003年开始发布,目前是国内注册用户和免费盗版用户最多的权限管理系统,是各种信息管理系统开发中彻底的权限解决方案。本组件支持多种主流数据库(Oracle、sqlsever、db2、mysql),功能强大,使用方便,代码简洁,思路严谨,被广大支持者称为权限管理系统中的“走火入魔级权限管理系统”。

精心维护通用权限管理系统组件(GPM - General Permissions Manager)有8年多,3年的不断推广,20万行经典的业务逻辑积累,经过上万次的调试修正,经历了四百个付费客户,上百软件公司的实战开发。

11年以上开发经验,外企工作5年,上市公司3年,独立经营软件公司2年,主持研发部门管理工作4年以上。

将权限管理、工作流做到我能力的极致,一个人只能做好那么很少的几件事情。



QQ:252056973,Mail:jirigala_bao@hotmail.com

访问者分布


通用权限管理模块的严谨设计定位、精心编码实现、不断维护推广、持续优化改进,主要是为了实现一个可以高度重复利用劳动成果的工具软件并有偿提供给所需的人们,另想成为国人值得骄傲的知名软件功能模块。

可供国内管理类开发人员在日常工作中进行灵活二次开发利用的模块,开发管理类软件的必备工具之一,我们的目标就是让程序员早点儿回家休息。

淘宝店地址:http://jirigala.taobao.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐