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

SpringBoot+Vue企业员工薪酬管理系统源码+论文

代码可以查看文章末尾⬇️联系方式获取记得注明来意哦~分享万套开题报告任务书答辩PPT模板作者完整代码目录供你选择《SpringBoot网站项目》1800套《SSM网站项目》1500套《小程序项目》1600套《APP项目》1500套《Python网站项目》1300套⬇️文章末尾可以获取联系方式需要源码或者演示视频可以联系⬇️⚡感兴趣大家可以点点关注收藏后续更新更多项目资料。⚡采用技术编程语言Java后端框架SpringBoot前端框架Vue数据库MySQL数据表数量12张表运行软件IDEA、Eclipse、VS Code都可以系统功能本系统实现管理员、员工模块。管理员模块功能员工、薪酬结构、考勤记录、绩效考核、奖惩信息、员工工资、通知公告、通知公告分类等。员工模块功能考勤记录、绩效考核、奖惩信息、员工工资、通知公告等。运行截图论文目录核心代码packagecom.controller;importjava.text.SimpleDateFormat;importcom.alibaba.fastjson.JSONObject;importjava.util.*;importorg.springframework.beans.BeanUtils;importjavax.servlet.http.HttpServletRequest;importorg.springframework.web.context.ContextLoader;importjavax.servlet.ServletContext;importcom.service.TokenService;importcom.utils.StringUtil;importjava.lang.reflect.InvocationTargetException;importcom.service.DictionaryService;importorg.apache.commons.lang3.StringUtils;importcom.annotation.IgnoreAuth;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.*;importcom.baomidou.mybatisplus.mapper.EntityWrapper;importcom.baomidou.mybatisplus.mapper.Wrapper;importcom.entity.YonghuEntity;importcom.service.YonghuService;importcom.entity.view.YonghuView;importcom.utils.PageUtils;importcom.utils.R;RestControllerControllerRequestMapping(/yonghu)publicclassYonghuController{privatestaticfinalLoggerloggerLoggerFactory.getLogger(YonghuController.class);AutowiredprivateYonghuServiceyonghuService;AutowiredprivateTokenServicetokenService;AutowiredprivateDictionaryServicedictionaryService;//级联表service/** * 后端列表 */RequestMapping(/page)publicRpage(RequestParamMapString,Objectparams,HttpServletRequestrequest){logger.debug(page方法:,,Controller:{},,params:{},this.getClass().getName(),JSONObject.toJSONString(params));params.put(orderBy,id);PageUtilspageyonghuService.queryPage(params);//字典表数据转换ListYonghuViewlist(ListYonghuView)page.getList();for(YonghuViewc:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c);}returnR.ok().put(data,page);}/** * 后端详情 */RequestMapping(/info/{id})publicRinfo(PathVariable(id)Longid){logger.debug(info方法:,,Controller:{},,id:{},this.getClass().getName(),id);YonghuEntityyonghuyonghuService.selectById(id);if(yonghu!null){//entity转viewYonghuViewviewnewYonghuView();BeanUtils.copyProperties(yonghu,view);//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view);returnR.ok().put(data,view);}else{returnR.error(511,查不到数据);}}/** * 后端保存 */RequestMapping(/save)publicRsave(RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){logger.debug(save方法:,,Controller:{},,yonghu:{},this.getClass().getName(),yonghu.toString());WrapperYonghuEntityqueryWrappernewEntityWrapperYonghuEntity().eq(username,yonghu.getUsername()).or().eq(yonghu_phone,yonghu.getYonghuPhone()).or().eq(yonghu_id_number,yonghu.getYonghuIdNumber());;logger.info(sql语句:queryWrapper.getSqlSegment());YonghuEntityyonghuEntityyonghuService.selectOne(queryWrapper);if(yonghuEntitynull){yonghu.setCreateTime(newDate());yonghu.setPassword(123456);// String role String.valueOf(request.getSession().getAttribute(role));// if(.equals(role)){// yonghu.set// }yonghuService.insert(yonghu);returnR.ok();}else{returnR.error(511,账户或者身份证号或者手机号已经被使用);}}/** * 后端修改 */RequestMapping(/update)publicRupdate(RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){logger.debug(update方法:,,Controller:{},,yonghu:{},this.getClass().getName(),yonghu.toString());//根据字段查询是否有相同数据WrapperYonghuEntityqueryWrappernewEntityWrapperYonghuEntity().notIn(id,yonghu.getId()).andNew().eq(username,yonghu.getUsername()).or().eq(yonghu_phone,yonghu.getYonghuPhone()).or().eq(yonghu_id_number,yonghu.getYonghuIdNumber());;logger.info(sql语句:queryWrapper.getSqlSegment());YonghuEntityyonghuEntityyonghuService.selectOne(queryWrapper);if(.equals(yonghu.getYonghuPhoto())||null.equals(yonghu.getYonghuPhoto())){yonghu.setYonghuPhoto(null);}if(yonghuEntitynull){// String role String.valueOf(request.getSession().getAttribute(role));// if(.equals(role)){// yonghu.set// }yonghuService.updateById(yonghu);//根据id更新returnR.ok();}else{returnR.error(511,账户或者身份证号或者手机号已经被使用);}}/** * 删除 */RequestMapping(/delete)publicRdelete(RequestBodyInteger[]ids){logger.debug(delete:,,Controller:{},,ids:{},this.getClass().getName(),ids.toString());yonghuService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}/** * 登录 */IgnoreAuthRequestMapping(value/login)publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){YonghuEntityyonghuyonghuService.selectOne(newEntityWrapperYonghuEntity().eq(username,username));if(yonghunull||!yonghu.getPassword().equals(password)){returnR.error(账号或密码不正确);}StringtokentokenService.generateToken(yonghu.getId(),username,yonghu,用户);RrR.ok();r.put(token,token);r.put(role,用户);r.put(username,yonghu.getYonghuName());r.put(tableName,yonghu);r.put(userId,yonghu.getId());returnr;}/** * 注册 */IgnoreAuthPostMapping(value/register)publicRregister(RequestBodyYonghuEntityyonghu){// ValidatorUtils.validateEntity(user);if(yonghuService.selectOne(newEntityWrapperYonghuEntity().eq(username,yonghu.getUsername()).orNew().eq(yonghu_phone,yonghu.getYonghuPhone()).orNew().eq(yonghu_id_number,yonghu.getYonghuIdNumber()))!null){returnR.error(账户已存在或手机号或身份证号已经被使用);}yonghuService.insert(yonghu);returnR.ok();}/** * 重置密码 */GetMapping(value/resetPassword)publicRresetPassword(Integerid){YonghuEntityyonghunewYonghuEntity();yonghu.setPassword(123456);yonghu.setId(id);yonghuService.updateById(yonghu);returnR.ok();}/** * 获取用户的session用户信息 */RequestMapping(/session)publicRgetCurrYonghu(HttpServletRequestrequest){Integerid(Integer)request.getSession().getAttribute(userId);YonghuEntityyonghuyonghuService.selectById(id);returnR.ok().put(data,yonghu);}/** * 退出 */GetMapping(valuelogout)publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok(退出成功);}}t(data,yonghu);}/** * 退出 */GetMapping(valuelogout)publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok(退出成功);}}).invalidate();returnR.ok(退出成功);}}t(data,yonghu);}/** * 退出 */GetMapping(valuelogout)publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok(退出成功);}}

相关文章:

SpringBoot+Vue企业员工薪酬管理系统源码+论文

代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 分享万套开题报告任务书答辩PPT模板 作者完整代码目录供你选择: 《SpringBoot网站项目》1800套 《SSM网站项目》1500套 《小程序项目》1600套 《APP项目》1500套 《Python网站项目》…...

如何通过DeepWiki实现本地部署的智能文档生成与数据安全保障?

如何通过DeepWiki实现本地部署的智能文档生成与数据安全保障? 【免费下载链接】deepwiki-open Open Source DeepWiki: AI-Powered Wiki Generator for GitHub Repositories 项目地址: https://gitcode.com/gh_mirrors/de/deepwiki-open 在数字化开发的浪潮中…...

DeerFlow开源项目部署与实践指南:从环境准备到生产落地

DeerFlow开源项目部署与实践指南:从环境准备到生产落地 【免费下载链接】deer-flow DeerFlow is a community-driven framework for deep research, combining language models with tools like web search, crawling, and Python execution, while contributing ba…...

计算机毕设 java 基于 Java+Spring 的疫苗接种管理系统的设计与实现 智能疫苗接种预约系统 疫苗接种全流程管理平台

计算机毕设 java 基于 JavaSpring 的疫苗接种管理系统的设计与实现 69geq9(配套有源码 程序 mysql 数据库 论文)本套源码可以先看具体功能演示视频领取,文末有联 xi 可分享在社会对公共卫生安全愈发重视的背景下,疫苗接种作为重要…...

Windows远程桌面多用户协作解决方案:从原理到实践

Windows远程桌面多用户协作解决方案:从原理到实践 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini 问题溯源:远程协作的瓶颈与突破 当团队成员需要同…...

GIS小白也能搞定!用QGIS加载2023版全国自然保护区SHP数据的保姆级教程

GIS小白也能搞定!用QGIS加载2023版全国自然保护区SHP数据的保姆级教程 第一次接触GIS软件时,看着满屏的专业术语和复杂界面,很多人都会感到无从下手。但别担心,今天我们就用最通俗易懂的方式,带你一步步完成全国自然保…...

QuantsPlaybook因子测试框架深度剖析:量化因子评估的创新方法论

QuantsPlaybook因子测试框架深度剖析:量化因子评估的创新方法论 【免费下载链接】QuantsPlaybook 项目地址: https://gitcode.com/GitHub_Trending/qu/QuantsPlaybook 副标题:如何构建稳定有效的选股策略?从原理到实战的完整指南 量…...

文脉定序系统一键部署教程:基于Ubuntu 20.04的快速环境搭建

文脉定序系统一键部署教程:基于Ubuntu 20.04的快速环境搭建 你是不是也对那些能理解上下文、进行长文本对话的AI模型感到好奇?想自己动手部署一个来玩玩,但一看到复杂的安装步骤和满屏的命令行就头疼?别担心,今天我就…...

罗技鼠标PUBG压枪宏:三步实现稳定射击的终极指南

罗技鼠标PUBG压枪宏:三步实现稳定射击的终极指南 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg logitech-pubg是一个专为绝地求生玩…...

Simple Comic:Mac平台的开源漫画阅读解决方案

Simple Comic:Mac平台的开源漫画阅读解决方案 【免费下载链接】Simple-Comic OS X comic viewer 项目地址: https://gitcode.com/gh_mirrors/si/Simple-Comic 你是否曾遇到这样的困扰:在Mac上尝试打开漫画文件时,不是格式不兼容就是阅…...

铜钟音乐:专注纯净听歌体验的终极免费音乐平台指南

铜钟音乐:专注纯净听歌体验的终极免费音乐平台指南 【免费下载链接】tonzhon-music 铜钟 (Tonzhon.com): 免费听歌; 没有直播, 社交, 广告, 干扰; 简洁纯粹, 资源丰富, 体验独特!(密码重置功能已回归) 项目地址: https://gitcode.com/GitHub_Trending/…...

YOLOv9官方镜像快速入门:三步完成图片检测,支持自定义数据集训练

YOLOv9官方镜像快速入门:三步完成图片检测,支持自定义数据集训练 1. 环境准备与快速部署 YOLOv9官方训练与推理镜像已经预装了完整的深度学习开发环境,包含所有必要的依赖项。这意味着你不需要手动安装Python、CUDA或PyTorch,也…...

RexUniNLU GPU算力适配:A10/A100/T4多卡并行推理配置与吞吐量实测

RexUniNLU GPU算力适配:A10/A100/T4多卡并行推理配置与吞吐量实测 1. 引言:当零样本NLU遇上GPU加速 想象一下,你有一个能听懂人话的智能助手。你告诉它“帮我订一张明天下午去上海的机票”,它不仅能明白你想订票,还能…...

思博伦TestCenter打流丢包?别急着甩锅设备,先看看这个20字节的‘隐形签名’

思博伦TestCenter打流丢包?别急着甩锅设备,先看看这个20字节的‘隐形签名’ 当你在深夜的机房里盯着思博伦TestCenter的测试报告,发现RFC2544吞吐量测试结果突然归零,而端口统计与流统计的数值差异大得离谱时,那种抓狂…...

3个关键步骤解决INAV VTOL模式切换抖动问题

3个关键步骤解决INAV VTOL模式切换抖动问题 【免费下载链接】inav INAV: Navigation-enabled flight control software 项目地址: https://gitcode.com/gh_mirrors/in/inav 垂直起降(VTOL)无人机融合了固定翼的续航优势与多旋翼的起降灵活性&…...

蓝牙UUID:从标准服务到自定义通信的密钥

1. 蓝牙UUID:智能设备的身份证 想象一下你走进一个满是蓝牙设备的房间——智能手环在测量心率,温湿度计在报告数据,智能灯泡等待你的指令。这些设备如何知道该响应哪个请求?答案就藏在那个128位的UUID(通用唯一识别码…...

完整指南:为什么选择WeChatMsg开源工具解决你的微信聊天记录备份与分析难题

完整指南:为什么选择WeChatMsg开源工具解决你的微信聊天记录备份与分析难题 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitH…...

Loop:重新定义macOS窗口管理的艺术与科学

Loop:重新定义macOS窗口管理的艺术与科学 【免费下载链接】Loop MacOS窗口管理 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 在数字工作空间中,窗口管理不再是简单的排列组合,而是一种提升专注力与创造力的空间艺术。Loop…...

如何将闲置Globe键重构为效率引擎?Karabiner-Elements自定义修饰键全指南

如何将闲置Globe键重构为效率引擎?Karabiner-Elements自定义修饰键全指南 【免费下载链接】Karabiner-Elements Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra (10.12) or later. 项目地址: https://gitcode.com/gh_mirr…...

24小时运行OpenClaw:nanobot定时任务监控方案

24小时运行OpenClaw:nanobot定时任务监控方案 1. 为什么需要24小时运行的OpenClaw? 去年夏天,我因为忘记备份一个重要项目文件而损失了三天的工作量。当时就想,如果能有个"数字管家"帮我定时执行这些重复性任务该多好…...

IntelliJ插件开发实战:5分钟搞定Action类库配置(附完整代码示例)

IntelliJ插件开发实战:5分钟搞定Action类库配置(附完整代码示例) 如果你刚接触IntelliJ插件开发,可能会被各种概念和配置搞得晕头转向。Action作为插件开发中最基础也最核心的组件之一,掌握它的使用方法是开发交互式功…...

Android SELinux权限调试实战:从avc denied到te文件修复

1. 初识SELinux权限问题:从avc denied开始 第一次看到avc denied日志时,我盯着那行红字足足愣了五分钟。当时正在调试一个需要访问系统目录的App,突然就蹦出来这么一段: avc: denied { write } for comm"com.test" name…...

Jaspersoft Studio 动态字体颜色设置实战指南

1. 为什么需要动态字体颜色? 在报表开发中,数据可视化是提升信息传达效率的关键手段。想象一下,当你的老板查看月度销售报表时,如果所有数字都是千篇一律的黑色,他需要花费多少时间才能找到异常数据?而如果…...

gte-base-zh效果展示:中文诗歌风格迁移评估——基于向量空间距离的风格量化分析

gte-base-zh效果展示:中文诗歌风格迁移评估——基于向量空间距离的风格量化分析 1. 引言:当AI遇见古诗词 想象一下,你是一位诗词爱好者,想尝试把李白的豪放诗句改写成李清照的婉约风格。传统上,这需要深厚的文学功底…...

互联网大厂最全 Java 面试八股文题库

纵观几年来的 Java 面试题,你会发现每家都差不多。你仔细观察就会发现,HashMap 的出现几率未免也太高了吧!连考察的知识点都一样,什么 hash 碰撞啊,并发问题啊!再比如 JVM,无外乎考内存结构&…...

Audio Pixel Studio实操案例:教育行业课件配音自动化+教学音频素材分离

Audio Pixel Studio实操案例:教育行业课件配音自动化教学音频素材分离 1. 教育音频处理的痛点与解决方案 1.1 教育行业的音频需求现状 教育工作者在日常教学中面临着大量音频处理需求: 课件配音需要专业播音员水准教学视频需要清晰的人声与背景音乐分…...

GEE下载哨兵2号影像时,如何避开云层和无效数据?我的季度合成与质量筛选实战

GEE实战:哨兵2号影像季度合成与云层规避全流程解析 湿地生态监测中,云层干扰是每位研究者都绕不开的痛点。去年我在分析鄱阳湖湿地植被动态时,曾因云污染损失了整整两个季度的有效数据。本文将分享如何通过GEE平台,从数据筛选到季…...

2步实现格式自由:Save Image as Type让网页图片转换体验升级10倍

2步实现格式自由:Save Image as Type让网页图片转换体验升级10倍 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址: https://gitcode.com/gh_mirrors…...

OpenVoice语音合成技术全解析:从痛点突破到多场景落地实践

OpenVoice语音合成技术全解析:从痛点突破到多场景落地实践 【免费下载链接】OpenVoice 项目是MyShell AI开源的即时语音克隆技术OpenVoice,旨在提供一种能够快速从少量语音样本中准确复制人类声音特征,并实现多种语言及语音风格转换的解决方案…...

Mplus路径系数差异比较实战:两种方法详解与选择指南

Mplus路径系数差异比较实战:两种方法详解与选择指南 在结构方程模型分析中,研究者常常需要比较不同路径系数或中介效应是否存在显著差异。比如,你可能想知道性别对工作满意度的直接影响是否显著大于其对组织承诺的影响,或者比较两…...