OA与U9系统集成方案.docx_第1页
OA与U9系统集成方案.docx_第2页
OA与U9系统集成方案.docx_第3页
OA与U9系统集成方案.docx_第4页
OA与U9系统集成方案.docx_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OA与U9系统集成方案建立日期: 2015-08-15文控编号:作者:陈建宇客户项目经理:日期:用友项目经理:日期:文档信息项目编号文档编号项目名称标题类别OA与U9系统集成方案当前阶段开发方案摘要文档拥有者优普信息科技有限公司文件OA与U9系统集成方案V1.0修改记录日期版本作者修改内容2015-08-151.0陈建宇初始版本审阅记录日期版本姓名职位备注审批记录日期版本姓名职位签名目录1.引言41.1项目名称41.2项目背景和内容概要41.3相关资料、缩略语、定义41.4目标41.5范围41.6假定条件与约束限制41.7对现有系统的影响42.功能详细需求分析52.1整体业务流程图52.2详细功能52.2.1单点登录 OA单点登录U9.1前提条件.2业务规则52.2.2消息传输 U9消息记录传输到OA.1前提条件.2业务规则63.开发平台支持103.1硬件103.2操作系统103.3用友产品103.4开发语言103.5数据库103.6程序架构10第12页 / 共12页1. 引言1.1 项目名称OA与U9集成1.2 项目背景和内容概要客户同时使用用友U9系统和第三方OA系统软件。客户系统在OA系统中能同步登录到U9系统,并能处理OA中的处理U9系统中的部分操作。1.3 相关资料、缩略语、定义无1.4 目标实现OA系统中对U9系统的单点登录。将U9中的消息同步传输到OA系统中,并由OA系统直接弹出U9界面进行相关数据处理。1.5 范围U9使用的版本:U9V3.0客开组织模式:多组织1.6 假定条件与约束限制本文档仅适用于本次调研所获取的需求信息1.7 对现有系统的影响2. 功能详细需求分析2.1 整体业务流程图2.2 详细功能2.2.1 单点登录 OA单点登录U.1 前提条件l 用户、组织、企业等相关借出数据需建立关联关系,或做数据同步。l 两系统部署在相同网络条件下,能相互连接访问。.2 业务规则在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组织IDreturn_url=:登录到U9主页后,需要U9系统跳转到那个页面的URI地址,如为空则跳转到U9主页拼接完该链接后,通过弹出页面的开发打开该链接即可自动登录到U9系统中。2.2.2 消息传输 U9消息记录传输到OA.1 前提条件OA需要提供数据传输接口。U9增加相关BE插件。.2 业务规则在U9系统中增加UFIDA.U9.CS.Unify.TaskBE.TaskBE 的Inserted插件,在插件中调用OA系统提供的接口,将数据写入到OA系统中。对于工作流消息,因为需要通过对应的消息去打开U9中相关的单据界面和界面数据,因此需要将工作流消息所对应的弹出界面URI同步传输过去,但U9在消息记录中并未记录相关信息,需自行拼接。所输出的URI就为对应单点登录地址中的URI参数。拼接事例:string formID = string.Empty; /FORMidstring entityID = string.Empty; /单据信息IDstring DocClass = string.Empty; /单据类全称string Instance = string.Empty; /InstanceIDstring SourceOrg = string.Empty; /来源组织string ObjectOrg = string.Empty; /目标组织if (task != null ) StringBuilder sbsql = new StringBuilder(); UFIDA.U9.CS.Workflow.WorkflowInstanceBE.ProcessTrack pTrack = 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和实体类全称获取对应FROMIDGuid FlowInstanceID = pTrack.WaitingUser.FlowState.FlowInstance.Instance; UFIDA.U9.CS.Workflow.WorkflowBP.Proxy.GetRefFormInfoProxy proxy = new CS.Workflow.WorkflowBP.Proxy.GetRefFormInfoProxy(); proxy.InsID = FlowInstanceID.ToString(); CS.Workflow.WorkflowBP.RefFormDTOData refFormDto = proxy.Do(); #region不用这个取数方式了/List ParamList = new List();/ParamList.Add();/ParamList.Add(ObjectOrg);/UFIDA.U9.AAI.TransEntry.PageNavigate pNavigate = new UFIDA.U9.AAI.TransEntry.PageNavigate(); #endregionstring uri = refFormDto.URI;int i = uri.IndexOf(?);string fromID=string.Empty;if (i 0) fromID = uri.Substring(0,i);else fromID = uri;#endregion/string formID = string.Empty; /FORMid/string entityID = string.Empty; /单据信息ID/string DocClass = string.Empty; /单据类全称/string Instance = string.Empty; /InstanceID/string SourceOrg = string.Empty; /来源组织/string ObjectOrg = string.Empty; /目标组织StringBuilder sburi=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系统,在调用接口时需要传输流程实例,但是实例又是会变动的,因此需要将地址和实例都增加到参数设置中,这些参数是用于整个系统间的传输,所以应该部署在基础模块中。参数设置事例:declareApplicationbigintdeclareCreatedBynvarchar(20)declareIDbigint-设置应用的IDsetApplication=3000-设置创建名称setCreatedBy=admin-预置参数的初始ID(年月日时分秒+01纯数字)setID=CAST(CONVERT(varchar(100),GETDATE(), 112)+replace(CONVERT(varchar(100),GETDATE(), 108),:,)+01asbigint)-为了可重复执行,创建前先删除-删除参数值表中关于本应用的数据(此参数值表区分多组织)DELETEFROMBase_ProfileValueWHEREprofilein(SELECTIDFROMBase_ProfileWHERECodein(OAWebSerAddress,WorkFlowId)-删除参数表中关于本应用的数据(所有组织共用此参数表)DELETEFROMBase_ProfileWHERECodein(OAWebSerAddress,WorkFlowId)-删除参数(多语)表中关于本应用的数据DELETEFROMBase_Profile_TrlWHEREIDin(selectIDfromBase_ProfileWHERECodein(OAWebSerAddress,WorkFlowId)-进行参数预置-ProfileValueType 参数值类型 (可查classview)-0string 1int 2decimal 3bool 4date 6enum 7entity-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,OAWebSerAddress,Application,1,4,null)INSERTINTOBase_Profile_Trl(SysMLFlag,ID,Description,Name,ProfileGroup)VALUES (zh-CN,ID,OA系统地址,OA系统地址,接口配置)-多条参数时,ID自增setID=ID+1INSERTINTOBase_Profile(ID,CreatedOn,CreatedBy,ModifiedOn,ModifiedBy,ProfileValueType,SubTypeName,DefaultValue,Code,Application,ControlScope,SensitiveType,ReferenceID)VALUES (ID,GETDATE(),CreatedBy,NULL,NULL,0,NULL,WorkFlowId,Application,1,4,null)INSERTINTOBase_Profile_Trl(SysMLFlag,ID,Description,Name,ProfileGroup)VALUES (zh-CN,ID,OA系统流程ID,OA系统流程ID,接口配置)GOU9中参数获取方式:#region获取OA流程IDGetProfileValueProxy bpObj = newGetProfileValueProxy();bpObj.ProfileCode = WorkFlowId; /对应参数设置中的Code信息PVDTOData pVTDOData = bp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论