常州大学本科生毕业设计(论文)
析,包括字段名称、字段类型、是否是主键等几个方面,表下方还对表进行了说明。
第 16 页 共 42 页
常州大学本科生毕业设计(论文)
5 系统设计与实现
系统设计与实现是从4个部门描述的:用户登录模块、科研负责人功能模块、管理员功能模块、普通教师功能模块。每个功能模块具体功能如下所示:
5.1 登录模块
登录模块流程图如下所示:
登录界面 输入用户名、密码 重新登录 是否登录成功 功能界面
图5- 1登录流程图
功能:登录模块是提供用户登录系统的,用户类型包括项目负责人、管理员、普通教师。
第 17 页 共 42 页
常州大学本科生毕业设计(论文)
图5- 2登录模块
说明:用户只需要输入正确的“用户名称”、“登录密码”即可登录系统。 核心代码:
public class LoginAction extends BaseAction{
private static final long serialVersionUID = -6442295321182851334L; //登录
public void login(){
String userName = getRequest().getParameter(\ String password = getRequest().getParameter(\ User user = getLoginService().login(userName, password); if(user==null){
JSONUtil.writeJsonFalse(getResponse()); }else{
getSession().setAttribute(\ JSONUtil.writeJsonTrue(getResponse()); } } /** * 退出 * @return */
public String logout(){
if(getSession().getAttribute(\ return \ }
getSession().removeAttribute(\ return \ } }
5.2 项目负责人功能模块
部门负责人可以实现的功能有项目审批管理、项目结题管理,每个模块的具体功能第 18 页 共 42 页
常州大学本科生毕业设计(论文)
内容如下:
5.2.1 项目审批管理模块
该模块包括待审批列表、已审批列表。
功能:待审批列表展示了科研项目组所有未审批的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,如果在仔细查看了解了之后,确定该项目可以审批通过,项目负责人即可单击审批对该项目进行审批。
图5- 3项目审批管理模块
说明:项目负责人查询需要审批的项目,或者查询所有项目,在需要审批的项目后面单击“审批”来对其进行审批操作。
核心代码:
/**
* 待审批列表 * @return */
public String noAcceptProjectList() throws Exception{
String searchValue = getRequest().getParameter(\ User user = (User)getSession().getAttribute(\ int pageNo = StringUtil.toInt(getRequest().getParameter(\().getParameter(\
Page
}else{
searchValue = new String(searchValue.getBytes(\ projectPage = getAdminService().getPage(pageNo, searchValue, new
第 19 页 共 42 页
常州大学本科生毕业设计(论文)
String[]{\
}
getRequest().setAttribute(\ getRequest().setAttribute(\ return \ }
功能:已审批列表展示了科研项目组所有已审批的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,项目负责人可以通过在查询自己想要查看的项目审批情况。
图5- 4已审批列表
说明:通过输入项目名称、类别查看已审批项目的详细信息,可以点击查看内容或者下载该项目信息。
核心代码:
/**
* 已审批列表 * @return */
public String acceptProjectList() throws Exception{
String searchValue = getRequest().getParameter(\ int pageNo = StringUtil.toInt(getRequest().getParameter(\().getParameter(\
Page
projectPage = getAdminService().getPageProject(pageNo, \ }else{
searchValue = new String(searchValue.getBytes(\ projectPage = getAdminService().getPage(pageNo, searchValue, new String[]{\
}
第 20 页 共 42 页