科技项目申报系统毕业论文_第1页
科技项目申报系统毕业论文_第2页
科技项目申报系统毕业论文_第3页
科技项目申报系统毕业论文_第4页
科技项目申报系统毕业论文_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、 毕业设计(论文)题 目科技项目申报系统 姓 名学 号专业班级指导教师摘 要面对当前项目申报的行政工作还基本处于手工和半信息自动化的状态,以实现科技项目管理业务能够高效,安全可靠的在网络上运行为目的,为此我选择开发科技项目申报。项目基于j2ee平台,采用mvc设计模式,b/s开发。采用struts, hibernate, spring, ajax,jsp,js等技术,同时系统采用6层架构设计:web层、控制转发层、服务层、dao层、持久化层和数据库层。系统总体分为系统管理、专家用户管理和单位用户管理等三大模块。同时采用扩展性设计的思想,对系统涉及的功能业务设计上体现了通用性和灵活性,在此基础上

2、,实现了用户操作界面的统一设计。通过此系统可以了解到已公开发布的项目,对项目的申报和评审进行控制和管理,实现单位组织结构和工作流程的优化重组,超越时间、空间和部门分隔的限制,建成一个精简、高效、廉洁、公平的运作模式。该系统提高了科技项目申报的管理效率,增加了科技项目的透明度,更好的为科技项目申报单位提供了完善的科技计划项目管理服务。关键词:科技项目申报、ssh框架、mvc、j2ee、项目申报及评审。目 录第一章 项目申报系统概述51.1 引言51.2 运行环境61.3 开发环境6第二章 系统需求分析及系统架构72.1 需求分析72.2 系统架构7第三章 项目申报系统概述83.1 系统总体设计8

3、3.2 功能模块划分9第四章 数据库设计94.1 表设计94.2 关系设计12第五章 需求设计实现135.1 系统管理设计13一、登录13二、登录用户管理15三、专家信息管理17四、单位信息管理19五、项目管理215.2专家用户功能 toc o 1-3 h z u 23一、登录23二. 专家信息更新24三、修改密码26四、项目审批275.3单位用户功能29一、登录29二、单位信息更新30三、修改密码32四、项目申报管理33五、信息查询35第六章 总结与展望38致谢38参考文献40附录41第一章 项目申报系统概述1.1 引言目前,很多科技项目的申报和审批工作是靠人力来完成的,近年来科技项目的数量

4、急剧增加,复杂度也相应增大,人工管理方式已经造成了项目申报审批秩序混乱等问题,尽管出台了一些措施,规范了某些方面的流程,但从目前的情况看,这些问题还没有与得到根本性的解决,而此次设计的科技项目申报系统,充分运用计算机及信息及网络技术,强化科技项目申报审批的管理流程,以求提高管理力,同时以更高的效率进行管理。 近年来,随着我国提高自主创新能力的战略性政策和全面落实科学发展观的提出,信息技术对人类生活各个角落的进一步渗透和对人类活动各个方面的影响也在进一步扩大,大批的科技项目如雨后春笋般不断涌现,信息技术在政府对国家和社会的管理方面所起的作用也越来越大。为此对科技项目的申报、审批工作要求更高。在国

5、家部、省、市各级科技项目建设行政主管部门高度重视科技市场的建设和管理,不断加大申报审批力度,积极整顿审批工作,整个科技项目审批市场取得很大进展。根据分析和调研,科技项目出现有关申报审批问题,重要的原因就是目前科技项目申报审批管理手段落后,信息化水平应用和投入不高,致使公开透明和审批力度不够造成的。根据当前科技项目申报审批的总体管理流程情况来看,在一定程度上还存在多种管理上的不足,如项目申报业务信息化水平不高、对申报结果信息公开曝光力度还不够、操作管理不规范等多种问题。这都为课题开发和设计提供了必要依据。科技项目申报系统能够实现用户在多地域、任意时间段以不同身份来访问信息系统中的数据,将能加强系

6、统安全性和数据共享的能力,为促进科技项目申报审批流程科学化、信息顺利实行提供有力的支持。1.2 运行环境n 操作系统:windows xp / vista/win7/2000n 运行环境:ie6.0以上版本。n 数据库管理系统软件:mysql5.5n 显示器分辨率:最佳效果12808001.3 开发环境n 开发工具:myeclipse 8.5n 开发语言:javawebn 数据库管理系统软件:mysqln 操作系统:windows xp 第二章 系统需求分析及系统架构2.1 需求分析科技项目申报主要为各种项目的申报和审批,进一步规范检查程序,明确岗位职责,通过信息化系统加强各种审批管理体系建设

7、,确保申报审批流程有依可循。同时,建立健全科技项目申报审批管理制度,通过制度化建设,加强规范化管理。强化责任落实,明确工作措施。进一步加快形成全方位的申报审批管理体系。尤其是从各种工程项目的申报过程,从成果等各种环节开始,确保每个环节体系监管到位。本文根据科技项目管理的实际业务背景,在j2ee平台上开发了科技项目申报系统,系统设计涉及了j2ee体系结构和j2ee的核心技术struts、hibernate、spring等关键软件工程的技术理论知识,同时系统采用6层架构设计:web层、控制转发层、服务层、dao层、持久化层和数据库层。同时采用拓展性设计的思想,对系统涉及的功能业务设计上体现了通用性

8、和灵活性,实现有关用户操作界面的统一设计。通过对科技项目申报系统总体的业务分析和了解,其系统业务总体结构如下图所示。2.2 系统架构 整个系统采用6层架构设计:web层、控制转发层、服务层、dao层、持久化层和数据库层。1、web层使用struts 框架,使用javascript完成验证和css实现页面美化。2.控制转发层扩展struts框架的action设计理念,同时使用spring来管理所有的action,使用spring的核心技术ioc可以很好的控制action的生命周期以及各种服务的注入关系。3.服务层沿用代理设计模式来实现,系统的服务层以下随时可以更换,同时通过spring的托管机制

9、可以和dao层无缝耦合起来。4dao层使用抽象工厂模式,同时使用spring 提供的hibernate 模板和 hibernate api 访问持久层,这样可以进一步解耦,在系统查询模块处大量使用正则表达式进行查询操作。5.持久层使用轻量级框架技术hibernate来实现orm处理,同时使用spring容器来管理持久层,通过spring提供的hibernatetemplate和hiberante api可以很好的解决代码的重复冗余问题。第三章 项目申报系统概述3.1 系统总体设计 专家信息更新密码修改项目审批修改密码单位用户更新项目申报信息查询登录用户管理专家用户管理单位用户管理 项目管理 申

10、报系统管理单位用户功能专家用户功能3.2 功能模块划分第四章 数据库设计4.1 表设计8张表 用户表结构(user)序号列名pkfk属性长度备注1uidyinteger11该表的主键,唯一标示,自动增长2gidyinteger11用户权限表的id3usernamevarchar15用户名4passwordvarchar15用户密码管理员表结构(useradmin)序号列名pkfk属性长度备注1aidyinteger11该表的主键,唯一标示,自动增长2uidyinteger11用户表的id3anamevarchar15管理员名称4deptnamevarchar15所属单位名称项目类别_单位中间表

11、结构(category_unit)序号列名pkfk属性长度备注1categoryidyinteger11项目标识2unitidyinteger20单位标识项目类别表结构(project_category)序号列名pkfk属性长度备注1categoryidyinteger11该表的主键,唯一标示,自动增长2expertidyinteger11专家信息表id3categorynamevarchar50项目名称4rep_start_timedate单位申报开始时间5rep_stop_timedate单位申报结束时间6exp_start_timedate专家审批开始时间7exp_stop_timeda

12、te专家审批结束时间专家表结构(expert)序号列名pkfk属性长度备注1expertidyinteger11该表的主键,唯一标示,自动增长2uidyinteger11用户表的id3namevarchar20专家名称4nationvarchar20名词5sexvarchar2性别6unitnamevarchar50所在单位7titlevarchar50职称8telvarchar15电话9introductiontext研究介绍10temp1varchar100预留字段111temp2varchar100预留字段212temp3varchar100预留字段313temp4varchar100预

13、留字段4单位用户表结构(unit)序号列名pkfk属性长度备注1unitidyinteger11该表的主键,唯一标示,自动增长2uidyinteger20用户组名称3unitnamevarchar50单位名称4addressvarchar50单位地址5corporationvarchar20单位法人6investmentvarchar10单位资产7typevarchar20单位性质8telvarchar15单位电话9emailvarchar30单位邮箱10faxvarchar15单位传真11zipcodevarchar6单位邮编12introductiontext单位介绍13temp1varc

14、har100预留字段114temp2varchar100预留字段215temp3varchar100预留字段316temp4varchar100预留字段4项目表结构(project)序号列名pkfk属性长度备注1project_idyinteger11该表的主键,唯一标示,自动增长2categoryidyinteger11项目id,3unitidyinteger11单位id4applicantvarchar15申请人5gradevarchar20职称6educationvarchar20学历7fill_datedate填报时间8statusvarchar1000现状9futurevarchar

15、1000应用前景10analysisvarchar500重点难点分析11wayvarchar500研究方法12resultvarchar500预期研究成果13projectnamevarchar100申请项目名称14capitalvarchar20申请资金15expert_opinionvarchar500专家评审意见16scoredecimal11专家评分17ispassinteger14是否通过审批18temp1varchar100预留字段119temp2varchar100预留字段220temp3varchar100预留字段321temp4varchar100预留字段44.2 关系设计

16、第五章 需求设计实现5.1 系统管理设计 系统管理是给系统管理人员使用的,主要包括以下功能模块:登录,登录用户管理,专家信息管理,单位信息管理,和项目管理。一、登录1用例描述:(1)角色:注册用户(管理员)(2)前提条件:无(3)主事件流1.用户登录该网站的登陆页面(e1)2.显示登录页面信息如:用户名,密码3.输入用户名和密码点击登录按钮(e2)4.验证登录信息 5.加载用户所拥有的权限信息,并显示在页面(4)异常事件流e1: 键入非法的标识符,指明错误。e2: 用户账号被管理员屏蔽,无法登陆。2、用户界面图:用户在首页登陆输入正确的用户名和密码后进入系统管理界面如下图二、登录用户管理1、用

17、例描述:(1)角色:管理员(2)前提条件:用户必须完成登录的用例(3)主事件流:1.当用户登录该网站(e1),点击登录用户管理2.进入用户列表页面3.设置每个用户的删除(s1)和添加新用户(s2)(4)分支事件流s1: 删除用户。3.1.1点击用户信息行的删除链接3.1.2返回到登录用户管理界面s2:添加用户3.2.1点击添加用户链接3.2.2跳转到添加用户页面3.2.3输入用户名,选择权限组点击提交按钮添加成功,跳转到登录用户管理界面(5)异常事件流e1: 用户账号被管理员屏蔽或删除,无法设置,提示重新激活账号2、用户界面图:登录进入该管理员管理界面 点击登录用户管理点击登录用户管理链接进入

18、登录用户管理界面.,该模块可以删除和添加用户如下图添加用户:三、专家信息管理1、用例描述:(1)角色:管理员(2)前提条件:用户必须完成登录的用例(3)主事件流:1.当用户登录该网站(e1),点击专家信息管理2.进入专家信息列表页面3.在专家用户列表里,点击修改专家用户(s1)或删除专家用户(s2)(4)分支事件流s1: 修改用户3.1.1选中用户点击修改3.1.2修改用户3.1.3点击修改3.1.4返回专家管理界面s2: 删除用户3.2.1选中用户点击添加3.2.2删除用户3.2.3返回专家管理界面(5)异常事件流e1: 用户账号被管理员屏蔽或删除,无法设置,提示重新激活账号2、用户界面图:

19、登录进入专家管理界面如图:点击修改进入如下页面:点击下面一个修改按钮时,专家用户信息会被更新,返回到专家管理界面。点击下面一个删除按钮时,专家用户会从列表里被删除。返回到专家管理界面。四、单位信息管理1、用例描述:(1) 角色:管理员(2) 前提条件:用户必须完成登录的用例(3) 主事件流1.当用户登录该网站(e1),点击单位信息管理2.进入单位信息管理界面3.点击、修改单位信息(s1)和删除单位信息(s2)(4) 分支事件流s1:点击修改按钮3.1.1:点击某条用户信息的修改按钮3.1.2进入修改用户页面3.1.3修改用户资料(e1)点击修改按钮3.1.4更新用户信息3.1.5返回单位管理界

20、面s2点击删除按钮3.2.1点击 某用户的删除按钮3.2.2删除该用户3.2.3返回单位管理界面(5) 异常事件流e1: 键入非法的标识符,指明错误。2、用户界面图:点击链接用户信息管理, 进入该管理界面显示全部用户如下图修改用户: 点击修改点击下面一个修改按钮时,单位用户信息会被更新,返回到单位用户管理界面。点击下面一个删除按钮时,单位用户会从列表里被删除。返回到单位用户管理界面。五、项目管理1、用例描述:(1) 角色:管理员(2) 前提条件:用户必须完成登录的用例(3) 主事件流1.当用户登录该网站,点击项目管理2.进入项目管理界面3.点击、添加项目类别(s1)修改项目信息(s2)和删除单

21、位信息(s3)(4) 分支事件流s1:点击新增加类别3.1.1:点击类别列表下的新增加类别3.1.2进入新建项目类别页面3.1.3填写项目类别资料(e1),点击提交3.1.4返回项目管理页面s2:点击修改按钮3.2.1:点击某条用户信息的修改按钮3.2.2进入修改项目页面3.2.3修改用户资料(e1)点击修改按钮3.2.4更新项目类别信息3.2.5返回项目管理界面s3点击删除按钮3.3.1点击某用户的删除按钮3.3.2删除该项目类别3.3.3返回项目管理界面(5) 异常事件流e1: 键入非法的标识符,指明错误。2、用户界面图:登录进入管理员管理界面 点击链接项目管理, 进入该模块显示项目类别列

22、表点击新增加类别修改用户: 点击修改点击下面一个修改按钮时,项目类别名称信息会被更新,返回到项目管理界面。点击下面一个删除按钮时,项目类别会从列表里被删除。返回到项目管理界面。5.2专家用户功能主要包括以下功能模块:用户登录;专家信息更新,修改密码,项目审批等。一、登录1用例描述:(1)角色:注册用户(专家用户)(2)前提条件:无(3)主事件流1.用户登录该网站的登陆页面(e1)2.显示登录页面信息如:用户名,密码3.输入用户名和密码点击登录按钮(e2)4.验证登录信息 5.加载用户所拥有的权限信息,并显示在页面(4)异常事件流e1: 键入非法的标识符,指明错误。e2: 用户账号被管理员屏蔽,

23、无法登陆。2、用户界面图:输入用户名和密码, 进入专家用户管理界面当用户进入系统时,应该看到专家的权限范围, 专家信息、修改密码、项目管理。二. 专家信息更新1、用例描述:(1)角色:专家(2)前提条件:用户必须完成登录的用例(3)主事件流:1.用专家用户登录进入系统2.点击专家信息3.进入修改信息页面4.填写名称、单位名称、国籍、职称、等新的信息内容(e1)5.点击修改按钮修改信息,返回到专家管理页面 (5)异常事件流e1: 键入非法的标识符或者格式不对,指明错误。2、用户界面图:登录进入专家管理界面 如图:点击专家信息进入信息修改页面如图:点击下面一个修改按钮时,专家用户信息会被更新,返回

24、到修改成功提示页面。三、修改密码1、用例描述:(1)角色:专家(2)前提条件:用户必须完成登录的用例(3)主事件流:1.用专家用户登录进入系统2.点击修改密码3.进入修改信息页面4.填写新的信息内容(e1)5.点击修改按钮修改信息,返回到专家管理页面 (5)异常事件流e1: 键入非法的标识符或者格式不对,指明错误。2、用户界面图:登录进入专家管理界面 点击修改密码 如图:点击 确认修改按钮 返回修改成功提示页面四、项目审批1、用例描述:(1)角色:专家用户(2)前提条件:用户必须完成登录的用例(3)主事件流1.当用户登录该网站,点击项目管理2.进入项目管理类别列表界面3.点击项目类别下的项目,

25、审批项目。4.填写审批意见(e1),点击提交按钮,审批项目返回到专家管理界面(4) 异常事件流e1: 键入非法的标识符,指明错误。2、用户界面图:登录进入管理员管理界面点击链接项目管理, 进入该模块显示项目类别列表点击项目,审批项目 如下图:点击提交按钮 返回专家管理界面。5.3单位用户功能主要包括以下功能模块:用户登录;单位信息更新,修改密码,项目申报,信息查询等。一、登录1用例描述:(1)角色:注册用户(用户和管理员)(2)前提条件:无(3)主事件流1.用户登录该网站的登陆页面(e1)2.显示登录页面信息如:用户名,密码3.输入用户名和密码点击登录按钮(e2)4.验证登录信息 5.加载用户

26、所拥有的权限信息,并显示在页面(4)异常事件流e1: 键入非法的标识符,指明错误。e2: 用户账号被管理员屏蔽,无法登陆。2、用户界面图:输入用户名和密码, 进入单位用户管理界面当用户进入系统时,应该看到专家的权限范围, 专家信息、修改密码、项目管理。二、单位信息更新1、用例描述:(1)角色:单位用户(2)前提条件:用户必须完成登录的用例(3)主事件流:1.用专家用户登录进入系统2.点击单位信息3.进入修改信息页面4.填写新的信息内容(e1)5点击修改按钮修改信息,返回到单位管理页面 (5)异常事件流e1: 键入非法的标识符或者格式不对,指明错误。2、用户界面图:登录进入单位管理界面 如下图:

27、点击单位信息进入信息修改页面如图:点击修改,返回到提示用户修改成功页面三、修改密码1、用例描述:(1)角色:单位用户(2)前提条件:用户必须完成登录的用例(3)主事件流:1.用单位用户登录进入系统2.点击修改密码3.进入修改信息页面4.填写新的信息内容(e1)5.点击修改按钮修改信息,返回到单位管理页面 (4)异常事件流e1: 键入非法的标识符或者格式不对,指明错误。2、用户界面图:登录进入专家管理界面 点击修改密码 如图:点击确认修改按钮 修改单位用户密码,返回到提示密码修改成功页面四、项目申报管理1、用例描述:(1) 角色:单位用户(2)前提条件:用户必须完成登录的用例(3)主事件流1.当

28、用户登录该网站,点击项目申报管理2. 进入项目管理类别列表界面3.点击项目类别下的申报链接,跳转申报项目页面。4.填写审批项目的信息,点击申报按钮,审批项目返回到单位管理界面(e1)(4) 异常事件流e1: 键入非法的标识符,指明错误。2、用户界面图:登录进入管理员管理界面点击链接项目管理, 显示项目类别列表点击申报链接,审批项目 如下图:点击申报按钮 返回申报成功提示页面五、信息查询1、用例描述:(1) 角色:单位(2) 前提条件:用户必须完成登录的用例(3) 主事件流1.当用户登录该网站,点击信息查询2.进入信息查询界面3.输入项目内容搜索信息(s1)或点击高级授索(s2)(4) 分支事件

29、流s1:点击授索3.1.1:查询出项目类表3.1.2点击分项目下的项目名称 查看项目详细情况(si)点击没有审批修改项目信息(sii)s2:高级搜索3.2.1:点击高级搜索按钮3.2.2进入高级搜索页面3.2.3填写搜索选项 点击高级查询按钮3.1.4点击分项目下的项目名称查看项目详细情况(si)点击没有审批修改项目信息(sii)si点击分项目下的项目名称链接.1点击 某用户的 删除 按钮.2删除该项目类别.2返回单位用户管理页面sii点击操作下的没有审批链接.1跳转到修改项目信息页面.2修改项目信息项,点击修改按钮(e1)

30、.3返回单位用户管理页面(5) 异常事件流e1: 键入非法的标识符,指明错误。2、用户界面图: 登录进入单位用户管理界面,点击信息查询链接, 进入该模块点击查询按钮 显示项目列表点击分项目下的项目名称链接 显示项目详细信息修改项目: 点击没有审批第六章 总结与展望 本文研究了科技项目申报系统的发展及现状,对系统功能需求进行认真的分析。 在需求分析的基础上论述了系统的详细设计,首先,论述了系统的设计原则,设计了整个系统的架构。整个系统是分布式j2ee架构,架构的实现是采用mvc模式。接着对系统的详细设计进行了论述,然后对dao进行了简要的论述。在数据库的设计过程借助case工具po

31、wer designer进行设计;最后论述了系统的各个部分的设计及实现图。最后论述了系统的实现。系统的实现给出了科技项目申报的主要界面和实现代码。目前此科技项目申报系统进行测试运行,在以下方面产生了显著效果:1、系统具有良好的用户界面,美观的页面,操作直观,按照科技项目申报系统的工作流程进行程序操作,简单易行,为用户能够熟练的运用系统提供了方便。2、减轻了申报审批人员工作量,提高了工作效率,利用本系统,实现了在科技项目管理过程中办理申报请求、填写申报信息、申报信息审批等一系列的工作。3、具备较强的通用性和拓展能力。4、系统具有较强的安全性,整个系统只有授权用户通过了用户名和口令的验证才可以使用

32、本系统。论文研究的项目在信息化过程中起着重要作用,但有一些地方做的还不够,还有待于将来的进一步完善,界面有待于进一步美化。致谢时光如水,岁月如梭,转眼间,大学三年已接近尾声。首先,我要感谢我们伟大的母校,是它为我们搭建了一个开放。共享的学习平台,学校老师们渊博的学识和对科学研究事业执着的追求,影响着我的整个求学过程,让我在求学期间有所学、有所悟并有所用!然后,我想对我所有大学期间的任课老师、导师,说句:谢谢。谢谢您们对我们的谆谆教诲,谢谢您们对我们的关心照顾,不论是生活还是学习,老师都会对我们耐心解答。正是由于他们的传道、授业、解惑,让我学到了专业知识,并从他们身上学到了如何求知治学、如何为人

33、处事。同时我也要感谢我的同学给予我的帮助,他们为我撰写论文提供了不少建议和帮助。带着这份满意的毕业设计,可以说倾尽了我大学三年所学的知识,以及在这几个月毕业设计中,大学所未学到的,我在图书馆里面自学的知识。自我感觉自己的提升非常大,而能够顺利完成这一篇毕业设计,和老师的指导老师分不开的。感谢在大学三年教予我知识的各位老师,是你们的认真教导才使我成长到今天,成为一个合格的毕业生。今后走入社会,我必然不会忘记你们教予我的知识,以及做人的道理。最后,祝愿母校人才辈出,桃李芬芳;祝愿老师身体健康,合家幸福;祝愿学弟学妹,快乐学习,早日成才。参考文献1 耿祥义 张跃平编著jsp使用教程北京:清华大学出版

34、社,20042 飞思科技研发中心编著jsp应用开发详解地址:电子工业出版社出版社,2002.1(年份)3陈臣,王斌,孙琳,王鸽等编著. struts2. 北京:清华大学出版社,20114赵凤芝,邢煜,王茱,张宇等编著. java程序设计案例教程. 北京:清华大学出版社,2011附录(1)用户登录部分action代码如下:public string execute() throws exception / 系统生成的验证码string myrnd = (string) session.get(myrnd);system.out.println(服务器传来的验证码=+myrnd);if (!cod

35、eimg.equals(myrnd)this.addactionerror(验证码错误!);return login_error; else user u = this.getadminservice().login(user.getusername(),user.getpassword();if (u != null) if (管理员).equals(u.getusergroup().getgname() / 根据userid查询管理员信息admin admin = this.getadminservice().findadminbyuserid(u.getuid();session.put

36、(admin, admin);return login_adminsuccess; else if (专家).equals(u.getusergroup().getgname() expert expert = this.getadminservice().findexpertbyuserid(u.getuid();session.put(expert, expert);return login_expertsuccess; else/ if (单位).equals(user.getusergroup().getgname() unit unit = this.getadminservice(

37、).findunitbyuserid(u.getuid();session.put(unit, unit);return login_unitsuccess;else this.addactionerror(登录失败,检查用户名或密码);return login_error;(2)专家管理模块service层部分代码如下:public class expertserviceimpl implements expertservice private userdao userdao; private expertdao expertdao;private projectdao projectdao

38、;public integer addexpertopinionbyprojectid(integer projectid,string expertopinion, double score) / 专家添加意见integer id=this.expertdao.addexpertopinionbyprojectid(projectid, expertopinion, score);return id;public void editexpertbyexpertid(expert expert) / 根据专家id修改专家信息this.expertdao.editexpertbyexpertid

39、(expert);public void edituserpasswordbyuserid(integer uid, string password) / 修改密码this.userdao.edituserpasswordbyuserid(uid, password);public expert findexpertbyexpertid(integer expertid) / 根据专家id查询专家信息expert expert=this.expertdao.findexpertbyexpertid(expertid);return expert;public arraylist findpro

40、jectbycategoryid(integer categoryid) /根据类别id查询类别arraylist pros=jectdao.findprojectbycategoryid(categoryid);return pros;public project findprojectbyprojectid(integer projectid) / 根据项目id查询项目project project=jectdao.findprojectbyprojectid(projectid);return project;public arraylist findpr

41、ojectcategorybyexpertid(integer expertid) /根据专家的id显示类别列表arraylist pcs=this.expertdao.findprojectcategorybyexpertid(expertid);return pcs;public boolean isexistexpertname(string name) / 验证专家名称是否已经存在boolean flag=this.expertdao.isexistexpertname(name);return flag;(3)管理员模块dao层部分代码如下:public usergroup find

42、usergroupbygid(integer gid) / 根据gid查询用户组hibernatetemplate template = this.gethibernatetemplate();usergroup ug = template.get(usergroup.class, gid);return ug;public integer addprojectcategory(projectcategory projectcategory) / 管理员实现添加一个项目类别hibernatetemplate template = this.gethibernatetemplate();inte

43、ger id = (integer) template.save(projectcategory);return id;public integer adduser(user user) / 管理员添加一个userhibernatetemplate template = this.gethibernatetemplate();integer id = (integer) template.save(user);return id;public void deleteexpertbyexpertid(integer expertid) / 根据专家id删除一个专家hibernatetemplat

44、e template = this.gethibernatetemplate();/ 1=先将专家id在project_category表中的该专家id的清空expert expert = template.get(expert.class, expertid);set pcs = expert.getprojectcategories();/ 遍历set集合iterator it = pcs.iterator();while (it.hasnext() projectcategory projectcategory = it.next();projectcategory.setexpert(

45、null);/ 2=再将专家里的projectcategories置空/expert.setprojectcategories(null);/ 3=可以删除专家了template.delete(expert);public void deleteprojectcategorybycategoryid(integer categoryid) / 根据类别id删除类别hibernatetemplate template = this.gethibernatetemplate();projectcategory projectcategory = template.get(projectcatego

46、ry.class,categoryid);/ 1=先将category_unit表中的所有该类别id的数据清空set cus = projectcategory.getcategoryunits();iterator it1 = cus.iterator();while (it1.hasnext() categoryunit cu = it1.next();cu.setprojectcategory(null);/ 3=可以删除该类别template.delete(projectcategory);public void deleteunitbyunitid(integer unitid) /

47、 根据单位id删除单位hibernatetemplate template = this.gethibernatetemplate();unit unit = template.get(unit.class, unitid);/ 1=先将project表中包含该单位的信息置为空set pros = unit.getprojects(); if(pros!=null) iterator it1 = pros.iterator();while (it1.hasnext() project project = it1.next();project.setunit(null); / 2=再将categ

48、ory_unit表中该单位信息置为空set cus = unit.getcategoryunits();iterator it2 = cus.iterator();while (it2.hasnext() categoryunit cu = it2.next();cu.setunit(null);/3=可以删除该单位template.delete(unit);public void deleteuserbyuserid(integer uid) / 根据用户id删除用户hibernatetemplate template = this.gethibernatetemplate();user user = template.get(user.class, uid);/ 判断该用户id 的gid属于管理员?单位?专家if (user.getusergroup().getgid() = 1) system.out.println(这是管理员 不能删除 );/ template.delete(u

温馨提示

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

评论

0/150

提交评论