SSM人事请假签到管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点
  SSM人事请假签到管理系统是一套完善的完整人事请假薪酬加班管理,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。

视频链接: https://www.bilibili.com/video/BV1Vw411p7wk/
前段主要技术css javascript jsp html LayUi jquery
后端主要技术 SpringMVC spring mybatis
数据库 mysql
开发工具 eclipse  JDK TOMCAT

二、功能介绍
系统主要角色包括员工和管理员
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)部门管理:对部门信息进行添加、删除、修改和查看
(3)员工管理:对员工信息进行添加、删除、修改和查看
(4)部门调换管理:对部门调换信息进行添加、删除、修改和查看
(5)薪资管理:对薪资信息进行添加、删除、修改和查看
(6)考勤管理:对考勤信息进行添加、删除、修改和查看
(7)任务管理:对任务信息进行添加、删除、修改和查看
(8)薪资申请管理:对薪资申请信息进行添加、删除、修改和查看
(9)用户修改个人信息,登录验证有校验码

数据库设计

[表gly] 管理员列属性表格

序号字段名称数据类型长度主键描述
1glyidINTEGER11管理员编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名

[表bumen] 部门列属性表格

序号字段名称数据类型长度主键描述
1bmidINTEGER11部门编号
2bmmcVARCHAR40部门名称
3jsVARCHAR40介绍

[表yuangong] 员工列属性表格

序号字段名称数据类型长度主键描述
1ygidINTEGER11员工编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5lxdhVARCHAR40联系电话
6lxdzVARCHAR40联系地址
7bmVARCHAR40部门
8jbgzVARCHAR40基本工资
9cqgzVARCHAR40出勤工资
10jiabgzVARCHAR40加班工资

[表bmdh] 部门调换列属性表格

序号字段名称数据类型长度主键描述
1bmdhidINTEGER11部门调换编号
2btVARCHAR40标题
3nrVARCHAR40内容
4dhbmVARCHAR40调换部门
5ybmVARCHAR40原部门
6yhVARCHAR40用户
7sqsjVARCHAR40申请时间
8ztVARCHAR40状态

[表xinzi] 薪资列属性表格

序号字段名称数据类型长度主键描述
1xzidINTEGER11薪资编号
2yfVARCHAR40月份
3ygVARCHAR40员工
4jbgzVARCHAR40基本工资
5cqtsVARCHAR40出勤天数
6cqgzVARCHAR40出勤工资
7jbsjVARCHAR40加班时间
8jiabgzVARCHAR40加班工资
9fbsjVARCHAR40发布时间

控制层代码 

@RequestMapping(value="/add")public String add(kaoqin kaoqin,HttpServletRequest request){Map<String,Object> map= new HashMap<String,Object>();//String name=(String)request.getParameter("name");map.put("kqid", kaoqin.getKqid());//考勤编号map.put("rq", kaoqin.getRq());//日期map.put("sbsj", kaoqin.getSbsj());//上班时间map.put("xbsj", kaoqin.getXbsj());//下班时间map.put("yg", kaoqin.getYg());//员工map.put("zt", kaoqin.getZt());//状态map.put("jbsj", kaoqin.getJbsj());//加班时间String kqid=(String)kaoqin.getKqid();//考勤编号String rq=(String)kaoqin.getRq();//日期String sbsj=(String)kaoqin.getSbsj();//上班时间String xbsj=(String)kaoqin.getXbsj();//下班时间String yg=(String)kaoqin.getYg();//员工String zt=(String)kaoqin.getZt();//状态String jbsj=(String)kaoqin.getJbsj();//加班时间DBO db=new DBO();String sql="";ResultSet rs=null;int num=0;try{sql="select count(1) as num from kaoqin where rq='"+rq+"' and yg='"+yg+"'";rs=db.query(sql);if(rs.next()){num=rs.getInt("num");}if(num>0){request.setAttribute("msg", "<script>alert('考勤失败、当日已经产生数据');</script>");}else{kaoqindao.save(map);request.setAttribute("msg", "<script>alert('添加成功');</script>");}}catch(Exception e){e.printStackTrace();}finally{db.close();}System.out.println("addok");return "kaoqin/kaoqinadd";}/**删除 * */@RequestMapping(value="/del")public String  del(Integer id,HttpServletRequest request,Map<String,Object> map){//	Map<String,Object> map= new HashMap<String,Object>();String a=(String)request.getParameter("keyid");id=Integer.parseInt(a);request.setAttribute("msg", "<script>alert('删除成功');</script>");kaoqindao.del(id);return selectall(null,map,request);}/**删除 * */@RequestMapping(value="/xiaban")public String  xiaban(Integer id,HttpServletRequest request,Map<String,Object> map){//	Map<String,Object> map= new HashMap<String,Object>();String a=(String)request.getParameter("keyid");id=Integer.parseInt(a);DBO db=new DBO();String sql="";ResultSet rs=null;String rqa="";StaticMethod st=new StaticMethod();String sj=st.getStringDate();try{sql="select * from kaoqin where kqid='"+a+"'";rs=db.query(sql);if(rs.next()){rqa=rs.getString("rq");}String rq=sj.substring(0,10);String hsj=sj.substring(11,13);int num=0;if(rq.equals(rqa)){if(Integer.parseInt(hsj)>=18){//加班了num=Integer.parseInt(hsj)-18;sql="update kaoqin set zt='加班',jbsj='"+num+"',xbsj='"+sj+"'  where kqid='"+a+"'";}else{sql="update kaoqin set zt='下班',xbsj='"+sj+"' where kqid='"+a+"'";}db.update(sql);}else{request.setAttribute("msg", "<script>alert('下班失败、只能当日操作');</script>");}}catch(Exception e){e.printStackTrace();}finally{db.close();}return list(null,map,request);}

持久层代码

	 */public void save(Map<String, Object> map) {sqlSession.insert("com.renwu.insertrenwu", map);}/*** 删除aa* @param id*/public void del(Integer id) {sqlSession.delete("com.renwu.delrenwu", id);}/*** 修改renwu信息* @param map*/public void update(Map<String, Object> map) {sqlSession.update("com.renwu.updaterenwu", map);}/*** 查询renwu信息* @param id* @return */public List<Map<String, Object>> select(Integer id) {return sqlSession.selectList("com.renwu.selectrenwu", id) ; }

 

三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件datasource.properties
2、开发环境为ECLIPSE开发,数据库为mysql,使用java语言开发。
3、数据库文件名是jspssmgcgl.sql 系统名称ssmgcgl
4、后台地址:http://127.0.0.1:8080/ssmgcgl/login.jsp 

四系统实现

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PLC通过lora网关采集温室大棚温湿度数据

概述: 运用lora网关远程控制大棚内风机&#xff0c;日光灯&#xff0c;温湿度传感器等设备。可以实现远程获取现场环境的空气温湿度、土壤水分温度、二氧化碳浓度、光照强度可以自动控制温室湿帘风机、喷淋滴灌、加温补光等设备&#xff0c;并向远程计算机端推送实时数据&…

可以在uni-app使用的类vconsole.js插件

兴致勃勃在uni-app项目引入调试工具vconsole.js结果真机调试页面空白 怎么办?! 别着急 paradox老师有方法 替代插件下载地址&#xff1a;直接下载插件并引入HbuilderXuni_modules插件 - 类Vconsole APP端调试工具 - HF调试器 - DCloud 插件市场 下载完成在main.js中引入&…

世微 多功能 LED降压型恒流芯片内置2.2A LED摩托车灯 全亮 半亮 爆闪 AP2403

产品描述 AP2403 是一款 PWM 工作模式,内置功率管&#xff0c;适用于 5-100V 输入的高精度降压 LED 恒流驱动芯片。输出功率可达 22W&#xff0c;电流 2.2A。AP2403 可实现三段功能切换&#xff0c;通过 MODE1/2/3 切换三种功能模式&#xff1a;全亮&#xff0c;半亮&#xff0…

2020年09月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 执行下面程序,屏幕上最多会看到多少个苹果? A:10个 B:11个 C:1个 D:无法确定 答案:B 第2题 关于下面程序,说法正确的是 ? A:执行 后,马上执行

Ubuntu开机显示No bootable devices found

Ubuntu开机报错&#xff0c;显示显示No bootable devices found&#xff0c;如下图所示&#xff1a; 解决方案如下&#xff1a; 1. F2进入BIOS (1) 重启开启&#xff0c;按F2进入BIOS系统。 (2) 进入Boot Sequence&#xff0c;目前系统选择了UEFI&#xff0c;而Legacy选项为…

餐饮门店做小程序的作用是什么

我国餐饮行业市场规模逐步上升&#xff0c;中国到店餐饮平台致力于做深做透大餐饮的战略布局&#xff0c;从营销、配送、IT系统、供应链等多角度全方位服务餐饮行业&#xff0c;数字化赋能商家&#xff0c;促进线上线下融合发展&#xff0c;以形成餐饮行业生态闭环。 餐饮行业…

RabbitMQ快速学习之WorkQueues模型、三种交换机、消息转换器(SpringBoot整合)

文章目录 前言一、WorkQueues模型消息发送消息接收能者多劳 二、交换机类型1.Fanout交换机消息发送消息接收 2.Direct交换机消息接收消息发送 3.Topic交换机消息发送消息接收 三、编程式声明队列和交换机fanout示例direct示例基于注解 四、消息转换器总结 前言 WorkQueues模型…

来聊聊JVM中的类加载过程以及双亲委派模型(学习Java必知内容)

文章目录 1. 类加载过程加载验证准备解析初始化 2. 双亲委派模型一个类的加载流程双亲委派模型的优点 总结 1. 类加载过程 在整个 JVM 执行过程中, 和我们程序员关系最密切的就是类加载的过程, 所以接下来我们来看下类加载的执行流程. 对于一个类来说, 它的生命周期是这样的:…

canal本地安装和使用

1、组件版本 canal.deployer-1.1.7 kafka_2.13-2.6.0 jdk8 apache-zookeeper-3.6.0-bin mysql5.7 2、解压canal.deployer-1.1.7 2.1、修改canal.properties配置文件 ##改为kafka canal.serverModekafka## 改为instance canal.destinations instance## 改为true&#x…

SiP封装、合封芯片和芯片合封是一种技术吗?都是合封芯片技术?

合封芯片、芯片合封和SiP系统级封装经常被提及的概念。但它们是三种不同的技术&#xff0c;还是同一种技术的不同称呼&#xff1f;本文将帮助我们更好地理解它们的差异。 一、合封芯片与SiP系统级封装的定义 首先合封芯片和芯片合封都是一个意思 合封芯片是一种将多个芯片&a…

ElementPlusError: [ElOnlyChild] no valid child node found

突然发现页面报了一堆黄色的错误提示 查了下原来是这里导致的&#xff0c;只需要把v-if 挪到popover那层即可 解决

在有springSecurity或者若依项目中获取当前系统登录的用户信息

方法一&#xff08;springSecurity自带的&#xff09; AuthenticationPrincipal 是 Spring Security 框架中的一个注解&#xff0c;用于获取当前已认证用户的 principal&#xff08;即用户身份信息&#xff09;。 方法二&#xff08;若依项目自带的&#xff09; &#xff08;1…