0% found this document useful (0 votes)
26 views92 pages

Management System

The document is a project report on the 'Student Attendance Management System' submitted by Mohd Amash and Sahib Ali for their Bachelor of Computer Applications degree. It outlines the project's objectives, background, limitations, advantages, and technical specifications, including hardware and software requirements. The report also includes various modules, data flow diagrams, coding details, and acknowledgments to supervisors and family for their support.

Uploaded by

sahibrajput363
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views92 pages

Management System

The document is a project report on the 'Student Attendance Management System' submitted by Mohd Amash and Sahib Ali for their Bachelor of Computer Applications degree. It outlines the project's objectives, background, limitations, advantages, and technical specifications, including hardware and software requirements. The report also includes various modules, data flow diagrams, coding details, and acknowledgments to supervisors and family for their support.

Uploaded by

sahibrajput363
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 92

A

PROJECT REPORT
ON
STUDENT ATTENDANCE MANAGEMENT SYSTEM

Submitted in Partial Fulfillment of the Requirements for


BACHELOR OF COMPUTER APPLICATIONS
Submitted By

Name-Mohd Amash Name-Sahib Ali


Roll No:222807420304
RollNo:222807420467
Enrollment no. MSU22043576 Enrollment No. MSU22043739

Under The supervision of


Dr. Pramod Kumar
(Assistant Professor)
Department Of Computer Application
Shri Ram Collage of Management, Muzaffarnagar
(MAA SHAKUBHARI UNIVERSITY, SRE ,UP ,INDIA)
ACKNOWLEDGEMENT

We are students of BCA(3rdYear) here by submit our project. Merely


words to thank these people would be insufficient. We thank to
our project guide Dr. Pramod Kumar for helping us to settle all the
problems we had while our project report under went for setting
our quires. We are also very thankful to our HOD (Dr. Nishant
Kumar Rathi) to inspired us during this period. Finally but definitely
not the last we are thankful to our family for standing by us in our
confusions and apprehensions.

NAME OF STUDENT:-

Name:-Mohd Amash
Roll No:-222807420304
Name:- Sahib Ali
Roll No:-222807420467
DECLARATION

We Mohd Amash and Sahib Ali hereby declare that the project report title
“Student Management System” is an original work carried out by me under
the supervision of Dr. Pramod Kumar.
We further declare that this work has not been submitted to any other
Institute/University for the award of the degree of Bachelor of Computer
Applications.

Students Name:-
Name:-Mohd Amash
Roll No:-222807420304
Name:-Sahib Ali
Roll No:-222807420467
FORWARDING LETTER

This is to certify that the project entitled “Student Attendance Management


System”, which is being submitted for the partial fulfillment for the award of
Degree of Bachelor of Computer Applications from MAA SHAKUBHARI
UNIVERSITY(SRE,UP,INDIA) is an authentic work carried out by Mohd Amash
(University Roll No.222807420304) and Sahib Ali (222807420467) under the
guidance of Project Guide Dr. Pramod Kumar .

The matter embodied in this project work has not been submitted earlier for
the award of degree or Bachelor of Computer Applications.
We wish him/her all the best for the future.

Internal Guide Head – BCA Department


Dr. Pramod Kumar Mr. Nishant Rathi
TABLE OF CONTENTS

S. No. Topic Page No.

1 INTRODUCTION 6

2 BACKGROUND 7

3 LIMITATIONS 8

4 ADVANTAGE OF PROPOSED SYSTEM 9

5 Front-End and Back-End User 10

6 Hardware And Software Requirements 10

7 MODULES 11-12

8 DFD( Data Flow Diagram ) 13

9 ER Diagram 14

10 Database Table 15

11 Output Screen 16-20

12 Coding 21-64

13 CONCLUSION 65-66

14 FUTURE IMPROVEMENT 67
15 Bibliography 68-70

1.INTRODUCTION
Everything has been digitised in our age of ever-increasing technology.
The human workforce has grown as a result of the abundance of job
options. As a result, a system that can handle the data of such a vast
number of people in a company is required. Because of its user-friendly
design, this project makes the process of keeping records easier. The
"Student Attendance Management System" was created to address the
issues that plagued the previous manual system. This programme is
designed to eliminate, and in some cases, decrease, the problems that
the current system has.

To eliminate data entry mistakes, the software is kept as simple as


possible. When inputting incorrect data, it also displays an error notice.
The user doesn’t require any formal expertise to operate this system. The
admin will be able to add new employees to this project. Employee data
may also be seen and printed by the administrator. Admins can also
remove an employee and change their details.
Objective

The objective of this work is to give a complete approach to personnel


information management. This will be accomplished by developing and
deploying an HR management system that will result in a significant shift
in the way employee data is managed.

This system's objectives include the following:

2.BACKGROUND

An organization needs to manage the leave and Join of its employees. Student
Attendance has direct relation with employees, their payroll and leave. Various
software for Information of the employee are available in the Company. Most of
them are the desktop based applications and the others, though they are web
based applications, during our preliminary survey we found that they were not
efficient enough to cater the needs of the organization. Hence, we thought it be
a beneficial project for us and the college as well as the concerned
organizations.
3.LIMITATIONS

The major limitations of the project are as follows:

• Due to the constraint of resources and time, the size of the project could
not be increased.

• The project has been developed through utilizing the records of the
employees and other information available at certain organization. The
requirements gathered through various sources might not be properly reflected
in the requirements analysis and the design documents due to limited knowledge
and time.

• Due to the small scope the project may not represent the whole spectrum of
the human resource management.

• Due to very little knowledge of the team members about java language and
MySQL database, the project may not have been developed as envisioned.

The manager cannot trace out the Employee's activities like web history,
unauthorized call history and unauthorized web list in the mobile. The manager
cannot know the Student Management cannot get alert message on his/her
mobile
The size of the database increases day-by-day, increasing the load on the
database back up and data maintenance activity.

Training for simple computer operations is necessary for the users working on
the system.

4.ADVANTAGE OF PROPOSED SYSTEM

4.1. Advantages
An employee management system can help you keep
employees engaged and productive. For instance, live feed
capabilities within the software can allow employees to initiate
a conversation with their coworkers at any time. Similarly,
employees can stay updated on everything that's happening in
their organization.

• Real-Time Student Data


• Document can be safely managed
• Faculty Profile
• All employee information

4.2. Disadvantages
• It requires active internet connection.
• Data need to feed properly.
5.Front-End and Back-End User

1. Front end

In the front end we used HTML, CSS , JAVA


2. Back end

In the backend we used PHP,SQL

6. Hardware And Software Requirements

Technologies Used : Java and MySQL

1.Hardware Requirements:
Processor :- Pentium 4 or higher processor
RAM :- 1gb or higher
Keyboard :- 104 keys

2.Software Requirements:

Operating System : Windows XP/2003 or Linux/Solaris


Programming Language : Java(jdk 17)
Netbeans : 12.5 Version
MySQL Workbench : 8.0

7.MODULES

Modules is used in your company


.

1.Employee Module: Adding Employees

When you need to add an employee(s) to Budgyt, go to Employees > Manage


Employees. Here you can input the name, Father Name, DOB, employee
code ,Address, phone number ,education, designation and aadhar number .
You can also determine which department(s) will be paying this employee -
Budgyt allows employees to work in multiple departments.

2.Employee Module: View Employees


In this module we can see all your employees and can also see their
information.
3.Employee Module: Update Employees
With the help of this module, we can easily view the information of
any employee.

4.Employee Module: Remove Employees


We use Remove module to remove the employee. Along with this, all his/her
data is also removed.

5.Employee Module: Employees Salary


With the help of this module, you can view the salary of any employee very easily.
8

DFD( Data Flow Diagram )

A data flow diagram is a graphical representation of the "flow" of data through an


information system, modelling its process aspects.

1.

Employees
Admin Management System Employee

2.
9

.
10.

ER Diagram
11.

Database Table

employee1(name varchar(20), fname varchar(20), dob


varchar(30), salary
varchar(100), address varchar(100), phone varchar(20), email
varchar(40), education varchar(20), designation varchar(30),
aadhar varchar(25), empId varchar (15));
12.

Output Screen
Output of all modules are given below sequencially:-
1.Splash
13.
14.
2.Login
This is the login frame of this system where user have to enter the required
credentials to have access for the main dashboard.

3. Main Dashboard
After login in, user is directed to the main dashboard of this system where user
can perform various operations like adding an employee, deleting an employee
3.Add Employe
Here user have to enter all the required credentials to add a new employee to
the system
4. Update Employee
In order to update employee information, the user have to enter employee ID
5.View Employee
In order to view employee information, the user have to enter employee ID
6.Deleat Employee
User has to enter the employee id in order to delete his information from the
system.

7. Employee Salary
User has to enter the employee id in order to view the employee salary his
information from the system.
12.Coding
1.SPLASH:-

package employee.management.system;

import javax.swing.*; import java.awt.*; import


java.awt.event.*; public class Splash extends JFrame implements
ActionListener {

Splash(){
getContentPane().setBackground(Color.WHITE);
setLayout(null);

JLabel heading = new JLabel("EMPLOYEE MANAGEMENT SYSTEM");


heading.setBounds(80, 30, 1200, 60);
heading.setFont(new Font("serif",Font.PLAIN, 60));
heading.setForeground(Color.RED);
add(heading);

ImageIcon i1 = new
ImageIcon(ClassLoader.getSystemResource("icons/front.jpg"));
Image i2 = i1.getImage().getScaledInstance(1100, 700,
Image.SCALE_DEFAULT);

ImageIcon i3 = new ImageIcon(i2); JLabel


image = new JLabel(i3);
image.setBounds(50, 100, 1050, 500);
add(image);

JButton clickhere = new JButton("CLICK HERE TO CONTINUE");


clickhere.setBounds(400,400,300,70);
clickhere.setBackground(Color.BLACK);
clickhere.setForeground(Color.WHITE); clickhere.addActionListener(this);
image.add(clickhere);
setSize(1170, 650);
setLocation(200, 50); setVisible(true);
while(true){
heading.setVisible(false);
try {
Thread.sleep(500);
}
catch(Exception e){

}
heading.setVisible(true);
try {
Thread.sleep(500);
}

catch(Exception e){

}
}

public void actionPerformed(ActionEvent ae){


setVisible(false);
new Login();
}

public static void main(String args[]){


new Splash();

2.Login

package employee.management.system;
import java.awt.*; import javax.swing.*;
import java.awt.event.*; import java.sql.*;

public class Login extends JFrame implements ActionListener{

JTextField tfusername, tfpassword;

Login(){

getContentPane().setBackground(Color.WHITE);
setLayout(null);

JLabel lblusername = new JLabel ("Username");


lblusername.setBounds(40, 20, 100, 30); add(lblusername);

tfusername = new JTextField();


tfusername.setBounds(150, 20, 150, 30); add(tfusername);

JLabel lblpassword = new JLabel ("Password");


lblpassword.setBounds(40, 70, 100, 30); add(lblpassword);

tfpassword = new JTextField();


tfpassword.setBounds(150, 70, 150, 30); add(tfpassword);

JButton login = new JButton("LOGIN");


login.setBounds(150,140,150,30);
login.setBackground(Color.BLACK);
login.setForeground(Color.WHITE); login.addActionListener(this);
add(login);

ImageIcon i1 = new
ImageIcon(ClassLoader.getSystemResource("icons/second.jpg"));
Image i2 = i1.getImage().getScaledInstance(200, 200,
Image.SCALE_DEFAULT);

ImageIcon i3 = new ImageIcon(i2); JLabel


image = new JLabel(i3);
image.setBounds(350, 0, 200, 200);
add(image);

setSize(600, 300);
setLocation(450, 200);
setVisible(true);
}

public void actionPerformed(ActionEvent ae){


try{
String username = tfusername.getText();
String password = tfpassword.getText();

Conn c = new Conn();


String query = "select * from login where username = '"+username+"'
and password = '"+password+"'";

ResultSet rs = c.s.executeQuery(query); if
(rs.next()){ setVisible(false);
new Home();
} else{
JOptionPane.showMessageDialog(null,"Invalid username or
password");
setVisible(false);
}

} catch (Exception e){


e.printStackTrace();
}
}

public static void main(String[] args){


new Login();
}

}
3.Conn

package employee.management.system;

import java.sql.*;

public class Conn {

Connection c;
Statement s;

public Conn (){


try{
Class.forName("com.mysql.cj.jdbc.Driver"); c
=
DriverManager.getConnection("jdbc:mysql:///employeemanagementsystem",
"root", "Ramuraj@123");
s=c.createStatement();
} catch(Exception e){
e.printStackTrace();
}

}
}
4.login

package employee.management.system;
import java.awt.*; import
javax.swing.*; import java.awt.event.*;
import java.sql.*;

public class Login extends JFrame implements ActionListener{

JTextField tfusername, tfpassword;

Login(){

getContentPane().setBackground(Color.WHITE);
setLayout(null);
JLabel lblusername = new JLabel ("Username");
lblusername.setBounds(40, 20, 100, 30); add(lblusername);

tfusername = new JTextField();


tfusername.setBounds(150, 20, 150, 30); add(tfusername);

JLabel lblpassword = new JLabel ("Password");


lblpassword.setBounds(40, 70, 100, 30);
add(lblpassword);

tfpassword = new JTextField();


tfpassword.setBounds(150, 70, 150, 30);
add(tfpassword);

JButton login = new JButton("LOGIN");


login.setBounds(150,140,150,30); login.setBackground(Color.BLACK);
login.setForeground(Color.WHITE); login.addActionListener(this);
add(login);

ImageIcon i1 = new
ImageIcon(ClassLoader.getSystemResource("icons/second.jpg"));
Image i2 = i1.getImage().getScaledInstance(200, 200,
Image.SCALE_DEFAULT);
ImageIcon i3 = new ImageIcon(i2);
JLabel image = new JLabel(i3);
image.setBounds(350, 0, 200, 200);
add(image);

setSize(600, 300);
setLocation(450, 200);
setVisible(true);
}

public void actionPerformed(ActionEvent ae){


try{
String username = tfusername.getText();
String password = tfpassword.getText();

Conn c = new Conn();


String query = "select * from login where username = '"+username+"'
and password = '"+password+"'";

ResultSet rs = c.s.executeQuery(query); if
(rs.next()){

setVisible(false);
new Home();
} else{
JOptionPane.showMessageDialog(null,"Invalid username or
password");
setVisible(false);
}

} catch (Exception e){


e.printStackTrace();
}

public static void main(String[] args){


new Login();
}

}
5.HOME:

package employee.management.system;
import javax.swing.*; import
java.awt.*;
import java.awt.event.*;

public class Home extends JFrame implements ActionListener{

JButton view, add, update, remove;

Home(){ setLayout(null);

ImageIcon i1 = new
ImageIcon(ClassLoader.getSystemResource("icons/home.jpg"));
Image i2 = i1.getImage().getScaledInstance(1120, 630,
Image.SCALE_DEFAULT);
ImageIcon i3 = new ImageIcon(i2); JLabel
image = new JLabel(i3);
image.setBounds(0, 0, 1120, 630);
add(image);

JLabel heading = new JLabel("Employee Management System");


heading.setBounds(620, 20, 400, 40);
heading.setFont(new Font("Raleway", Font.BOLD, 25));
image.add(heading);

add = new JButton("Add Employee");


add.setBounds(650, 80, 150, 40);
add.addActionListener(this); image.add(add);

view = new JButton("View Employees");


view.setBounds(820, 80, 150, 40); view.addActionListener(this);
image.add(view);

update = new JButton("Update Employee");


update.setBounds(650, 140, 150, 40); update.addActionListener(this);
image.add(update);

remove = new JButton("Remove Employee");


remove.setBounds(820, 140, 150, 40); remove.addActionListener(this);
image.add(remove);
setSize(1120, 630);
setLocation(250, 100);
setVisible(true);
}

public void actionPerformed(ActionEvent ae){


if (ae.getSource() == add){
setVisible(false);
new AddEmployee();

} else if (ae.getSource() == view){


setVisible(false);
new ViewEmployee();

} else if (ae.getSource() == update){


setVisible(false);
new ViewEmployee();

} else {
setVisible(false); new
RemoveEmployee(); }

public static void main(String[] args){ new


Home();
}
}
6.ADD EMPLOYEE

package employee.management.system;

import java.awt.*; import


javax.swing.*;
import com.toedter.calendar.JDateChooser;
import java.util.*; import java.awt.event.*;

public class AddEmployee extends JFrame implements ActionListener{

Random ran = new Random();


int number = ran.nextInt(999999);

JTextField tfname, tffname, tfaddress, tfphone, tfaadhar, tfemail, tfsalary,


tfdesignation;
JDateChooser dcdob;
JComboBox cbeducation;
JLabel lblempId;
JButton add, back;

AddEmployee(){
getContentPane().setBackground(Color.WHITE);
setLayout(null);

JLabel heading = new JLabel ("Add Employee Detail");


heading.setBounds(320, 30, 500, 50);
heading.setFont(new Font("SAN_SERIF", Font.BOLD, 25));
add(heading);

JLabel labelname = new JLabel("Name");


labelname.setBounds(50, 150, 150, 30); labelname.setFont(new
Font("serif", Font.PLAIN, 20)); add(labelname);

tfname = new JTextField();


tfname.setBounds(200, 150, 150, 30);
add(tfname);
JLabel labelfname = new JLabel(" Father Name");
labelfname.setBounds(400, 150, 150, 30); labelfname.setFont(new
Font("serif", Font.PLAIN, 20)); add(labelfname);

tffname = new JTextField();


tffname.setBounds(600, 150, 150, 30); add(tffname);

JLabel labeldob = new JLabel(" Date Of Birth ");


labeldob.setBounds(50, 200, 150, 30); labeldob.setFont(new
Font("serif", Font.PLAIN, 20)); add(labeldob);

dcdob = new JDateChooser();


dcdob.setBounds(200, 200, 150, 30); add(dcdob);

JLabel labelsalary = new JLabel(" Salary"); labelsalary.setBounds(400,


200, 150, 30); labelsalary.setFont(new Font("serif", Font.PLAIN, 20));
add(labelsalary);
tfsalary = new JTextField();
tfsalary.setBounds(600, 200, 150, 30); add(tfsalary);

JLabel labeladdress = new JLabel(" Address");


labeladdress.setBounds(50, 250, 150, 30); labeladdress.setFont(new
Font("serif", Font.PLAIN, 20)); add(labeladdress);

tfaddress = new JTextField();


tfaddress.setBounds(200, 250, 150, 30); add(tfaddress);

JLabel labelphone = new JLabel("Phone"); labelphone.setBounds(400,


250, 150, 30); labelphone.setFont(new
Font("serif", Font.PLAIN, 20)); add(labelphone);

tfphone = new JTextField();


tfphone.setBounds(600, 250, 150, 30); add(tfphone);

JLabel labelemail = new JLabel("Email"); labelemail.setBounds(50,


300, 150, 30);
labelemail.setFont(new Font("serif", Font.PLAIN, 20));
add(labelemail);

tfemail = new JTextField();


tfemail.setBounds(200, 300, 150, 30); add(tfemail);

JLabel labeleducation = new JLabel("Higest Education");


labeleducation.setBounds(400, 300, 150, 30); labeleducation.setFont(new
Font("serif", Font.PLAIN, 20)); add(labeleducation);

String courses[] = {"BCA", "BBA", "BSC", "BA", "B.COM", "BTech", "MBA",

"MCA", "MA", "MTech", "MSC", "PHD"}; cbeducation


= new JComboBox(courses);
cbeducation.setBackground(Color.WHITE);
cbeducation.setBounds(600, 300, 150, 30);
add(cbeducation);
JLabel labeldesignation = new JLabel(" Designation");
labeldesignation.setBounds(50, 350, 150, 30);
labeldesignation.setFont(new Font("serif", Font.PLAIN, 20));
add(labeldesignation);

tfdesignation = new JTextField();


tfdesignation.setBounds(200, 350, 150, 30); add(tfdesignation);

JLabel labelaadhar = new JLabel("Aadhar Number");


labelaadhar.setBounds(400, 350, 150, 30); labelaadhar.setFont(new
Font("serif", Font.PLAIN, 20)); add(labelaadhar);

tfaadhar = new JTextField();


tfaadhar.setBounds(600, 350, 150, 30); add(tfaadhar);

JLabel labelempId = new JLabel("Employee Id");


labelempId.setBounds(50, 400, 150, 30); labelempId.setFont(new
Font("serif", Font.PLAIN, 20)); add(labelempId);
lblempId = new JLabel("" + number); lblempId.setBounds(200, 400, 150,
30); lblempId.setFont(new Font("serif", Font.PLAIN, 20)); add(lblempId);

add = new JButton("Add Details");


add.setBounds(250, 550, 150, 40); add.addActionListener(this);
add.setBackground(Color.BLACK);
add.setForeground(Color.WHITE); add(add);

back = new JButton("Back");


back.setBounds(450, 550, 150, 40);

back.addActionListener(this); back.setBackground(Color.BLACK);
back.setForeground(Color.WHITE); add(back);

setSize(900, 700);
setLocation(300, 50); setVisible(true);

}
public void actionPerformed(ActionEvent ae){ if
(ae.getSource() == add){
String name = tfname.getText();
String fname = tffname.getText();
String dob = ((JTextField)
dcdob.getDateEditor().getUiComponent()).getText();
String salary = tfsalary.getText();
String address = tfaddress.getText();

String phone = tfphone.getText();


String email = tfemail.getText();
String education = (String) cbeducation.getSelectedItem();
String designation = tfdesignation.getText();
String aadhar = tfaadhar.getText();
String empId = lblempId.getText();

try {
Conn conn = new Conn();
String query = "insert into employee1 values('"+name+"', '"+fname+"',
'"+dob+"', '"+salary+"', '"+address+"', '"+phone+"', '"+email+"', '"+education+"',
'"+designation+"', '"+aadhar+"', '"+empId+"')";
conn.s.executeUpdate(query);
JOptionPane.showMessageDialog(null, "Deatils added successfully");
setVisible(false); new Home();

} catch (Exception e){


e.printStackTrace();
}

} else{ setVisible(false);
new Home();
}
}

public static void main(String[] args){ new


AddEmployee();
}

}
7.VIEW EMPLOYEE

package employee.management.system;

import javax.swing.*; import


java.awt.*; import
java.sql.*;

import net.proteanit.sql.DbUtils; import


java.awt.event.*;
public class ViewEmployee extends JFrame implements ActionListener{

JTable table;
Choice cemployeeId;
JButton search, print, update, back;

ViewEmployee(){
getContentPane().setBackground(Color.WHITE);
setLayout(null);
JLabel searchlbl = new JLabel("Search by Employee Id");
searchlbl.setBounds(20, 20, 150,20); add(searchlbl);

cemployeeId = new Choice();


cemployeeId.setBounds(180, 20, 150, 20); add(cemployeeId);

try
{ Con
n c = new
Conn();

ResultSet rs = c.s.executeQuery("select * from employee1");

while(rs.next()){
cemployeeId.add(rs.getString("empId"));
}

} catch (Exception e){


e.printStackTrace();

}
table = new JTable();

try {
Conn c = new Conn();
ResultSet rs = c.s.executeQuery("select * from employee1");
table.setModel(DbUtils.resultSetToTableModel(rs));

} catch (Exception e){


e.printStackTrace();

JScrollPane jsp = new JScrollPane(table); jsp.setBounds(0,


100, 900, 600); add(jsp);
search = new JButton("Search");
search.setBounds(20, 70, 80, 20);
search.addActionListener(this); add(search);

print = new JButton("Print");


print.setBounds(120, 70, 80, 20);
print.addActionListener(this); add(print);
update = new JButton("Update");

update.setBounds(220, 70, 80, 20); update.addActionListener(this);


add(update);

back = new JButton("Back");


back.setBounds(320, 70, 80, 20); back.addActionListener(this);
add(back);

setSize(900, 700);
setLocation(300, 100); setVisible(true);

}
public void actionPerformed(ActionEvent ae){
if (ae.getSource() == search){
String query = "select *from employee1 where empId =
'"+cemployeeId.getSelectedItem()+"'"; try{

Conn c = new Conn();


ResultSet rs = c.s.executeQuery(query);
table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e){
e.printStackTrace();

} else if (ae.getSource() == print){


try {
table.print(); } catch
(Exception e){
e.printStackTrace();
}
} else if (ae.getSource() == update){ setVisible(false);
new
UpdateEmployee(cemployeeId.getSelectedItem()); }

else {
setVisible(false); new
Home();
}
}

public static void main(String[] args){ new


ViewEmployee();
}
}

8.UPDATE EMPLOYEE package


employee.management.system;

import java.awt.*; import


javax.swing.*; import java.awt.event.*;
import java.sql.*;
public class UpdateEmployee extends JFrame implements ActionListener{

JTextField tfeducation, tffname, tfaddress, tfphone, tfaadhar, tfemail, tfsalary,


tfdesignation; JLabel lblempId;
JButton add, back;
String empId;

UpdateEmployee(String empId){
this.empId = empId;
getContentPane().setBackground(Color.WHITE);
setLayout(null);

JLabel heading = new JLabel ("Update Employee Detail");


heading.setBounds(320, 30, 500, 50);
heading.setFont(new Font("SAN_SERIF", Font.BOLD, 25));
add(heading);

JLabel labelname = new JLabel("Name");


labelname.setBounds(50, 150, 150, 30); labelname.setFont(new
Font("serif", Font.PLAIN, 20)); add(labelname);

JLabel lblname = new JLabel(); lblname.setBounds(200,


150, 150, 30); add(lblname); JLabel labelfname = new JLabel("
Father Name"); labelfname.setBounds(400, 150, 150, 30);
labelfname.setFont(new
Font("serif", Font.PLAIN, 20));
add(labelfname);

tffname = new JTextField();


tffname.setBounds(600, 150, 150, 30);
add(tffname);

JLabel labeldob = new JLabel(" Date Of Birth ");


labeldob.setBounds(50, 200, 150, 30); labeldob.setFont(new Font("serif",
Font.PLAIN, 20)); add(labeldob);

JLabel lbldob = new JLabel();


lbldob.setBounds(200, 200, 150, 30);
add(lbldob);

JLabel labelsalary = new JLabel(" Salary"); labelsalary.setBounds(400,


200, 150, 30); labelsalary.setFont(new Font("serif", Font.PLAIN, 20));
add(labelsalary);

tfsalary = new JTextField();


tfsalary.setBounds(600, 200, 150, 30);
add(tfsalary);

JLabel labeladdress = new JLabel(" Address");


labeladdress.setBounds(50, 250, 150, 30); labeladdress.setFont(new
Font("serif", Font.PLAIN, 20)); add(labeladdress);
tfaddress = new JTextField();
tfaddress.setBounds(200, 250, 150, 30);
add(tfaddress);

JLabel labelphone = new JLabel("Phone");


labelphone.setBounds(400, 250, 150, 30); labelphone.setFont(new
Font("serif", Font.PLAIN, 20)); add(labelphone);

tfphone = new JTextField();


tfphone.setBounds(600, 250, 150, 30);
add(tfphone);

JLabel labelemail = new JLabel("Email"); labelemail.setBounds(50,


300, 150, 30); labelemail.setFont(new Font("serif", Font.PLAIN, 20));
add(labelemail);

tfemail = new JTextField();


tfemail.setBounds(200, 300, 150, 30);
add(tfemail);

JLabel labeleducation = new JLabel("Higest Education");


labeleducation.setBounds(400, 300, 150, 30); labeleducation.setFont(new
Font("serif", Font.PLAIN, 20)); add(labeleducation);

tfeducation = new JTextField();


tfeducation.setBounds(600, 300, 150, 30);
add(tfeducation);

JLabel labeldesignation = new JLabel(" Designation");


labeldesignation.setBounds(50, 350, 150, 30);
labeldesignation.setFont(new Font("serif", Font.PLAIN, 20));
add(labeldesignation);

tfdesignation = new JTextField();


tfdesignation.setBounds(200, 350, 150, 30);
add(tfdesignation);

JLabel labelaadhar = new JLabel("Aadhar Number");


labelaadhar.setBounds(400, 350, 150, 30); labelaadhar.setFont(new
Font("serif", Font.PLAIN, 20)); add(labelaadhar);

JLabel lblaadhar = new JLabel(); lblaadhar.setBounds(600,


350, 150, 30);
add(lblaadhar);

JLabel labelempId = new JLabel("Employee Id");


labelempId.setBounds(50, 400, 150, 30); labelempId.setFont(new
Font("serif", Font.PLAIN, 20)); add(labelempId);

lblempId = new JLabel();


lblempId.setBounds(200, 400, 150, 30);
lblempId.setFont(new Font("serif", Font.PLAIN, 20)); add(lblempId);

try{
Conn c = new Conn();
String query = "select * from employee1 where empId = '"+empId+"'";
ResultSet rs = c.s.executeQuery(query);
while (rs.next()){
lblname.setText(rs.getString("name"));
tffname.setText(rs.getString("fname"));
lbldob.setText(rs.getString("dob"));
tfaddress.setText(rs.getString("address"));
tfsalary.setText(rs.getString("salary"));
tfphone.setText(rs.getString("phone"));
tfemail.setText(rs.getString("email"));
tfeducation.setText(rs.getString("education"));
lblaadhar.setText(rs.getString("aadhar"));
lblempId.setText(rs.getString("empId"));
tfdesignation.setText(rs.getString("designation"));

}
} catch (Exception e){
e.printStackTrace();

add = new JButton("Update Details");


add.setBounds(250, 550, 150, 40);
add.addActionListener(this);
add.setBackground(Color.BLACK);
add.setForeground(Color.WHITE);
add(add);

back = new JButton("Back");


back.setBounds(450, 550, 150, 40);
back.addActionListener(this);
back.setBackground(Color.BLACK);
back.setForeground(Color.WHITE);
add(back);

setSize(900, 700);
setLocation(300, 50);
setVisible(true);

public void actionPerformed(ActionEvent ae){


if (ae.getSource() == add){
String fname = tffname.getText();

String salary = tfsalary.getText();

String address = tfaddress.getText();


String phone = tfphone.getText();
String email = tfemail.getText();
String education = tfeducation.getText();
String designation = tfdesignation.getText(); try {
Conn conn = new Conn();
String query = "update employee1 set fname = '"+fname+"', salary =
'"+salary+"', address = '"+address+"', phone = '"+phone+"', email = '"+email+"',
education = '"+education+"', designation = '"+designation+"' where empId =
'"+empId+"'";
conn.s.executeUpdate(query);
JOptionPane.showMessageDialog(null, "Deatils Updated successfully");
setVisible(false);
new Home();

} catch (Exception e){


e.printStackTrace();
}

} else{
setVisible(false);
new Home();
}
}

public static void main(String[] args){


new UpdateEmployee("");
}
}

9.REMOVE EMPLOYEE package


employee.management.system;

import javax.swing.*;
import java.awt.*; import
java.sql.*;
import java.awt.event.*;

public class RemoveEmployee extends JFrame implements ActionListener{


Choice cEmpId;
JButton delete, back;

RemoveEmployee(){
getContentPane().setBackground(Color.WHITE);
setLayout(null);

JLabel labelempId = new JLabel("Employee Id");


labelempId.setBounds(50, 50, 100, 30);
add(labelempId);

cEmpId = new Choice();


cEmpId.setBounds(200, 50, 150, 30);
add(cEmpId);

try {
Conn c = new Conn();
String query = "select * from employee1"; ResultSet
rs = c.s.executeQuery(query);
while(rs.next()){
cEmpId.add(rs.getString("empId"));

}
} catch (Exception e){
e.printStackTrace();

}
JLabel labelname = new JLabel("Name");
labelname.setBounds(50, 100, 100, 30);
add(labelname);

JLabel lblname = new JLabel(); lblname.setBounds(200,


100, 100, 30);
add(lblname);

JLabel labelphone = new JLabel("Phone"); labelphone.setBounds(50,


150, 100, 30);
add(labelphone);
JLabel lblphone = new JLabel(); lblphone.setBounds(200,
150, 100, 30);
add(lblphone);

JLabel labelemail = new JLabel("Email"); labelemail.setBounds(50,


200, 100, 30);
add(labelemail);

JLabel lblemail = new JLabel();


lblemail.setBounds(200, 200, 100, 30);
add(lblemail);

try {
Conn c = new Conn();
String query = "select * from employee1 where empId =
'"+cEmpId.getSelectedItem()+"'";
ResultSet rs = c.s.executeQuery(query);
while(rs.next()){
lblname.setText(rs.getString("name"));
lblphone.setText(rs.getString("phone"));
lblemail.setText(rs.getString("email"));

}
} catch (Exception e){
e.printStackTrace();
}

cEmpId.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent ie){
try {
Conn c = new Conn();
String query = "select * from employee1 where empId =
'"+cEmpId.getSelectedItem()+"'";
ResultSet rs = c.s.executeQuery(query);
while(rs.next()){
lblname.setText(rs.getString("name"));
lblphone.setText(rs.getString("phone"));
lblemail.setText(rs.getString("email"));

}
} catch (Exception e){
e.printStackTrace();

}
}
});

delete = new JButton("Delete"); delete.setBounds(80,


300, 100, 30); delete.setBackground(Color.BLACK);
delete.setForeground(Color.WHITE);
delete.addActionListener(this);
add(delete);
back = new JButton("Back");
back.setBounds(220, 300, 100, 30);
back.setBackground(Color.BLACK);
back.setForeground(Color.WHITE);
back.addActionListener(this); add(back);

ImageIcon i1 = new
ImageIcon(ClassLoader.getSystemResource("icons/delete.png"));
Image i2 = i1.getImage().getScaledInstance(600, 400,
Image.SCALE_DEFAULT);
ImageIcon i3 = new ImageIcon(i2); JLabel
image = new JLabel(i3);
image.setBounds(350, 0, 600, 400);
add(image);

setSize(1000, 400);
setLocation(300, 150);
setVisible(true);

public void actionPerformed(ActionEvent ae){


if (ae.getSource() == delete){
try{
Conn c = new Conn();
String query = "delete from employee1 where empId =
'"+cEmpId.getSelectedItem()+"'";
c.s.executeUpdate(query);
JOptionPane.showMessageDialog(null, "Employee Information Delete
Sucessfully");
setVisible(false);
new Home(); } catch
(Exception e){
e.printStackTrace();

} else{
setVisible(false);
new Home();
}

}
public static void main(String[] args){
new RemoveEmployee();
}

}
10.View Employee

package employee.management.system;

import javax.swing.*;
import java.awt.*; import
java.sql.*;
import net.proteanit.sql.DbUtils; import
java.awt.event.*;
public class ViewEmployee extends JFrame implements ActionListener{

JTable table;
Choice cemployeeId;
JButton search, print, update, back;

ViewEmployee(){
getContentPane().setBackground(Color.WHITE);
setLayout(null);
JLabel searchlbl = new JLabel("Search by Employee Id");
searchlbl.setBounds(20, 20, 150,20); add(searchlbl);

cemployeeId = new Choice();


cemployeeId.setBounds(180, 20, 150, 20);
add(cemployeeId);
try {
Conn c = new Conn();
ResultSet rs = c.s.executeQuery("select * from employee1");

while(rs.next()){
cemployeeId.add(rs.getString("empId"));
}

} catch (Exception e){


e.printStackTrace();

table = new JTable();

try {
Conn c = new Conn();
ResultSet rs = c.s.executeQuery("select * from employee1");
table.setModel(DbUtils.resultSetToTableModel(rs));

} catch (Exception e){


e.printStackTrace();

}
JScrollPane jsp = new JScrollPane(table);
jsp.setBounds(0, 100, 900, 600);
add(jsp);

search = new JButton("Search"); search.setBounds(20,


70, 80, 20); search.addActionListener(this);
add(search);

print = new JButton("Print"); print.setBounds(120,


70, 80, 20);
print.addActionListener(this);
add(print);

update = new JButton("Update"); update.setBounds(220,


70, 80, 20); update.addActionListener(this);
add(update);

back = new JButton("Back");


back.setBounds(320, 70, 80, 20);
back.addActionListener(this);
add(back);

setSize(900, 700);
setLocation(300, 100);
setVisible(true);

public void actionPerformed(ActionEvent ae){


if (ae.getSource() == search){
String query = "select *from employee1 where empId =
'"+cemployeeId.getSelectedItem()+"'"; try{
Conn c = new Conn();
ResultSet rs = c.s.executeQuery(query);
table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e){
e.printStackTrace();

} else if (ae.getSource() == print){


try {
table.print(); } catch
(Exception e){
e.printStackTrace();
}

} else if (ae.getSource() == update){


setVisible(false);
new UpdateEmployee(cemployeeId.getSelectedItem());

} else {
setVisible(false);
new Home();
}
}

public static void main(String[] args){


new ViewEmployee();
}
}
11.Employee Salary package
employee.management.system;

import javax.swing.*;
import java.awt.*; import
java.sql.*;
import java.awt.event.*;

public class Selery extends JFrame implements ActionListener{

Choice cEmpId;
JButton back;
Selery(){
//
getContentPane().setBackground(Color.WHITE);
setLayout(null);

JLabel labelempSelery = new JLabel("Employee Selery");


labelempSelery.setBounds(50,50,100,30);
add(labelempSelery);

cEmpId = new Choice();


cEmpId.setBounds(200, 50, 150, 30);
add(cEmpId);

try {
Conn c=new Conn();
String query = "select *from employee1"; ResultSet
rs = c.s.executeQuery(query);
while(rs.next()){
cEmpId.add(rs.getString("empId"));

}
}catch (Exception e){
e.printStackTrace();
}
JLabel labelselery = new JLabel("Selery");
labelselery.setBounds(50,100,100,30);
add(labelselery);

JLabel lblselery = new JLabel();


lblselery.setBounds(200, 100, 100, 30);
add(lblselery);

try {
Conn c=new Conn();
String query = "select * from employee1 where empId =
'"+cEmpId.getSelectedItem()+"'";
ResultSet rs = c.s.executeQuery(query);
while(rs.next()){

lblselery.setText(rs.getString("salary"));

}
}catch (Exception e){
e.printStackTrace();
}

cEmpId.addItemListener (new ItemListener(){

public void itemStateChanged(ItemEvent ie){


try {
Conn c=new Conn();
String query = "select * from employee1 where empId =
'"+cEmpId.getSelectedItem()+"'";
ResultSet rs = c.s.executeQuery(query);
while(rs.next()){

lblselery.setText(rs.getString("salary"));

}
}catch (Exception e){
e.printStackTrace();
}
}
});

back = new JButton("Back");


back.setBounds(220, 300, 100, 30);
back.setBackground(Color.BLACK);
back.setForeground(Color.WHITE);
back.addActionListener(this);
add(back);

setSize(1000, 400);
setLocation(300,150);

setVisible(true);

}
public void actionPerformed(ActionEvent ae){

setVisible(false);
new Home();

}
public static void main(String[] args){

new Selery();
}

13.CONCLUSION:-

It has been a great pleasure for me to work on this exciting and challenging
project. This project proved good for me as it provided practical knowledge of
not only programming in ASP.NET web based application and no some extent
Windows Application and SQL Server, but also about all handling procedure
related with "employee leave management system". It also provides knowledge
about the latest technology used in developing web enabled application and
client server technology that will be great demand in future. This will provide
better opportunities and guidance in future in developing projects
independently.

BENEFITS:-

The project is identified by the merits of the system offered to the user. The
merits of this project are as follows:-

It's a web-enabled project.

This project offers user to enter the data through simple and interactive forms.

This is very helpful for the client to enter the desired information through so

much simplicity.

The user is mainly more concerned about the validity of the data, whatever he
is entering. There are checks on every stages of any new creation, data entry or
updation so that the user cannot enter the invalid data, which can create
problems at later date.

Sometimes the user finds in the later stages of using project that he needs to
update some of the information that he entered earlier. There are options for
him by which he can update the records. Moreover there is restriction for his
that he cannot change the primary data field. This keeps the validity of the data
to longer extent.

User is provided the option of monitoring the records he entered earlier. He can
see the desired records with the variety of options provided by him.

Data storage and retrieval will become faster and easier to maintain because

data is stored in a systematic manner and in a single database.

Decision making process would be greatly enhanced because of faster


processing of information since data collection from information available on

computer takes much less time then manual system.

Allocating of sample results becomes much faster because at a time the user
can see the records of last years.

Easier and faster data transfer through latest technology associated with the
computer and communication.

Through these features it will increase the efficiency, accuracy and


transparency.
14.FUTURE IMPROVEMENT:-

This system being web based and an undertaking of cyber security division.
needs to be thoroughly tested to find out any security gaps.

A console for the data centre may be made available to allow the personnel

to monitor on the site which cleared for hosting during a particular period.

Moreover, it is just a beginning, further the system may be utilized in various

other types of auditing operation viz network auditing or similar process

workflow based application.


15. Function details and modules Modules:

1. Employee Registration Module


2. Employee Information Management Module
3. Leave Management Module
4. Payroll Management Module
5. Performance Management Module
6. Reporting and Analytics Module
7. User Management Module 8. Security Module
Employee Registration Module
1. Employee Registration: Register new employees with personal and
professional details.
2. Employee ID Generation: Automatically generate unique employee IDs.

3. Employee Profile Creation: Create employee profiles with relevant details.


Employee Information Management Module
1. Employee Data Management: Manage employee data, including personal
and professional details.
2. Employee Profile Updates: Update employee profiles with new
information.
3. Employee Search: Search for employees by name, ID, or department.
Leave Management Module
1. Leave Application: Allow employees to apply for leaves online.
2. Leave Approval: Enable managers to approve or reject leave applications.
3. Leave Tracking: Track employee leaves, including balance and history.
Payroll Management Module
1. Salary Calculation: Calculate employee salaries based on attendance,
leave, and other factors.
2. Payroll Processing: Process payroll, including tax deductions and benefits.
3. Pay Slip Generation: Generate pay slips for employees.

Performance Management Module


1. Performance Appraisal: Conduct performance appraisals for employees.
2. Goal Setting: Set goals and objectives for employees.
3. Performance Tracking: Track employee performance, including ratings and
feedback.

Reporting and Analytics Module


1. Employee Reports: Generate reports on employee data, including attendance, leave,
and performance.
2. Payroll Reports: Generate reports on payroll data, including salary, tax, and benefits.
3. Analytics: Provide analytics and insights on employee data and payroll trends.

User Management Module


1. User Registration: Register new users, including employees and administrators.
2. User Profile Management: Manage user profiles, including roles and permissions.
3. User Authentication: Authenticate users, including login and password management.
Security Module

1. Data Encryption: Encrypt sensitive data, including employee personal and financial
information.

2. Access Control: Control access to sensitive data and features, including role-based
access control.
3. Audit Trails: Maintain audit trails, including logs of user activity and data changes.

16.Objective
Primary Objectives
1. Effective Utilization of Human Resources: To ensure that employees are
utilized effectively and efficiently to achieve organizational goals.
2. Employee Satisfaction and Engagement: To create a work environment
that motivates and engages employees, leading to increased job satisfaction
and reduced turnover.
3. Improved Productivity and Performance: To enhance employee
productivity and performance through training, development, and feedback.
Secondary Objectives

1. Compliance with Labor Laws and Regulations: To ensure that the


organization complies with all relevant labor laws and regulations.
2. Risk Management: To identify and mitigate risks related to employee
management, such as workplace injuries, conflicts, and terminations.

3. Cost Control: To manage employee-related costs, such as salaries, benefits,


and training expenses.
4. Employee Retention and Development: To develop and implement
strategies for retaining and developing employees, including succession
planning and career development programs.
5. Diversity, Equity, and Inclusion: To foster a diverse, equitable, and inclusive
work environment that values and respects all employees.
17.Bibliography
We have created the Employee Management System with
the help of Java, MySQL and NetBeans.

1.JAVA

• Java was developed by Sun Microsystems (which is now


the subsidiary of Oracle) in the year 1995. James Gosling
is known as the father of Java. Before Java, its name was
Oak. Since Oak was already a registered company, so
James Gosling and his team changed the name from Oak to
Java.
• Platform: Any hardware or software environment in which a
program runs, is known as a platform. Since Java has a
runtime environment (JRE) and API, it is called a platform.

2.MySql

• Michael Widenius, a renowned Finnish software engineer,


is known as the Father of MySQL. Widenius co-created the
MySQL relational database management system, which is
known for its speed, reliability, and versatility, and has had
a profound impact on the tech industry and has been
instrumental in powering many websites and applications.
Michael Widenius, born on March 3, 1962, in Helsinki,
Finland, began developing MySQL in the early 1990s.
Along with his colleagues, David Axmark and Allan Larsson,
he founded MySQL AB in 1995 to further develop and
promote the database system. MySQL quickly gained
popularity due to its open-source nature, which allowed
developers to use and modify it freely.

• MySQL is one of the most recognizable technologies in the modern


big data ecosystem. Often called the most popular database and
currently enjoying widespread, effective use regardless of industry,
it’s clear that anyone involved with enterprise data or general IT
should at least aim for a basic familiarity of MySQL.

• With MySQL, even those new to relational systems can immediately


build fast, powerful, and secure data storage systems. MySQL’s
programmatic syntax and interfaces are also perfect gateways into
the wide world of other popular query languages and structured
data stores.

3.NetBeans
• NetBeans started as a student project (originally called
Xelfi) in the Czech Republic, in 1996. The goal was to write
a Delphi-like Java IDE (Integrated Development
Environment) in Java. Xelfi was the first Java IDE written in
Java, with its first pre-releases in 1997. Xelfi was a fun
project to work on, especially since the Java IDE space was
uncharted territory at that time.

• Here you see the original group of students who


constituted the original NetBeans Team The project
attracted enough interest that the students, once they
graduated, decided that they could market it as a
commercial product selling it as shareware. Soliciting
resources from friends and relatives for a website, they
tried to form a company around it.

• NetBeans is a free, open-source, integrated development


environment (IDE) that allows users to develop desktop,
mobile, and web applications. It supports application
development in various languages, including Java, HTML5,
PHP, and C++.

• NetBeans is a platform of modular components used for


developing Java desktop applications. It allows applications
to be developed from a set of modular software
components called modules. NetBeans runs on Windows,
macOS, Linux, and Solaris.

You might also like