基于SpringBoot的人事管理系统【附源码】

news2024/11/13 9:23:18

基于SpringBoot的人事管理系统(源码+L文+说明文档)           

目录

4 系统设计   

4.1 系统概述  

4.2系统功能结构设计  

4.3数据库设计  

4.3.1数据库E-R图设计  

4.3.2 数据库表结构设计  

5 系统实现    

5.1管理员功能介绍 

5.1.1管理员登录  

5.1.2 员工管理  

5.1.3 公告信息管理  

5.1.4公告类型管理  

5.1.5 培训管理  

5.1.6 培训类型管理  


 

4 系统设计   

4.1 系统概述  

人事管理系统并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的小程序结构,图4.1就是开发出来的程序工作原理图。

 

f2bd921b2100b0c16a07f03da3979548.png

图4.1 程序工作的原理图

4.2系统功能结构设计  

人事管理系统针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理员工信息,管理公告信息等内容。

人事管理系统针对用户设置的功能有:查看并修改个人信息,查看员工信息,查看公告信息等内容。    

4.3数据库设计  

4.3.1数据库E-R图设计  

程序设计是离不开对应数据库的设计操作的,这样的做法就是减少数据对程序的依赖性,所以数据库的设计也是需要花费大量的日常时间来进行设计的,在设计中对程序开发需要存储的数据信息进行实体划分,先确认实体,然后设计实体的属性等操作,这种设计就是数据库设计里面不能少的必须有的E-R模型设计。为了降低程序设计的对应的数据库设计难度,开发人员也可以使用相应的工具来进行E-R模型设计,现在市面上设计E-R模型的工具有PowerDesigner建模工具,Navicat制作工具,还有微软的Visio绘图工具。为了简便起见,本程序在设计E-R模型的时候,就选用了微软的Visio这款功能强大,操作便利的绘图工具。

(1)下图是绩效实体和其具备的属性。

 

add64f728ff7ed1a73792802047ecab7.jpeg

绩效实体属性图

(2)下图是员工考勤详情实体和其具备的属性。    

 

c88a0bfcfc640c5ce120ced85030979a.jpeg

员工考勤详情实体属性图

(3)下图是招聘实体和其具备的属性。

 

d337b21db1a99adf8b84fae9a2f4f9f2.jpeg

招聘实体属性图

(4)下图是公告实体和其具备的属性。

 

38bc551ffea09b5b57a522112ab97234.jpeg

公告实体属性图    

(5)下图是员工请假实体和其具备的属性。

 

69fc400fc04235656e08525c7f67fb66.jpeg

员工请假实体属性图

(6)下图是人事调动实体和其具备的属性。

 

6942baed09805b4e85804df18f8ec36c.jpeg

人事调动实体属性图

(7)下图是员工实体和其具备的属性。    

 

97e9bd3b4b733ed7a93fd244a9b40a12.jpeg

员工实体属性图

(8)下图是员工考勤实体和其具备的属性。

 

c1d575943b268f7110bbe1e729603498.jpeg

员工考勤实体属性图

(9)下图是薪资实体和其具备的属性。    

 

b90c23ab30c559e5acd879707b8f1ae0.jpeg

薪资实体属性图

(10)下图是培训实体和其具备的属性。

 

3deab4a280090b9138a5c405003d2ef1.jpeg

培训实体属性图

4.3.2 数据库表结构设计  

本次程序开发选用的数据库管理工具是Mysql数据管理工具,使用它存放数据也需要创建程序对应的数据库文件,并命名刚创建的数据库文件,有了数据库也需要创建各种数据表来充实数据库,在数据表的创建中,不仅需要对数据表命名,也需要对数据表的字段进行设计,包括每个数据表里面需要设置的字段名称,字段对应的数据类型信息,字段的主键设置这个也是不可缺少的,因为每个数据表里面的主键就是标记着这个数据表跟其他数据表相区分的唯一标志。就相当于生活中的每个人都有姓名,但是上网搜索自己的名字,会发现全国上下有很多人的名字跟自己的名字一模一样,包括姓氏以及名字,区分每个人的唯一信息就是每个人的身份证号信息,主键在数据表里面也是起着这样的重要作用。下面就介绍本次开发的程序人事管理系统的数据表结构信息。    

表4.1字典表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

dic_code

String

字段

3

dic_name

String

字段名

4

code_index

Integer

编码

5

index_name

String

编码名字

6

super_id

Integer

父字段id

7

beizhu

String

备注

8

create_time

Date

创建时间

表4.2公告表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

gonggao_name

String

公告名称

3        

gonggao_types

Integer

公告类型

4

insert_time

Date

公告发布时间

5

gonggao_content

String

公告详情

6

create_time

Date

创建时间

表4.3绩效表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_id

Integer

员工

3

jixiao_uuid_number

String

绩效编号

4

jixiao_name

String

绩效标题

5

jixiao_file

String

附件

6

jixiao_types

Integer

绩效类型

7

jixiao_dafen

BigDecimal

绩效打分

8

pinggu_time

Date

评估时间

9

jixiao_content

String

打分缘由

10

insert_time

Date

记录时间

11

create_time

Date

创建时间

表4.4培训表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_id

Integer

员工

3

peixun_uuid_number

String

培训编号

4        

peixun_name

String

培训标题

5

peixun_types

Integer

培训类型

6

kaishi_time

Date

培训开始时间

7

jieshu_time

Date

培训结束时间

8

peixun_content

String

培训内容

9

insert_time

Date

录入时间

10

create_time

Date

创建时间

表4.5人事调动表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_id

Integer

员工

3

renshidiaodong_uuid_number

String

人事调动编号

4

renshidiaodong_types

Integer

人事调动类型

5

diaodong_time

Date

调动时间

6

yuan_bumen

String

原部门

7

yuan_zhiwei

String

原职位

8

bumen_types

Integer

部门

9

zhiwei_types

Integer

职位

10

renshidiaodong_content

String

调动缘由

11

insert_time

Date

录入时间

12

create_time

Date

创建时间

表4.6薪资表    

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_id

Integer

员工

3

xinzi_uuid_number

String

薪资编号

4

xinzi_name

String

标题

5

xinzi_month

String

月份

6

jiben_jine

BigDecimal

基本工资

7

jiangjin_jine

BigDecimal

奖金

8

jixiao_jine

BigDecimal

绩效

9

butie_jine

BigDecimal

补贴

10

shifa_jine

BigDecimal

实发

11

xinzi_content

String

备注

12

insert_time

Date

添加时间

13

create_time

Date

创建时间

表4.7员工表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_name

String

员工姓名

3

yuangong_phone

String

员工手机号

4

yuangong_id_number

String

员工身份证号

5

yuangong_photo

String

员工头像

6

bumen_types

Integer

部门

7        

zhiwei_types

Integer

职位

8

yuangong_email

String

员工邮箱

9

xueli_types

Integer

学历状态

10

yuangong_jiaoyu_content

String

教育经历

11

yuangong_gongzuo_content

String

工作经历

12

shangpin_shixi_content

String

实习经历

13

shangpin_rongu_content

String

所获荣誉

14

jinyong_types

Integer

账户状态

15

create_time

Date

创建时间

表4.8员工考勤表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_kaoqin_uuid_number

String

考勤唯一编号

3

yuangong_kaoqin_name

String

考勤标题

4

yuangong_kaoqin_types

Integer

员工考勤类型

5

bumen_types

Integer

部门

6

yuangong_kaoqin_content

String

考勤详情

7

insert_time

Date

考勤发起时间

8

jiezhi_time

Date

考勤截止时间

9

create_time

Date

创建时间

表4.9员工考勤详情表

序号

列名

数据类型

说明

允许空

1        

Id

Int

id

2

yuangong_id

Integer

员工

3

yuangong_kaoqin_id

Integer

考勤

4

yuangong_kaoqin_list_types

Integer

打卡状态

5

insert_time

Date

添加时间

6

update_time

Date

打卡时间

7

create_time

Date

创建时间

表4.10员工请假表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yuangong_id

Integer

员工

3

yuangongqingjia_name

String

请假标题

4

yuangongqingjia_text

String

请假缘由

5

yuangongqingjia_types

Integer

请假类型

6

insert_time

Date

申请时间

7

yuangongqingjia_time

Date

请假时间

8

yuangongqingjia_number

Integer

请假天数

9

yuangongqingjia_yesno_types

Integer

申请状态

10

yuangongqingjia_yesno_text

String

处理意见

11

yuangongqingjia_shenhe_time

Date

审核时间

12

create_time

Date

创建时间

表4.11招聘表    

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

zhaopin_uuid_number

String

招聘编号

3

zhaopin_name

String

招聘标题

4

zhaopin_address

String

招聘地点

5

zhaopin_file

String

招聘附件

6

zhaopin_types

Integer

招聘类型

7

zhaopin_number

Integer

招聘人数

8

zhaopin_time

Date

招聘时间

9

zhaopin_content

String

招聘详情

10

insert_time

Date

录入时间

11

create_time

Date

创建时间

表4.12管理员表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

username

String

员工名

3

password

String

密码

4

role

String

角色

5

addtime

Date

新增时间

5 系统实现    

5.1管理员功能介绍 

5.1.1管理员登录  

系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。下图就是管理员登录页面。

 

e26ca1d67f0962e8c7294c9f218b0b0b.png

图5.1 管理员登录页面

5.1.2 员工管理  

项目管理页面提供的功能操作有:查看员工,删除员工操作,新增员工操作,修改员工操作。下图就是员工管理页面。    

 

455a102a0546df0bf24745f907463a01.png

图5.2  员工管理页面

5.1.3 公告信息管理  

公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。下图就是公告信息管理页面。

 

7919d726aa13a3df91129553b3256ce1.png

图5.3 公告信息管理页面    

5.1.4公告类型管理  

公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。下图就是公告类型管理页面。

 

cd646f0cb3213f75d4d9b71618f7e7d9.png

图5.4 公告类型列表页面

5.1.5 培训管理  

如图5.5显示的就是培训管理页面,此页面提供给管理员的功能有:新增培训,修改培训,删除培训。    

 

c889637d4e87d25d61972ce2abb82e46.png

图5.5培训管理页面

5.1.6 培训类型管理  

如图5.6显示的就是培训类型管理页面,此页面提供给管理员的功能有:新增培训类型,修改培训类型,删除培训类型。

 

46c871c7efe8fc838c1c0b8616a59b60.png

图5.6 培训类型管理页面

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2140638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Leetcode:1184. 公交站间的距离 + 模拟】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

PDF转JPG,奋斗汪的必备技能,你掌握了吗?

现在大家都用电脑手机处理文件,PDF和JPG是最常见的两种。PDF文件方便打印和分享,而JPG图片小巧清晰,适合在手机上看和发给别人。有时候,我们需要把PDF文件变成JPG图片,比如想把教材或报告变成图片,方便在手…

F28335 时钟及控制系统

1 F28335 系统时钟来源 1.1 振荡器OSC与锁相环PLL 时钟信号对于DSP来说是非常重要的,它为DSP工作提供一个稳定的机器周期从而使系统能够正常运行。时钟系统犹如人的心脏,一旦有问题整个系统就崩溃。DSP 属于数字信号处理器, 它正常工作也必须为其提供时钟信号。那么这个时钟…

树(森林)的定义和画图

目录 代码实现 “双亲表示法”顺序存储 “孩子表示法”链式存储 树的孩子表示法存储 v.s. 图的邻接表存储 v.s. 散列表的拉链法 v.s. 基数排序 “孩子兄弟表示法”链式存储 画图表示 “双亲表示法” 1.树 2.森林 “孩子表示法” 1.树 2.森林 “孩子兄弟表示法” …

SPI学习笔记

SPI SPI是一种同步串行通信接口规范,它允许一个主设备与一个或多个从设备进行全双工通信。SPI用于短距离通信,主要应用于嵌入式系统。 SPI通信过程 1.初始化:SPI主机首先将SS或CS线拉低,以选择特定的从设备并开始通信。 2.数据…

AI健身体能测试之基于paddlehub实现引体向上计数个数统计

【引体向上计数】 本项目使用PaddleHub中的骨骼检测模型human_pose_estimation_resnet50_mpii,进行人体运动分析,实现对引体向上的自动计数。 1. 项目介绍 人体运动分析是近几年许多领域研究的热点问题。在学科的交叉研究上,人体运动分析涉…

【电机仿真】全速域观测器零速旋转方波高频注入+低速+高速滑模观测器三段式启动

【电机仿真】全速域观测器零速脉振方波高频注入低速高速滑模观测器三段式启动 文章目录 前言一、零速——HFI方波注入1.HFI观测器2.静止坐标系——旋转高频电压信号3.PLL1锁相环4.PLL2锁相环 二、零速到中高速——HFI切SMO1.函数定义2.函数内部 三、中高速——SMO观测器1.SMO观…

卸载完mathtype后,删除word加载项中的mathtype

请参考博客“卸载完mathtype后,word加载项中还是有mathtype的解决方法_怎么删除word加载项里的mathtype-CSDN博客”以及 “安装卸载MathType经验解决MathType DLL找不到的问题——超实用_mathtype dll cannot-CSDN博客” 如果在删除.dotm文件时,删不掉…

CenterPoint-KITTI:环境配置、模型训练、效果展示;KITTI 3D 目标检测数据集下载

目录 前言 Python虚拟环境创建以及使用 KITTI3D目标检测数据集 CenterPoint-KITTI编译遇到问题合集 ImportError: cannot import name VoxelGenerator from spconv.utils 失败案例 最终解决方案 对于可选参数,road plane的处理 E: Unable to locate packag…

supermap iclient3d for cesium中entity使用

目标将西南石油大学部分区域围起来,然后引个标签显示名称,最后弄个飞机绕学校飞(这个时间有点晚了,明天弄) 围墙: wall:{positions:Cesium.Cartesian3.fromDegreesArrayHeights([104.173,30.822,500,104.178,30.837,500,104.19,3…

数据库之索引<保姆级文章>

目录: 一. 什么是索引 二. 索引应该选择哪种数据结构 三. MySQL中的页 四. 索引分类及使用 一. 什么是索引: 1. MySQL的索引是⼀种数据结构,它可以帮助数据库高效地查询、更新数据表中的数据。 索引通过 ⼀定的规则排列数据表中的记录&#x…

动态内存

动态内存分配函数:在程序运行时为变量或数据结构开辟的内存空间的函数。 有三个重要的动态分配函数:malloc、calloc、realloc。 动态内存分配函数 malloc 这个函数是向内存中申请一块连续的空间,返回一个指向这个块空间的指针。 如果开辟成…

【Elasticsearch系列七】索引 crud

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

测试ASP.NET Core的WebApi项目调用WebService

虚拟机中部署的匿名访问的WebService,支持简单的加减乘除操作。本文记录在WebApi中调用该WebService的方式。   VS2022创建WebApi项目,然后在解决方案资源管理器的Connected Services节点点右键,选择管理连接的服务菜单。 点击下图圈红处…

【STM32 HAL库】IIC通信与CubeMX配置

【STM32 HAL库】IIC通信与CubeMX配置 前言理论IIC总线时序图IIC写数据IIC读数据 轮询模式CubeMX配置应用示例AHT20初始化初始化函数读取说明读取函数 中断模式CubeMX配置状态机图fsm.caht20.c DMA模式CubeMX配置代码 前言 本文为笔者学习 IIC 通信的总结,基于keysk…

评价类——熵权法(Entropy Weight Method, EWM),完全客观评价

目录 一、 熵权法赋权代码说明1.1 介绍 二、 手把手教你运行代码2.1 数据示例2.2 可直接运行代码2.3 shangquanfa_eg_Sheet1.csv数据可视化2.4 代码运行过程截屏2.5 代码运行结果截屏2.6 对熵权法的结果分析 三、 提供的代码如何修改?四、 为什么确定极小化指标&…

算法:计算二叉树的最大深度(Java实现)

思路 定义问题: 最大深度(或称为最大层数)是从根节点到最远叶子节点的路径上的节点数。我们需要找到这个最长路径的节点数。 递归的基本思路: 对于每个节点,我们需要计算其左子树的最大深度和右子树的最大深度。节点的…

54.【C语言】 字符函数和字符串函数(strncpy,strncat,strncmp函数)

和strcpy,strcat,strcmp函数对应的是strncpy,strncat,strncmp函数 8.strncpy函数 *简单使用 cplusplus的介绍 点我跳转 翻译: 函数 strncpy char * strncpy ( char * destination, const char * source, size_t num ); 从字符串中复制一些字符 复制源(source)字符串的前num个…

Redis详细解析

Redis 什么是Redis?关系型与非关系型数据库Redis可以做什么Redis入门安装在Windows系统上安装在Linux系统上安装 Redis在Linux系统上启动运行如何设置redis-server后台运行与关闭如何设置redis客户端登录时需要验证密码**设置允许远程连接redis服务**Redis数据类型Redis常用命…

魔方财务迁移指南

本文将详细介绍如何将魔方财务系统迁移到新的服务器,确保您能够顺利地迁移数据和系统文件。 迁移前的准备 在开始迁移之前,请确保新服务器满足以下配置要求: 操作系统:CentOS/Debian/Ubuntu硬件配置:至少2H2G&#…