基于java(ssm)人事考勤签到管理系统源码(java毕业设计)

news2024/12/24 20:51:30

基于java(ssm)人事考勤签到管理系统

人事考勤签到管理系统是基于java编程语言,mysql数据库,ssm框架,idea工具开发,本系统分为员工,部门经理,管理员三个角色,员工可以登陆系统,在线签到,打卡,查看工资,查询部门,在线请假;部门经理可以对员工,部门,考勤,签到,请假申请,工资等进行管理;管理员和部门经理一样可以进行相应的信息管理。本系统功能齐全,文档齐全,适合作为java毕业设计和课程设计参考学习。


一.技术环境

jdk版本:1.8 及以上
ide工具:IDEA
数据库: mysql5.7 (必须5.7)
编程语言: Java
tomcat: 8.0 及以上
java框架:SSM
maven: 3.6.1
前端:layui,vue
详细技术:HTML+CSS+JS+JSP+JAVA+SSM+MYSQL+JQUERY+MAVEN+VUE


二.项目文件(项目获取请看文末官网)

在这里插入图片描述


三.系统功能

在这里插入图片描述


四.代码示例

package com.lmu.controller;
/**
 * 和登陆有关的都在这里
 */

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.lmu.model.Role;
import com.lmu.model.User;
import com.lmu.service.RoleService;
import com.lmu.service.UserService;
import com.lmu.utils.JsonUtils;
import com.lmu.utils.UserUtils;

import org.apache.commons.collections.map.HashedMap;
import org.apache.struts2.ServletActionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

@Controller("loginController")
@Scope("prototype")
public class LoginController extends ActionSupport {
    @Autowired
    private UserService userService;
    @Autowired
    private RoleService roleService;
    private User user;
    private Map<String, Object> map = new HashMap();
    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public UserService getUserService() {
        return userService;
    }

    public void setUserService(UserService userService) {
        this.userService = userService;
    }

    /**
 * 用户登陆
 * @return
 */
	public void index() throws IOException {
       User user1 = userService.getUser(user);
        if (user1 != null){
            if (user1.getIsSh() == 1){
                if (user1.getRole().getEnName().equals("admin")){
                    ActionContext.getContext().getSession().put("user", user1);
                }
                if (user1.getRole().getEnName().equals("js")){
                    ActionContext.getContext().getSession().put("user1", user1);
                }
                if (user1.getRole().getEnName().equals("xs")){
                    ActionContext.getContext().getSession().put("user2", user1);
                }
                map.put("flag", 1);
                map.put("url", "login_indexs.do");
                map.put("id", user1.getId());
                JsonUtils.toJson(map);
            } else {
                map.put("flag", 2);
                JsonUtils.toJson(map);
            }
        } else {
            map.put("flag", 3);
            JsonUtils.toJson(map);
        }
    }

    public String indexs() throws IOException {
        User u = UserUtils.getUser();
        if (u != null){
            ActionContext.getContext().put("user", u);
            String ss = u.getRole().getEnName();
            ActionContext.getContext().put("role", u.getRole().getEnName());
        }
        return SUCCESS;
    }
	//登陆页面
	public String login() {

        return SUCCESS;
	}

   //退出
	public String tuichu() {
		ActionContext ac = ActionContext.getContext();
		Map session = ac.getSession();
		session.remove("userName");
		session.remove("userId");
		ServletActionContext.getRequest().getSession().invalidate();
		return "login";
	}

}

package com.lmu.controller;

/**
 * 用户新增
 */

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.lmu.model.Role;
import com.lmu.model.User;
import com.lmu.service.RoleService;
import com.lmu.service.UserService;
import com.lmu.utils.JsonUtils;
import com.lmu.utils.Pager;
import com.lmu.utils.UserUtils;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import java.awt.event.FocusEvent;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@Controller("userController")
@Scope("prototype")
public class UserController extends ActionSupport implements ModelDriven<User> {
    @Autowired
    private UserService userService;
    @Autowired
    private RoleService roleService;
    private User user;
    private Integer userId;
    private Map<String, Object> map = new HashMap();


    /**
     * list
     *
     * @return
     */
    public String list() throws IOException {
        User user1 = UserUtils.getUser();
        if (user1 == null || user1.getId() == null){
            ActionContext.getContext().put("login", 1);
            return SUCCESS;
        }
        Pager<User> pagers = null;
        Role role = user1.getRole();
        if (role.getEnName().equals("admin")) {
            pagers = userService.getList(user);
            ActionContext.getContext().put("pagers", pagers);
            ActionContext.getContext().put("user", user1);
            ActionContext.getContext().put("role", role);
            ActionContext.getContext().put("bean", user);
            return SUCCESS;
        } else if (role.getEnName().equals("xs") || role.getEnName().equals("js")) {
            pagers = userService.getList(user1);
            ActionContext.getContext().put("pagers", pagers);
            ActionContext.getContext().put("bean", user);
            return SUCCESS;
        }
        return null;
    }



    /**
     * 跳转add
     *
     * @return
     */
    public String add() {
        Pager<Role> pagers = roleService.pagers();
        ActionContext.getContext().put("pagers", pagers);
        return SUCCESS;
    }

    /**
     * 查询修改
     *
     * @return
     */
    public String edit() {
        User bean = userService.findById(userId);
        Pager<Role> pagers = roleService.pagers();
        ActionContext.getContext().put("bean", bean);
        ActionContext.getContext().put("pagers", pagers);
        return SUCCESS;
    }


    /**
     * 审核
     *
     * @return
     */
    public void updateSh() throws IOException {
        user.setIsSh(1);
        userService.updates(user);
        map.put("flag", true);
        map.put("url", "user_list.do");
        JsonUtils.toJson(map);
    }

    /**
     * 更新
     *
     * @return
     */
    public String update() throws IOException {
        if (user.getPass().equals("")){
            user.setPass(null);
        }
        userService.updates(user);
        map.put("flag", true);
        map.put("url", "user_list.do");
        JsonUtils.toJson(map);
        return SUCCESS;
    }

    /**
     * 保存
     *
     * @return
     */
    public void save() throws IOException {
        if (userService.getUser(user) != null){
            map.put("flag", false);
            map.put("url", "login_login.do");
            JsonUtils.toJson(map);
        } else {
            user.setTime(new Date());
            userService.save(user);
            map.put("flag", true);
            map.put("url", "login_login.do");
            JsonUtils.toJson(map);
        }
    }

    public void delete() throws IOException {
        User user1 = userService.findById(userId);
        user1.setIsDelete(1);
        userService.update(user1);
        map.put("flag", true);
        map.put("url", "user_list.do");
        JsonUtils.toJson(map);
    }

    @Override
    public User getModel() {
        if (user == null) {
            user = new User();
        }
        return user;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }
}

五.项目截图

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

项目获取

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

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

相关文章

超详细!旗舰SoC RK3588参数介绍-飞凌嵌入式

OK3568-C开发板RK3588是瑞芯微旗下最新的8K旗舰SoC芯片&#xff0c;采用ARM架构&#xff0c;主要用于PC、边缘计算设备、个人移动互联网设备和其他数字多媒体应用。 RK3588集成了四核Cortex-A76和四核Cortex-A55&#xff0c;以及单独的NEON协处理器&#xff0c;支持8K视频编解码…

图像处理基础知识

图像处理基础 自己学习整理的图像处理知识 视觉基本概念和直方图基本概念 文章目录图像处理基础基本概念视觉人类视觉概念人类视觉的特性机器视觉概念图像的感知直方图直方图的定义直方图的性质直方图的应用基本概念 视觉 人类视觉概念 人类视觉的特性 多义性 同一张图像可…

[附源码]Python计算机毕业设计Django项目管理系统的专家评审模块

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

5.32 综合案例2.0 - TTS语音云播报(支持M320开发板)

HaaS506 - TTS语音云播报简介准备硬件接口代码流程功能实现1、物联网平台开发2、设备端开发代码调试3.应用平台开发3.1新建‘普通项目’3.2关联产品和设备3.3新建移动应用简介 手机端发送文字&#xff0c;开发板发出对应语音信息。 本案例需要使用到阿里云平台连接网络。通过…

【TSP问题】基于遗传算法求解固定的开放式不返回多旅行推销员问题(M-TSP)附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

基于django+sqlite3的新闻网站管理系统源代码,含数据库文件

基于djangosqlite3的新闻网站管理系统源代码&#xff0c;含数据库文件 程序部署方法 1、安装程序依赖&#xff1b; 2、 manage.py migrate #初始化数据库&#xff1b; 3、 manage.py createsuperuser创建管理员&#xff1b; 4、manage.py runserver启动程序 完整程序下载地址&…

编程内功心法「底层原理系列」 底层架构原理,分析CPU处理器鲜为人知的那些秘密

前提概要 所谓&#xff0c;知彼知己百战不殆&#xff0c;针对于计算机的优化技术来讲&#xff0c;最底层也不过是针对于CPU技术的优化了&#xff0c;但是如果要区优化程序&#xff0c;涉及到CPU的执行能力&#xff0c;那必须要了解CPU的原理和概念以及执行过程等概念&#xff0…

html网页设计大学生作业成品——公益校园网站设计与实现(HTML+CSS+JavaScript)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

1.Spring概述(Spring官方文档总结)

目录 1.1jdk环境依赖 1.2 Spring介绍 1.3 Spring历史 1.4 设计理念 1.1 jdk环境依赖 从Spring Framework 5.1开始&#xff0c;Spring需要JDK 8 (Java SE 8)&#xff0c;并提供对JDK 11 LTS的开箱即用支持。建议将Java SE 8 update 60作为Java 8的最低补丁版本&#xff0c;但…

由于找不到qt5core.dll,无法继续执行代码的问题

由于找不到qt5core.dll,无法继续执行代码的问题处理&#xff0c;其实和平常的dll缺失处理方法是差不多的 一. 下载qt5core.dll文件来解决 1.在百度搜索qt5core.dll这个dll文件&#xff0c;并且下载到自己的电脑 2.或者是直接在别人的电脑找qt5core.dll&#xff0c;然后拷贝到…

(附源码)ssm医护服务平台 毕业设计 260954

SSM医护服务平台 摘 要 随着互联网趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己推广出去&#xff0c;最好方式就是建立自己的互联网系统&#xff0c;并对其进行维护和管理。在现实运用中&#xff0c;应用软件的工作规则和开发步骤&#xff0c;采用Java技术建设医护…

XFINIUM.PDF CROSS-PLATFORM BUNDLE 11.1.2

轻松将您的 PDF 应用程序移植到其他平台。 XFINIUM.PDF CROSS-PLATFORM BUNDLE 是一个用于跨平台 PDF 开发的库。在所有支持的平台&#xff08;.NET、Windows Forms、Xamarin.Mac、ASP.NET Webforms 和 MVC、控制台应用程序、Windows 服务、Mono、Windows Presentation Foundat…

Python.02.语法进阶

目录 基本运算符 比较运算符 赋值运算符 多变量赋值 逻辑运算符 案例&#xff1a; 案例实现源码如下 三元运算符 条件语句 循环语句 1.计算0-100的求和 2.for循环数组求和 3.range定义一个1-100的奇数数组,for循环求出数组的和 4.while...else...语法 基本运算符 比较…

联通物联网卡激活方法

科技的发展日新月异&#xff0c;我们国家的发展战略也是支持高新科技公司的发展&#xff0c;所以越来越多的高新科技公司出现&#xff0c;但凡是高新科技公司&#xff0c;在设备的联网中&#xff0c;都会用到物联卡&#xff0c;所以物联卡的市场也愈发火爆&#xff0c;那么今天…

Web前端大作业——基于HTML+CSS+JavaScript仿英雄联盟LOL游戏网站

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

pytorch复习笔记--nn.Embedding()的用法

目录 1--nn.Embedding()的用法 2--实例展示&#xff1a; 3--注意的问题 1--nn.Embedding()的用法 import torch.nn as nnembedding nn.Embedding(num_embeddings 10, embedding_dim 256) nn.Embedding()产生一个权重矩阵weight&#xff0c;其shape为&#xff08;num_em…

图解:Go Mutext

Mutex 可能处于两种不同的模式&#xff1a;正常模式和饥饿模式。 正常模式下获取Mutex 在正常模式下&#xff0c;新来的G会尝试自旋获取锁&#xff0c;如果自旋获取失败&#xff0c;则会按照FIFO的顺序排队获取锁。 当Mutex被释放&#xff0c;会唤醒等待队列中第一个等待者G&…

[附源码]计算机毕业设计求职招聘网站Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Spring框架的介绍、工厂设计模式以及Spring环境的搭建

spring崇尚&#xff1a;不重复的造轮子 二、工厂设计模式 工厂设计模式&#xff1a;工厂生产对象(配置文件properties反射) Spring创建对象的实现原理: 根据配置文件的id得到对应的class属性值,根据反射,通过类全路径创建对象; 通过配置文件,通过工厂设计模式,有反射动态创…

matlab knn方法快速实现,手把手教学

目录介绍话不多说&#xff0c;进入实战注意事项KNN算法的优势和劣势介绍 1968年&#xff0c;Cover和Hart提出K近邻算法。该算法既可以用于回归也可以用于分类&#xff0c;其用于分类时其输入为实例的特征向量&#xff0c;输出为实例的类别。假设给定一个训练数据集&#xff0c…