当前位置: 首页 > news >正文

毕业设计:基于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请假申请

http://www.jsqmd.com/news/839165/

相关文章:

  • 硬件选型|钡特电源 DF1-12D15LS 与金升阳 E1215S-1WR3 工业 DC-DC 属工业标准模块电源
  • Markmap 思维导图转换工具:3种方案解决Markdown可视化难题
  • 官方认证|2026年国内五大正规网红款瓷砖厂家排名,大自然口碑断层领先,广东佛山等地 - 十大品牌榜
  • GPT-5.6 泄露与 Codex 超极速模式:OpenAI 反击 Claude Code 全面开战
  • 电视盒子变身家庭网络中心:TVBoxOSC热点功能终极指南
  • CSS Transforms与Filters完全指南
  • Diffusion系列 - Classifier Free Guidance 和 蒸馏 公式推导(五)
  • 2026 年海口手表回收选择指南:正规流程与报价解析 - 奢侈品回收测评
  • 适合闺蜜送礼的保温杯推荐:2026年颜值设计、IP联名与礼物属性全对比 - 科技焦点
  • 指标口径如何校准?多币种云充值重塑2026出海云运维收益
  • DirectX12画三角形时,GPU命令队列、围栏和资源屏障到底在干嘛?
  • 5分钟快速上手:Koikatu HF Patch完整安装与使用指南
  • 歌词滚动姬:重新定义歌词时间轴同步的专业级工具
  • 2026 北京黄金回收如何抉择门店,安全靠谱首选收的顶 - 奢侈品回收测评
  • 第一次blog作业分析
  • 别再手动建模了!Multisim 14.2 导入LTspice模型库的保姆级避坑指南
  • Claude Code用户如何迁移到Taotoken解决封号与token不足困扰
  • 2026雅思哥会员买哪个?VIPLite、VIP、SVIP区别与性价比推荐 - 品牌2025
  • 对比直接使用官方API,Taotoken在用量可视性与账单追溯上的优势
  • 2026年5月市政水务4-20mA电磁流量计国产厂家排名 - 水质仪表品牌排行榜
  • 射频链路中 Coupler(耦合器)的作用分析
  • 2026杭州玻尿酸产品:下巴、面颊、颞部等部位的产品搭配方案 - charlieruizvin
  • 做了5年电力运维,教你挑靠谱无人机电力巡检公司 - 速递信息
  • 【2026最新】Windows 11 彻底关闭自动更新全指南:从底层服务到注禁止win11自动更新的 6 种高效方法
  • 【会议征稿通知 | 南京师范大学主办 | IEEE出版 | EI 、Scopus稳定检索】第七届电气技术与自动控制国际学术会议(ICETAC 2026)
  • 泉州黄金回收哪家靠谱?2026丰泽/鲤城/晋江实体门店盘点,上门回收当场结算 - 润富黄金珠宝行
  • 2026年部分水质分析仪高性价比厂家推荐参考:国内主流供应商选型深度分析 - 高先生12138
  • 别再乱设过期时间了!深入Minio分享链接与临时凭证的时效性管理
  • XUnity自动翻译器:5分钟快速上手指南,打破游戏语言壁垒
  • 沃尔玛购物卡回收全流程,轻松变现! - 团团收购物卡回收