Вы находитесь на странице: 1из 94

CHAPTER-1

OVERVIEW OF THE PROJECT

1.1.

INTRODUCTION

The Online Appraisal System (OAS)

is a process by which

a manager or consultant examines and evaluates an employee's work behavior by comparing it


with

preset

standards,

documents the results of

the

comparison,

and uses the

results

to provide feedback to the employee to show where improvements are needed. The set of
procedures used to assess the value or quality of an individual, organization, project or
phenomenon are referred to as an appraisal system. These assessments or evaluations are usually
done against agreed upon or set parameters which enable comparison and ranking to be done
during a specified period of time. The results of these evaluations provide the basis for reward
schemes

and

performance

improvement.

A performance

appraisal (PA)

, performance

review, performance evaluation, development discussion, or employee appraisal is a method by


which the job performance of an employee is evaluated. The whole process of OAS covers
receiving appraisal from client and Admin side was done manually till date.
The proposed system is completely online web application which is more feasible,
efficient, user friendly and economical. Appraisal is a method by which the job performance of
an employee is evaluated. Appraisals are a part of career development and consist of regular
reviews of employee performance within organizations. A performance appraisal is a systematic
and periodic process that assesses an individual employees job performance, accomplishments,
potential for future improvement, strengths, weaknesses and productivity in relation to certain
pre-established criteria and organizational objectives.

This project aims at automating the daily operations of a Appraisal System. Appraisal
System has designed for the automatic generation of the Employee list for any company. Few
year back, when all the work in Employee system was performed manually. To generate
employee record for lacks of took lots of time. With the Online Appraisal System, these
problems can be overcome. Now to hire employee for any company you just have to specify the
id & the password you want to hire new employee for company. With this system you can also
maintain update the employee information.
The whole process of Appraisal system which covers receiving appraisal from Admin was
done manually till date. Processing to evaluate the appraisal that is checking and distributing
respective rating or scores is likely to take more time to take more time till it is under
development phase.

CURRENT SYSTEM PROBLEMS:


1) The current system is very time consuming
2) It is very difficult to evaluate manually
3) Evaluations are done manually which is not feasible.
4) The chances of paper leakage or paper lost are more in current system than proposed System.
5) In this system, appraisal processing takes more time as it is done manually.

WHATS NEW IS TO BE DEVELOPED:


The proposed system is completely online web application which is more feasible, efficient, user
friendly and economical.
Features of proposed system :
1) In comparison to present system the proposed system will be less time consuming and more
efficient.

2) Analysis will be very easy in proposed system as it is automated.


3) Decisions will be declared in a very short span of time just because of automated system.
4) The proposed system is much secure because there is no chance of paper leakage
5) The appraisals and other informations are stored in secure database which is handled by an
administrator and backup can be thus created for future use.
Since the advent of computers in the last two decades, every organization is going under the
process of computerization. The computerization has many benefits. Primarily, a computer is
helpful in four major aspects of any kind of organization:

Time Efficiency

Cost Effective

Huge data storage capacity and

Simple operation

Online Appraisal System

is one of latest productivity enhancement tools used widely by all

organizations wherever there is a need of booking of complaints also use by be the employee
for all the updates regarding his/her salary etc. Lack of paper movements provides complaint
management operations a speed which was never envisaged in manual mode at all. Online
Appraisal System is becoming more and more available, extracts communicative actions and
their subjects and classifies a complaint as valid or invalid (submitted due to a customer
misunderstanding, bad mood or other unrelated issues).

The purpose of Online Appraisal System is to ensure that:

1. The work performed by employees accomplishes the work of the agency.


2. Employees have a clear understanding of the quality and quantity of work expected from
them.

3. Employees receive ongoing information about how effectively they are performing relative to
expectation.
4. Awards and salary increases based on employee performance are distributed accordingly.
5. Opportunities for employee development are identified.
6. Employee performance that does not meet expectations is addressed.
This project is modularized as the following:
1. Login
2. Add Employee
3. Modify Employee
4. Delete Employee
5. Search Employee
6. Employee List
7. Performance Appraisal

CHAPTER-2
LITERATURE REVIEW

Performance evaluation reflects an employee actual job performance levels, but in order to get a
true picture, the rating must be accurate . Accuracy is the primary goal of any appraisal system.
Employment decision that are based on inaccurate rating are not valid and would be difficult to
justify if legally challenged. Moreover, employee tend to lose their trust in the system when
rating do not accurately reflect there performance level, and there cause morale and turnover, it
also hinders on their opportunity for advancement.

In many instances, accurate rating seems to b e rare. Inaccuracy is most often attributable to the
presence of rater errors such as halo, regency, and leniency error. Rater errors are errors in
judgment that occur in a systematic manner when an individual observer and evaluates server
another. Rater errors may be defined technically as a difference between the output of the
human judgment process and that of an objective, accurate assessment uncolored by bias,
prejudice, or other subjective, extraneous influences. Another element that can cause inaccuracy
in rating is that of raters who lake the necessary training in how to conduct performance
evaluation . Training can help to educate a rater not only on system itself, but how to deal with
other issues such as consistency in rating and also the sensitization to appropriate rating
strategies and behavior.

This chapter sets out to look at the factor that hinder the accuracy the accuracy of performance
appraisal and the issues that can help to improve performance appraisal outcomes. This literature
review includes writings, research and scholarly opinions supporting the research.

CHAPTER-3

3.1ABOUT PROJECT

The Online Appraisal System(OAS) is a process by which a manager or consultant examines


and

evaluates

an employee's work behavior by

comparing

it

with

preset

standards,

documents the results of the comparison, and uses the results to provide feedback to the
employee to show where improvements are needed. The set of procedures used to assess the
value or quality of an individual, organization, project or phenomenon are referred to as an
appraisal system. These assessments or evaluations are usually done against agreed upon or set
parameters which enable comparison and ranking to be done during a specified period of time.
The results of these evaluations provide the basis for reward schemes and performance
improvement. A performance appraisal (PA), performance review, performance evaluation,
(career) development discussion, or employee appraisal is a method by which the job
performance of an employee is evaluated. Performance appraisals are a part of career
development and consist of regular reviews of employee performance within organizations. The
whole process of OAS covers receiving appraisal from client and HR side was done manually till
date.

3.1.1. DESCRIPTION OF WORK

0TH LEVEL:

ADMIN
Z

EMPLOYEE

OAS

0th Level depicts the 2 different users namely;


1.

Employee

2.

Admin

1ST LEVEL:
This level represents the login system for ADMIN, EMPLOYEE or BOSS with login table of
database.
In this level first Admin login into the system and Signup Users and store the data into database.

LOGIN
PAGE

ADMIN

DATABASE FOR
ADMIN LOG

HOME

EDIT PROFILE

CHANGE PASSWORD
SIGNUP USERS
SIGNUP USERS
(EMPLOYEE,
ADMIN )

LOGOUT

This level represents the login system for ADMIN or BOSS , EMPLOYEE with login table of
database.
In this level first Admin login into the system and Signup Users and store the data into database.

Here
1). EMPLOYEE and ADMIN performs valid login through a Login page
2). Login details of EMPLOYEE and ADMIN are matched with database.
3). If valid login, EMPLOYEE and ADMIN are redirected to their respective home pages and if
invalid login, then all of them are redirected to invalid user page.
4). After EMPLOYEE successful login , Employee homepage appears which contains fields.

After HR successful login, HR home page appears which contains fields like:
1). HOME
2). EDIT PROFILE
3). CHANGE PASSWORD
4). APPRAISAL FORM
5). VIEW APPRAISAL RESULT
6). LOGOUT

3.1.2. OPERATIONS PERFORMED IN ONLINE APPRISAL SYSTEM

1).EMPLOYEE prepares their appraisal forms and submits. After submitting the form, the form
details are stored in database.

10

2). ADMIN checkout the client appraisal details from database. After that ADMIN evaluate
EMPLOYEE and add his ratings with Employee appraisal details and submit .Then EMPLOYEE
appraisal details with ADMIN rating get stored in database and a message goes.
3).EMPLOYEE and BOSS thus can also update their personal details in database.

11

3.1.3. FLOWCHART:

START

LOGIN

BOSS

EMPLOYEE

VALID/

VALID/

INVALID

INVALID

EMPLOYEE Home
Page

INVALID USER

BOSS Home
Page
HOME

HOME
EDIT PROFILE

RECORD
NOT FOUND

EDIT
PROFILE
CHANGE
PASSWORD

CHANGE
PASSWORD

EMPLOYEE
APPRAISALS

APPRAISAL FORM

VIEW APPRAISAL
RESULT

VIEW
APPRAISAL
RESULT

LOGOUT

LOGOUT
STOP

3.1.4. SCREENSHOTS
12

LOGIN PAGE:

Login page:
This page is used to authenticate users ie user name and password. 2 types of user can access the
system:
1). Admin
2). Employee
New user can also create his/her account.

13

ADMIN HOME PAGE:

This page consist of following attributes:


1).Employee name
2). Date of birth
3) Qualification
4).Department
5). Password
6). Salary

14

7). Phone no.


8). Email id

In the page of admin or user the registration of new user is also allowed. He/she can reset his
password can update his / her profile can change his password and also can delete his account .

EMPLOYEE HOMEPAGE:

Employee Homepage
1).Home

15

2).Edit profile
3).Change password
4).Appraisal form
5).View appraisal result
6). Logout

In the page, the registration of new user is also allowed. He/she can reset his password can
update his / her profile can change his password and also can delete there account .

Edit Profile Page of Employee (Same for all users)

In this page if the user want to update there profile and also can check there notification or any
kind of update he/she must login by using there login and password .

16

In this page there are three attributes which is mentioned above:


1). Notification
2).Update
3). Logout

17

After login in by user name and password he/she can change password

18

After Edit profile successfully this message appears

19

EMPLOYEE APPRISIAL FORM

20

DATABASE SCREENSHOTS:

21

3.1.5. TESTING

FUNCTIONAL TESTING
Functionality testing of software is testing conducted on a complete, integrated system to
evaluate the system's compliance with its specified requirements. Functionality testing falls
within the scope of black box testing, and as such, should require no knowledge of the inner
design of the code or logic.

STRUCTURAL TESTING
Structural testing is a method of testing software that tests internal structures or workings of an
application as opposed to its functionality (black-box testing). An internal perspective of the
system, as well as programming skills, are required and used to design test cases. The tester
chooses inputs to exercise paths through the code and determine the appropriate outputs.

LEVELS OF TESTING:
Testing is an important step in software development life cycle. The process of testing takes
place at various stages of development in programming. This is a vital step in development life
cycle because the process of testing helps to identify the mistakes and sends the program for
correction. This process gets repeated at various stages until the final unit or program is found to
be complete thus giving a total quality to the development process. The various levels of testing
found in a software development life cycle are:

22

UNIT TESTING :
Unit testing is done for each module of the program to ensure the validity of each module. This
type of testing is done usually by developers by writing test cases for each scenarios of the
module and writing the results occurring in each step for each module.

REGRESSION TESTING :
We all know that development life cycle is subjected to continuous changes as per the
requirements of user. Suppose if there is a change in the existing system which has already been
tested it is essential that one has to make sure that this new changes made to the existing system
do not affect the existing functionality. For ensuring this regression testing is done.

INTEGRATION TESTING :
Unit testing for each module as explained above the process of integrated testing as a whole
becomes simpler. This is because by correcting mistakes or bugs in each module the integration
of all units as a system and testing process becomes easier. So one might think why the
integration is testing needed. The answer is simple. It is needed because unit testing as explained
test and assures correctness of only each module. But it does not cover the aspects of how the
system would behave or what error would be reported when modules are integrated. This is done
in the level of integration testing.

ALPHA TESTING :
The above different testing process described takes place in different stages of development as
per the requirement and needs. But a final testing is always made after a full finished product that
is before it released to end users and this is called as alpha testing. The alpha testing involves

23

both the white box testing and black box testing thus making alpha testing to be carried out in
two phases.

BETA TESTING :
This process of testing is carried out to have more validity of the software developed. This takes
place after the alpha testing. After the alpha phase also the generally the release is not made fully
to all end users. The product is released to a set of people and feedback is got from them to
ensure the validity of the product. So here normally the testing is being done by group of end
users and therefore this beta testing phase covers black box testing or functionality testing only.

3.2. IMPLEMENTATION DETAIL


3.2.1. HARDWARE & SOFTWARE REQUIREMENT

HARDWARE REQUIREMENT
PROCESSOR

Intel Dual Core

RAM

1 GB

HARD DISK

2 GB

SOFTWARE REQUIREMENTS
LANGUAGE

Java

FRONT END TOOL

Net Beans IDE 6.9.1

24

DATABASE

MS Access 2007

OPERATING SYSTEMS

WINDOW 7

BROWSER

INTERNET EXPLORER / GOOGLE CHROME

3.2.2. USER MANUAL


TECHNOLOGU USED

Java technology is both a programming language and a platform. The Java programming
language is a high-level language that can be characterized by all of the following buzzwords:
1).Simple
2).Object Oriented
3).Distributed
4).Multithreaded
5).Dynamic
6).Architecture Neutral
7).Portable
8).High performance
9).Robust
10).Secure

25

Because of Java reliability, minimum software & hardware requirement, extensibility and its
compatibility with all PCs(OS-independence), we have chosen Java & My SQL language to
develop this project.

Net Beans IDE 6.9.1

Net Beans is an integrated development environment (IDE) for developing primarily with Java
but also with other languages, in particular PHP, C/C++, and HTML. It is also an application
platform framework for Java desktop applications and others. The Net Beans IDE is written in
Java and can run on Windows, OS X, Linux, Solaris and other platforms supporting a compatible
JVM.

The Net Beans Platform allows applications to be developed from a set of modular software
components called modules. Net Beans refers to both a platform framework for Java desktop
applications, and an integrated development environment (IDE) for developing with Java,
JavaScript, PHP, Python, Ruby, Groovy, C, C++, SCALA, CLOJURE, and others . The Net
Beans IDE is written in Java and runs everywhere where a JVM is installed, including Windows,
Mac OS, Linux, and Solaris.

26

3.3. SCOURCE CODE

3.3.1. LOGIN PAGE

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* Login.java
*
* Created on Apr 2, 2014, 2:33:02 PM
*/
package employeemanagementsystem;
/**
*
* @author NIRO
*/
public class Login extends javax.swing.JFrame {
/** Creates new form Login */
27

public Login() {
initComponents();
}

/** This method is called from within the constructor to


* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jLabel1 = new javax.swing.JLabel();


jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
txtuser = new javax.swing.JTextField();
28

btnSubmit = new javax.swing.JButton();


btnCancel = new javax.swing.JButton();
txtPass = new javax.swing.JPasswordField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("jLabel1")
jLabel2.setFont(new java.awt.Font("Algerian", 1, 18)); // NOI18N
jLabel2.setText("wELCOME TO APPRASIAL SYSTEM");
jLabel3.setFont(new java.awt.Font("Times New Roman", 0, 14));
jLabel3.setText("User Name");

jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 14));


jLabel4.setText("Password");
btnSubmit.setText("Submit");
btnSubmit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSubmitActionPerformed(evt);
}
});
btnCancel.setText("Cancel");
btnCancel.addActionListener(new java.awt.event.ActionListener() {
29

public void actionPerformed(java.awt.event.ActionEvent evt) {


btnCancelActionPerformed(evt);
}
});
javax.swing.GroupLayout

layout

new

javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);
layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING) .addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel2,javax.swing.GroupLayout.DEFAULT_SIZE,

430,Short.MAX_VALU

.addGroup(layout.createSequentialGroup()
.addGap(131, 131, 131)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING) .addComponent(btnSubmit)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel4)
.addComponent(jLabel3)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()

30

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED
.addComponent(txtuser,javax.swing.GroupLayout.PREFERRED_SIZE,120,
javax.swing.GroupLayout.PREFERRED_SIZE
.addGroup(layout.createSequentialGroup()
.addGap(27, 27, 27)
.addComponent(btnCancel)) .addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(txtPass,javax.swing.GroupLayout.PREFERRED_SIZE,120,
javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap())
);
layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING).addGroup(layout.createSequentialGroup()
.addGap(25, 25, 25)
.addComponent(jLabel2,javax.swing.GroupLayout.PREFERRED_SIZE,62,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(27,27,27)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(txtuser,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE))

31

.addGap(29,29,29)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(txtPass,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,37,Short.MAX_V
ALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnSubmit)
.addComponent(btnCancel))
.addGap(47, 47, 47)) );
pack();
}// </editor-fold>
private void btnSubmitActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
String empid = DB.Connect.validateLogin(txtuser.getText(), txtPass.getText());
if(txtuser.getText().equalsIgnoreCase("Admin")&&
txtPass.getText().equalsIgnoreCase("Admin"))
{
Admin a=new Admin()
this.hide();

32

a.show();
}
else
{
Employee emp=new Employee(empid);
emp.show()
}
private void btnCancelActionPerformed(java.awt.event.ActionEven evt)
{
// TODO add your handling code here:
txtuser.setText(null);
txtPass.setText(null);
}
/** * @param args the command line arguments */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Login().setVisible(true);
} });
}
33

// Variables declaration - do not modify private javax.swing.JButton btnCancel;


private javax.swing.JButton btnSubmit;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPasswordField txtPass;
private javax.swing.JTextField txtuser;

// End of variables declaration


}

3.3.2. ADMIN PAGE

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

34

/*
* Admin.java
*
* Created on Apr 20, 2014, 2:43:56 PM
*/
Pckage employeemanagementsystem;
import java.awt.Color;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
/**
35

*
* @author NIRO
*/
public class Admin extends javax.swing.JFrame {
ResultSet rs;
int i=0;
public Admin()
{
initComponents();
txtID.setText(DB.Connect.getEMPID());
txtSearch.setVisible(false);
btnsearch.setVisible(false);
lblemp.setVisible(false);
lblPhone.setVisible(false);
lbl.setVisible(false);
lbldisplay.setVisible(false);
lblname.setVisible(false);
DB.Connect.openConnection();
display();

36

}
void display()
{
try {
String query = "SELECT * FROM emp";
rs = DB.Connect.stat.executeQuery(query);
} catch (SQLException ex)
{
//Logger.getLogger(account_register.class.getName()).log(Level.SEVERE, null, ex);
}
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
37

jLabel1 = new javax.swing.JLabel();


jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();


jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
txtID = new javax.swing.JTextField();
txtName = new javax.swing.JTextField();
txtDOb = new javax.swing.JTextField();
txtQual = new javax.swing.JComboBox();
txtDep = new javax.swing.JComboBox();
txtSal = new javax.swing.JTextField();
txtPhone = new javax.swing.JTextField();
txtEmail = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
38

jButton2 = new javax.swing.JButton();


jButton3 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
btnNext = new javax.swing.JButton();
btnPrevious = new javax.swing.JButton();
btnFirst = new javax.swing.JButton();
btnLast = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
jButton6 = new javax.swing.JButton();
jButton7 = new javax.swing.JButton();
lblemp = new javax.swing.JLabel();
btnsearch = new javax.swing.JButton();
jButton8 = new javax.swing.JButton();
txtPass = new javax.swing.JPasswordField();
txtSearch = new javax.swing.JTextField();
lbl = new javax.swing.JLabel();
lblphone = new javax.swing.JLabel();
lblPhone = new javax.swing.JLabel();
lbldisplay = new javax.swing.JLabel();
lblname = new javax.swing.JLabel();
39

jLabel11 = new javax.swing.JLabel();


txtcpass = new javax.swing.JPasswordField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setFont(new java.awt.Font("Algerian", 1, 18));
jLabel1.setText("Online Apprasial System");
jLabel2.setText("Employee ID");
jLabel3.setText("Employee Name");
jLabel4.setText("DOB");
jLabel5.setText("Department");
jLabel6.setText("Password");
jLabel7.setText("Salary");
jLabel8.setText("Qualificaation");
jLabel9.setText("Phone No");
jLabel10.setText("Email ID");

txtID.setEnabled(false);
txtName.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
txtNameKeyPressed(evt);
}

40

});
txtQual.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "B.E.", "B.Tech",
"B.A.", "B.B.A" }));
txtDep.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "HR Department", "
" }));
txtSal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtSalActionPerformed(evt);
}
});
txtSal.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
txtSalKeyPressed(evt);
}
});
txtPhone.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
txtPhoneKeyPressed(evt);
}
});

41

txtEmail.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
txtEmailKeyPressed(evt);
}
});
jButton1.setText("Register");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("Reset");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setText("Search");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
42

jButton3ActionPerformed(evt);
}
});

jButton4.setText("Update");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
btnNext.setText("Next");
btnNext.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnNextActionPerformed(evt);
}
});
btnPrevious.setText("Previous");
btnPrevious.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
43

btnPreviousActionPerformed(evt);
}
});
btnFirst.setText("First");
btnFirst.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnFirstActionPerformed(evt);
}
});

btnLast.setText("Last");
btnLast.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnLastActionPerformed(evt);
}
});
jButton5.setText("Delete");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { jButton5ActionPerformed(evt);
}
44

});
jButton6.setText("Report");
jButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton6ActionPerformed(evt);
}
});
jButton7.setText("Log Out");
jButton7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton7ActionPerformed(evt);
}
});

lblemp.setText("Enter Employee ID");


btnsearch.setText("Get Value");
btnsearch.addActionListener(new java.awt.event.ActionListener()
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnsearchActionPerformed(evt);
45

}
}); jButton8.setText("New Record");
jButton8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton8ActionPerformed(evt);
}
});
lblPhone.setText("jLabel11");
lbldisplay.setText("jLabel11");
lblname.setText("jLabel11");
jLabel11.setText("Confirm Password");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(141, 141, 141)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel10)

46

.addComponent(lblemp)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jLabel4)
.addComponent(jLabel6)
.addComponent(jLabel7)
.addComponent(jLabel9)
.addComponent(jLabel5)
.addComponent(jLabel8)
.addComponent(jLabel11))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(txtQual, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtDep, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtName,javax.swing.GroupLayout.DEFAULT_SIZE,120,Short.MAX_VALUE
) .addComponent(txtID, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE)
.addComponent(txtDOb,

javax.swing.GroupLayout.DEFAULT_SIZE,

120,

Short.MAX_VALUE)
.addComponent(txtSearch,javax.swing.GroupLayout.DEFAULT_SIZE,120,
Short.MAX_VALUE)

47

.addComponent(txtSal,

javax.swing.GroupLayout.DEFAULT_SIZE,

120,

Short.MAX_VALUE)
.addComponent(txtPhone

javax.swing.GroupLayout.DEFAULT_SIZE,120,

Short.MAX_VALUE)

.addComponent(txtEmail,javax.swing.GroupLayout.DEFAULT_SIZE,120,
Short.MAX_VALUE)
.addComponent(txtPass,javax.swing.GroupLayout.DEFAULT_SIZE,

120,

Short.MAX_VALUE))
.addComponent(txtcpass,javax.swing.GroupLayout.PREFERRED_SIZE,\120,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(68,68,68)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAIL
ING, false)
.addComponent(lblphone,javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(lbl,javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(btnsearch,javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)

48

.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(lblPhone,javax.swing.GroupLayout.PREFERRED_SIZE,61,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(lbldisplay,javax.swing.GroupLayout.PREFERRED_SIZE,61,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,8,
Short.MAX_VALUE)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAIL
ING, false)
.addComponent(btnFirst,javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(btnPrevious,javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jButton7,javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)

49

.addComponent(btnNext,javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(btnLast

javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(lblname,javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.PREFERRED_SIZE,62,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(172, 172, 172))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup(
.addContainerGap(156, Short.MAX_VALUE)
.addComponent(jLabel1,javax.swing.GroupLayout.PREFERRED_SIZE,335,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(196, 196, 196))
.addGroup(layout.createSequentialGroup()
.addGap(45, 45, 45)

.addComponent(jButton1)
.addGap(18, 18, 18)

50

.addComponent(jButton8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton2)
.addGap(18, 18, 18)
.addComponent(jButton3)
.addGap(18, 18, 18)
.addComponent(jButton4)
.addGap(18, 18, 18)
.addComponent(jButton5)
.addGap(18, 18, 18)
.addComponent(jButton6)
.addContainerGap(61, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap() .addComponent(jLabel1,javax.swing.GroupLayout.PREFERRED_SIZE,32,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(12, 12, 12)

51

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblemp)
.addComponent(btnsearch)
.addComponent(txtSearch,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18,18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(txtID,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(txtName,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(lblname))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING)

52

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton7)
.addComponent(txtDOb,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(6,

6,

6)

addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtQual,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtDepjavax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5))
.addGap(17, 17, 17)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)

53

.addComponent(txtPass,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(16, 16, 16)
.addComponent(btnNext)
.addGap(15, 15, 15)
.
addComponent(btnFirst).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNR
ELATED)
.addComponent(btnPrevious)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnLast)
.addComponent(jLabel11)
.
addComponent(txtcpass,javax.swing.GroupLayout.PREFERRED_SIZE,25,javax.swing.GroupL
ayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtSal,\javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)

54

.addComponent(jLabel7)
.addComponent(lbl))
.addGap(11,11,11)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtPhone,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9)
.addComponent(lblphone,javax.swing.GroupLayout.PREFERRED_SIZE,0,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblPhone,javax.swing.GroupLayout.PREFERRED_SIZE,20,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtEmail,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel10))
.addComponent(lbldisplay))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton6)
.addComponent(jButton5)

55

.addComponent(jButton4)

.addComponent(jButton3)
.addComponent(jButton2)
.addComponent(jButton8)
.addComponent(jButton1))
.addContainerGap(42, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Login ln=new Login();
this.hide();
ln.show();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
if(txtPass.getText().equals(txtcpass.getText()))
{
56

try {
DB.Connect.openConnection();
String str="Insert into emp values('" + txtID.getText() + "','" + txtName.getText() + "','" +
txtDOb.getText()+

"','"

txtQual.getSelectedItem().toString()

"','"

txtDep.getSelectedItem().toString() + "','" + txtPass.getText() + "','" + txtSal.getText()+"','"


+txtPhone.getText()+

"','"

+txtEmail.getText()+

"','"

+DB.Connect.getDate()+"','"

+DB.Connect.getTime()+ "')";

DB.Connect.stat.executeUpdate(str);
JOptionPane.showMessageDialog(null,"Register Successfully");
DB.Connect.closeConnection();
} catch (Exception e1) {
e1.printStackTrace();
}
}
else
JOptionPane.showMessageDialog(null,"Password Not Matched");
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
txtDOb.setText(null);

57

txtEmail.setText(null);
txtName.setText(null);
txtPass.setText(null);
txtSal.setText(null);
txtPhone.setText(null);
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
txtSearch.setVisible(true);
btnsearch.setVisible(true);
lblemp.setVisible(true);

}
private void btnsearchActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
// TODO add your handling code here:
boolean b = true;
// TODO add your handling code here:
DB.Connect.openConnection();
58

String sql = "select * from emp where emp_ID='" +txtSearch.getText()+ "'";


rs = DB.Connect.stat.executeQuery(sql);
if (rs.next()) {
setText();
txtSearch.setVisible(false);
btnsearch.setVisible(false);
lblemp.setVisible(false);
}
rs.close();
DB.Connect.closeConnection();
if (b) {
JOptionPane.showMessageDialog(null, "Record Not Found");
}
} catch (SQLException ex) {
ex.printStackTrace();
}

}
public void updateAccount()
{
59

try{
DB.Connect.openConnection();
DB.Connect.stat.executeUpdate("UPDATE emp SET emp_Pass='" + txtPass.getText() +
"',emp_Sal='" +txtSal.getText() + "',emp_Phone='" + txtPhone.getText() + "',emp_Email='" +
txtEmail.getText() + "' WHERE emp_ID='" + txtID.getText() + "'");
DB.Connect.closeConnection();
JOptionPane.showMessageDialog(null,"Updated Successfully");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
updateAccount();
DB.Connect.record(txtID.getText(),txtName.getText(),txtDOb.getText(),
txtQual.getSelectedItem().toString(),txtDep.getSelectedItem().toString(),txtPass.getText(),txtSal.
getText(),txtPhone.getText(),txtEmail.getText());
}
void deleteInfo()

60

try{
DB.Connect.openConnection();
DB.Connect.stat.executeUpdate("delete * from emp where emp_ID='" +txtID.getText()+ "'");
DB.Connect.closeConnection();
JOptionPane.showMessageDialog(null,"Record Deleted Successfully");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
deleteInfo();
}
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Admin a=new Admin();
61

a.show();
}
public void getcol() {
try {
DefaultTableModel model;
JTable tb;

JScrollPane sb;
JFrame f3 = new JFrame();
tb = new JTable();
tb.setBounds(10, 40, 10, 10);
f3.setSize(900, 450);
f3.setTitle("Report Generation");
sb = new JScrollPane(tb);
sb.setBounds(30, 60, 150, 100);
f3.add(sb);
f3.setVisible(true);
DB.Connect.openConnection();
DB.Connect.rs = DB.Connect.stat.executeQuery("select * from emp");
ResultSetMetaData rsmd = DB.Connect.rs.getMetaData();
62

// JPanel panel = new JPanel();


// model.addColumn("Purchase");
model = new DefaultTableModel();
model.addColumn("Employee ID");
model.addColumn("Employee Name");
model.addColumn("DOB");
model.addColumn("Qualification");
model.addColumn("Department");
model.addColumn("Password");
model.addColumn("Salary");
model.addColumn("Phone No");

model.addColumn("Email ID");
model.addColumn("Date");
model.addColumn("Time");
// model.addColumn("Purchase");
tb.setModel(model);
String data1[] = new String[11];
while (DB.Connect.rs.next()) {
data1[0] =DB.Connect.rs.getString(1);
63

data1[1] = DB.Connect.rs.getString(2);
data1[2] = DB.Connect.rs.getString(3);
data1[3] = DB.Connect.rs.getString(4);
data1[4] =DB.Connect. rs.getString(5);
data1[5] =DB.Connect.rs.getString(6);
data1[6] = DB.Connect.rs.getString(7);
data1[7] =DB.Connect.rs.getString(8);
data1[8] =DB.Connect.rs.getString(9);
data1[9] =DB.Connect.rs.getString(10);
data1[10] =DB.Connect.rs.getString(11);
model.addRow(data1);
}
DB.Connect.closeConnection();
} catch (Exception e) {
e.printStackTrace();
}

}
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
64

getcol();
}
private void btnFirstActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
//DB.Connect.closeConnection();
if(rs.first());
setText();
// connection.close();
} catch (Exception ex) {
// Logger.getLogger(account_register.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void btnLastActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
// DB.Connect.closeConnection();
if(rs.last());
setText();
// connection.close();
65

} catch (Exception ex) {

// Logger.getLogger(account_register.class.getName()).log(Level.SEVERE, null, ex);


}
}
private void btnPreviousActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
//DB.Connect.closeConnection();
if(rs.previous());
setText();
// connection.close();
// Logger.getLogger(account_register.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void btnNextActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
//connection.open();
//DB.Connect.closeConnection();
66

if(rs.next());
setText();
// connection.close();
} catch (Exception ex) {
// Logger.getLogger(account_register.class.getName()).log(Level.SEVERE, null, ex);
}

}
private void txtSalKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
String input = txtSal.getText();
Pattern p = Pattern.compile("[A-Z,a-z,&%$@!()*^]");
Matcher m = p.matcher(input);
if (m.find()) {
lbl.setVisible(true);
lbl.setText("Invalid !!");
lbl.setVisible(true);
lbl.setForeground(Color.red);
txtSal.setText("");
} else {

67

lbl.setVisible(false);
}
}
private void txtSalActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void txtPhoneKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
String input = txtPhone.getText();
int a=input.length();
Pattern p = Pattern.compile("[A-Z,a-z,&%$@!()*^]");
Matcher m = p.matcher(input);
if (m.find()) {
lblPhone.setVisible(true);
lblPhone.setText("Invalid!!");
lblPhone.setVisible(true);
lblPhone.setForeground(Color.red);
txtPhone.setText("");
} else
{
68

lblPhone.setVisible(false);
}
}
private void txtEmailKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
}
private void txtNameKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
Pattern p = Pattern.compile("[0-9]");
Matcher m = p.matcher(input);
if (m.find()) {
lblname.setText("Invalid!!");
lblname.setVisible(true);
lblname.setForeground(Color.red);
txtName.setText(null);

} else {
lblname.setVisible(false);
}
}
69

void setText() throws SQLException {


txtName.setText(rs.getString(2));
txtDOb.setText(rs.getString(3));
txtQual.setSelectedItem(rs.getString(4));
txtDep.setSelectedItem(rs.getString(5));
txtPass.setText(rs.getString(6));
txtSal.setText(rs.getString(7));
txtPhone.setText(rs.getString(8));
txtEmail.setText(rs.getString(9));
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Admin().setVisible(true);
}
});
}
70

// Variables declaration - do not modify


private javax.swing.JButton btnFirst;
private javax.swing.JButton btnLast;
private javax.swing.JButton btnNext;
private javax.swing.JButton btnPrevious;
private javax.swing.JButton btnsearch;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JButton jButton6;
private javax.swing.JButton jButton7;
private javax.swing.JButton jButton8;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
71

private javax.swing.JLabel jLabel4;


private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JLabel lbl;
private javax.swing.JLabel lblPhone;
private javax.swing.JLabel lbldisplay;
private javax.swing.JLabel lblemp;
private javax.swing.JLabel lblname;
private javax.swing.JLabel lblphone;
private javax.swing.JTextField txtDOb;
private javax.swing.JComboBox txtDep;
private javax.swing.JTextField txtEmail;
private javax.swing.JTextField txtID;
private javax.swing.JTextField txtName;
private javax.swing.JPasswordField txtPass;
private javax.swing.JTextField txtPhone;
private javax.swing.JComboBox txtQual;
72

private javax.swing.JTextField txtSal;


private javax.swing.JTextField txtSearch;
private javax.swing.JPasswordField txtcpass;
// End of variables declaration
}

3.3.3. EMPLOYEE PAGE

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* Employee.java
*
* Created on Apr 2, 2014, 3:31:29 PM
*/
package employeemanagementsystem;
import java.sql.ResultSetMetaData;

73

import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
/**
*
* @author NIRO
*/
public class Employee extends javax.swing.JFrame {

/** Creates new form Employee */


public Employee(String empid)
initComponents();
setEMPID(empid);
setText();
}
private String empid ;
public void setEMPID(String empid) {
74

this.empid = empid;
}
public String getEMPID() {
return empid;
}
void setText()
{
try {
// TODO add your handling code here:
boolean b = true;
// TODO add your handling code here:
DB.Connect.openConnection();
String sql = "select * from emp where emp_ID='" +getEMPID()+ "'";
DB.Connect.rs = DB.Connect.stat.executeQuery(sql);
if (DB.Connect.rs.next()) {
txtID.setText(DB.Connect.rs.getString(1));

txtName.setText(DB.Connect.rs.getString(2));
txtDOb.setText(DB.Connect.rs.getString(3));
txtQual.setText(DB.Connect.rs.getString(4));
75

txtDept.setText(DB.Connect.rs.getString(5));
txtPass.setText(DB.Connect.rs.getString(6));
txtSal.setText(DB.Connect.rs.getString(7));
txtPhone.setText(DB.Connect.rs.getString(8));
txtEmail.setText(DB.Connect.rs.getString(9));
b = false;
}
DB.Connect.rs.close();
DB.Connect.closeConnection();
if (b) {
JOptionPane.showMessageDialog(null, "Record Not Found");
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
76

*/

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
txtID = new javax.swing.JTextField();
txtName = new javax.swing.JTextField();
txtDOb = new javax.swing.JTextField();
txtPass = new javax.swing.JPasswordField();
txtSal = new javax.swing.JTextField();
txtPhone = new javax.swing.JTextField();
77

txtEmail = new javax.swing.JTextField();


txtQual = new javax.swing.JTextField();
txtDept = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setFont(new java.awt.Font("Algerian", 1, 18));
jLabel1.setText("Online appraisal System");
jLabel8.setText("Qualificaation");
jLabel6.setText("Password");
jLabel7.setText("Salary");
jLabel4.setText("DOB");
jLabel5.setText("Department");
jLabel2.setText("Employee ID");
jLabel3.setText("Employee Name");
jLabel10.setText("Email ID");
jLabel9.setText("Phone No");
txtID.setEnabled(false);
78

txtName.setEnabled(false);
txtDOb.setEnabled(false);
txtSal.setEnabled(false);
txtQual.setEnabled(false);
txtDept.setEnabled(false);
jButton1.setText("Update");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jButton3.setText("Log Out");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jButton2.setText("Notification");
jButton2.addActionListener(new java.awt.event.ActionListener() {
79

public void actionPerformed(java.awt.event.ActionEvent evt) {


jButton2ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(178, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jLabel4)
.addComponent(jLabel8)
.addComponent(jLabel6)
.addComponent(jLabel7)
80

.addComponent(jLabel9)
.addComponent(jLabel10)
.addComponent(jLabel5))
.addComponent(jButton2))
.addGap(6, 6, 6)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtEmail,javax.swing.GroupLayout.PREFERRED_SIZE,120,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtSal,javax.swing.GroupLayout.PREFERRED_SIZE,120,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtPhone,javax.swing.GroupLayout.PREFERRED_SIZE,120,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtName,javax.swing.GroupLayout.PREFERRED_SIZE,120,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtID,javax.swing.GroupLayout.PREFERRED_SIZE,\120,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtDOb,javax.swing.GroupLayout.PREFERRED_SIZE,120,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtQual,javax.swing.GroupLayout.PREFERRED_SIZE,120,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtDept,javax.swing.GroupLayout.PREFERRED_SIZE,120,
javax.swing.GroupLayout.PREFERRED_SIZE)

81

.addComponent(txtPass,javax.swing.GroupLayout.PREFERRED_SIZE,120,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jButton1)
.addGap(18, 18, 18)
.addComponent(jButton3)))
.addGap(226, 226, 226))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jLabel1,javax.swing.GroupLayout.PREFERRED_SIZE,344,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(167, 167, 167))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(19, 19, 19)
.addComponent(jLabel1,javax.swing.GroupLayout.PREFERRED_SIZE,35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

82

.addComponent(jLabel2)
.addComponent(txtID,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel3)
.addComponent(txtNamejavax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(txtDOb,javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(24, 24, 24)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8)

83

.addComponent(txtQual,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(70, 70, 70)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(txtDept,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(17, 17, 17)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(txtPass,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtSal,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))))
.addGap(11, 11, 11)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

84

.addComponent(txtPhone,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtEmail,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel10))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,30,
Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton3)
.addComponent(jButton1)
.addComponent(jButton2))
.addContainerGap())
);
pack();
}// </editor-fold>
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

85

Login ln=new Login();


ln.show();
this.hide();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
updateAccount();
}
void getcol() {
try {
DefaultTableModel model;
JTable tb;
JScrollPane sb;
JFrame f3 = new JFrame();
tb = new JTable();
tb.setBounds(10, 40, 10, 10);
f3.setSize(900, 450);
f3.setTitle("Report Generation");
sb = new JScrollPane(tb);
sb.setBounds(30, 60, 150, 100);
86

f3.add(sb);
f3.setVisible(true);
DB.Connect.openConnection();
DB.Connect.rs = DB.Connect.stat.executeQuery("select * from notification where emp_ID='"
+getEMPID()+ "'");
ResultSetMetaData rsmd = DB.Connect.rs.getMetaData();
// JPanel panel = new JPanel();
// model.addColumn("Purchase");
model = new DefaultTableModel();
model.addColumn("Employee ID");
model.addColumn("Employee Name");
model.addColumn("DOB");
model.addColumn("Qualification");
model.addColumn("Department");
model.addColumn("Password");
model.addColumn("Salary");
model.addColumn("Phone No");
model.addColumn("Email ID");
model.addColumn("Date");

87

model.addColumn("Time");
// model.addColumn("Purchase");
tb.setModel(model);
String data1[] = new String[11];
while (DB.Connect.rs.next()) {
data1[0] =DB.Connect.rs.getString(1);
data1[1] = DB.Connect.rs.getString(2);
data1[2] = DB.Connect.rs.getString(3);
data1[3] = DB.Connect.rs.getString(4);
data1[4] =DB.Connect. rs.getString(5);
data1[5] =DB.Connect.rs.getString(6);
data1[6] = DB.Connect.rs.getString(7);
data1[8] =DB.Connect.rs.getString(9);
data1[9] =DB.Connect.rs.getString(10);
data1[10] =DB.Connect.rs.getString(11);
model.addRow(data1);
}
DB.Connect.closeConnection();
} catch (Exception e) {
e.printStackTrace();
88

}
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
}
public void updateAccount()
{
try{
DB.Connect.openConnection();
DB.Connect.stat.executeUpdate("UPDATE emp SET emp_Pass='" + txtPass.getText() +
"',emp_Phone='" + txtPhone.getText() + "',emp_Email='" + txtEmail.getText() + "' WHERE
emp_ID='" + txtID.getText() + "'");
DB.Connect.closeConnection();
JOptionPane.showMessageDialog(null,"Updated Successfully");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
/**

89

* @param args the command line arguments


*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
90

private javax.swing.JLabel jLabel8;


private javax.swing.JLabel jLabel9;
private javax.swing.JTextField txtDOb;
private javax.swing.JTextField txtDept;
private javax.swing.JTextField txtEmail;
private javax.swing.JTextField txtID;
private javax.swing.JTextField txtName;
private javax.swing.JPasswordField txtPass;
private javax.swing.JTextField txtPhone;
private javax.swing.JTextField txtQual;
private javax.swing.JTextField txtSal;
// End of variables declaration

91

CHAPTER-4

4.1. CONCLUSION
The proposed system is completely online web application which is more feasible, efficient, user
friendly and economical. By adopting a system that manages the entire employee lifecycle - from
recruiting to performance assessment to goal alignment to employee retentionit's safe to say
that having an online automated system can truly transform your business by increasing your
revenue while lowering your bottom line costs.
Features of proposed system (which we analyze)

In comparison to present system the proposed system will be less time consuming and

more efficient.
Analysis will be very easy in proposed system as it is automated.
Decisions will be declared in a very short span of time just because of automated system.
The proposed system is much secure because there is no chance of paper leakage.
The appraisals and other informIIations are stored in secure database which is handled
by an administrator and backup can be thus created for future use.

4.2. FUTURE SCOPE


92

Performance appraisal systems began as simple methods of income justification hence appraisal
is used to decide whether or not the salary or wage of an individual employee is justified.
Appraisal System really dates from the time of the Second World War - not more than 60 years
ago.
Modern OAS may be defined as a structured formal interaction between a subordinate and
supervisor, that usually takes the form of a periodic interview, in which the work performance of
the subordinate is examined and discussed, with a view to identifying weaknesses and strengths
as well as opportunities for improvement and skills development. In many organizations - but not
all - appraisal results are used, either directly or indirectly, the appraisal results are used to
identify the better performing employees who should get the majority of available merit pay
increases, bonuses, and promotions.

BIBLIOGRAPHY

93

BOOKS REFERRED
The following books were used extensively for the project development and implementation:
1).The Complete Reference Java2 Tata McGraw-Hill publishing Company Limited. By
Herbert Schildt.
2).Software Engineering, A Practitioners Approach Tata McGraw-Hill Publishing Company
Limited. By Roger S. Pressman.
3).HEAD FIRST BOOK ( JAVA)

WEBSITES REFERRED
The following links were searched and exploited extensively for the project development and
implementation:
1).http://www.java.sun.com/products\java
2). http://www.jakarta.apache.org
3). http://www.javaworld.com/
4).http://www.java2s.com/

94

Вам также может понравиться