基于JSP和MYSQL数据库实现的请假管理系统
1 系统概述
1.1 系统说明
该系统用于海宁市医院的员工请假的专用请假系统,将员工请假的申请、审批、查询流程规范化,并进行必要的记录,为后面奖金的发放和人事升迁做参考。
同时该系统还支持管理员对用户信息进行修改以及添加或删除用户。
1.2 系统任务
该系统最终的目的是使得海宁市医院员工的请假过程规范化,并对请假的过程进行记录。在登录时,根据用户登录时的用户名确认用户的权限,对用户所能进行的操作进行不同的划分。
对于普通用户,他只能通过该系统查询自己的历史请假信息和个人信息或者申请假期,在这里能看到自己以前的请假记录以及他们的进度,比如已提交、已通过、未通过等进度信息。在个人信息里,他可以查看自己的相关信息或者修改自己的登录密码。
对于有审批权限的用户还可以对所管辖的员工请假申请进行批复,即批准或拒绝。
对于管理员权限的用户,还可以进行用户管理功能,其中包括增加删除用户,修改用户信息以及重置用户密码等操作。
该系统不仅对用户的请假流程行为进行规范,提供流程推进平台,还对请假的信息进行了详细的记录,为后面的奖金安排和认识调度提供科学可靠地参考。
2 需求规格
2.1 功能需求
用户管理模块
-
用户登录
-
添加用户
-
删除用户
-
用户列表查看
-
用户信息查看
-
用户信息修改
-
用户密码修改
请假管理模块
-
查看历史请假信息
-
查看请假的进度
流程推进模块
-
查看待审批的请假申请
-
请假的审批流程
-
根据不同的假期进行不同的流程处理
-
多层审批
-
单层审批
-
拒绝请假申请
3 总体设计
3.1 基本概念设计
3.1.1 设计技术与开发平台
该系统采用BS架构,数据库使用MySQL,后台开发语言使用java,后台开发框架使用SpringMVC + myBatis,web服务器使用Apache Tomcat,运行操作系统选用Windows 10/Ubuntu 16.04。
-
DAO层框架是spring + myBatis,使得整个系统的DAO的实现转化为单纯的参数设置 + SQL语句编写
-
Service层使用spring进行管理,采用注解的方式集成到spring中
-
Web层采用spring MVC,通过返回View的URL的方式进行页面跳转,通过返回JSON数据的方式编写供前端使用的API。并且结合springMVC,使用了jsp中的EL表达式方便数据的传递与修改
-
前端界面使用bootstrap框架和一些JQurey的前段控件完成,并且结合jsp的jstl标签完成与后台数据的结合
3.1.2 系统模型
本系统一共分为三个模块,用户管理模块、请假查询模块以及请假流程推进模块。
其中用户管理模块包括用户登录、添加用户、删除用户、用户列表查看、用户信息查看、用户信息修改、用户密码修改等功能
请假查询模块包括查看历史请假信息和查看请假的进度
请假流程控制模块包括请假层级批准和拒绝
3.1.3 系统处理流程
其中请假的审批层级流程规则如下:
如果请假者不是三个顶层分部门的职工
-
某科室员工请假 -> 选择假期为公假,请假天数小于5天 -> 员工所在科室主任审批 -> 员工所在分部门人员(负责人和领导皆可)审批 -> 通过
-
某科室员工请假 -> 选择假期为公假,请假天数大于等于5天 -> 员工所在科室主任审批 -> 员工所在分部门领导审批 -> 通过
-
某科室员工请假 -> 选择假期为年假 -> 员工所在科室主任审批 -> 通过
-
某科室员工请假 -> 选择假期为病假、事假,请假天数小于15天 -> 员工所在科室主任审批 -> 通过
-
某科室员工请假 -> 选择假期为病假、事假,请假天数大于等于15天 -> 员工所在科室主任审批 -> 员工所在分部门人员(负责人和领导皆可)审批 -> 通过
-
某科室员工请假 -> 选择假期为婚假,填写年龄不符合晚婚,最多选3天 -> 员工所在科室主任审批 -> 员工所在分部门人员(负责人和领导皆可)审批 -> 通过
-
某科室员工请假 -> 选择假期为婚假,填写年龄符合晚婚,最多选13天 -> 员工所在科室主任审批 -> 员工所在分部门人员(负责人和领导皆可)审批 -> 通过
-
某科室员工请假 -> 选择假期为产假(陪产假),男性只能选陪产假,女性只能选产假。产假最多选98天,陪产假最多选15天 -> 员工所在科室主任审批 -> 员工所在分部门人员(负责人和领导皆可)审批 -> 通过
-
某科室员工请假 -> 选择假期为工伤假,最多选365天,附件中添加相关材料 -> 员工所在科室主任审批 -> 员工所在分部门人员(负责人和领导皆可)审批 -> 通过
如果请假者是三个顶层分部门的职工
- 请假 -> 员工所在部门的领导审批 -> 通过
4 数据库设计
4.1 users表
存放系统中所有的用户。
字段名称 | 字段描述 | 字段类型 | 备注 |
---|---|---|---|
User_id | 用户id | int | Primary key |
User_username | 用户账户 | Varchar(20) | Not null |
User_password | 用户密码 | Char(32) | Not null |
User_name | 用户姓名 | Vharchar(20) | Not null |
User_sex | 性别 | Char(10) | Not null |
User_age | 年龄(涉及晚婚假之类必须) | int | Not null |
User_department | 所属部门id | int | Not null |
User_leader | 是否是所属部门的领导 | int | Not null |
User_time_left | 今年剩余年假时间 | Int | Not null |
Is_admin | 是否是系统管理员 | int | Not null |
4.2 foms表
存放各个审核阶段的请假申请,所有申请中、申请成功以及申请失败的请假都能够在这张表里面找到。
后期写API接口的时候,展示扣工资的请假的API就是筛出所有已经完成的且类型为扣工资的请假的记录;人事部的备案等同理。
字段名称 | 字段描述 | 字段类型 | 备注 |
---|---|---|---|
Form_id | 申请id | int | Primary key |
User_id | 申请者id | int | Not null |
Form_state | 申请状态 | Int | Not null |
Form_type | 请假类型 | int | Not null |
Form_length | 请假时长(天) | int | Not null |
Form_start_time | 请假开始时间 | timestamp | Not null |
Form_end_time | 请假结束时间 | timestamp | Not null |
4.3 departments表
所有部门类型对应的具体部门。
字段名称 | 字段描述 | 字段类型 | 备注 |
---|---|---|---|
Department_id | 部门id | int | Primary key |
Department_name | 部门名称 | Varchar(100) | Not null |
Department_parent | 上级部门id | int |
参考文献
- 基于J2EE的远程网络教育系统研究与实现(电子科技大学·陈南荪)
- 基于B/S企业人事管理信息系统的设计与实现(华北电力大学·李志军)
- 基于J2EE的数据库管理支持软件系统的设计与实现(电子科技大学·邓杰)
- 人力资源管理系统设计(山东大学·郑重)
- 基于B/S企业人事管理信息系统的设计与实现(华北电力大学·李志军)
- 基于web的高职院校学生综合管理系统设计与开发(电子科技大学·杨轩)
- 基于Java与Web模式的教务管理系统的设计与实现(华东师范大学·王洪龄)
- 基于Django框架的企业人力资源管理系统的设计与实现(西安电子科技大学·刘泉)
- 基于Java的任务管理及员工考勤系统的设计与实现(东北大学·付杨)
- 基于Struts的企业外派劳务管理系统的设计与实现(西安电子科技大学·董晓华)
- 基于Django框架的企业人力资源管理系统的设计与实现(西安电子科技大学·刘泉)
- 武警部队士兵出入管理系统的设计与实现(南昌大学·林敏)
- 基于.NET的蓝山公司OA管理系统设计与实现(电子科技大学·万真一)
- 基于安卓的教职工请假系统的设计与实现(桂林理工大学·崔瑶)
- 基于B/S企业人事管理信息系统的设计与实现(华北电力大学·李志军)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设项目助手 ,原文地址:https://m.bishedaima.com/yuanma/35256.html