OA与U9系统集成方案设计Word文档下载推荐.docx
- 文档编号:18069802
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:9
- 大小:71.21KB
OA与U9系统集成方案设计Word文档下载推荐.docx
《OA与U9系统集成方案设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《OA与U9系统集成方案设计Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
日期
版本
作者
修改容
2015-08-15
1.0
初始版本
审阅记录
职位
备注
审批记录
签名
1.引言
OA与U9集成
项目背景和容概要
客户同时使用用友U9系统和第三方OA系统软件。
客户系统在OA系统中能同步登录到U9系统,并能处理OA中的处理U9系统中的部分操作。
相关资料、缩略语、定义
无
目标
实现OA系统中对U9系统的单点登录。
将U9中的消息同步传输到OA系统中,并由OA系统直接弹出U9界面进行相关数据处理。
围
U9使用的版本:
U9V3.0
客开组织模式:
多组织
假定条件与约束限制
本文档仅适用于本次调研所获取的需求信息
对现有系统的影响
2.
功能详细需求分析
整体业务流程图
详细功能
2.1.1单点登录
OA单点登录U9
前提条件
●用户、组织、企业等相关借出数据需建立关联关系,或做数据同步。
●两系统部署在相同网络条件下,能相互连接访问。
业务规则
在OA系统中,通过U9单点登录地址,将相关的参数传输到地址中,通过地址连接打开U9主页。
跳转地址:
XXXXXX/u9/api/v1/autologin.aspx?
user_code=&
user_password=&
enterprie_id=&
organization_id=&
return_url=
XXXXXX/u9/:
对应U9
user_code=:
U9用户编码
user_password=:
U9用户登录U9的密码,此处密码为明文
enterprise_id=:
U9企业编码,可在U9管理控制台查看
organization_id=:
U9组织ID
return_url=:
登录到U9主页后,需要U9系统跳转到那个页面的URI地址,如为空则跳转到U9主页
拼接完该后,通过弹出页面的开发打开该即可自动登录到U9系统中。
2.1.2消息传输
U9消息记录传输到OA
OA需要提供数据传输接口。
U9增加相关BE插件。
在U9系统中增加UFIDA.U9.CS.Unify.TaskBE.TaskBE的Inserted插件,在插件中调用OA系统提供的接口,将数据写入到OA系统中。
对于工作流消息,因为需要通过对应的消息去打开U9中相关的单据界面和界面数据,因此需要将工作流消息所对应的弹出界面URI同步传输过去,但U9在消息记录中并未记录相关信息,需自行拼接。
所输出的URI就为对应单点登录地址中的URI参数。
拼接事例:
stringformID=string.Empty;
//FORMid
stringentityID=string.Empty;
//单据信息ID
stringDocClass=string.Empty;
//单据类全称
stringInstance=string.Empty;
//InstanceID
stringSourceOrg=string.Empty;
//来源组织
stringObjectOrg=string.Empty;
//目标组织
if(task!
=null)
{
StringBuildersbsql=newStringBuilder();
UFIDA.U9.CS.Workflow.WorkflowInstanceBE.ProcessTrackpTrack=UFIDA.U9.CS.Workflow.WorkflowInstanceBE.ProcessTrack.Finder.FindByID(task.Source_Entity.ID);
if(pTrack==null)
return;
DocClass=pTrack.WaitingUser.FlowState.FlowInstance.OwnerEntity.ID.ToString();
entityID=pTrack.WaitingUser.FlowState.FlowInstance.OwnerEntity.Key.EntityType;
Instance=pTrack.WaitingUser.FlowState.FlowInstance.Instance.ToString();
SourceOrg=task.SourceOrg.ID.ToString();
ObjectOrg=task.ObjectOrg.ID.ToString();
#region通过实体ID和实体类全称获取对应FROMID
GuidFlowInstanceID=pTrack.WaitingUser.FlowState.FlowInstance.Instance;
UFIDA.U9.CS.Workflow.WorkflowBP.Proxy.GetRefFormInfoProxyproxy=newCS.Workflow.WorkflowBP.Proxy.GetRefFormInfoProxy();
proxy.InsID=FlowInstanceID.ToString();
CS.Workflow.WorkflowBP.RefFormDTODatarefFormDto=proxy.Do();
#region不用这个取数方式了
//List<
string>
ParamList=newList<
();
//ParamList.Add("
"
);
//ParamList.Add(ObjectOrg);
//UFIDA.U9.AAI.TransEntry.PageNavigatepNavigate=newUFIDA.U9.AAI.TransEntry.PageNavigate();
#endregion
stringuri=refFormDto.URI;
inti=uri.IndexOf("
?
stringfromID=string.Empty;
if(i>
0)
fromID=uri.Substring(0,i);
else
fromID=uri;
#endregion
//stringformID=string.Empty;
//stringentityID=string.Empty;
//stringDocClass=string.Empty;
//stringInstance=string.Empty;
//stringSourceOrg=string.Empty;
//stringObjectOrg=string.Empty;
StringBuildersburi=newStringBuilder();
sburi.Append("
XXXX/U9/ufsoft/simple.aspx?
lnk="
sburi.Append(fromID);
&
chromeType=4&
ShowType=ShowModal"
ID="
+entityID);
CS_IsPopWebpart=True&
InstanceID="
+Instance);
FlowFlag=True&
CS_RefreshParent=True&
EntityType="
+DocClass);
TargetOrganization="
+SourceOrg+"
__sk=__SK50604&
__curOId="
RefereshThis=1&
ShowAtlasModalDialog=true"
OA接口调用需要根据对应OA系统做相应的调整。
为了方便使用,需将对应接口的地址做成可配置的,如果还有一些需要配置的参数,都需要在参数设置中预制。
例如泛微的OA系统,在调用接口时需要传输流程实例,但是实例又是会变动的,因此需要将地址和实例都增加到参数设置中,这些参数是用于整个系统间的传输,所以应该部署在基础模块中。
参数设置事例:
declareApplicationbigint
declareCreatedBynvarchar(20)
declareIDbigint
--设置应用的ID
setApplication=3000
--设置创建名称
setCreatedBy='
admin'
--预置参数的初始ID(年月日时分秒+01纯数字)
setID=CAST(CONVERT(varchar(100),GETDATE(),112)+replace(CONVERT(varchar(100),GETDATE(),108),'
:
'
'
)+'
01'
asbigint)
--为了可重复执行,创建前先删除
--删除参数值表中关于本应用的数据(此参数值表区分多组织)
DELETEFROMBase_ProfileValueWHEREprofilein(SELECTIDFROMBase_ProfileWHERECodein('
OAWebSerAddress'
WorkFlowId'
))
--删除参数表中关于本应用的数据(所有组织共用此参数表)
DELETEFROMBase_ProfileWHERECodein('
)
--删除参数(多语)表中关于本应用的数据
DELETEFROMBase_Profile_TrlWHEREIDin(selectIDfromBase_ProfileWHERECodein('
--进行参数预置
--ProfileValueType参数值类型(可查classview)
--0string1int2decimal3bool4date6enum7entity
--SubTypeName子类型名称当ProfileValueType=7时,此处填入实体名称,如UFIDA.U9.Base.Organization.Organization
--DefaultValue缺省值,字串
--Code编码,字串
--[Application],所属应用
--ControlScope,作用围(0站点1组织2角色3用户4实体角色)
--SensitiveType敏感性类型(0厂商修改1设置后不可改2使用后不可改3可追朔修改4可前向修改)
--ReferenceID,参照ID,字串(未知)
--ProfileGroup,参数分组,字串
INSERTINTOBase_Profile(ID,CreatedOn,CreatedBy,ModifiedOn,ModifiedBy,ProfileValueType,SubTypeName,DefaultValue,Code,[Application],ControlScope,SensitiveType,ReferenceID)
VALUES(ID,GETDATE(),CreatedBy,NULL,NULL,0,NULL,'
Application,1,4,null)
INSERTINTOBase_Profile_Trl(SysMLFlag,ID,[Description],[Name],ProfileGroup)
VALUES('
zh-CN'
ID,'
OA系统地址'
接口配置'
--多条参数时,ID自增
setID=ID+1
OA系统流程ID'
GO
U9中参数获取方式:
#region获取OA流程ID
GetProfileValueProxybpObj=newGetProfileValueProxy();
bpObj.ProfileCode="
WorkFlowId"
;
//对应参数设置中的Code信息
PVDTODatapVTDOData=bpObj.Do();
if(string.IsNullOrEmpty(pVTDOData.ProfileValue))
{
thrownewException("
请在参数设置中定义OA流程ID"
}
单点登录URI说明:
3.开发平台支持
硬件
PC机
操作系统
Windows2003/2008(或以上版本),IE7.0以上。
用友产品
U9平台技术;
开发语言
MicrosoftVisualStudio2005、Microsoft.NETFrameworkV3.0以上
数据库
MicrosoftSQLServer2008
程序架构
B/S结构。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OA U9 系统 集成 方案设计