SpringBoot+Vue实现前后端分离的员工日志管理信息系统

news2024/12/24 2:08:12

文末获取源码

开发语言:Java

使用框架:spring boot

前端技术:JavaScript、Vue.js 、css3

开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code

数据库:MySQL 5.7/8.0

数据库管理工具:phpstudy/Navicat

JDK版本:Java jdk8

Maven:apache-maven 3.8.1-bin

目录

一、前言介绍 

二、系统功能 

三、系统前台模块

3.1系统首页页面

3.2前台注册页面

3.3部门列表页面

3.4项目组详情页面 

3.5人员列表页面  

四、管理员功能模块

4.1公告内容管理页面

4.2用户管理页面

4.3内容模块管理页面

4.4部门列表管理页面 

4.5员工日志管理页面  

五、部门主管功能模块 

5.1工作追踪管理页面

5.2人员列表管理页面 

六、员工功能模块 

6.1员工日志页面  

七、部分核心代码 

7.1部门列表关键代码 

7.2人员列表关键代码

7.3代办任务管理关键代码 

7.4员工日志管理关键代码


一、前言介绍 

员工日志管理信息系统选择系统采用了Java的Springboot框架,开发了功能完备、使用简单的前端应用程序,并建立、维护了一个数据完整、安全、稳定性强的后台数据库系统。 

员工日志管理信息系统是采用java语言,基于MVVM模式进行开发,采取MySQL作为后台数据的主要存储单元,采用Springboot框架实现了本系统的全部功能。实现基于Springboot的员工日志管理信息系统,具有工作追踪、部门列表、待办工作、人员列表、员工日志管理等功能,本系统代码的复用率高,系统维护代价小,具有方便、灵活、高效等特征。

二、系统功能 

本员工日志管理信息系统主要包括四大功能模块,即管理员、部门主管、普通员工、总经理功能模块。

(1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员来管理后台系统。主要功能有:公告内容(轮播图、公告栏),系统用户(管理员、部门主管、普通员工、总经理),内容模块(通知列表、新闻分类列表)、模块管理(待办任务、部门列表、项目组列表、员工日志、人员列表)等功能。 

(2)前台员工:首页、公告消息、通知列表、部门列表、项目组列表、人员列表、我的(我的账户、个人中心、退出)。

(3)部门主管:工作追踪、部门列表、项目组列表、员工日志、人员列表。

三、系统前台模块

3.1系统首页页面

3.2前台注册页面

3.3部门列表页面

3.4项目组详情页面 

3.5人员列表页面  

四、管理员功能模块

4.1公告内容管理页面

4.2用户管理页面

4.3内容模块管理页面

4.4部门列表管理页面 

4.5员工日志管理页面  

五、部门主管功能模块 

5.1工作追踪管理页面

5.2人员列表管理页面 

六、员工功能模块 

6.1员工日志页面  

七、部分核心代码 

7.1部门列表关键代码 

 @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

}

    public void insert(Map<String,Object> body){

        StringBuffer sql = new StringBuffer("INSERT INTO ");

        sql.append("`").append(table).append("`").append(" (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

        }

        sql.deleteCharAt(sql.length()-1);

        sql.append(") VALUES (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            Object value = entry.getValue();

            if (value instanceof String){

                sql.append("'").append(entry.getValue()).append("'").append(",");

            }else {

                sql.append(entry.getValue()).append(",");

            }

        }

        sql.deleteCharAt(sql.length() - 1);

        sql.append(")");

        log.info("[{}] - 插入操作:{}",table,sql);

        Query query = runCountSql(sql.toString());

        query.executeUpdate();

    }

7.2人员列表关键代码

 @RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

}

7.3代办任务管理关键代码 

  @RequestMapping(value = {"/avg_group", "/avg"})

public Map<String, Object> avg(HttpServletRequest request) {

        Query count = service.avg(service.readQuery(request), service.readConfig(request));

        return success(count.getResultList());

}

7.4员工日志管理关键代码

@RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

}

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

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

相关文章

以工程化路径破题,中国系统推动数据要素化

光阴似箭&#xff0c;大数据产业已走过十余载。 如今&#xff0c;人们在各种数字化场景中深刻感受到数据所蕴含的巨大价值&#xff0c;也深深为数据滥用、数据窃取、数据非法交易等各种乱象而担忧。似乎&#xff0c;数据安全与和数据流动、共享与使用已成一对天然的“矛盾”&a…

15.前端笔记-CSS-PS切图

1、图片格式 格式优点jpg同jpeg,产品类图片常用&#xff0c;高清&#xff0c;颜色多gif可以保存成透明背景和动画效果&#xff0c;图片小动画常用&#xff0c;最多存储256色png结合了jpg和gif的优点&#xff0c;保存为背景透明&#xff0c;存储形式丰富psdphotoshop的文件格式…

JMM(Java Memory Model)

Java虚拟机规范中定义了Java内存模型&#xff08;共享内存模型&#xff0c;实现线程与线程之间的通信&#xff0c;其中主内存是逻辑空间&#xff09;&#xff0c;用于屏蔽掉各种硬件和操作系统的内存访问差异&#xff0c;以实现让Java程序在各种平台下都能达到一致的并发效果&a…

30张图 讲清楚Redis Cluster

今天下午和一位同学聊Redis集群&#xff0c;这玩意真没那么简单&#xff0c;内容非常多。 Redis Cluster是Redis官方提供的Redis集群功能。 1.为什么要实现Redis Cluster 1.主从复制不能实现高可用 2.随着公司发展&#xff0c;用户数量增多&#xff0c;并发越来越多&#x…

基于微分段的东西向安全防护,如何提升数据中心运维效率?|社区成长营分享回顾

在社区成长营网络与安全第二期分享中&#xff0c;SmartX 高级产品营销经理张涛介绍了原生于超融合系统的微分段防火墙和其工作模式的特点&#xff08;点击查看第二期图文总结&#xff09;。 网络与安全第三期分享继续由张涛老师提供&#xff0c;以下为内容回顾。 SmartX 社区成…

品质创未来!流辰信息技术公司实力谱新章!

对于一个企业而言&#xff0c;一辈子用心做好一件事就是对社会最大的贡献。自从深耕于低代码开发平台领域以来&#xff0c;流辰信息技术公司便时刻保持着奋斗和创新的研发心态&#xff0c;不仅增强自主创新能力&#xff0c;而且还积极扩大队伍团队和实力&#xff0c;立志为每一…

【新知实验室-TRTC开发】实时音视频之集美真心话

目录 前言&#xff1a; 一、说说TRTC呗 语音互动直播 语聊房 语音电台 二、成为TRTC的体验官 1、1分钟了解TRTC产品 2、2分钟新手入门 3、别忘了入场券&#xff0c;也别告诉别人哦 三、3分钟完成新应用搭建 1、解压下载源码 2、修改JS文件 3、修改index文件 4、和集…

【Android App】蓝牙的设备配对、音频传输、点对点通信的讲解及实战(附源码和演示 超详细)

需要源码请点赞关注收藏后评论区留言私信~~~ 一、蓝牙设备配对 Android提供了蓝牙模块的管理工具&#xff0c;名叫BluetoothAdapter。下面是BluetoothAdapter类常用的方法说明&#xff1a; getDefaultAdapter&#xff1a;获取默认的蓝牙适配器。 getState&#xff1a;获取蓝…

nodejs事件循环

简介 单线程 提到node&#xff0c;我们就可以立刻想到单线程、异步IO、事件驱动等字眼。首先要明确的是node真的是单线程的吗&#xff0c;如果是单线程的&#xff0c;那么异步IO&#xff0c;以及定时事件&#xff08;setTimeout、setInterval等&#xff09;又是在哪里被执行的…

Qt “$$“符号的讲解

一.方便调试pro工程 举例方便理解。 在.pro文件中添加如下代码。 编译运行后在“概要信息”可以看到如下结果。 若将$$去掉&#xff0c;则打印的内容为message括号里本身的内容。 保存后可以看到 CSDN QT技术栈大纲&#xff1a;Qt开发必备技术栈学习路线和资料 二.方便其他工…

SpringMVC异常处理

SpringMVC异常简介 系统中异常包括两类&#xff1a;预期异常(检查型异常)和运行时异常 RuntimeException&#xff0c;前者通过捕获异常从而获取异常信息&#xff0c; 后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。 系统的 dao、service、controller 出现都通过…

C++ 语言学习 day15 复习 (7)

linux 上面&#xff1a; 操作步骤&#xff1a; 1. 2.找到 share 这个文件夹 3.找到 opencv 这个文件夹 4. 1.今天学习的摄像头 识别 人脸&#xff08; 独立开一个窗口&#xff09; &#xff0c; mian.cpp #include <iostream> #include "opencv2/core/core.hpp…

nnDetection复现Luna16 附模型

前提概要&#xff1a; 淘论文发现nnDetection框架对肺结节的检测效果挺好&#xff0c;便跑了跑复现了下&#xff0c; 作者诚不欺人&#xff0c;确实挺好&#xff0c; 并附上我依据文档训练的模型。 复现步骤&#xff1a; 1.安装 cuda11.4, cudnn8.2.4 2.创建虚拟环境 cond…

JAVA12_01学习总结(MySQL,约束)

今日内容 1. MySql基本查询 --ifnull(字段名称,预期值)-如果两个int类型数据求和,其中一个为null,那么结果就是null,使用ifnull来解决 -- 需求--查询姓名和成绩和 -- 创建表 CREATE TABLE test(id INT , -- 编号NAME VARCHAR(20) , -- 姓名age INT , -- 年龄math INT , -- 数…

html转pdf(总结五种方法Java)

html转pdf&#xff08;总结五种方法Java&#xff09; Java 实现html转pdf&#xff0c;总结五种方法。 推荐使用wkhtmltopdf,Itext 方法一&#xff1a;使用wkhtmltopdf 1、下载插件wkhtmltopdf https://wkhtmltopdf.org/downloads.html 2、本机测试 本目录下cmd进入 输入命…

解读数仓中的数据对象及相关关系

摘要&#xff1a;为实现不同的功能&#xff0c;GaussDB&#xff08;DWS&#xff09;提供了不同的数据对象类型&#xff0c;包括索引、行存表、列存表及其辅助表等。这些数据对象在特定的条件下实现不同的功能&#xff0c;为数据库的快速高效提供了保证&#xff0c;本文对部分数…

深聊性能测试,从入门到放弃之: Windows系统性能监控(一) 性能监视器介绍及使用。

性能监视器介绍及使用1、引言2、性能监视器2.1 打开方式2.2 基本介绍2.3 计数器介绍2.3.1 处理器性能计数器2.3.2 内存性能计数器2.3.3 网络性能计数器2.4 创建及使用2.4.1 用户自定义创建2.4.2 直接添加计数器3、总结1、引言 小屌丝&#xff1a;鱼哥&#xff0c;你有没有监控…

G1D28-hinge loss fuction-RAGA pre总结-DeBERTa-杂七杂八visiomathtypeexcel

一、hinge loss和交叉熵对比 (一 )hinge loss主要思想 让正确分类和错误分类的距离达到λ。λ用于控制两种分类样本之间的距离。 &#xff08;二&#xff09;对比学习 自监督学习的一种&#xff0c;不依赖标注数据进行学习。蛮有意思的&#xff0c;但是今天没时间了&#x…

逻辑学三大定律是什么?

逻辑思维三大定律: 同一律&#xff0c;矛盾律&#xff0c; 排中律。 同一律&#xff1a;A 是 A。 前后思维中&#xff0c;概念要同一。白马非马论违反同一律。商家的买一赠一&#xff0c;前后两个一不是同一个概念。违反同一律。矛盾律&#xff1a;A 是 B&#xff0c; A 不是B,…

【Android App】发送BLE广播及通过主从BLE实现聊天应用讲解及实战(附源码和演示 超详细)

需要源码请点赞关注收藏后评论区留言私信~~~ 一、发送BLE广播 调用蓝牙适配器的getBluetoothLeAdvertiser方法&#xff0c;获得BluetoothLeAdvertiser广播器对象。 广播器的主要方法说明如下&#xff1a; startAdvertising方法表示开始发送BLE广播&#xff0c; stopAdvertis…