金蝶协同办公软件V60二次开发指南Word格式文档下载.docx

上传人:b****5 文档编号:20262882 上传时间:2023-01-21 格式:DOCX 页数:37 大小:359.69KB
下载 相关 举报
金蝶协同办公软件V60二次开发指南Word格式文档下载.docx_第1页
第1页 / 共37页
金蝶协同办公软件V60二次开发指南Word格式文档下载.docx_第2页
第2页 / 共37页
金蝶协同办公软件V60二次开发指南Word格式文档下载.docx_第3页
第3页 / 共37页
金蝶协同办公软件V60二次开发指南Word格式文档下载.docx_第4页
第4页 / 共37页
金蝶协同办公软件V60二次开发指南Word格式文档下载.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

金蝶协同办公软件V60二次开发指南Word格式文档下载.docx

《金蝶协同办公软件V60二次开发指南Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《金蝶协同办公软件V60二次开发指南Word格式文档下载.docx(37页珍藏版)》请在冰豆网上搜索。

金蝶协同办公软件V60二次开发指南Word格式文档下载.docx

如果有新的系统需要二次开发有二种类型1,其它系统登陆单点登录金蝶协同2,金蝶协同单点登录到其它系统。

以下分二种类型详细说明。

2.1.1其它系统单点登录金蝶协同

金蝶协同基于kingdee-ltpa是kingdee提供的基于cookie的轻量级的认证方式,如果需要实现SSO的环境为提供中间件,那么使用kingdee-ltpa将是最佳的方式。

场景描述:

当用户发出一个URL请求到金蝶协同支持kingdee-ltpa的应用,系统要求输入“用户/密码”,输入并提交后用户就可以访问这个金蝶协同的应用,接着当用户再访问金蝶协同应用,此时无需再次输入“用户/密码”信息即可以访问金蝶协同的相关功能。

过程说明:

首先需要在两个系统服务器上配置基于LTPA的信任关系,经过配置后的服务器之间建立了信任,当其中一个服务器认证通过后,再去访问其它已经建立过信任关系的服务器时,因为它们之间彼此是信任的,所以就无需再次认证了。

1.其它系统发出一个URL请求到金蝶协同,此请求被单点拦截,单点登录定向到它内

置的一个form表单,加入用户/密码进行认证;

2.金蝶协同单点登录认证组件拿着输入的用户/密码到LDAPserver进行用户鉴别。

金蝶协同单点登录认证组件认证成功后生成一个LTPA的Token,并将请求转发到金蝶协同端,金蝶协同收到请求后,发现此请求含有LTPA的Token,因为之前已经配置了信任关系,所以金蝶协同单点登录认证组件不再要求进行认证,直接将请求的响应返回,用户收到所需的页面信息响应。

 3.用户再次访问金蝶协同的Web应用,此请求被金蝶协同单点登录认证组件拦截,

因为金蝶协同单点登录认证组件之前缓存了LTPA的Token,它快速检查了请求信息是来自它所信任的金蝶协同单点登录认证组件,所以不需要再进行用户信息的鉴别,它把请求直接转给金蝶协同,因为是信任的,所以也不需要再次认证,金蝶协同将直接返回的请求结果。

开发过程分为三个步骤1.增加单点登录入口按钮2.实现单点登录请求3.实现单点登录验证

1.增加单点登录入口按钮

在应用相应页面增加一个按钮

访问金蝶协同软件login/login.jsp

2.实现单点登录请求

新建JSP,例如在webapp/login目录下新建JSP文件,命名为kingdee_sso_auth.jsp,

里面实现业务有以下四步

1)通过请求参数及金蝶协同配置信息,得到其它系统中用户信息,取出相关信息(为一下步验证这个是否合法相关数据)

示例核心代码提示

2)通过用户userName、用户密码,通过相关业务逻辑验证其信息是否合法。

如果不合法,做相关业务异常处理。

3)将请求信息通过相关加密方式,然后通过LtpaToken组件相关处理组成DSESSIONID字符串。

示例核心代码提示:

4)提交单点登录请求

示例核心代码提示:

详细例子请参考文件

Webapp/login/kingdee_sso_auth.jsp

Resources/conf/LtpaToken.properties

3.实现单点登录验证

新建JSP,例如在webapp/login目录下新建JSP文件,命名为kingdee_sso_login.jsp,

1)清除session中单点登录相关信息(loginUserEAS_MESSAGEIDEAS_nexturlEAS_nexturl)

2)判断是否有效请求。

如果判断是无效请求作相关业务异常处理

示例核心代码提示

3)设置访问金蝶协同URL信息

4)提交金蝶协同安全验证

详细例子请参考文件

Webapp/login/kingdee_sso_login.jsp

2.1.2金蝶协同单点登录其它系统

其步骤跟其它系统单点登录金蝶协同基本上一样。

只过实现单点登录的方式有很大区别,如果金蝶协同单点登录其它系统如果有自己单点登录解决方案,那只能按照他们提供单点登录资源实现二次开发,如果没有单点登录解决方案。

就采用其它系统单点登录金蝶协同办法解决,另外请求角色跟验证角色调换一下,所以这里不作详细说明。

2.2业务功能调整

业务功能调整主要有:

1.新增功能2修改功能。

新增功能只支持把开发完成功能以菜单形式显示在金蝶协同软件,所以添加模块、添加菜单。

修改功能只能修改页面上文件文字、图片等一些信息。

2.2.1添加一个新的功能模块

添加模块:

目前版本只支持在首页头部区域增加入口(按钮、超链接)以弹出方式显示添加的模块,加模块功能开发框架不作限制。

开发步骤主要有1.打开文件2.增加入口

1、打开文件:

打开webapp\themes\mskin\目录下header_top.jsp

2、增加入口

header_top.jsp的效果如下

增加入口代码,示例如下

<

aclass="

link_top"

href="

c:

urlvalue="

/j_acegi_logout"

/>

"

target=”_top”>

新增模块<

/a>

2.2.2添加菜单

添加菜单:

目前通过在各个菜单扩展页面增加菜单链接来实现各个模块中加菜单功能。

开发步骤主要有:

1打开文件2增加菜单链接.

1.打开文件

打开webapp\themes\mskin目录,根据下面列表打开对应文件。

各个模块对应菜单扩展页面如下列表

文件

对应模块

menu_address.jsp

通讯录

menu_archive2.jsp

档案管理

menu_books.jsp

图书管理

menu_bulletin.jsp

通知公告

menu_calendar2.jsp

我的日历

menu_docex.jsp

协同工作

menu_email2.jsp

电子邮件

menu_fileman.jsp

文档管理

menu_forum.jsp

公司论坛

menu_knowledge.jsp

知识中心

menu_linktree.jsp

业务链接

menu_meeting.jsp

会议管理

menu_news.jsp

新闻中心

menu_plan.jsp

计划总结

menu_supply.jsp

办公用品

menu_workflow.jsp

协同审批

menu_worklog.jsp

工作日志

2.增加菜单链接

在文件底部增加代码

TABLEclass=subMenucellSpacing=0cellPadding=0width="

100%"

border=0>

<

TBODY>

setvar="

bulletinCount"

value="

0"

TR>

TDclass=subMenuTDIconwidth=16>

&

nbsp;

/TD>

TDclass=subMenuTDid=submenu_newsCatalogy${newsCatalogyToRead.id}

onmouseover="

this.style.background='

#f2f4fb'

;

this.style.cursor='

hand'

onmouseout="

#ffffff'

auto'

noWrap>

Aclass=subMenuLink

增加菜单的URL"

target="

_top"

>

增加菜单名称<

/A>

/TR>

/TBODY>

/TABLE>

注意,增加链接是增加菜单必须以弹出窗口方式显示

2.2.3修改页面信息

目前用户修改登录页面和首页顶部内容需求比较频繁。

功能中一些页面用户很难找到具体页面文件,所以不提供具体功能页面修改。

所以此次二次开发只提供登录页面和首页顶部修改

1.登录页面

登录页面修改步骤主要有三步:

1打开文件2修改内容

Ø

打开文件:

打开webapp\themes\mskin\login\login.jsp

修改内容:

包括文字、图片、样式、布局。

文字:

找到你要修改文字如果没有做国际化,直接在页面上修改文字。

如果做了国际化,打开misc\i18n\common.properties文件。

找到对应要修改文字国际化标签名字,例如“loginjsp_label4=登陆方式”说明登录方式国际化标签名字是“loginjsp_label4”

打开misc\i18n\extend.properties文件,增加loginjsp_label4=修改后名字,

打开misc\i18n\extend_zh_HK.properties增加loginjsp_label4=修改後名字(这个文件是繁体

国际化文件,里面标签值是繁体的)

用native2ascii编译extend.propertiesextend_zh_HK.properties

把编译后文件替换web-inf/classes/i18n/对应文件。

图片:

替换图片,将修改的图片覆盖webapp\themes\mskin\login\images目录下对应的文件。

新增图片,login.jsp添加引用图片HTML代码。

然后将新增图片复制到webapp\themes\mskin\login\images,注意不要覆盖原来图片。

样式:

找到要修改的样式属性,然后打开webapp\themes\mskin\login\style.css,编辑的样式保存,即刻生效。

布局:

根据需要调整布局HTML代码保存,即刻生效。

2.首页

首页可以修改页面有二个文件,在webapp\themes\mskin\目录下header_top.jsp

header_menu.jsp,

header_top.jsp是下图效果

header_menu.jsp,是下图效果

首页修改步骤主要有三步:

根据上面效果跟打开对应文件

包括图片、样式、布局。

图片:

样式:

布局:

2.3数据交换/接口数开发

2.3.1手机短信接口开发

手机短信接口开发主要实现将业务中消息以发送手机短信方式提醒用户。

手机短信接口开发分为三步。

1实现短信发送接口2设置发送短信参数3配置发送短信

1.实现短信发送接口:

接口定义cn.firstframe.plugins.sms.CommonSMSService类

send接口方法.请查看集成kingdeebos短信接口实现的例子。

新增的短信发信功能可以参考这个实现方法

Publicbooleansend(MessagesSmsoutsms,PropertiessmsConfig)

参数:

sms是需要手机发送内容对象smsConfig手机发送配参数配置信息对像。

返回:

boolean表示发送结果,成功为true,失败为false

方法业务:

将业务中需要发送手机提醒内容,发送指定用户手机上。

2.设置发送短信参数:

打开resources\conf\smsconfig.properties,添加接口实现类中需要的参数。

各个第三方短信发送程序参数有可能不同,请参考各个第三方资料。

例如集成kingdeebos短信发送例子的参数是第一步实现类例子用到的参数。

######################################

##KingdeeBOS通讯平台

##金蝶软件(中国)有限公司

#通讯平台服务器IP地址

KDBOS.host=127.0.0.1

#通讯平台远程服务端口,一般的,为5100

KDBOS.port=5100

#登陆通讯平台的账号

KDBOS.loginAccount=kingdeeoa

#登陆通讯平台的密码

KDBOS.loginPassword=password

3.配置发送短信:

将新增短信发送实现类添加这个配置里

打开resources\cn\firstsoft\modules\message\applicationContext-message-manager.xml文件

打开下图代码

然后在beanid=”commonSMSSender”添加属性

propertyname=”commonSMSService”ref=”commonSMSService”>

注意,其中这个属性在产品是注意点,如果添加手机短信发送功能。

只要把注释去掉就行。

2.3.2档案接口开发

档案接口开发目前主要现实将公文模块数据归到档案系统。

档案接口开发:

1.新增档案接口实现类2.档案实现类配置

.新增档案接口实现类:

新建类继承cn.firstsoft.modules.workflow.adapter.ToArchiveAdapter类(ToArchiveAdapte是个抽像类只是部分实现cn.firstsoft.modules.workflow.interfaces.ToArchiveInterface接口的方法)。

重载10个方法

privateMap<

String,List>

targets=newHashMap<

(){}

publicvoidworkFlowToArchive(WorkflowFileinboxworkflowFileinbox)

publicintworkFlowToArchive(List<

WorkflowFile>

workflowFiles,WorkflowArchiveworkflowArchive)

publicvoidknowledgeToArchive(Knowledgesknowledges)

publicvoidsaveWorkflowArchive(Workflowworkflow,WorkflowArchiveworkflowArchive,intsavetype)

publicWorkflowArchivegetWorkflowArchive(Workflowworkflow)

publicvoidremoveField(Workflowworkflow,StringfieldName)

publicList<

Map>

getArchiveFields(WorkflowArchiveworkflowArchive)

selectedArchive()

WorkflowFlowfield>

getWorkFlowFields

1.privateMap<

ttargets属性是个Map<

保存金蝶协同软件转到档案系统目标字段,其中可以有多个类型目标字段。

一个KEY的对应的值,表示一个类型目标字段集合。

得到这个值的业务代码需要targets属性静态块里面实现获取档案系统目标字段集合。

2.publicvoidworkFlowToArchive(WorkflowFileinboxworkflowFileinbox)

参数:

workflowFileinbox需要归档公文对像

返回:

方法业务:

workflowToArchive方法主要实现oa中用户配置的归档文件字段归到档案系统中。

3.publicintworkFlowToArchive(List<

workflowFiles需要手动归档的workflowFiles对像集合,workflowArchive归到目标档案对像

int待定

workFlowToArchive方法主要实现手动归到档案系统中。

4.publicvoidknowledgeToArchive(Knowledgesknowledges)

knowledges

knowledgeToArchive方法主要实现知识中心归到档案系统中。

(这个方法可以空实现)

5.publicvoidsaveWorkflowArchive(Workflowworkflow,WorkflowArchiveworkflowArchive,intsavetype)

workflow归档设置更新指定工作流对象,workflowArchive流程转档案设置相关信。

息对象

saveWorkflowArchive主要实现在公作流流程设置中的结束结点,归档设置中流程转档案设置信息保存。

6.publicWorkflowArchivegetWorkflowArchive(Workflowworkflow)

workflow需要获取流转档案设置信息关联流程对象。

WorkflowArchive流转转档案设置信息

getWorkflowArchive主要实现在获取公作流流程设置中的结束结点的归档设置中流程转档案设置信息。

7.publicvoidremoveField(Workflowworkflow,StringfieldName)

workflow需要删除归档字段对照表流程对象fieldName删除对照表字段名称

removeField主要实现删除公作流流程设置中的结束结点的归档设置中“归档字段对照表”指定字段。

8.publicList<

workflowArchive归档设置对象

List<

归档设置中目标字段集合。

getArchiveFields主要实现获取公作流流程设置中的结束结点的归档设置中目标表字段集合。

9.publicList<

归档设置集合。

selectedArchive主要实现获取公作流流程设置中的结束结点的归档设置中档案门类树集合

10.publicList<

getWorkFlowFields()

归档字段对照表集合

getWorkFlowFields主要实现获取公作流流程设置中的结束结点的归档设置中归档字段对照表集合信息。

档案实现类配置:

打开resources\cn\firstsoft\modules\workflow\applicationContext-workflow-manager.xml修改

找到

将class属性值替换成新增档案接口实现类。

2.3.3通知消息交换

目前通知消息主要有二种情况:

1金蝶协同通知消息交换到其它系统;

2其它系统的通知消息交换到OA系统。

这二次情况开发步骤基本上一致。

所以统一说明。

金蝶协同通知消息交换其它系统:

主要有三个步骤1.通知消息交换类实现2.配置消息类3,消息交换配置。

1)新增消息交换类(目前只支持springbean)类命令规则为*SyncChecker

类必须继承mons.BaseService

在类中新增消息交换方法:

publicvoidcheckMessage()

A.金蝶协同通知消息交换到其它系统:

通过数据交换方式(数据库同步、webservice)将金蝶协同通知消息根据目标系统通知消息业务规则转到目标系统。

B.其它系统的通知消息交换到OA系统:

通过数据交换方式(数据库同步)将源系统通知消息根据转换交换到金蝶协同通知消息数据表(messages)

messages表结构说明如下

FieldName

DataType

Key

M

Remark/DefaultValue

ID

NUMBER(10)

P

X

编号ID

SOURCE_ID

来源:

0未知道的,1消息模块

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

当前位置:首页 > 求职职场 > 笔试

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

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