介绍
在这个计算机信息时代深处,对于每个公司来说,人事管理的信息化是企业发展的重要组成部分。使用计算机管理人员信息具有传统管理无法比拟的巨大优势。比如:快速查询、管理方便、可靠性高、存储容量大、保密性强、寿命长、成本低等。这些优点可以大大提高企业人员信息管理的效率。
开发过程主要使用Spring+SpringMVC+Mybatis框架整合技术,在Eclipse平台上采用Java语言进行开发,Web服务器选择Tomcat 8.5,数据库服务器使用MySQL 5.5,Java开发包选择JDK 1.8,采用MVC模式开发,并采用B/S结构。在设计过程中,项目使用MySQL对后台的人事信息和文件数据进行存储和管理,使用Spring框架实现业务逻辑层开发,网页采用CSS样式来规划网页布局,使其具有兼容性,通过表单来接收用户的输入等信息。使用AJAX异步交互机制、JS脚本以及EL表达式来实现动态网页,验证用户的非法输入,旨在使所开发网站更好管理和维护。
系统共分为公告管理模块、员工管理管理模块、部门管理模块、职位管理模块、文件管理模块、系统管理模块。其中系统管理模块又分为用户管理模块、角色管理模块、权限管理模块等功能。
本论文的主要内容介绍了人事管理系统开发的背景和意义,相关技术的介绍,软件开发的各个周期具体内容及任务,并给出了参考文献和结论。
功能
本系统能够满足公司常规的人员信息管理、企业公告信息管理、文件信息管理等操作。下面对系统的总体功能进行介绍:
(1)登录功能:用户输入正确的账号和密码进入系统主界面。每个用户的角色不同,系统权限也就不同。本系统能够有效地阻止非授权用户发生误操作的情况出现。
(2)超级管理员拥有的功能:可以对部门信息、职位信息、公告信息、员工信息、用户信息、文件信息、角色信息以及权限信息进行新增、修改、删除和查看的操作。
(3)普通管理员拥有的功能:拥有超级管理员指定的功能权限。
(4)员工可以通过系统查询个人的信息、修改个人密码、查看公告信息以及浏览公开文件等。
(1)用户管理(2)部门管理(3)职位管理(4)员工管理(5)公告管理(6)下载
效果图
数据库设计
CREATE TABLE dept_inf
(
ID
int(11) NOT NULL AUTO_INCREMENT,
NAME
varchar(50) NOT NULL,
REMARK
varchar(300) DEFAULT NULL,
PRIMARY KEY (ID
)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
CREATE TABLE document_inf
(
ID
int(11) NOT NULL AUTO_INCREMENT,
TITLE
varchar(50) NOT NULL,
filename
varchar(300) NOT NULL,
REMARK
varchar(300) DEFAULT NULL,
CREATE_DATE
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
USER_ID
int(11) DEFAULT NULL,
PRIMARY KEY (ID
),
KEY FK_DOCUMENT_USER
(USER_ID
),
CONSTRAINT FK_DOCUMENT_USER
FOREIGN KEY (USER_ID
) REFERENCES user_inf
(ID
)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
CREATE TABLE employee_inf
(
ID
int(11) NOT NULL AUTO_INCREMENT,
DEPT_ID
int(11) NOT NULL,
JOB_ID
int(11) NOT NULL,
NAME
varchar(20) NOT NULL,
CARD_ID
varchar(18) NOT NULL,
ADDRESS
varchar(50) NOT NULL,
POST_CODE
varchar(50) DEFAULT NULL,
TEL
varchar(16) DEFAULT NULL,
PHONE
varchar(11) NOT NULL,
QQ_NUM
varchar(10) DEFAULT NULL,
EMAIL
varchar(50) NOT NULL,
SEX
int(11) NOT NULL DEFAULT ‘1’,
PARTY
varchar(10) DEFAULT NULL,
BIRTHDAY
datetime DEFAULT NULL,
RACE
varchar(100) DEFAULT NULL,
EDUCATION
varchar(10) DEFAULT NULL,
SPECIALITY
varchar(20) DEFAULT NULL,
HOBBY
varchar(100) DEFAULT NULL,
REMARK
varchar(500) DEFAULT NULL,
CREATE_DATE
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (ID
),
KEY FK_EMP_DEPT
(DEPT_ID
),
KEY FK_EMP_JOB
(JOB_ID
),
CONSTRAINT FK_EMP_DEPT
FOREIGN KEY (DEPT_ID
) REFERENCES dept_inf
(ID
),
CONSTRAINT FK_EMP_JOB
FOREIGN KEY (JOB_ID
) REFERENCES job_inf
(ID
)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
CREATE TABLE job_inf
(
ID
int(11) NOT NULL AUTO_INCREMENT,
NAME
varchar(50) NOT NULL,
REMARK
varchar(300) DEFAULT NULL,
PRIMARY KEY (ID
)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
CREATE TABLE notice_inf
(
ID
int(11) NOT NULL AUTO_INCREMENT,
TITLE
varchar(50) NOT NULL,
CONTENT
text NOT NULL,
CREATE_DATE
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
USER_ID
int(11) DEFAULT NULL,
PRIMARY KEY (ID
),
KEY FK_NOTICE_USER
(USER_ID
),
CONSTRAINT FK_NOTICE_USER
FOREIGN KEY (USER_ID
) REFERENCES user_inf
(ID
)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
CREATE TABLE user_inf
(
ID
int(11) NOT NULL AUTO_INCREMENT,
loginname
varchar(20) NOT NULL,
PASSWORD
varchar(16) NOT NULL,
STATUS
int(11) NOT NULL DEFAULT ‘1’,
createdate
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
username
varchar(20) DEFAULT NULL,
PRIMARY KEY (ID
)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;