第一篇:请假系统文档
《开源框架技术》
案例报告书
题 目 学生姓名 学 号 指导教师 系 部 专业班级 时 间
在线请假系统
1.需求分析
现在Internet上随处可见网上商城、网上等网站,让消费者足不出户就可购买到想到的商品,不仅方便了消费者,也让拥有电子商务网站的企业能及时向广大客户推销产品、构建企业形象、赢得利润。电子商务系统与传统的面对面的营销方式相比,具有不可比拟的优势,如销售成本与物流大大降低、信息传输及时等。为适应电子商务发展的要求,决定建设一个网上书店系统,实现在网上销售书藉。
1.1系统用户
使用在线请假系统的用户主要有两种:一种是学生,可以通过系统请假、修改未审批的请假单、查看已审批的请假单并打印请假单信息、查看请假记录;另一种是老师,可以通过请假系统审批学生请假、查看所有学生的请假记录。
1.2系统功能需求
用户即学生或老师登录在线请假系统之后,可以进行相应的操作。学生可以通过系统请假、修改未审批的请假单、查看已审批的请假单并打印请假单信息、查看请假记录。老师可以通过请假系统审批学生请假、查看所有学生的请假记录。
2.概要设计
2.1用户登录
用户登录时,系统会对用户的身份进行验证,以用户名和密码以及权限值为标准验证,当用户名和密码都匹配且权限值为0时,登录到老师登录主界面,当用户名和密码都匹配且权限值为1时,登录到学生登录主界面,2.2学生操作管理
当学生登录成功之后,将可以请假。首先,学生按照给出的格式填写好申请。然后系统会根据审批流程递交给老师惊醒审批,申请被存入数据库中,默认状态为“未审批”。此外,学生还可以在老师未审批之前对请假单进行修改。老师审批完请假但之后,学生可以查看请假单,并且打印请假单。2.3老师操作管理
对应着学生请假请求,老师应该完成对学生请假的审批,审批结果可以使同意或不同意。在审批时,是通过修改请假单的状态,由“未审批”修改为“同意”或“不同意”来完成的。此外,作为管理学生的人员,老师还可以查看学生的请假记录。
3.界面展示与知识点解析
登录页面:登录页面通过用户名、密码、权限的匹配来控制,当权限power值为1时,为老师登录;为1时,为学生登录。
当用户输入用户名密码之后,会从数据库里匹配,寻找用户名和密码一致的用户,之后再通过该用户的power值来判断用户的身份。
部分核心代码:
Action
UserDao userdao=new UserDao(con);User user=userdao.selectByUserNamePassWord(username, password);if(user.getUsername().equals(username)&&user.getPassword().equals(password)&&user.getPower().equals(“1”)){ return “studentsuccess”;}elseif(user.getUsername().equals(username)&&user.getPassword().equals(password)&&user.getPower().equals(“0”)){
return “teachersuccess”;}else{ return “fail”;} Dao:
public User selectByUserNamePassWord(String username,String password)throws Exception{ Connection con = DBConn.getConnection();String sql=“select * from userinfo where username=? and
password=?”;
pstmt = con.prepareStatement(sql);pstmt.setString(1, username);pstmt.setString(2, password);rs= pstmt.executeQuery();User user=new User();if(rs.next()){
}
} DBConn.closeAll(pstmt, rs);return user;user.setUsername(rs.getString(“username”).trim());user.setPassword(rs.getString(“password”).trim());user.setClassmate(rs.getString(“classmate”).trim());user.setPower(rs.getString(“power”).trim());
学生登录主页面:左侧为选择栏,右侧填写请假单,其中姓名为只读的,即:学生请假时,姓名不用自己填写,避免了填错姓名,造成为别人请假的情况,请假日期,用的是javascript。
部分代码如下:
请假时间:
从
到
点击左侧全部请假单信息,右侧会显示该学生的全部请假信息,请假单信息可以是审批通过的、审批为通过的和未审批的。
部分代码如下:
Action public String mylist()throws Exception{
Connection con = DBConn.getConnection();MyListDao mylistDao = new MyListDao(con);list =(List
} request.setAttribute(“list”, list);return “success”;
Dao public List
List
pstmt = con.prepareStatement(sql);rs = pstmt.executeQuery();list = new ArrayList
Ask ask = new Ask();
ask.setId(rs.getInt(“id”));
ask.setUsername(rs.getString(“username”));ask.setClassmate(rs.getString(“classmate”));ask.setStartdate(rs.getString(“startdate”));
}
}
ask.setEnddate(rs.getString(“enddate”));ask.setReason(rs.getString(“reason”));ask.setState(rs.getString(“state”));list.add(ask);
}catch(Exception e){ e.printStackTrace();
}return list;Jsp页面
姓名 | 开始日期 | 结束日期 | 原因 | 审批状态 |
---|---|---|---|---|
点击左侧待审批请假单,右侧会显示该学生的未被审批的请假信息,学生可以在老师未审批之前删除请假单。删除请假单之前,会弹出确认框,点击确定时该记录会被删除,取消时,不会删除。
点击左侧已审批请假单,右侧会显示该学生的被审批的请假信息,学生可以通过查看detail来查看请假单信息,并打印。
部分代码如下:
打印请假单页面:
关键代码如下:
请假单
Jsp页面:
Action public String list()throws Exception{ Connection con = DBConn.getConnection();ListDao listDao=new ListDao(con);
list =(List
} request.setAttribute(“list”, list);return “success”;Dao String sql=“select * from content”;
List
pstmt = con.prepareStatement(sql);rs = pstmt.executeQuery();list = new ArrayList
Ask ask = new Ask();
ask.setId(rs.getInt(“id”));
ask.setUsername(rs.getString(“username”));ask.setClassmate(rs.getString(“classmate”));ask.setStartdate(rs.getString(“startdate”));ask.setEnddate(rs.getString(“enddate”));ask.setReason(rs.getString(“reason”));ask.setState(rs.getString(“state”));list.add(ask);
未审批请假单页面:左侧为选择项:分别有全部请假单、未审批请假单、已审批的请假单。右侧为未审批请假单信息。在操作栏里,老师可以执行同意或不同意操作,此操作可以减轻老师的审批负担。
代码如下:
public List
} String sql=“select * from content where state='未审批'”;List
pstmt = con.prepareStatement(sql);rs = pstmt.executeQuery();list = new ArrayList
}
Ask ask = new Ask();
ask.setId(rs.getInt(“id”));
ask.setUsername(rs.getString(“username”));ask.setClassmate(rs.getString(“classmate”));ask.setStartdate(rs.getString(“startdate”));ask.setEnddate(rs.getString(“enddate”));ask.setReason(rs.getString(“reason”));ask.setState(rs.getString(“state”));list.add(ask);
}catch(Exception e){ } e.printStackTrace();
return list;已审批请假单页面:左侧为选择项:分别有全部请假单、未审批请假单、已审批的请假单。右侧为已审批请假单信息,在这一栏目,老师可以查看全部学生的请假历史记录。
退出:通过javascript控制,当用户点击退出时,弹出确认框,当用户选择确定时,退出系统;当用户选择取消时,不退出系统。
部分代码如下:
4.心得体会 本次的设计是基于struts2开发的在线请假系统,与以往设计不同的是,这次我在程序源代码是实现了模块化,使得每一个功能既能相互独立又能相互关联,方便日后的维护以及修改。本在线请假系统整体来说并不是很完善,实现主要功能,但还有些功能未能实现,课下在时间的允许下我会继续完善相关的功能。
在本次做实践设计的过程中,使我深深的了解到自己的不足,有很多东西还有待去了解和学习。刚开始做设计时,我深受以前做课程设计的想法干扰,无从下手,后来慢慢摸索,参考老师带着做的部分,上网查找诸多资料,最终把设计完成了。
在制作设计期间,虽然花了诸多功夫在上边,但还有诸多的功能还不够完善,只是实现了一些基本的功能。虽然此次的网站设计有诸多坎坷,但我并没有被吓到。碰到问题我都百度查找资料,通过此次的课程设计,使我受益匪浅。
第二篇:请假审批系统实现
系统登录界面
用户类型有四个:学生,班主任,院长,学校
学生信息来字数据库tb_StudentInfo表 学生注册:
输入用户名和密码后登录系统
学生登录成功后看到以下界面
菜单栏
点击“填写请假单”
填写请假信息
提交请假申请
提交成功后给出提示
点击”已完成的申请”,查看已完成的申请
点击“审批中的申请”,查看正在申请的申请
点击”查看详情”
看到假条的详细信息
只要假条审批没有完全结束,申请者都是可以“撤销的“
点击“退回的申请”,看到被退回的
点击”个人资料”,可以修改个人资料
点击”修改密码”
点击右上方的“退出系统”,则退出系统
班主任登陆:
班主任看到的界面:
点击”带审批的申请”,看到学生提交的请假申请
“查看详情”
同意,拒绝请假申请 拒绝需填写理由:
点击“已审批的申请”
看到所有审批过得申请 班主任还可以进行学生信息管理,新增学生信息
小红星*代表必须填写
修改或删除改行的学生信息
删除前会有提示
个人资料和密码修改与前面的类似
院长登陆:
登陆成功后进入页面,看到的导航菜单
点击“待审批的申请” 看到的信息为:班长任已经审批过得申请
“查看详情”
已审批的申请
个人资料,修改密码与上面的类似
学校登陆:与院长登陆一样
数据库设计: 数据库名LeaveSystem 有四张表
tb_Leave
请假信息表,用于存放请假信息
tb_ProcessStatus 请假流程信息表,用来记录被退回的申请 tb_StudentInfo 学生信息表,存放学生信息
tb_UserInfo 用户信息表,用于班主任,院长,学校信息
tb_Leave
表中的字段
[Id] 字段编号
,[StuNo] 学号,[Dormitory] 宿舍,[LeaveReason] 请假原因,[Destination] 目的地
,[DestinationPhone] 目的地电话,[StartTime] 出发时间,[EndTime] 返校时间,[DayNumber] 天数,[PersonalPhone] ,[HomeTelephone]
个人联系电话 家庭联系电话
,[Created] 提交时间,[ProcessId] 请假单号
,[TecApproval] 班主任是否同意,[TecOpinions] 班主任意见,[DepartApproval] 院长,[DepartOpinions] 院长意见,[SchoolApproval] 学校,[SchoolOpinions] 学校意见 ,[IsRecall] 申请人是够撤销
tb_ ProcessStatus 表中的字段
[Id] 自动编号
,[ProcessId] 请假单号
,[ApprovalStatus] 审批状态,[Approves] 审批人,[Remark]
[Id] 自动编号
,[StuNo] 学号(登陆时的用户名),[Name] 姓名,[Department] ,[Profession] ,[Gender]
院系 专业 备注
tb_ StudentInfo 表中的字段
,[ClassName] 班级
性别
,[Phone] 电话,[Email] 邮箱
,[Passwrd] 登陆密码
tb_ User 表中的字段
[Id] 自动编号,[UserId] 用户Id ,[UserName] 姓名,[Passwrd] 密码,[RoleType] 用户类型,[Phone] 电话 ,[Email] 邮箱
Tb_User初始化数据
备注:需要Sql Server 2008数据库Visual Studio 2008开发工具,window7/xp系统 剩下的就是把文件部署到服务器上,就能实现了。
第三篇:在线请假系统
在线请假系统 摘 要 1
前 言 2
第一章 概述 3
1.1 在线请假系统的任务与目标 3
1.2 本论文所作的工作 3
第二章 在线请假系统技术背景以及支撑环境 4
2.1 MVC 4
2.2 Struts 5
2.2.1 Struts概述 5
2.2.2 利用Struts框架开发MVC系统 6
2.3 Hibernate 6
2.4 Ajax 7
2.5 JXL 8
2.6 在线请假系统的开发环境 9
2.7 在线请假系统的运行环境 9
2.7.1 在线请假系统的项目部署 9
2.7.2 在线请假系统的环境需求 10
第三章 在线请假系统总体设计 11
3.1 在线请假系统需求分析 11
3.1.1 用户分析 11
3.1.2 业务目标 11
3.1.3 业务处理过程 12
3.1.4 系统特点 12
3.1.5 其他需求 12
3.2 系统总体视图描述 13
3.2.1 系统用例视图 13
3.2.2 系统约束 14
3.3 在线请假系统的系统架构 14
3.3.1 系统用例总图 14
3.3.2 业务处理视图 15
3.3.3 系统实现视图 16
3.3.3.1 概述 16
3.3.3.2 层次 17
3.4在线请假系统功能模块分析 18
3.4.1系统功能模块分析 18
3.4.2系统功能模块设计 18
第四章 在线请假系统数据库设计 21
4.1 数据库设计 21
4.1.1 数据库信息 21
4.4.2 查询与访问技术 21
4.4.3 数据字典以及对应的持久化类 21
4.2 数据库约束关系图 26
4.3 持久层 26
4.4 非数据库文件 27
第五章 员工请假申请模块的设计与实现 28
5.1 模块功能分析 28
5.2 员工请假申请用例视图 28
5.3 模块的包类结构图 29
5.4 用例关系图 31
5.4.1 顺序图 31
5.4.2 协作图 31
5.5关键技术 32
5.5.1 权限控制 32
5.5.2 Ajax日期校验 34
5.5.3 定义组织框架中“环”的问题 36
5.5.4 利用同步令牌来防止刷新导致的重复提交 36
第六章 总结与展望 38
6.1 课题总结 38
6.2 课题存在的问题以及解决方案 38
参考文献 40
致谢 41
第四篇:请假系统中文操作说明
请假系统中文操作说明
1、进入系统。
在邮件系统(Lotus)的工作台(workspace)找到系统图标(PAL eleave Application),双击进入。如下图:
如果你们的Notes 系统中没有此项请按如下操作:
1.1在工作台(workspace)的空白地方点击鼠标右键选择opendatabase。
1.2在弹出的对话筐中server的地方输入:TAAWFL/TAA(或者输入IP地址: 192.168.2.219)按回车或点击open按钮,然后在下面database框内找到名为“APP”的文件夹,再双击或点open按钮进入。如下图:
再找到eleave文件夹,双击或点open按钮进入。如下图:
再找到PAL文件夹,双击或点open按钮进入。如下图
:
再找到PAL eleave Application,双击或点open按钮进入系统。如下图:
2、系统功能说明及其操作。
2.1 菜单功能说明:
Action by me----查看需要修改的申请(查看申请没填写完,按了保存,或者要说明请假理由的申请)。By Incomplete----查看没有完成的申请(包括上面的,还包括提交了申请等待核准的)。By Approved------查看核准了的请假申请。
By Canceled-------查看取消了的请假申请。
By Rejected-------查看没有被核准的请假申请。
Annual Leave Balance----统计了你不同请假类型的请假天数。
Leave Records-----可以查看你的请假纪录。
Team Calendar----根据日期可以查看到所有请假的同事。
3、请假申请单填写。
点击New Application 下面的 New Leave Request。如下图:
在弹出的对话筐中点“Yes”。
Application Header
Applicant---提交申请的人(系统自动)
Folio No---提交申请人的工号(系统自动)
Position----提交申请人的职位(系统自动)
Apply For Non-Lotus Notes User
Folio No---被替请假人的工号(选择)
Staff Name---被替请假人的名字(自动)
Position---被替申请人的职位(自动)
CC To----mail给谁(让谁知道你请假了)
Acting/copy to----作为谁的mail发送(例如:如果doc部门的某人替人事部某人请假,那么这里要选择人事部门其他同事的某个mail,这样系统将会发送给人事部经理审核,而不会发送到doc经理那去审核。)
My Comments---请假理由及说明
Application Details
Leave Type-----选择请假类型
From-------选择请假的起始日期。
Session----选择具体的请假起始或截止时间。
To-------选择请假的截止日期。
请假类型说明:
Annual Leave-----假
Bereavement Leave-----丧假
Compensation Leave------有偿假
Hospitalization Leave------住院假
Marriage Leave------婚假
Maternity Leave------产假
Military Leave------军事假
No pay Leave------无偿假
Sick Leave-----病假
填写完后按
下面是经理审批界面:
等待审批。
Approve-----批准(如果同意请假那么选择这个)
Reject------拒绝(如果不同意选择这个)
Clarify-----澄清理由(如果你要请假申请人再说明下请假理由那么选择这个,这个时候申请者要,打开此单点
待审批),在 My Comments 里面说明请假理由,再按 等
经理同意后,申请单状态变为:Approved 如下图:
这个时候请假人才可以算是请到了假。
保安查看请假者放行:
保安室保安在系统中点击
查看所有请假同事。如下图:
第五篇:(实验报告4)在线请假系统
实验4在线请假系统设计
班级学号
实验目的(1)掌握系统设计阶段的知识。
(2)能够根据具体案例,设计出系统的数据库模型(ER)图和对应的关系模型。实验内容
当前,假假条现象严重影响了教学质量。为此,拟开发在线请假系统。首先,学生在线提交请假申请;辅导员在线审核,审核通过后,学生方可领取假条,上课的时候,交上课老师,老师在线确认后,请假才完成。请以此为背景,设计在线请假系统。完成以下工作:
(1)
(2)
(3)
(4)
实验过程
系统可行性分析 系统业务流程图 系统数据库模型 系统数据库模型对应的关系模型。