博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

待办推送解决方案

Posted on 2010-02-23 21:07  epms  阅读(1750)  评论(1编辑  收藏  举报

待办推送解决方案

 

问题提出描述:

 

目前EPMS系统有很多综合类待办,只能在EPMS系统的工作台的综合类待办那里可以处理,但是实际情况是这些综合类待办一般是是移动各地市的老总使用,他们不可能天天登陆EPMS,但是他们一般都会登陆Portal,所以希望EPMS系统的综合类待办能够推送到移动的Portal上。

 

实现方案:

经过讨论,发现公司王臣项目组的统一组件平台有待办推送等功能。所以实现该功能将使用王臣的待办推送的服务。主要调用该服务的两个方法:

1, 发送待办

SendPortalToDo(string nodeGUID, string pwd, ToPortal pToDo, string dateSend, int setPriority, int sendPriority, string businessID)

 

参数名

参数类型

描述

nodeGUID

string(字符串)

调用节点的ID,用于区分不同调用者

pwd

string(字符串)

节点ID的密码,在权限目录树上注册时用户自定义的密码

sysid

string(字符串)

系统标识,由信息反馈表中获得

pToDo

ToPortal(类)

要发送的待办信息实体。点击“这里”查看ToPortal类的详细信息。

dateSend

string(字符串)

发送消息的时间(当为空时表示发送即时消息)

setPriority

int(整型)

设置优先级。1 正常;2 系统设置凌驾于个人设置之上。默认为1

sendPriority

int(整型)

发送优先级。1 正常;2 高。 默认1

businessID

string(字符串)

业务标识

 

2, 删除待办

3,public Result RemoveMessages(string nodeGUID, string pwd, string [] businessIds, int msgType)

 

参数名

参数类型

描述

nodeGUID

string(字符串)

调用节点的ID,用于区分不同调用者

pwd

string(字符串)

节点ID的密码,在权限目录树上注册时用户自定义的密码

sysid

string(字符串)

系统标识,由信息反馈表中获得

businessIds

string[](字符串数组)

业务标识数组

msgType

int(整型)

发送的类型 8:Portal待办;16:Portal待阅 ;24:Portal待办和待阅。

 

 

 

问题解决方案一:

 

需要在EPMS的承载页面WorkFlowBasePage.aspx.cs 添加一些逻辑处理。在工作流提交的时候,执行待办推送的逻辑,同时删除本身待办。另外需要处理EPMS系统中所有系统自动发起流程的地方。同时需要处理一些特殊的情况,如:转发、变更处理人、委托、强制结束等。

 

 

问题解决方案二:

不管他工作流是如何流转的,我们在工作流基表(WF_Work_Items)添加标示字段标识那些是已经推送,那些已经完成等,通过Window系统自带的任务计划功能,定时的去轮训这些流程内容,后台去推送和删除待办。

 

 

这两种方案的优缺点如下:

第一种方案是实时的,马上能够在protal那里看到效果,缺点是修改地方太多,风险大。而且效率不高。

 

第二种方案是轮训,可能不能马上看到效果,但是修改地方小,风险小,而且批量的时候效率高。灵活性高,可以扩展性高,但是由于轮训去读取工作流表,可能会影响系统其他模块效率。

 

综合考虑这两种方案,决定选择第二种。