三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

毕业设计:基于springboot的公司日常考勤系统(源码)

毕业设计:基于springboot的公司日常考勤系统(源码)

第4章 系统设计

4.1 总体功能概述

4.1.1系统功能模块的划分

分析企业的考勤管理系统过程可以看到,考勤管理系统中主要要解决的是:

1.考勤信息的管理;

2.考勤、出勤信息的请假及申请;

3.给系统设定用户登录权限;

4.设定密码更改功能等等。

根据以上分析的业务流程,结合传统的考勤系统的业务流程,待开发的考勤管理系统分为两个用户模块:员工和管理员。系统的功能模块图如图所示:

图4-1 系统总体功能模块图

4.1.2 系统的结构框架图

Firewall 防火墙

MYSQL: 系统服务器所使用的数据库管理系统(DBMS),一种结构化查询数据库的语言

事务流:数据进入模块后可能有多种路径进行处理。

ROLLBACK: 数据库的错误恢复机制。

4.2 系统流程图

图4-3 系统考勤流程图

4.3数据库设计

MySQL 提供了许多支持数据库应用程序的工具。这些工具中有些工具在数据仓库中使用得较频繁,而有些则是专用于解决数据仓库的特殊要求。这里列出的工具常用于数据仓库应用程序,但是大多数工具还可用于其它的数据库应用程序。

4.3.1 系统数据流程图

上下班

加班

考勤时间设置

图5-1 系统数据流程图

4.4 数据库的设计

4.4.1 数据库的概念设计

管理系统主要以管理员、员工来共同完成一个业务流程。他们之间存在着数据关联并且靠数据库关键字段进行索引,建立表关联。

E-R图如下:

图5-2 E-R图

4.4.2 数据库逻辑结构设计

本管理系统所存在的数据库中有不同的表结构,这些物理表中存放着各种网站所调用的数据,为整个网站的流程提供最基本的数据来源。本网站采用MySQL数据库它是由Microsoft公司开发。对于它的安全性和易操作性来说是开发者首选。

管理员信息表(编号、姓名、帐号、密码)

员工信息表(编号、姓名、性别、登陆用户名、登陆密码、电话、是否部门领导)

出勤信息表(编号、员工ID、天数)

公告信息表(编号、标题、内容)

请假申请信息表(编号、开始时间、结束时间、员工ID、申请状态、恢复信息、备注)

图5-3 管理员信息表属性图

图5-3 管理员信息表属性图

图5-4员工信息表属性图

图5-4 员工信息表属性图

图5-5出勤信息表属性图

图5-5 出勤信息表属性图

图5-6公告信息表(编号、标题、内容)

图5-6 公告信息表属性图

图5-7请假申请信息表属性图

图5-7 请假申请信息表属性图

4.4.3 数据库物理设计

是要存储在物理设备上的。为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程,就是数据库的物理设计。物理结构依赖于给定的DBMS和和硬件系统,充分了解所用DBMS的内部特征,特别是存储结构和存取方法;充分了解应用环境,特别是应用的处理频率和响应时间要求;以及充分了解外存设备的特性。

表4.1管理员信息表

列名

说明

数据类型

数据长度

可否为空

键码

userid

用户id

int

4

否

主键

username

用户名

varchar

51

是

userpw

密码

varchar

50

是

表4.2出勤信息表

列名

说明

数据类型

数据长度

可否为空

键码

id

编号id

int

4

否

主键

yuefen

月份

varchar

50

是

tianshu

天数

int

4

是

yuangong_id

员工ID

int

4

是

表4.3公告信息表

列名

说明

数据类型

数据长度

可否为空

键码

id

编号

varchar

50

否

主键

title

标题

varchar

50

是

content

内容

varchar

8000

是

shijian

时间

varchar

50

是

表4.4请假申请信息表

列名

说明

数据类型

数据长度

可否为空

键码

id

编号

int

4

否

主键

kaishishijian

开始时间

varchar

50

是

jieshushijian

结束时间

varchar

50

是

beizhu

备注

varchar

5000

是

yuangong_id

员工ID

int

4

是

shenhezhuangtai

申请状态

varchar

50

是

huifuxinxi

恢复信息

varchar

50

是

表4.5员工信息表

列名

说明

数据类型

数据长度

可否为空

键码

id

id

int

4

否

主键

bianhao

编号

varchar

50

是

name

姓名

varchar

100

是

sex

性别

varchar

50

是

shifoubumenlingdao

是否部门领导

varchar

50

是

loginname

登录名

varchar

50

是

loginpw

登陆密码

varchar

50

是

del

电话

varchar

50

是

4.5 输入输出设计

出设计是系统设计中很容易被忽视的环节,又是一个重要的环节。一个好的输出系统设计可以为用户和系统双方带来良好的工作环境,一个好的输出设计可以为管理者提供简捷、明了、有效、实用的管理和控制信息。本管理系统输入设计数据根据输出的要求来选择。输出类型设计是根据需求设计为打印输出,这是用户通常要求的最主要的形式。输入内容设计主要是根据数据库设计和输出设计的结果来确定的。外部输入主要是键盘输入,内部输入只要是数据库中调用的信息,如会员资料信息的注册,在后台对帖子管理,用户信息,重要通知的添加。

4.6 存储过程的设计

存储过程(stored procedure)是Transact-SQL语句的预编译集合,这些语句在一个名称下存储并作为一个单元进行处理。存储过程可以提高客户机重复向数据库服务器发送或请求的功能。存储过程通过接受参数并且返回状态值,以表示成功或失败。MySQL中的存储过程与其它编程语言中的过程类似,原因是存储过程具备以下功能。 (1)接受输入参数并以输入参数的形式将多个值返回调用过程或批处理。 (2)包含执行数据库操作的编程语句。 (3)向调用过程或批处理返回状态值,以表明成功或失败。 MySQL 存储过程是用Transact-SQL的CREATE PROCEDURE语句创建的,并可用ALTER PROCEDURE语句进行修改。

我们是便用查询分析器生成的,其代码如下:

--1、创建添加出勤表的存储过程

--(1)添加数据

Create procedure proc_addTableCWA(@CWAName varchar(30)) as insert into Table_CWA values(@CWAName) return @@identity

go

--(2)删除数据

Create procedure proc_delTableCWA(@CWAID int) as delete from Table_CWA where CWAID =@CWAID

return @@identity

go

--(3)修改数据

Create procedure proc_updateTableCWA(@CWAID int,@CWAName varchar(30)) asupdate Table_CWA set CWAName=@CWAName where CWAID=@CWAID return @@identity

go

--(4)查找数据

Create Procedure proc_selectTableCWA as select * from Table_CWA

go

Create Procedure proc_selectTableCWAName(@CWAName varchar(40)) as select * from Table_CWA where CWAName=@CWAName

Go

--2、创建添加级别表的存储过程

--(1)添加数据

create procedure proc_AddTableLevel(@PeopleLeval varchar(30)) as

insert into Table_Level values (@PeopleLeval) return @@identity

go

--(2)删除数据

Create Procedure proc_DelTableLevel(@PeopleLevelID int) as delete from Table_Level

where (PeopleLevelID=@PeopleLevelID) return @@identity

go

--(3)修改数据

Create Procedure proc_updateTableLevel(@PeopleLevelID int,@PeopleLeval varchar(30)) as

update Table_Level set PeopleLeval=@PeopleLeval where PeopleLevelID=@PeopleLevelID

return @@identity

go

--(4)查找数据

--全体查找

create Procedure proc_selectTableLevel as select * from Table_Level ORDER BY PeopleLevelID ASC

go

--根据PeopleLeval查找

create Procedure proc_selectTableLevelName(@PeopleLeval varchar(30)) as select * from Table_Level where PeopleLeval=@PeopleLeval

go

--3、创建添加个人情况表的存储过程

--建立个人情况的视图

CREATE VIEW dbo.view_people

AS SELECT dbo.Table_People.PeopleID,

dbo.Table_People.PeopleNumber, dbo.Table_People.PeopleName,

dbo.Table_People.PeopleSex, dbo.Table_Level.PeopleLeval

FROM dbo.Table_People INNER JOIN

dbo.Table_Level ON

dbo.Table_People.PeopleLevelID = dbo.Table_Level.PeopleLevelID

GO

--查找数据(1)

--全部查找

Create Procedure proc_selectTablePeople as select * from view_people

go

--根据编号查找

Create Procedure proc_selectTablePeopleNo(@PeoPleNumber char(6)) as

select * from view_people where PeoPleNumber=@PeoPleNumber

go

--根据时间和个人姓名查找

create procedure proc_SelectPeopleIformationNameTime

(@PeopleName varchar(30),@LYear int,@LMonth int,@LDay int,@LYear1 int,@LMonth1 int,@LDay1 int) as

select * from view_CheckOnWorkAttendance where PeopleName=@PeopleName and LYear>=@LYear and LMonth>=@LMonth and LDay >=@LDay and LYear<=@LYear1 and LMonth<=@LMonth1 and LDay <=@LDay1

go

--根据时间和职业查找

create procedure proc_SelectPeopleIformationLevelTime

(@PeopleLeval varchar(30),@LYear int,@LMonth int,@LDay int,@LYear1 int,@LMonth1 int,@LDay1 int) as

select * from view_CheckOnWorkAttendance where PeopleLeval=@PeopleLeval and LYear>=@LYear and LMonth>=@LMonth and LDay >=@LDay and LYear<=@LYear1 and LMonth<=@LMonth1 and LDay <=@LDay1

go

-

第5章 详细设计与实现

5.1 用户登陆

当系统登陆时,首先出现的是一个用户权限登陆的界面, 权限设置主要是维护系统的安全性和完整性。拥有管理员权限的操作员能对其他操作员进行相应的权限设置,没有权限的操作员不能对相应的窗口进行操作。如下图所示:

页面程序说明,如表5-1所示:

表5-1页面程序说明

程序名称

程序文件

Login.jsp

页面传入参数

Username,password

页面提交URL

页面传出参数

Session["username"]Session["group"]

功能说明

登录系统

特殊注解

无

5.2 修改密码

当选中密码修改菜单时,输入一次旧密码,两次新密码,然后按修改按钮,密码修改成功。请务必记住自己的密码,并注意保密。

5.3 系统主界面

5.4 部门管理界面

此部分只有管理员可以进行操作,它可以进行添加删除部门,这些部门存在于企业并作为每一位工作人员的归属。如图所示。

5.5 员工管理

管理员记录新工作的工作人员信息,并给与工作人员一定的登陆权限,也可以删除退休或者辞职的工作人员。对于信息改变的工作人员进行信息修改。同时可以把需要的工作人员信息通过查找的方式调出来。例如输入关键字姓名,年龄学历等信息。如图所示。

1、员工信息录入功能

本功能实现的是对员工的录入,填写新员工的基本信息,并且保存起来。本功能的程序流程图如图5-5所示。

图5-5 员工录入流程图

2、员工查询功能

包含一个下拉列表。查询分为按账号查询和按姓名查询两种查询方式(此处为一个下拉列表)。按账号查询中,只要输入员工的账号就可以查询。按姓名查询中,只要输入员工的姓名就可以查询。本文只做出查询员工信息的程序流程图,如图5-6所示。

图5-6 查询员工流程图

3、员工修改功能

本功能实现的是对研究生档案的修改,并且保存起来。本功能的程序流程图如图5-7所示。

图5-7 员工修改流程图

4、员工删除功能

本功能实现的是对研究生档案的删除。本功能的程序流程图如图5-8所示。

图5-8 员工删除流程图

5.6 系统公告管理

5.7请假申请

← 返回列表