基于springboot+mybatis+mysql+layui员工工资管理系统

news2024/11/25 2:24:05

基于springboot+mybatis+mysql+layui员工工资管理系统

  • 一、目的
  • 二、需求
    • 功能划分
    • 系统结构设计
    • 软件界面截图
  • 三、系统开发配置

一、目的

​ 运用JavaEE企业级系统开发、数据库系统、面向对象技术及UML以及软件需求工程所学专业知识,解决所设定业务领域软件开发中的需求分析、软件设计、系统部署等问题,培养解决工程问题的能力,​设计并实现一个职工工资管理系统。

二、需求

账户管理

(1) 内置系统管理员账户和人力资源工作人员账户;

(2) 创建/禁用/删除/查询其他账户;

(3) 个人基本信息:账户名、个人真实姓名、性别、年龄、联系方式等;

(4) 关联账户至指定部门;

2.部门管理

(1) 内置人力资源部、财务部;

(2) 创建/更名/合并/删除部门;

3.授权

(1) 给账户授予权限;

(2) 不同的权限可以使用的功能不同;

(3) 权限可以使用内置、固定的方式实现;

4.薪资基本参数

(1) 每个员工的基本薪资都不相同,并可以由人力资源管理人员设置;

(2) 迟到,旷工扣薪标准可以设置;

(3) 加班薪资可分为周末加班(2倍)和节日加班(3倍),加班时长按照小时计算;

5.奖惩录入

(1) 市场部人员有销售提成;

(2) 节日发放员工福利奖金;

(3) 年末发放年终奖金;

(4) 录入迟到、旷工、加班等奖惩记录;

6.薪资发放

(1) 只在有经过审核后,才能发放薪资。

7.薪资查看

(1) 个人账户中可以查看自己的薪资情况;

(2) 部门经理可以查看本部门所有人的薪资情况;

(3) 财务部门和人力资源部门可以查看全公司所有人的薪资情况;

8.薪资统计

(1) 按需对公司的薪资发放情况进行统计,以便人力资源和财务部门对公司的人力成本进行评估和评价;

功能划分

组织结构

在这里插入图片描述

用例图

在这里插入图片描述

数据库设计

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

系统结构设计

文件命名

1、动名词

2、长度为2-3个单词

3、驼峰式

4、体现文件内容和含义

文件结构

前端

templates------ thymeleaf模板页面
static-------静态文件

后端

src
 main
	java
		com.salary
			config--------------配置包
			controller----------控制器
			dao-----------------mapper映射接口
			entity--------------实体
			exception-----------全局异常处理
			interceptor---------拦截器
			model---------------控制模型
			schedule------------定时器
			service-------------服务层
				imp-------------实现包
			util----------------工具包
			web-----------------thymeleaf网络服务
			SalaryApplication.java----启动类
	resoures
		mapper-------------------mapper映射器
		application.yml----------主配置文件
		application-dev.yml------数据库配置文件
pom.xml--------------------------依赖文件

截图

在这里插入图片描述

基于RBAC用户角色权限结构

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。本系统在此基础上进行简化,将权限放置在菜单字段中。并利用shiro安全认证框架是实现了按钮级别的权限控制。

在一些敏感的管理系统会进行认证,只有该登录用户所在的角色拥有该模块的访问权限,系统才会允许访问。如图

在这里插入图片描述

软件界面截图

登录

地址:http://localhost:8080/salary/

在这里插入图片描述

管理员界面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、系统开发配置

技术栈

  1. 核心框架:Spring Boot。

  2. 安全框架:Apache Shiro。

  3. 模板引擎:Thymeleaf。

  4. 持久层框架:MyBatis。

  5. 数据库连接池:Druid。

  6. 工具类:Fastjson。

硬件设备

数据库:mysql、redis

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

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

相关文章

2021一带一路暨金砖大赛之企业信息系统安全赛项AWD_writeup

更多详情私聊博主 订阅专栏解锁更多~~觉得不错麻烦点个赞~~~ AWD_writeup 主要考点:后门账户、数据库操作、cve漏洞、后门漏洞、自动化攻击 1、解法一 ssh弱口令账户 用户登录后cat /etc/passwd 发现系统存在额外账户 使用msf进行ssh爆破尝试 msfconsole use auxiliary/sca…

洛谷 最长公共子序列

LCS 题面翻译 题目描述: 给定一个字符串 sss 和一个字符串 ttt ,输出 sss 和 ttt 的最长公共子序列。 输入格式: 两行,第一行输入 sss ,第二行输入 ttt 。 输出格式: 输出 sss 和 ttt 的最长公共子序…

程序的动态链接(4):动态链接信息

前言 操作系统在执行动态链接的可执行文件时,会首先加载动态链接器,然后由动态链接器根据保存在可执行文件中的动态链接信息,完成依赖动态库的加载、符号解析以及重定位等工作。这些动态链接信息包括但不限于: 动态链接器路径&a…

联邦调查局和国际执法合作加强打击非法DDS攻击

©网络研究院 美国司法部在12月14日查封了48个出售“booter”或“stresser”服务的域名,这些服务使非技术用户可以轻松、廉价地发起强大的分布式拒绝服务(DDoS)攻击,旨在离线攻击目标。 司法部还指控六名美国男子犯有计算机罪,他们涉嫌…

基于simulink的PV光伏发电MPPT仿真

up目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 由于人口增加、城市化和工业化,能源需求与日俱增,可再生能源是我们传统能源的替代品,因为传统能源是有限的,而且会过期。 太阳能、风能和水能等清洁能源变得越来越…

老生常谈React的diff算法原理-面试版

第一次发文章 not only(虽然)版式可能有点烂 but also (但是)最后赋有手稿研究 finally看完他你有收获 diff算法:对于update的组件,他会将当前组件与该组件在上次更新是对应的Fiber节点比较,将比…

关于2022年国内软件质量调查问卷的一些感悟与收获

📋前言 1️⃣关于2022年国内软件质量调查主题征文活动 CSDN《2022年国内软件质量调查》正式开启,我们诚邀各位博主,特别是测试领域的各位技术er参与调查,并围绕主题,撰写《我填写“2022年国内软件质量调查问卷”的感想…

刷了一个月面试题,终于拿到了字节跳动的offer

一面 自我介绍项目中的监控:那个监控指标常见的有哪些?微服务涉及到的技术以及需要注意的问题有哪些?注册中心你了解了哪些?consul 的可靠性你了解吗?consul 的机制你有没有具体深入过?有没有和其他的注册…

(二)fiber的基本认识

上一篇文章我们了解了react新老结构的差异以及存在的缺点,其中react的解决方案就是采用fiber架构和添加Schedule模块。 ✍️:Schedule模块的主要工作是任务的调度,负责调度不同优先级任务的执行时机,这个我们后面再讲,…

Ardor公链生态与Jelurida产业区块链布局

Ardor公链 Ardor公链(ARDR)基于NXT公链,并于2018年1月1日推出了多链架构,旨在克服单链本质上的局限性。根据Ardor平台的白皮书,其主要目标是: 解决最终用户必须拥有作为手续费(Gas费&#xff…

FineReport复杂表格软件- 相对层次坐标

1. 概述 相对层次坐标是用来描述目标单元格和当前单元格之间的位置关系的表达式,概念图如下图所示: 说明: 参数 说明 Cellx 表示需要返回结果的单元格 Celly 表示位移时参考的单元格 z 代表相对位移的位置 注:相对后移需要…

【Linux】必须掌握的Linux常见指令分类讲解

目录一.Linux下的文件树二.工作目录切换命令1.ls——显示当前路径下的文件和目录2.pwd——显示当前目录的绝对值路径3.cd——切换至指定目录三.文件目录管理命令1.touch——创建空文件2.tree——树状打印目录3.mkdir——创建目录4.rmdir 和 rm ——删除目录5.cp——拷贝文件或目…

Python编程小白入门技巧,从入门到精通只需一个月。

毫无疑问,Python 是当下最火的编程语言之一。对于许多未曾涉足计算机编程的领域「小白」来说,深入地掌握 Python 看似是一件十分困难的事。其实,只要掌握了科学的学习方法并制定了合理的学习计划,Python 从 入门到精通只需要一个月…

【iOS】接口与API设计

文章目录前言用前缀避免命名空间冲突提供“全能初始化方法”实现description方法尽量使用不可变对象使用清晰而协调的命名方式方法命名类与协议的命名为私有方法名加前缀理解Objective-C错误模型理解NSCopying协议前言 我们在构建程序应用时,如果决定重用代码&…

DPDK 网卡驱动学习

DPDK版本19.02 初始化: /* Launch threads, called at application init(). */ int rte_eal_init(int argc, char **argv) {.../* rte_eal_cpu_init() ->* eal_cpu_core_id()* eal_cpu_socket_id()* 读取/sys/devices/system/[cpu|node]* 设置lcore_con…

考试管理系统

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 模块划分:老师模块、班级模块、学生模块、课程模块、试题模块、试卷模块、 组卷模块、考试模块、答题模块 管…

Python数据分析实战之用户消费行为数据分析

任务1:数据预处理 表格数据资源如下百度网盘👇 链接:https://pan.baidu.com/s/1pUYfRIe557v6O9ByB2rhEw 提取码:ovgl import numpy as np import pandas as pd import matplotlib.pyplot as plt # %matplotlib inline # 更改绘…

OrangePi 5 Docker下安装OpenWRT作软路由(同样适用于树莓派等设备)

OrangePi5 Docker下安装OpenWRT作软路由(同样适用于树莓派等设备) 说明 本文的软路由作为家中的二级路由,用一根网线连接主路由的LAN口和二级路由的WAN口(当主路由使用配置类似) 如果你想要作为旁路由或中继路由使用…

VUE中render渲染函数(h函数)

vue在绝大多数情况下都推荐使用模板来编写html结构,但是对于一些复杂场景下需要完全的JS编程能力,这个时候我们就可以使用渲染函数 ,它比模板更接近编译器 vue在生成真实的DOM之前,会将我们的节点转换成VNode,而VNode组合在一起形…

巡更标签 “ PE29_BLE_XG

在我们日常中有一些场景涉及到打卡,比如一个设备需要维护,需要每天有工作人员到现场进行检查或者维护操作,目前普通的做法是弄个二维码到场扫码或者本子记录,用记录的方式明显太落后,容易导致监管不好操作,…