《HR自助服务单据开发快速入门.docx》由会员分享,可在线阅读,更多相关《HR自助服务单据开发快速入门.docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、HR自助服务单据开发快速入门 HR 自助服务单据开发快速入门单据开发快速入门 用友软件股份北京分公司客户开发部0 2020 年 年 3 3 月目 录 1、NC 自助服务单据开发 . 31.1.总体概述 . 31.2.开发环境搭建 . 31.2.1.配置 Java 运行时环境 . 31.2.2.配置 JAVA_HOME 环境变量 . 31.2.3.下载并解开 Dorado5 开发包 . 41.2.4.安装 Dorado 5 . 41.2.5.Eclipse 开发环境搭建 . 61.2.6.搭建项目工程. 61.3.自助单据开发流程 . 71.3.1.建立数据模型. 71.3.2.导入数据字典.
2、81.3.3.单据模板初始化. 91.3.4.导出 Java 源代码 . 101.3.5.建立视图层 ViewModel。. 111.3.6.生成 JSP 页面 . 131.3.7.建立后台操纵类. 151.3.8.功能节点注册. 171.3.9.注册功能按钮. 201.3.10.按钮处理事务的定义 . 231.3.11.单据属性设置 . 24附录:. 27轻量级参照实现方式:. 27审批流配置留意点. 27轻量级查询模板实现方式. 29按钮动作前后台交互例如:. 31增加按钮动作处理. 311、 、 NC 自助服务 单据开发 1.1. 总体概述 NC 自助服务模块运用的是 BSTEK 公司推
3、出的 Dorado 5 呈现中间件技术。通过将 Dorado和 NC-UAP 平台的整合,能够在自助服务中引用 NC-UAP 平台中的单据模板 ,提高了在自助下开发单据的效率。Dorado 技术具体介绍请见 BSTEK 公司官网:1.2. 开发环境搭建 1.2.1. 配置 Java 运行 时 环境 通过 Sun 官网猎取 JDK 开发包,下载的开发包解压缩到本地非中文名称的名目中;也能够直截了当运用 NCHOME 中自带的 JDK 开发包,如本机中 NCHOME 的 JDK 开发包D:nchome56nchomeufjdk 1.2.2. 配置 JAVA_HOME 环境变量 关于环境变量的配置就
4、不用多说了,本机的配置如下:1.2.3. 下载并解开 Dorado5 开发包 通过如下的地址猎取 dorado5 的开发包:将下载的 zip 文件解压缩到本地非中文名称的名目中,如本机的 E:dorado5.21.2.4. 安装 Dorado 5 在确保系统差不多配置过 JAVA_HOME 的前提下,并双击运行 dorado 5 开发包中的setup.bat 文件,该文件进行 dorado5 开发包的文件初始化工作。特地声明:绿色食品,setup.bat 的全部操作差不多上针对开发包所在的名目作初始化工作,可不能对该名目之外的内容进行修改。 第一会打开一个吩咐操纵台,要你确认是否执行初始化的工
5、作: 按随意键连续初始化工作:这时候系统会在桌面上自动的生成一个 dordo5 studio 的快捷启动图表,并在操纵台中显现让你选择是否直截了当启动 dorado 的集成开发环境,也的确是 dorado5 的 studio。以下统称 studio。假如选择 y 并按回车键确认打开 studio,能够看到以下图: 1.2.5. Eclipse 开发环境搭建 Eclipse开发环境的搭建在此就不做介绍了,要紧的环境有 NC56、eclipse开发环境、nc56 插件。1.2.6. 搭建项目工程 关于自助服务的开发,须要同时用到 Eclipse 和 Dorado 工程,关于项目工程须要将Eclip
6、se 工程名目和 Dorado 工程名目整合到一块,以便对在两个开发工具对同一工程进行开发。本例中运用的开发工程为 NC-HR 自助模块的源开发工程 HR_WEB5.6_dev。在 Eclipse 中导入 HR_WEB5.6_dev 工程,如下:在 Dorado 集成开发平台中导入 HR_WEB5.6_dev 工程如下:1.3. 自助单据开发流程 在自助服务下开发的 JSP 界面,可将 NC-UAP 平台下的单据整合到自助服务中,这是通过将单据模板信息解析成 Dorado 控件来实现的,由因此依照单据模板信息表中的数据进行解析的,关于用元数据制作的单据模板,在自助服务界面目前还没有做到特地好的
7、兼容,解析过程中还没有增加对元数据的解析,故目前自助服务只能够对用数据字典制作的单据模板进行正确的解析,下面介绍在 NC56 中,如何用数据字典在自助服务下开发轻量级单据界面。1.3.1. 建立数据模型 依照详细的业务在 PowerDesigner 中建立对应的业务模型,本例中介绍的为休假准备的业务。 1.3.2. 导入数据字典 详细的数据字典导入在→→→节点来实现导入。1.3.3. 单据模板初始化 在完成数据字典导入之后,就能够在→→→ 节点通过数据字典制作相应的单据模板,详细的与 NC5.2 初始化单据模板一样。本例初始化完的单据
8、模板卡片界面显示如下:1.3.4. 导出 Java 源代码 通过 UAP 集成开发平台导出 Java 源代码。在通过数据源生成 VO 代码之前,肯定要保证在数据库中将数据模型对应的表结构建立,否那么在选择数据库表处看不到单据对应的数据库表,详细的建表 SQL 脚本能够在建模时,通过 PowerDesigner 生成。 选择完对应的数据库表,设置对应的 VO 信息以及对应到文件导出名目%当前 eclipse工程% / src / public 包后,点击确定按钮,即可完成对 VO 的导出。1.3.5. 建立视图层 ViewModel 。ViewModel 是一种用于封装界面逻辑和操作逻辑的对象。
9、即视图中包含哪些数据、这些数据以什么方式呈现、视图中包含哪些控件、这些控件会激发什么操作等等。我们能够把ViewModel 看作是 Dataset 和各种控件的容器。ViewModel 一样不用于定义各种控件最终在显示的布局,控件布局应通过其它方式进行定义。在通常情形下,我们利用 JSP 来完成对 ViewModel 中定义的控件进行布局。在 Dorado 集成开发平台中打开项目工程,在对应的名目下,右键鼠标,如下: 选择新建Module,进入 ViewModel 新建向导。选择通用的视图模型对象Common ViewModel即可,点击OK,输入视图模型对象名称,即会在相应的名目下生成一个视
10、图模型对象的 XML 配置文件,配置文件名称为输入对象名称.view.xml,如本例在新建视图模型对象的时候输入的名称为 LeavePlanOne,那么生成的视图模型对象的名称为:LeavePlanOne.view.xml。 1.3.6. 生成 JSP 页面 关于自助 JSP 页面是通过 ViewModel 生成的,详细生成 JSP 的操作如以下图所示:选择相应的路径以储存生成的 JSP 文件。再生成 JSP 页面之后,须要对生成的 JSP 页面先进行简洁的布局配置,假如须要配置其他在 ViewModel 中定义的控件显示,在定义完控件后再做具体的页面布局。关于运用 NC-UAP平台的单据模板
11、时,对应治理型界面的 JSP 界面配置如下:lt;% page contentType=text/html; charset=UTF-8 %gt; lt;% taglib uri= prefix=d %gt; lt;! 引用用友在自助下自定义的标签库-gt; lt;% taglib uri= prefix=u %gt; lt;htmlgt; lt;headgt; lt;titlegt;lt;/titlegt; lt;/headgt; lt;bodygt; lt;!-config 对应的为ViewModel 配置文件 -gt; lt;d:View config=nc.bs.hrss.test.l
12、eaveplan.LeavePlanOnegt; lt;body class=NC-BODY-NSCROLL-NPADgt;lt;table cellpadding=0 cellspacing=0 width=100% height=100%gt; lt;trgt;lt;tdgt; lt;u:MenuTag displayType=2 /gt;lt;/tdgt; lt;/trgt;lt;trgt;lt;td height=100% class=NC-PANEL-NSCROLLgt; lt;!- 定义单据模板控件显示位置,本例单据模板为治理型,其他类型的标签详见ufida.tld 标签描述文件-
13、gt; lt;u:ManageBill listPosition=100%/gt;lt;/tdgt; lt;/trgt;lt;/tablegt; lt;/bodygt; lt;/d:Viewgt; lt;/bodygt; lt;/htmlgt; 1.3.7. 建立后台操纵类 新建视图模型后台操纵类,由于本例中开发的是带审批流的自助界面,详细的后台操纵类应继承 nc.bs.hrss.pf.PFViewModel。关于后台操纵类的差不多配置如下:package nc.bs.hrss.test.leaveplan; import nc.bs.hrss.pf.PFViewModel; import n
14、c.vo.hr.tools.pub.HRAggVO; import nc.vo.hrss.test.leaveplan.AggLeaveplanHVO; import nc.vo.pub.AggregatedValueObject; import nc.vo.pub.SuperVO; public class LeavePlanOne extends PFViewModel /* * 返回单据 VO */Overridepublic AggregatedValueObject toBillAggVO() throws Exception / TODO Auto-generated method
15、 stub HRAggVO aggVO = this.toAggVO(); AggLeaveplanHVO vo = new AggLeaveplanHVO(); vo.setParentVO(aggVO.getParentVO(); vo.setChildrenVO(aggVO.getChildrenVO(); return vo; /* * 返回对应的单据模板的编码 */Overridepublic String getBillType() / TODO Auto-generated method stub return LP01; Overridepublic String getBus
16、iType() / TODO Auto-generated method stub return null; /* * 用于设置表头对应的 VO 对象 */Overridepublic Classlt;? extends SuperVOgt; getHeadClass() / TODO Auto-generated method stub return nc.vo.hrss.test.leaveplan.LeaveplanHVO.class; /* * 用于设置表体对应的 VO 对象 */Override protected void initBodyTabCodes() / TODO Aut
17、o-generated method stub super.addBodyTabCodeClass(tbm_leaveplan_b, nc.vo.hrss.test.leaveplan.LeaveplanBVO.class); 视图模型后台操纵类定义完成后,须要将后台操纵类与对应的视图模型进行关联,通过设置 ViewModel 的 clazz 属性来实现关联。1.3.8. 功能节点注册 通过 NC 业务系统节点注册功能节点,在功能注册时,须要留意几点。l 功能性质:肯定要选择轻量级 Web 节点。l 对应文件名或操纵名:为对应的 JSP 文件。 对新增的自助节点安排权限,安排时肯定要将该节点安
18、排给相应的自助角色才行,产品自带的自助角色有四种,在本例中安排给自助角色-职员那个角色。提示:假如在权限安排时,在相应的节点树位置看不到刚刚注册的功能节点,需到节点对节点树的结构进行调整。到那个地点自助模块开发单据界面的大致框架就搭建起来了,现在在开发环境下重启NC 中间件,登录自助界面就能够看到刚刚在自助节点开发的轻量级 Web 节点了。重要提示:关于在第 1.3.6 步中生成的 JSP 文件储存在 Eclipse 工程项目中,现在登录自助模块,打开刚刚注册的自助节点时,是无法加载到对应的 JSP 页面的,须要将该 JSP页面根据相应的名目结构拷贝到 NCHOME 的 nchomehotwebshrss 名目下,Web 容器在加载JSP 页面时,才能够将该 JSP 页.