Graduation design of springboot enterprise human resources management system - with source code 291816

springboot enterprise human resources management system

Summary

The rapid development of scientific and technological progress has caused great changes in people's daily life, and the rapid development of electronic information technology has made the application level of electronic information technology in various fields popularized and applied. The arrival of the information age has become an irresistible fashion trend, and the history of human development is entering a new era. In actual application, the working rules and development steps of the application software are used to construct the security scheme of the enterprise human resources management system using Java technology.

This design mainly realizes the security scheme of enterprise human resources management system integrating the advantages of humanization, high efficiency and convenience, and completes the home page, site management (carousel map, bulletin board) user management (administrator, user registration, employee user) Content management (news list, news classification list) and more management (department information, job information, recruitment information, resume management, recruitment information, training information, attendance check, check record, reward and punishment information, salary information) and other functional modules. The system communicates with the server through the browser to realize data interaction and change. The system improves work efficiency and reduces errors and omissions in data storage through scientific management methods and convenient services. The security solution of the enterprise human resources management system uses Java language and Java technology based on the MVVM model for development. It is written using the MyEclipse 2017 CI 10 compiler. In terms of data, it mainly uses Microsoft's MySQL relational database as the data storage medium, and cooperates with the front desk. HTML+CSS technology completes the development of the system.

Keywords: security scheme; Java language; relational database; data storage

Springboot enterprise human resource management system

Abstract

The rapid development of scientific and technological progress has caused great changes in people's daily life. The rapid development of electronic information technology has popularized and applied the application level of electronic information technology in various fields. The advent of the information age has become an irresistible fashion trend, and the history of human development is entering a new era. In practical application, according to the working rules and development steps of application software, Java technology is used to build the security scheme of enterprise human resource management system.

This design mainly realizes the security scheme of enterprise human resource management system integrating the advantages of humanization, high efficiency and convenience, and completes the home page Site management (rotation chart, bulletin board) user management (administrator, user registration, employee user) content management (news list, news classification list) more management (Department information, job information, recruitment information, resume management, employment information, training information, attendance punch in, punch in record, reward and punishment information, salary information) and other functional modules. The system communicates with the server through the browser to realize the interaction and change of data. Through scientific management and convenient service, the system improves work efficiency and reduces errors and omissions in data storage. The security scheme of enterprise human resource management system uses Java language and Java technology based on MVVM mode. It is written with MyEclipse 2017 CI 10 compiler. In terms of data, Microsoft's MySQL relational database is mainly used as the data storage medium, and the system development is completed with the foreground HTML + CSS technology.

Key words: safety scheme; Java language; Relational database; data storage

Table of contents

Chapter 1 Introduction

1.1 Research Background

1.2 Development Status

1.3 Organizational structure of this article

Chapter 2 Introduction to Related Technologies

2.1 Spring boot framework introduction:

2.2 Introduction to JAVA

2.3 MySQL database

2.4 B/S structure

2.5 Introduction to MVVM pattern

2.6 Main functions of Vue.js

Chapter 3 System Analysis

3.1 Feasibility Analysis

3.1.1 Technical Feasibility Analysis

3.1.2 Economic Feasibility Analysis

3.1.3 Operation Feasibility Analysis

3.2 Analysis of Functional Requirements

3.3 Analysis of non-functional requirements

3.4 Data flow analysis

Chapter 4 System Design

4.1 System architecture design

4.2 System function structure

4.3 Database Design

4.3.1 Conceptual Model

4.3.2 Data Sheet

Chapter 5 System Implementation

5.1 Implementation of login module

5.2 Administrator function module

5.3 User function modules

5.4 Employee function modules

Chapter 6 Statistical Testing

6.1 Test purpose

6.2 Test process

6.3 Test results

Chapter 7 Summary and Outlook

references

thank you

  1. introduction
    1. Research Background

In order to improve the efficiency of employee management, reduce unnecessary expenses, and facilitate personnel management staff to fully grasp the basic situation of enterprise personnel results. Therefore, it is very important to design and develop a dedicated enterprise human resource management system. However, the specific design and implementation of the system will be carried out according to the personnel management situation of each enterprise. The development of the system must first understand the shortcomings of the existing system, and provide a more convenient solution for the development of a new system, so that the management personnel can improve the work efficiency in the daily management work process, and enable the enterprise resources to be allocated more effectively. Improve the daily management level of the enterprise.

According to the current actual situation of the enterprise, developers use the computer hardware equipment and software conditions owned by individuals to develop a complete set of enterprise human resource management system to realize some basic personnel information from the perspective of thinking, working thinking and working methods. additions, deletions and modifications. In order to reduce the burden of employee management personnel, we should fundamentally solve the problem of heavy workload and error-prone manual operation. At the same time, this is also the inevitable trend of future development in the field of employee management.

    1. development status

The development history of enterprise human resource management system can be traced back to the late 1960s. Since computer technology had entered the practical stage at that time, and large-scale enterprises were time-consuming, laborious and error-prone to calculate and pay salaries manually, in order to solve this contradiction, the first generation of enterprise human resource management system came into being. At that time, due to the limitations of technical conditions and requirements, there were very few users, and the system was at best a tool for automatic salary calculation, which contained neither non-financial information nor historical salary information, and almost no report generation. Function and salary data analysis function. However, its emergence has shown a bright prospect for personnel management, that is, using the high speed and automation of computers to replace the huge manual workload, using the high accuracy of computers to avoid manual errors and errors, and making large-scale centralized processing Large corporate payroll made possible.

The transformation of enterprise human resource management system appeared in the late 1990s. Due to the needs of market competition, how to attract and retain talents, stimulate the creativity of personnel, work responsibility and work enthusiasm have become important factors related to the rise and fall of enterprises, and talents have become one of the most important assets of enterprises. The "fair, fair and reasonable" corporate management concept and the improvement of corporate management level have made the society have a higher demand for corporate human resource management systems; at the same time, due to the popularity of personal computers, database technology, client/server technology, especially It is the development of Internet/Intranet technology that makes the emergence of the third-generation enterprise human resource management system inevitable. The third-generation enterprise human resource management system is characterized by starting from the perspective of personnel management and using a centralized database to manage almost all personnel-related data (such as department management, salary management, attendance management, recruitment management, and training management) in a unified manner. Together, an integrated source of information is formed. Friendly user interface, powerful report generation tools, analysis tools and information sharing enable personnel managers to get rid of heavy daily work and concentrate on considering enterprise personnel planning and policies from a strategic point of view.

    1. Organization of this article

The first chapter is the introduction, the beginning of this article, some textual descriptions of the research background and research significance of this topic.

The second chapter studies the development technology and development tools adopted by the enterprise human resource management system security scheme.

The third chapter is the system analysis part, including the description of the overall requirements of the system, the analysis of system requirements from a functional point of view, and the non-functional analysis of whether the system can be realized.

The fourth chapter is the system design part, an important part of this article, which provides the detailed design of the system architecture and the design description of some main functional modules.

The fifth chapter is the specific realization of the system, introducing the specific realization of each module of the system.

The sixth chapter tests and runs the system on the basis of the previous chapters.

Finally, the system is seriously summarized, so as to have a new prospect for the future.

  1. Related technology introduction
    1. Spring boot framework introduction:

The Spring framework is an open source application framework on the Java platform that provides a container with inversion of control features. Although the Spring framework itself has no restrictions on the programming model, its frequent use in Java applications made it so popular that it was later used as a supplement or even a substitute for the EJB (EnterpriseJavaBeans) model. The Spring framework provides a series of solutions for development, such as using the core features of inversion of control, and implementing inversion of control through dependency injection to realize the containerization of the management object life cycle, using aspect-oriented programming for declarative transaction management, and integrating A variety of persistence technologies manage data access, provide a large number of excellent web frameworks to facilitate development, and so on. The Spring framework has the feature of inversion of control (IOC). IOC is designed to facilitate project maintenance and testing. It provides a method for unified configuration and management of Java objects through the Java reflection mechanism. The Spring framework uses the container to manage the life cycle of objects. The container can configure objects by scanning XML files or specific Java annotations on classes. Developers can obtain objects through dependency lookup or dependency injection. Aspect Oriented Programming(AOP) framework, the Spring AOP framework is based on the proxy mode, and can be configured at runtime; the AOP framework is mainly modularized for the cross concerns between modules. The AOP framework of the Spring framework only provides basic AOP features. Although it cannot be compared with the AspectJ framework, it can also meet the basic needs through integration with AspectJ. Functions such as transaction management and remote access under the Spring framework can be realized by using Spring AOP technology. Spring's transaction management framework brings an abstraction mechanism to the Java platform that enables local and global transactions, as well as nested transactions, to work with savepoints and in almost any environment on the Java platform. Spring integrates multiple transaction templates. The system can configure transactions through transaction templates, XML or Java annotations, and the transaction framework integrates functions such as messaging and caching. Spring's data access framework addresses common difficulties developers encounter when using databases in their applications. It not only provides support for all popular data access frameworks such as Java: JDBC, iBATS/MyBATIs, Hibernate, Java Data Objects (JDO), ApacheOJB and Apache Cayne, but also can be used with Spring's transaction management to provide data access Flexible abstraction. The Spring framework initially did not intend to build its own Web MVC framework . During the development process, its developers believed that the separation between the presentation layer and the request processing layer of the existing Struts Web framework and between the request processing layer and the model was not enough, so they created Spring MVC.

    1. Introduction to JAVA

Java mainly adopts CORBA technology and security model, which can protect data in Internet applications. It also provides comprehensive support for EJB (Enterprise JavaBeans), java servlet API, SSM (java server pages), and XML technology. JAVA language is an object-oriented language. It provides the most basic methods to complete specified tasks. Developers only need to know some concepts to write some applications. Java programs are relatively small, and their code can run on small machines. Java is a computer programming language with three main features of encapsulation, inheritance and polymorphism, widely used in enterprise web application development and mobile application development.

The difference between the Java language and general compilers and literal translation is that Java first converts the source code into bytecode, and then converts it into an executable file for the JVM, which can run on various JVMs. Therefore, its cross-platform characteristics are realized. While this made Java very slow in its early days, it has improved as Java has been developed.

    1. MySQL database

The advancement of science and technology has brought many conveniences to daily life: classroom projectors use virtual imaging technology, digital cameras use photoelectric detection technology, for example, the records of goods entering and leaving warehouses in supermarkets require an information warehouse. This information warehouse is the database, and this time the enterprise human resource management system security solution also needs the support of this technology.

The reason for using the MySQL software is that it can be accessed by multiple users, and there are Archives, etc. in it. It will classify the data first, and then store them in tables separately. Such special operations will improve the speed of the data management system itself, allowing the database to be used flexibly. The code of MySQL is public, and allows others to compile and upgrade it twice. This feature can reduce the cost of users, and form a good website system after matching with suitable software. Although it has disadvantages, in all aspects, it is the mainstream application of users [8].

    1. B/S structure

B/S (Browser/Server) is a more convenient architecture than its predecessor architecture. It uses the Web server to complete the data transfer and exchange. You only need to download the browser as the client, then the work will achieve the effect of "slimming", and there is no need to consider the problem of non-stop installation of software [9].

    1. Introduction to MVVM pattern

MVVM is shorthand for Model-View-ViewModel. It's essentially an improved version of MVC. MVVM is to abstract the state and behavior of the View in it, and let us separate the view UI from the business logic. Of course, ViewModel has already done these things for us. It can take out the data of Model and help deal with the business logic involved in View because of the need to display content. Microsoft's WPF brings new technical experience, such as Silverlight, audio , video , 3D , animation ..., which leads to more detailed and customizable software UI layer. At the same time, at the technical level, WPF also brings new features such as Binding, Dependency Property, Routed Events, Command, DataTemplate, and ControlTemplate. The origin of the MVVM (Model-View-ViewModel) framework is a new type of architectural framework developed and evolved from the application of the MVP (Model-View-Presenter) pattern combined with WPF . It is based on the original MVP framework and incorporates the new features of WPF to cope with the increasingly complex needs of customers.

    1.  Main functions of Vue.js

Vue.js is a progressive framework for building user interfaces. Unlike other heavyweight frameworks, Vue is designed with bottom-up incremental development. Vue's core library only focuses on the view layer, and is very easy to learn and integrate with other libraries or existing projects. On the other hand, Vue is fully capable of driving complex single-page applications developed with single-file components and libraries supported by the Vue ecosystem.

The goal of Vue.js is to enable responsive data binding and composed view components with the simplest API possible .

Vue.js itself is not a catch-all framework - it only focuses on the view layer. So it's very easy to learn, very easy to integrate with other libraries or existing projects. On the other hand, Vue.js can also power complex single-page applications when used with related tooling and supporting libraries.

  1. system analysis
    1. Feasibility Analysis

This design is based on the B/S mode, using Java and JSP technologies using MySQL database and Myeclipse. The overall feasibility is divided into the following three aspects.

      1. Technical Feasibility Analysis

The so-called technical feasibility refers to whether the functions planned in the early stage can be satisfied within a limited time. Whether there will be problems that cannot be solved in the development and design. Whether the completed project can be well applied, if there are shortcomings, whether there is great difficulty in later maintenance. After evaluating the system, it was determined that existing technology could achieve the goals. Using JSP technology to realize dynamic pages, embedding low-dependency design patterns, flexible databases, and stable servers, the operating efficiency of the entire system is greatly improved. It can be seen that achieving the goal at the technical level is not a nonsense.

      1. Economic Feasibility Analysis

Most of the tools used in the project are currently popular open source and free, so in the early stage of development, the funds used for the project will be greatly reduced, and the development of the software will not be affected by the funds during the project start-up period, so It is still economically feasible. Try to use the least cost to meet the needs of users. Save funds for labor costs and equipment costs. It will go further and further on the road of paperless and high efficiency.

      1. Operational Feasibility Analysis

The operation of this system to realize the function is very simple. The common configuration of ordinary computers can run this software, and as long as you have a rough understanding of the basic common sense of computer use, you can use this software smoothly. The computer has the ability to connect to the Internet and can access the system normally. It does not require the operator to have any superb ability. It only needs to understand the business process and operate correctly according to professional knowledge. Therefore, the security solution of the enterprise human resource management system has the ability to operate feasibility.

    1. Functional Requirements Analysis

Before system development and design, you should make a preliminary idea of ​​the functions, know what sections the management system has, what functions each section has, whether the overall design meets the needs of users, and then conduct a detailed analysis and summary of the developed system functions , so as to design a complete system and implement it. Communication analysis of users and developers to achieve the best understanding and make the system function to the best.

The administrator use case diagram is shown below.

 

Figure 3-1 Administrator use case diagram

The employee use case diagram is shown below.

 

Figure 3-2 Employee use case diagram

After analyzing the requirements of the enterprise human resources management system security solution, the whole system is mainly divided into two parts: administrators and employees, and the functions of the branches under each module are different. Describe the function as follows:

Staff module:

Account login authentication.

Manage profile information, modify modifiable information items.

Employee training query, and at the same time view the history of training records.

Employee salary query, and at the same time check the history of existing salary records.

Admin module:

Maintain employees, review employee accounts, freeze employee login permissions, or delete employee accounts.

Publish announcements, and can destroy an announcement, update announcement data, fuzzy search announcement data, etc.

Manage employee training data.

    1. Non-Functional Requirements Analysis

There are many non-functional requirements of the system, such as performance requirements, maximum number of users that can be carried, stability, and usability requirements. The analysis of this system takes into account the requirement of ease of use, because the system is used by people, so it is necessary to fully consider the user experience from the user's point of view, so that the system is easy to understand, easy to use and easy to operate.

    1. Data Flow Analysis

The first-level data flow chart includes modules such as login, user function, and retrieval maintenance. The data used in the login module stores user account documents, and the storage required by the user function module is the data file of each user function module. The retrieval maintenance uses the above Data documents are retrieved by keywords.

The layer-by-layer data flow diagram of the system is shown in the figure below.

 

Figure 3-2 System data flow diagram (one layer)

  1. system design
    1. System architecture design

At present, the main data access method of the B/S system is: the user can enter the system through the browser page, and the system can automatically process the request sent by the user to the server. The processing request is carried out in the background of the system. Perform corresponding operations on the page, and you can see the processing results delivered by the server. The security scheme of enterprise human resources management system is mainly divided into view-model-control three-tier architecture design. In the view layer, it mainly operates the data fed back and displayed from the server to the client. In the model layer, it mainly deals with related business logic, data integration, etc., and the final control layer is between the view and the model. It is to adjust the relationship between the two layers and finally implement the data transfer.

The system architecture diagram is shown in the figure below.

 

Figure 4-1 System architecture diagram

    1. System function structure

The purpose of system design is to analyze all the functional structures included in the system, and make preparations for developers to design, develop and implement the system. After the preliminary demand investigation, analysis and sorting, the determined overall demand mainly includes multiple modules, namely: department information, job information, recruitment information, resume management, recruitment information, training information, attendance check-in, check-in record, reward and punishment information , salary information. The overall role of the system is divided into two parts, one is the employee, and the last is the administrator. The authority distribution is also obvious. In addition to browsing information, employees also have the ability to query and manage their own account information, and administrators are the highest authority owners.

The functional structure diagram of the system is shown in the figure below.

 

Figure 4-2 System function structure diagram

    1. Database Design
      1. conceptual model

For a system to be developed, ER diagrams allow others to understand the transactions of the system and the relationships between them faster and easier. According to the conclusions drawn in the system analysis stage, it is determined that there are multiple entities in the security scheme of the enterprise human resource management system, which are employee information, department information, training information, salary information, and employee information.

The overall ER diagram of the system is shown in the figure below.

 

      1. data sheet

The logical structure of the database is to describe the ER diagram in the database with specific fields. Use fields and data type descriptions to materialize object characteristics, and finally form a database table structure with certain logical relationships. Part of the data structure table required by the security solution of the enterprise human resources management system is shown in the following table.

clock_in

Field Name

type

length

not null

primary key

field description

clock_in_id

int

11

no

primary key

Attendance punch ID

punch_in_type

varchar

64

yes

Punch type

punch_in_date

date

0

yes

Punch date

recommend

int

11

no

Intelligent Recommendation

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

department_information

Field Name

type

length

not null

primary key

field description

department_information_id

int

11

no

primary key

Department Information ID

department_number

varchar

64

yes

Department Number

department_name

varchar

64

yes

department name

number_of_departments

varchar

64

yes

department headcount

department_profile

text

0

yes

G

recommend

int

11

no

Intelligent Recommendation

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

employee_user

Field Name

type

length

not null

primary key

field description

employee_user_id

int

11

no

primary key

Employee User ID

full_name

varchar

64

yes

Name

gender

varchar

64

yes

gender

age

varchar

64

yes

age

id

varchar

64

yes

ID card

department_name

varchar

64

yes

department name

position_name

varchar

64

yes

job title

entry_time

date

0

yes

Entry Time

examine_state

varchar

16

no

Approval Status

recommend

int

11

no

Intelligent Recommendation

user_id

int

11

no

User ID

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

job_information

Field Name

type

length

not null

primary key

field description

job_information_id

int

11

no

primary key

job information ID

position_number

varchar

64

yes

job number

position_name

varchar

64

yes

job title

number_of_positions

varchar

64

yes

Number of posts

job_profile

text

0

yes

job profile

recommend

int

11

no

Intelligent Recommendation

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

punch_in_record

Field Name

type

length

not null

primary key

field description

punch_in_record_id

int

11

no

primary key

Punch record ID

punch_in_type

varchar

64

yes

Punch type

punch_in_date

varchar

64

yes

Punch date

clock_in_time

datetime

0

yes

Punch time

full_name

varchar

64

yes

Name

staff

int

11

yes

staff

recommend

int

11

no

Intelligent Recommendation

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

recruitment_information

Field Name

type

length

not null

primary key

field description

recruitment_information_id

int

11

no

primary key

Recruitment information ID

recruitment_no

varchar

64

yes

Recruitment number

recruitment_position

varchar

64

yes

Job openings

number_of_recruits

int

11

yes

Number of recruits

recruitment_time

varchar

64

yes

Recruitment time

age_requirements

varchar

64

yes

age requirement

salary_forecast

varchar

64

yes

salary forecast

educational_requirements

text

0

yes

Academic requirements

experience_requirements

text

0

yes

experience requirement

recommend

int

11

no

Intelligent Recommendation

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

resume_management

Field Name

type

length

not null

primary key

field description

resume_management_id

int

11

no

primary key

Resume Management ID

recruitment_no

varchar

64

yes

Recruitment number

recruitment_position

varchar

64

yes

Job openings

full_name

varchar

64

yes

Name

gender

varchar

64

yes

gender

id

varchar

64

yes

ID card

education

varchar

64

yes

academic qualifications

nation

varchar

64

yes

nationality

political_outlook

varchar

64

yes

political status

age

varchar

64

yes

age

expected_salary

varchar

64

yes

expected salary

user_account

int

11

yes

user account

file

varchar

255

yes

document

educational_experience

text

0

yes

educational experience

hands_on_background

text

0

yes

work experience

interview_notice

text

0

yes

Interview

recommend

int

11

no

Intelligent Recommendation

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

reward_and_punishment_information

Field Name

type

length

not null

primary key

field description

reward_and_punishment_information_id

int

11

主键

奖惩信息ID

full_name

varchar

64

姓名

gender

varchar

64

性别

age

varchar

64

年龄

id

varchar

64

身份证

department_name

varchar

64

部门名

position_name

varchar

64

职位名

types_of_rewards_and_punishments

varchar

64

奖惩类型

reward_and_punishment_time

date

0

奖惩时间

staff

int

11

员工

details_of_rewards_and_punishments

text

0

奖惩详情

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

salary_information

字段名称

类型

长度

不是null

主键

字段说明

salary_information_id

int

11

主键

薪资信息ID

full_name

varchar

64

姓名

gender

varchar

64

性别

age

varchar

64

年龄

id

varchar

64

身份证

department_name

varchar

64

部门名

position_name

varchar

64

职位名

base_pay

int

11

基本工资

deduction_amount

int

11

扣款金额

reward_amount

int

11

奖励金额

total_salary

varchar

64

总工资

salary_month

varchar

64

工资月份

staff

int

11

员工

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

training_information

字段名称

类型

长度

不是null

主键

字段说明

training_information_id

int

11

主键

培训信息ID

full_name

varchar

64

姓名

gender

varchar

64

性别

id

varchar

64

身份证

department_name

varchar

64

部门名

position_name

varchar

64

职位名

training_time

date

0

培训时间

training_location

varchar

64

培训地点

staff

int

11

员工

training_content

text

0

培训内容

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

user_registration

字段名称

类型

长度

不是null

主键

字段说明

user_registration_id

int

11

主键

用户注册ID

gender

varchar

64

性别

full_name

varchar

64

姓名

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

  1. 系统实现
    1. 登录模块的实现

系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。

登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,然后在login.jsp页面发送登录请求,调用src下的mainctrl类的dopost方法来验证。

用户登录模块的IPO如下所示:

输入:用户名和密码。

处理:

1)检测用户输入的账号、密码是否正确及在数据库已对应存在。

2)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。

3)根据用户名,将其显示在系统首页上。

输出:是否成功的信息。

登录流程图如下所示。

       

 

图5-1登录流程图

系统登录界面如下所示。

            

 

图5-2系统登录界面

用户登录的逻辑代码如下。

 /**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

    1. 管理员功能模块

系统呈现出一种简洁大方的首页:界面简约、鳞次栉比,用户能轻车熟路的使用。出于对系统使用群体广泛的顾虑,应有良好性能的后台。

如下图所示为系统的首页界面。

 

图5-3系统首页界面

其中载入前台页面的主要代码如下。

  @RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        Query select = service.select(service.readQuery(request), service.readConfig(request));

        List resultList = select.getResultList();

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

}

 public Query select(Map<String,String> query,Map<String,String> config){

        StringBuffer sql = new StringBuffer("select ");

        sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

        sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

        if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

            sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

        }

        if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

            sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

        }

        if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

            sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

        }

        log.info("[{}] - 查询操作,sql: {}",table,sql);

        return runEntitySql(sql.toString());

    }

管理员登录进入企业人力资源管理系统可以查看管理员:首页、站点管理(轮播图、公告栏)用户管理(管理员、用户注册、员工用户)内容管理(新闻列表、新闻分类列表)更多管理(部门信息、职务信息、招聘信息、简历管理、录用信息、培训信息、考勤打卡、打卡记录、奖惩信息、薪资信息)管理等内容,如图5-4所示。

 

图5-4管理员信息界面图

用户管理,在用户管理可以查看用户账号、姓名、头像、联系电话、邮箱等信息,并可根据需要进行修改或删除操作,如图5-5所示。

 

图5-5用户管理界面图

部门信息管理,在部门信息列表可以查看部门编号、部门名、部门人数、部门简介等信息,并可根据需要进行修改或删除操作,如图5-6所示。

图5-5部门信息管理界面图

 

薪资管理,在薪资管理列表可以查看姓名、性别、年龄、身份证、部门名、职位名、基本工资、扣除金额等信息,如图5-6所示。

图5-6薪酬管理界面图

 

培训信息管理,在培训信息列表可以查看培训名称、员工、培训地点、培训时间、培训内容等信息,并可根据需要进行修改或删除操作,如图5-7所示。

 

图5-7培训信息管理界面图

    1. 用户功能模块

用户登录进入企业人力资源管理系统可以查看首页、公告消息、新闻、招聘信息等内容,如图5-8所示。

 

图5-8用户功能界面图

招聘信息管理,在招聘信息页面通过填写招聘编号、招聘职位、姓名、性别、身份证、学历、民族、年龄、教育经验等内容,并可根据需要对招聘信息进行投递简历,如图5-9所示。

 

图5-9招聘信息管理界面图

    1. 员工功能模块

员工登录进入企业人力资源管理系统可以查看首页、培训信息、考勤打卡、打卡记录、奖惩信息、薪资信息等内容,如图5-10所示。

 

图5-10员工功能界面图

打卡记录管理,在打卡记录页面查看打卡类型、打卡日期、打卡时间、姓名、员工等内容操作。如图5-11所示。

 

                                              图5-11打卡记录管理界面图

  1. 统测试
    1. 测试目的

在对该系统进行完详细设计和编码之后,就要对企业人力资源管理系统安全方案的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。

    1. 测试过程

在软件的测试过程中,通常测试人员需要针对不同的功能模块设计多种测试用例。通过测试用例能够及时发现代码业务逻辑上是否与真实的业务逻辑相对应,及时发现代码上或逻辑上的缺陷,以此来来完善系统,提高软件产品的质量,使软件具有良好的用户体验。

登录测试用例表如下所示。

表6-1登录测试用例

测试性能

用户或操作员登录系统

用例目的

测试用户或操作员登录系统时功能是否正常

前提条件

进入用户登录页面或操作员登录页面

输入条件

预期输出

实际情况

各项信息不予填写,直接点击登陆按钮

不允许登录,提示填写账号相关信息

一致

填写错误的登录名或密码后点击登录系统

提示用户名或密码错误,要求重新填写进行登录

一致

填写与验证码信息不一致的信息

系统显示出提示信息,表明验证码错误,要求重新填写

一致

员工培训测试用例表如下所示。

表6-2员工培训测试用例

测试性能

用户进行员工培训的操作

用例目的

测试用户进行员工培训操作时,该功能是否正常

前提条件

用户进入员工详情页,该员工能够被培训

输入条件

预期输出

实际情况

对着某员工点击“培训”按钮

界面跳转至培训界面

一致

在培训界面,输入必填项,点击“提交”按钮

提示“培训成功”,并返回上一级界面

一致

在培训界面,填写培训表单的时候未输入完整,点击“提交”按钮

提示“培训失败”

一致

员工管理测试用例表如下所示。

表6-3员工管理测试用例

测试性能

员工相关信息管理功能

用例目的

测试系统操作者对员工相关信息进行管理的功能是否正常

前提条件

登录系统进入相关管理页面

输入条件

预期输出

实际情况

进入员工管理界面,点击“录入”按钮,填写所有必填项,点击提交

提示“录入成功”,并返回查询界面

一致

进入员工管理界面,点击“录入”按钮,未填写一个或者多个必填项,点击提交

提示“录入失败”,请填写必填项

一致

进入员工管理界面,选择要修改的一条数据,点击该条数据后面的“修改”按钮 

节目跳转至修改界面

一致

在修改界面,修改可修改项后,点击“提交”按钮

提示“修改成功”,并返回查询界面

一致

进入员工管理界面,点击某条数据后面的删除按钮

提示“是否要删除该数据”,如果用户点击“确定”按钮,则成功删除该条数据,并提示“删除成功”,之后返回查询界面

一致

    1. 测试结果

经过对此系统的测试,得出该系统足以满足用户日常需求,在功能项目和操作等方面也能满足操作员对于其他用户的管理。但是,还有很多功能有待添加,这个系统仅能满足大部分的需求,还需要对此系统的功能更进一步的完善,这样使用起来才能更加的完美。

  1. 总结与展望

通过企业人力资源管理系统安全方案的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。

目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。

本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。

系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。

参考文献

[1]徐佩.新时期计算机软件开发技术的应用及发展趋势[J].农家参谋,2019(08):167.

[2]张帅,崔婀娜,魏立波.互联网+健康在线服务平台的设计与实现[J].科技创新与应用,2019(10):91-92.

[3]谷利国,陈存田,张甲瑞.基于B/S模式的人事教育信息管理系统的分析与设计[J].电脑知识与技术,2019,15(10):58-59.

[4]胥新政,强毅.基于JSP的常用金属材料标准检索平台开发设计[J].制造业自动化,2019,41(03):41-43+69.

[5]王祖维,南淮耀,张英.“互联网+”视域下的高校学生公寓管理系统设计与实现——以沈阳师范大学为例[J].现代商贸工业,2019,40(08):187-188.

[6]廖明华,齐攀.学生职业能力测评管理系统的设计与实现[J].广东交通职业技术学院学报,2019,18(01):48-52.

[7]李冬冬,刘华明,毕学慧,王秀友.旧衣申领系统的设计与实现[J].电脑知识与技术,2019,15(08):47-50.

[8]李庆年.“互联网+”视域下的人才招聘管理系统设计与实现[J].国际公关,2019(03):164-165.

[9]刘婷,彭焕峰,邵淑婷.基于云平台的高校监考管理系统[J].电脑知识与技术,2019,15(07):91-92.

[10]赵丙秀.基于百度AI平台的Web人脸注册和登录系统的实现[J].电脑知识与技术,2019,15(07):114-115.

[11]戴昭颖,尹涛.钢铁行业成本预算系统开发应用实践[J].电子技术与软件工程,2019(04):29-30.

[12]曹灿,刘志刚.基于SSH和Layui的工程科学前沿与实践系统[J].工业控制计算机,2019,32(02):91-92+96.

[13]谢路.基于Web的考务管理系统设计与实现[J].福建电脑,2019,35(01):136-137.

[14]张继东.MySQL数据库基于JSP的访问技术[J/OL].电子技术与软件工程,2017,(15):169(2017-08-03).

[15]韩思凡.Web开发中的JSP与HTML的基础应用[J].科学技术创新,2020(14):71-72.

[16]NastitiAndini,DaehaKim,JongAhnChun.Operationalsoilmoisturemodelingusingamulti-stageapproachbasedonthegeneralizedcomplementaryprinciple[J].AgriculturalWaterManagement,2020,231.

[17]A.D.Titisari,D.Phillips,I.W.Warmada,Hartono,A.Idrus.40Ar/39ArgeochronologyofthePongkorlowsulfidationepithermalgoldmineralisation,WestJava,Indonesia[J].OreGeologyReviews,2020,119.

[18]FranciscoOrtin,OscarRodriguez-Prieto,NicolasPascual,MiguelGarcia.HeterogeneoustreestructureclassificationtolabelJavaprogrammersaccordingtotheirexpertiselevel[J].FutureGenerationComputerSystems,2020,105.

[19]SatyaKrismatama,IndahRiyantini,IwangGumilar,LantunParadhitaDewanti.SelectivityofFishingGearforScomberomorusguttatus(Bloch&Schneider,1801)CommoditiesinPangandaranFishingGround,WestJava[J].AsianJournalofFisheriesandAquaticResearch,2020.

[20]ZhongXiangfu,PlaAlbert,RaynerSimon.Jasmine:aJavapipelineforisomiRcharacterizationinmiRNA-Seqdata[J].Bioinformatics,2020,36(6).

thank you

With the completion of the design, the college career is coming to an end. The time in college is the time I cherish the most. I have learned a lot and grown a lot during the time in college. Every memory during this time is engraved in my mind. Thanks to the students who studied and grew up together, and the teachers who taught me during the growth process, I am very grateful for your company.

First of all, I would like to thank my instructor. The completion of the design is inseparable from a series of guidance from the teacher. During the completion of the graduation project, the teacher gave many pertinent suggestions. It is precisely because of the teacher's meticulous work attitude that my design can be successfully completed.

Finally, I would like to thank every teacher who taught me during my college career. You have taught me a wealth of knowledge and taught me how to deal with and solve problems when I encounter them. Thank you for your help and support.

Like+Favorite+Follow → private message to receive the source code and database

Guess you like

Origin blog.csdn.net/weixin_61498557/article/details/131242310