锁定老帖子 主题:请教工作流问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-11-28
根据客户的实际情况来做。客户可能允许高权限的人直接提交到财务;不允许的话又是怎样规定的。
流程节点:申请->审核->大额审核->提款 审核节点处理人用动态计算,而不是简单指定一个角色 |
|
返回顶楼 | |
发表时间:2007-11-28
cbhyk 写道 根据客户的实际情况来做。客户可能允许高权限的人直接提交到财务;不允许的话又是怎样规定的。 同意ls的想法:审核节点处理人用动态计算,而不是简单指定一个角色
流程节点:申请->审核->大额审核->提款 审核节点处理人用动态计算,而不是简单指定一个角色 ①(申请人:a)→②(部门主管:a、b)→③(总经理:a、c)[金额为2000~5000][备用审批人:d][金额为2000以下][备用审批人:动态]→④(财务:e) 动态采用的你的逻辑:如果申请人是部门主管,那他应该给总经理,如果是总经理,则应该给总裁 |
|
返回顶楼 | |
发表时间:2007-11-28
cbhyk 写道 根据客户的实际情况来做。客户可能允许高权限的人直接提交到财务;不允许的话又是怎样规定的。
流程节点:申请->审核->大额审核->提款 审核节点处理人用动态计算,而不是简单指定一个角色 现在的情况是,不允许任何人直接提交到财务。高权限的人提交的单子,如果流程中没有人审批,需经过至少一个备用审批人审批才能到财务。 动态计算的规则是什么呢?如果是找申请人的上级,就会有最高上级的单子由谁审的问题。还请cbhyk讲得更仔细一些。 我现在想的解决方法是这样的:由于备用审批人就是用来防止申请人权限太高而使单子直接到财务的,所以现在如果申请人有审批人的权限,则把单子交给备用审批人处理。 |
|
返回顶楼 | |
发表时间:2007-11-28
wolfwood 写道 同意ls的想法:审核节点处理人用动态计算,而不是简单指定一个角色
①(申请人:a)→②(部门主管:a、b)→③(总经理:a、c)[金额为2000~5000][备用审批人:d][金额为2000以下][备用审批人:动态]→④(财务:e) 动态采用的你的逻辑:如果申请人是部门主管,那他应该给总经理,如果是总经理,则应该给总裁 我可能没太讲清楚,一个节点只能有一个金额范围的条件,wolfwood这样处理是要给③设一个平行节点吗? ③2(总经理)[金额为2000以下][备用审批人:动态]? 如果是这样的话,是没办法解决总经理不处理小额申请的问题的。 |
|
返回顶楼 | |
发表时间:2007-11-28
anniewm 写道 cbhyk 写道 根据客户的实际情况来做。客户可能允许高权限的人直接提交到财务;不允许的话又是怎样规定的。
流程节点:申请->审核->大额审核->提款 审核节点处理人用动态计算,而不是简单指定一个角色 现在的情况是,不允许任何人直接提交到财务。高权限的人提交的单子,如果流程中没有人审批,需经过至少一个备用审批人审批才能到财务。 动态计算的规则是什么呢?如果是找申请人的上级,就会有最高上级的单子由谁审的问题。还请cbhyk讲得更仔细一些。 我现在想的解决方法是这样的:由于备用审批人就是用来防止申请人权限太高而使单子直接到财务的,所以现在如果申请人有审批人的权限,则把单子交给备用审批人处理。 规则根据客户业务决定。最高上级的单子由谁审也包含在计算中。 比如你这个例子,审核节点处理人的计算: if(不是自己审自己) 处理人 = 按角色"审核人"取处理人; else { if(有上级) 处理人 = 上级 else 处理人 = 备用审批人 } |
|
返回顶楼 | |
发表时间:2007-11-28
还可以这样处理:给谁审核由申请人来选,选的时候不能选自己。
就象平常生活中一样,主管和总经理都可以签报销单。我们要报销的时候,填一张单子,一般是拿到主管那里去,主管不在,拿到总经理那里去。主管有时候可能很忙,或者和主管不和,不想给他签,这时直接拿到总经理那里去。自由选择给谁签。 我们的流程中(JBPM),一个节点有哪些人可以处理可以用java代码计算的。当一个节点可能有多个人有权处理时,我们在提交时让用户通过一个下拉列表选择提交给谁。 |
|
返回顶楼 | |
发表时间:2007-11-28
明白动态计算是怎么回事了
非常感谢cbhyk! 当然还有ronghao和抛出异常的爱,一并感谢! |
|
返回顶楼 | |
发表时间:2007-11-29
能不能设计一种可扩展框架,用户可以通过文本声明的方式,进行逻辑定制?
每个节点设计包括三个域,prepare(预处理该任务,如果任务处理级别已经高于当前处理级别,则直接pass),process(处理任务),pass(传递任务)到下一个节点 另外对任务有一个处理级别标识,每一个process在处理之前对任务处理的级别进行判断(看是否需要处理),处理后更新任务处理级别。 这样,我们是否就可以针对一个工作流进行文档方式声明呢? 对于楼主的问题,我们可以定义一个通用流程,设计好流程中可能遇到的角色(上述节点),也许能解决问题。 |
|
返回顶楼 | |
发表时间:2007-11-29
楼主的业务逻辑没有分离清楚啊
只有流程节点被省略的逻辑 没有流程节点被补充的逻辑 只需在财务之前增加一个流程节点 该节点逻辑为如果该流程没有经过任何人审批就流转到本节点 则本节点自动将之提交给申请人的部门领导 |
|
返回顶楼 | |
发表时间:2007-11-29
增加一个流程节点,在声明性文件中定义啊
|
|
返回顶楼 | |