基于SSM框架的企业员工信息管理系统,源码分享

今天将为大家分析一个企业员工信息管理系统(随着我国科学技术的不断发展,我国的计算机电子信息技术也得到了不断的发展,许多企业都采用了计算机电子信息技术进行企业员工的信息管理,本文主要从企业员工信息管理系统的设计思路、企业员工信息管理系统的实现方式以及J2EE开发平台的优越性三个方面展开了具体的分析,对我国企业员工的信息管理系统进行了深入的探讨。),该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。企业员工信息管理系统为一个 后台项目。
为了完成该系统,我们首先需要对该系统进行需求分析。一个企业员工信息管理系统应包含用户角色有管理员。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。

总结得出该系统所有数据为:管理员(admin)、信息录入(xinxiluru)、培训经历(peixunjingli)、调动经历(diaodongjingli)、请假记录(qingjiajilu)

管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

信息录入表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 信息录入id
xingming | VARCHAR(255) | | 姓名
nianling | VARCHAR(255) | | 年龄
xingbie | VARCHAR(255) | | 性别
zhiwu | VARCHAR(255) | | 职务

培训经历表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 培训经历id
peixunshijian | VARCHAR(255) | | 培训时间
peixunzhuanye | VARCHAR(255) | | 培训专业
xingming | VARCHAR(255) | | 姓名

调动经历表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 调动经历id
yuanbumen | VARCHAR(255) | | 原部门
diaodongbumen | VARCHAR(255) | | 调动部门
diaodongshijian | VARCHAR(255) | | 调动时间
xingming | VARCHAR(255) | | 姓名

请假记录表

扫描二维码关注公众号,回复: 7343428 查看本文章
字段名 | 类型 | 属性 | 描述
id | int(11) | PRIMARY KEY | 请假记录id
xingming | varchar(255) | | 姓名
qingjiashijian | varchar(255) | | 请假时间
package org.mypro.front;

import java.io.File;

import java.io.IOException;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Calendar;

import java.util.Collections;

import java.util.Date;

import java.util.List;

import javax.jms.Session;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.apache.commons.lang3.StringUtils;

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

import org.mypro.dao.AdminMapper;

import org.mypro.entity.Admin;

import org.mypro.entity.AdminExample;import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.multipart.MultipartFile;

@Controller

@RequestMapping(value = "/")

public class loginAndRegistController {

private static final Log logger = LogFactory.getLog(loginAndRegistController.class);

@Autowired
private AdminMapper admindao;

//定义login方法,跳转到login页面

@RequestMapping(value = "login")

public String login(HttpServletRequest request, HttpServletResponse response,HttpSession session) {

logger.debug("loginAndRegistController.login ......");

return "login";

}

//定义regist方法,跳转到regist页面

@RequestMapping(value = "regist")

public String regist(HttpServletRequest request, HttpServletResponse response,HttpSession session) {

logger.debug("loginAndRegistController.regist ......");

return "regist";

}

//定义loginact,处理登录

@RequestMapping(value = "loginact")

public String loginact(HttpServletRequest request, HttpServletResponse response,Admin admin,String shenfen,HttpSession session) {

logger.debug("loginAndRegistController.loginact ......"); // 判断管理员是否与 shenfen一致

if("管理员".equals(shenfen)){

AdminExample example = new AdminExample();

AdminExample.Criteria criteria = example.createCriteria();

criteria.andUsernameEqualTo(admin.getUsername());

criteria.andPasswordEqualTo(admin.getPassword());

List<Admin> admins = admindao.selectByExample(example);

if(admins.isEmpty()){

request.setAttribute("message", "账号或密码错误");

return "login";

}else{

session.setAttribute("mingzi", admins.get(0).getUsername());

// 登录成功,将登录用户id保存到session中

session.setAttribute("id", admins.get(0).getId());

session.setAttribute("userinfo", admins.get(0));

session.setAttribute("shenfen", shenfen);

return "adminindex";

}

} //将请选择登录身份保存到request的message中

request.setAttribute("message", "请选择登录身份");

return "login";

}

//定义registact,处理注册

@RequestMapping(value = "registact")

public String registact(HttpServletRequest request, HttpServletResponse response,Admin admin,String shenfen,HttpSession session,String repassword) {

logger.debug("loginAndRegistController.registact ......");

if( !repassword.equals(admin.getPassword())){

request.setAttribute("message", "两次密码不一致");
return "regist"; } // 判断管理员和shenfen是否一致

if("管理员".equals(shenfen)){

AdminExample example = new AdminExample();

AdminExample.Criteria criteria = example.createCriteria();

criteria.andUsernameEqualTo(admin.getUsername());

List admins = admindao.selectByExample(example);

if(!admins.isEmpty()){

request.setAttribute("message", "该账号已存在");

return "regist";

}else{

admindao.insert(admin);

request.setAttribute("message", "注册成功,请登录");

return "login";

}

}

request.setAttribute("message", "请选择登录身份");

return "login";

}

//定义tuichuxitong方法,清除系统中的session数据

@RequestMapping(value = "tuichuxitong")

public String tuichuxitong(HttpServletRequest request, HttpServletResponse response,Admin admin,HttpSession session) {

logger.debug("loginAndRegistController.tuichuxitong ......");

session.invalidate();

return "login";

}

// 定义adminindex方法

@RequestMapping(value = "adminindex")

public String adminindex(HttpServletRequest request,HttpSession session, HttpServletResponse response) {

logger.debug("loginAndRegistController.adminindex ......");

return "adminindex";

} //定义adminxiugaigerenxinxiact方法

@RequestMapping(value = "adminxiugaigerenxinxiact")

public String adminxiugaigerenxinxiact(HttpServletRequest request, HttpServletResponse response,Admin admin,HttpSession session ) throws IOException {

logger.debug("loginAndRegistController.adminxiugaigerenxinxiact ......");

admindao.updateByPrimaryKey(admin);

session.setAttribute("mingzi", admin.getUsername());

session.setAttribute("id", admin.getId());

session.setAttribute("userinfo", admin);

request.setAttribute("message", "修改个人信息成功");

return "adminindex";

}

// 上传文件图片等

public String uploadUtile(MultipartFile file, HttpServletRequest request) throws IOException {

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS");

String res = sdf.format(new Date());

// uploads文件夹位置

String rootPath = request.getSession().getServletContext().getRealPath("resource/uploads/");

// 原始名称

String originalFileName = file.getOriginalFilename();

// 新文件名

String newFileName = "sliver" + res + originalFileName.substring(originalFileName.lastIndexOf("."));

// 创建年月文件夹

Calendar date = Calendar.getInstance();

File dateDirs = new File(date.get(Calendar.YEAR) + File.separator + (date.get(Calendar.MONTH)+1));

// 新文件

File newFile = new File(rootPath + File.separator + dateDirs + File.separator + newFileName);

// 判断目标文件所在目录是否存在

if( !newFile.getParentFile().exists()) {

// 如果目标文件所在的目录不存在,则创建父目录newFile.

getParentFile().mkdirs();

}

System.out.println(newFile);

// 将内存中的数据写入磁盘file.

transferTo(newFile);

// 完整的url

String fileUrl = date.get(Calendar.YEAR) + "/" + (date.get(Calendar.MONTH)+1) + "/" + newFileName;

return fileUrl;

}}

添加调动经历模块:

在diaodongjingliController中定义tianjiadiaodongjingliact接收页面传入的调动经历参数,定义为diaodongjingli。其中diaodongjingli包含字段:原部门,调动部门,调动时间,姓名,使用tianjiadiaodongjingliact将该调动经历对象存入数据库中,在diaodongjingliMapper中定义了insert方法,匹配数据库中的insert into diaodongjingli语句实现将调动经历数据存入数据库的操作。该部分核心代码如下:

通过diaodongjinglidao的insert方法将页面传输的调动经历添加到数据库中 diaodongjinglidao.insert(diaodongjingli);

将添加调动经历成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加调动经历成功");

返回调动经历管理界面

return "forward:/tianjiadiaodongjingli.action";

查询调动经历模块:

调动经历的查询模块实现方式为,在页面中发起diaodongjingliguanli.action请求。通过该请求,响应服务器diaodongjingliController类中的diaodongjingliguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的调动经历信息查询后,保存到request中的diaodongjingliall中,在页面中进行展示,返回diaodongjingliguanli.jsp,该部分核心代码如下所示:

生成调动经历样例类,通过example定义查询条件 DiaodongjingliExample example = new DiaodongjingliExample();

通过diaodongjinglidao的selectByExample方法查询出所有的调动经历信息 List diaodongjingliall = diaodongjinglidao.selectByExample(example);

将调动经历信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("diaodongjingliall", diaodongjingliall);

返回调动经历管理界面

return "forward:/diaodongjingliguanli.action";

修改调动经历模块:

在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaidiaodongjingli中,封装为一个调动经历

,使用update方法修改该调动经历信息,将数据同步到数据库,完成修改操作。

定义修改成功提示信息,修改调动经历成功,并保存到request中具体代码如下:

通过diaodongjinglidao的修改方法根据id修改对应的调动经历 diaodongjinglidao.updateByPrimaryKeySelective(diaodongjingli);

将修改调动经历成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改调动经历信息成功");

返回调动经历管理界面

return "forward:/diaodongjingliguanli.action";

猜你喜欢

转载自www.cnblogs.com/bzls/p/11573879.html