OA与U9系统集成方案.docx

上传人:b****1 文档编号:2298363 上传时间:2022-10-28 格式:DOCX 页数:11 大小:72.14KB
下载 相关 举报
OA与U9系统集成方案.docx_第1页
第1页 / 共11页
OA与U9系统集成方案.docx_第2页
第2页 / 共11页
OA与U9系统集成方案.docx_第3页
第3页 / 共11页
OA与U9系统集成方案.docx_第4页
第4页 / 共11页
OA与U9系统集成方案.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

OA与U9系统集成方案.docx

《OA与U9系统集成方案.docx》由会员分享,可在线阅读,更多相关《OA与U9系统集成方案.docx(11页珍藏版)》请在冰豆网上搜索。

OA与U9系统集成方案.docx

OA与U9系统集成方案

OA与U9系统集成方案

 

建立日期:

2015-08-15

文控编号:

作者:

陈建宇

客户项目经理:

日期:

用友项目经理:

日期:

文档信息

项目编号

文档编号

项目名称

标题

类别

OA与U9系统集成方案

当前阶段

开发方案

摘要

文档拥有者

优普信息科技有限公司

文件

OA与U9系统集成方案V1.0

修改记录

日期

版本

作者

修改内容

2015-08-15

1.0

陈建宇

初始版本

审阅记录

日期

版本

姓名

职位

备注

审批记录

日期

版本

姓名

职位

签名

目录

1.引言4

1.1项目名称4

1.2项目背景和内容概要4

1.3相关资料、缩略语、定义4

1.4目标4

1.5范围4

1.6假定条件与约束限制4

1.7对现有系统的影响4

2.功能详细需求分析5

2.1整体业务流程图5

2.2详细功能5

2.2.1单点登录5

2.2.1.1OA单点登录U95

2.2.1.1.1前提条件5

2.2.1.1.2业务规则5

2.2.2消息传输6

2.2.2.1U9消息记录传输到OA6

2.2.2.1.1前提条件6

2.2.2.1.2业务规则6

3.开发平台支持10

3.1硬件10

3.2操作系统10

3.3用友产品10

3.4开发语言10

3.5数据库10

3.6程序架构10

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主页。

跳转地址:

http:

//XXXXXX/u9/api/v1/autologin.aspx?

user_code=&user_password=&enterprie_id=&organization_id=&return_url=

http:

//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不用这个取数方式了

//ListParamList=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;//FORMid

//stringentityID=string.Empty;//单据信息ID

//stringDocClass=string.Empty;//单据类全称

//stringInstance=string.Empty;//InstanceID

//stringSourceOrg=string.Empty;//来源组织

//stringObjectOrg=string.Empty;//目标组织

StringBuildersburi=newStringBuilder();

sburi.Append("http:

//XXXX/U9/ufsoft/simple.aspx?

lnk=");

sburi.Append(fromID);

sburi.Append("&chromeType=4&ShowType=ShowModal");

sburi.Append("&ID="+entityID);

sburi.Append("&CS_IsPopWebpart=True&InstanceID="+Instance);

sburi.Append("&FlowFlag=True&CS_RefreshParent=True&EntityType="+DocClass);

sburi.Append("&TargetOrganization="+SourceOrg+"&__sk=__SK50604&__curOId="+SourceOrg+"&RefereshThis=1&ShowAtlasModalDialog=true");

OA接口调用需要根据对应OA系统做相应的调整。

为了方便使用,需将对应接口的地址做成可配置的,如果还有一些需要配置的参数,都需要在参数设置中预制。

例如泛微的OA系统,在调用接口时需要传输流程实例,但是实例又是会变动的,因此需要将地址和实例都增加到参数设置中,这些参数是用于整个系统间的传输,所以应该部署在基础模块中。

参数设置事例:

declare@Applicationbigint

declare@CreatedBynvarchar(20)

declare@IDbigint

--设置应用的ID

set@Application=3000

--设置创建名称

set@CreatedBy='admin'

--预置参数的初始ID(年月日时分秒+01纯数字)

set@ID=CAST(CONVERT(varchar(100),GETDATE(),112)+replace(CONVERT(varchar(100),GETDATE(),108),':

','')+'01'asbigint)

 

--为了可重复执行,创建前先删除

--删除参数值表中关于本应用的数据(此参数值表区分多组织)

DELETEFROMBase_ProfileValueWHEREprofilein(SELECTIDFROMBase_ProfileWHERECodein('OAWebSerAddress','WorkFlowId'))

--删除参数表中关于本应用的数据(所有组织共用此参数表)

DELETEFROMBase_ProfileWHERECodein('OAWebSerAddress','WorkFlowId')

--删除参数(多语)表中关于本应用的数据

DELETEFROMBase_Profile_TrlWHEREIDin(selectIDfromBase_ProfileWHERECodei

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1