您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 5系列NC开发指引v11
NC5系列开发培训1说明1.1主题本次实战培训选择开发一个简单的学生管理系统,主要为了体现在NC中如何开发管理系统。学生管理系统大致功能为:功能界面类型说明课程信息维护列表型~档案学生信息管理管理型~档案学生选修课程申请管理型审批流程1.2目标:1)了解NCUAP开发平台2)了解数据模型的设计规范3)了解单据开发的操作步骤4)了解界面的具体技术细节1.3环境要求NC版本:NC56,可以只安装UAP客户化,完整系统路径中严禁包含中文或空格。Eclipse:培训时必须使用我提供的Eclipse3.7,完整系统路径中严禁包含中文或空格。JDK:Win7、Win8用户建议使用JDK1.6,其他1.5、1.6均可。严禁使用低于1.5、高于1.6的JDK/JRE同时建议配置JAVA_HOME到用户的环境变量中,而非系统变量。2数据模型设计2.1数据设计规范NC5系列大部分使用PowerDesigner进行数据模型设计,也有使用元数据设计数据模型。本文暂时介绍PowerDesigner的设计方法。NC中的常用的数据类型大致为:类型数据库类型备注档案主键Char(20)公司主键Char(4)字段名称为pk_corp日期Char(10)2013-08-22日期时间Char(19)2013-08-2213:19:09逻辑型Char(1)Y,N整数Int数字、金额型Decimal(20,4)长度为20,小数占4位文本型Varchar(200)大文本Varchar(4000)短文本Char、Varchar视长度而定在设计数据模型的时候每张表都必须设计ts{Char(19)}、dr{int}、pk_corp{char(4)}三个字段,分别表示记录的最后操作时间、删除标记、公司标记。如果单据需要走审批流或业务流推式、拉式生成单据,则必须加上如下几个字段(如原单据已经考虑到则不需要添加):编码名称类型备注pk_corp公司主键char(4)审批流单据必须字段pk_billtype单据类型varchar(10)vbillstatus单据状态intvapproveid审批人IDchar(20)dapprovedate审批日期char(10)voperatorid操作人idchar(20)doperatdate制单日期char(10)vapprovenote审批批语varchar(300)vbillno单据号varchar(50)pk_busitype业务类型varchar(50)vbusicode业务编码varchar(50)vlastbilltype下游单据类型char(20)vlastbillid下游单据IDchar(20)vlastbillrowid下游行IDchar(20)vsourcebilltype源头单据类型char(20)vsourcebillid源头单据char(20)vsourcebillrowid源头单据行IDchar(20)2.2数据模型课程信息(bd_course)编码名称类型备注pk_courseid课程主键char(20)coursecode课程编码varchar(100)coursename课程名称varchar(100)maxstunum最大选修人数intmemo课程简介varchar(300)classroom教室varchar(100)campus所属校区varchar(100)major限定专业varchar(100)credit学分intcreditcour学时intpk_corp公司char(4)ts时间戳char(19)dr删除标记int学生信息(bd_student)编码名称类型备注pk_student主键char(20)stuno学号varchar(20)stuname姓名varchar(20)age年龄intstuid身份证号varchar(20)birthplace户口所在地varchar(20)address现住址varchar(50)sex性别char(1)telephone联系电话varchar(20)email邮箱varchar(20)birthday出生日期char(10)classname班级名称varchar(50)indate入学时间char(10)isgraduate是否毕业char(1)Y、Noutdate毕业时间char(10)voperatorid创建人char(20)doperatdate创建日期char(10)vmodifierid修改人char(20)dmodifytime修改时间char(19)pk_corppk_corpchar(4)tstschar(19)drdrint学生信息子表~紧急联系人(bd_contact)编码名称类型备注pk_contact主键char(20)pk_student学生主键char(20)name姓名varchar(20)mobile电话varchar(20)phone家庭电话varchar(20)unitname联系人单位varchar(50)address联系人地址varchar(50)relation关系int父亲、母亲、配偶、亲人、朋友、同事、同学tstschar(19)drdrint选修课程申请(st_courseapply)编码名称类型备注pk_courseapply主键char(20)classname所属班级varchar(50)pk_student申请学生char(20)teacher班主任varchar(50)voperatorid申请人char(20)doperatdate申请日期char(10)vmodifierid修改人char(20)dmodifydate修改时间char(19)vapproveid审批人char(20)dapprovedate审批日期char(10)pk_billtype单据类型varchar(10)vbillstatus单据状态intvbillno申请单号varchar(50)pk_corppk_corpchar(4)tstschar(19)drdrint选修课程(st_courseapply_b)编码名称类型备注pk_courseapply_b主键char(20)pk_courseapply申请单主键char(20)pk_course课程IDchar(20)credit学分intmemo备注varchar(300)tstschar(19)drdrint2.3PowerDesigner建模1)使用PowerDesigner新建物理数据模型,点击菜单栏新建按键,弹出如下界面:在界面中选择【PhysicalDataModel】,右边的DBMS选择【MicrosoftSQLServer2005】。强烈建议选择SQLServer2005。后续使用PDM文件生成表结构时会用到。选择完毕后点击确定。2)在Palette中选择表格后在空白区域点击,创建一个表对象,之后点击指针切换回鼠标界面。3)双击table会打开详细设计界面,在界面中填写对象中文名称与表名称4)点击旁边的Columns页签,在该页签下添加详细的字段信息,如当前表有主键,请参考红框处设置表主键。5)以此类推完成其他几张表的设计工作。完成后注意保存模型文件,后缀为.pdm。6)导入数据字典,进入NC,客户化》二次开发工具》数据字典管理,打开后新建一个文件夹,可以命名为:开发培训7)使用工具下面的导入数据字典进行数据导入,详见下图3单据开发向导3.1开发前准备1)启动Eclipse,点击菜单栏Window》Preferenecs》MDEDevelopment,在该界面中选择NC相关环境。2)选择后,DriverList中会默认生成一个design的数据源,在列表中选择一个你配置的数据源,点击Asdesign即可。注意:请保证该列表的数据中3)点击菜单栏新建,弹出窗口选择ModuleProject。4)确定后在在界面中输入Java工程名称及在NC中的模型名称,完成后Finish即可。5)在工程下创建一个文件夹,命名为pdm,将设计好的PDM文件拷贝到该目录。6)双击打开PDM,在弹出的界面点击右上角的小人,解析表结构,检查一下表名有没有正常解析,选择左下解的Oracle选项,然后导出建表脚本。7)导出建表脚本后,需要选择工程右键刷新,可以看到工程下存在ncscript目录,该目录中包含Oracle、sqlserver的建表脚本。使用相应的SQL脚本在数据库中创建表。3.2列表型档案界面——课程信息维护3.2.1生成单据VO1)双击打开PDM文件,解析数据后,选择要生成VO的表,点击右方向箭头,将其移运到主表名称中,在包名称中输入包路径,点击生成VO即可。2)生成完成后,选择工程右键刷新,即可在Public目录下看到刚刚生成的代码。3.2.2创建UI代码1)工程右键选择NCPlugin》单据开发。2)在弹出界面中填写生成代码的包路径、单据类型、界面模型等。包路径最少为4层,单据类型编码为4个字符长度,代码模板选择列表界面。3)完成后点击Next确认要生成的文件,点击Finish完成即可生成代码,生成代码后请右键刷新工程,即可显示刚刚生成的代码。4)生成的文件大致会有三个,功能描述如下:类名称备注ClientCtrl负责配置界面ClientEventHandler负责管理界面的按钮事件ClientUI负责提供统一入口,同时管理界面字段的修改事件5)打开ClientCtrl类文件,列表界面需要在实现一个接口:nc.ui.trade.bill.ISingleController,并修改其生成的方法isSingleDetail()返回值为true。6)设置单据使用的VO对象,修改CilentCtrl的getBillVoName()方法,将返回值改为:returnnewString[]{HYBillVO.class.getName(),CourseVO.class.getName(),CourseVO.class.getName()};nc.vo.trade.pub.HYBillVO为NC产品使用的通用聚合VO对象,这个结构可以理解成:【聚合VO,表头VO,表体VO1,表体VO2】7)为界面添加按钮,实现publicint[]getCardButtonAry()方法,该方法为卡片界面下的按钮数据8)查看一下生成的几个类中的方法,部分有注释,也可以从字面意思上猜出一部分。3.2.3功能注册1)在开发环境中启动NC服务端,右键工程》Runas》NCMiddleware。等控制台打出ServerstartupinXXXXms的时候说明服务器端已经启动成功。现在就可以启动客户端程序了,启动客户端使用:RunAs》NCClient。2)进入到NC集团下。打开功能注册的节点:客户化》二次开发工具》系统管理工具》功能注册。选择左边树形的根目录(功能注册)点击增加,右边的数据参考下图。左边选择刚刚添加的【开发培训】,点击增加,增加一个二级目录【学生管理系统】选择【学生管理系统】增加可执行的功能节点,也就就是刚刚生成的ClientUI类名称全路径。可以在Eclipse中打开类文件,选择类的名称,然后右键选择CopyQualifiedName即可拷贝全路径。3)注意在NC中二次开发出来的功能,为了逃避授权的限制,默认第3位为H,否则部署到客户机会提示超过最大授权数。4)功能注册完成后需要注册一下模块信息、平台信息等,打开客户化》二次开发工具》UAP集成开发工具,点击第一个图标会弹出一个界面,左边树形菜单选择业务组件,点击上方的‘+’按钮,增加模块信息。模块分类信息为刚刚在功能注册添加的一级模块名称。选中子模块添加子模块信息,注意子模块的名称在右边的下拉菜单中选择,下拉菜单中列出的为NCModules下的模块信息,也就是我们创建工程时填写的模块信息。模块信息注册完毕后,还需要在系统类型定义中添加模块的信息。5)注意新增加模块还需要在sm_codetocode表中添加一
本文标题:5系列NC开发指引v11
链接地址:https://www.777doc.com/doc-2930184 .html