Page 1
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 employee’s job performance, accomplishments,
potential for future improvement, strengths, weaknesses and productivity in relation to certain
pre-established criteria and organizational objectives.
1
Page 2
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
Page 3
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 information’s 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
Page 4
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
4
Page 5
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.
5
Page 6
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.
6
Page 7
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.
7
Page 8
3.1.1. DESCRIPTION OF WORK
0TH LEVEL:
Z↕↕↕↕↕↕
0th Level depicts the 2 different users namely;
1. Employee
2. Admin
8
ADMIN EMPLOYEE OAS
Page 9
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.
This level represents the login system for ADMIN or BOSS , EMPLOYEE with login table of
database.
9
ADMIN
HOME
SIGNUP USERS
LOGOUT
EDIT PROFILE
CHANGE PASSWORD
LOGIN PAGE
DATABASE FOR
ADMIN LOG
SIGNUP USERS (EMPLOYEE, ADMIN )
Page 10
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
10
Page 11
1).EMPLOYEE prepares their appraisal forms and submits. After submitting the form, the form
details are stored in database.
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
Page 12
3.1.3. FLOWCHART:
12
START
LOGIN EMPLOYEE BOSS
VALID/
INVALID
VALID/
INVALID
INVALID USERBOSS Home Page
EMPLOYEE Home Page
HOME
EDIT PROFILE
CHANGE PASSWORD
EMPLOYEE APPRAISALS
VIEW APPRAISAL RESULT
APPRAISAL FORM
HOME
EDIT PROFILE
CHANGE PASSWORD
RECORD NOT FOUND
VIEW APPRAISAL RESULT
Page 13
3.1.4. SCREENSHOTS
LOGIN PAGE:
Login page:
This page is used to authenticate users ie user name and password. 2 types of user can access the
system:
13
LOGOUT LOGOUT
STOP
Page 14
1). Admin
2). Employee
New user can also create his/her account.
ADMIN HOME PAGE:
This page consist of following attributes:
1).Employee name
2). Date of birth
14
Page 15
3) Qualification
4).Department
5). Password
6). Salary
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:
15
Page 16
Employee Homepage
1).Home
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 .
16
Page 17
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 .
In this page there are three attributes which is mentioned above:
1). Notification
2).Update
3). Logout
17
Page 18
After login in by user name and password he/she can change password
18
Page 19
After Edit profile successfully this message appears
19
Page 20
EMPLOYEE APPRISIAL FORM
20
Page 21
DATABASE SCREENSHOTS:
21
Page 22
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:
22
Page 23
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:
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
23
Page 24
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
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
24
Page 25
HARD DISK 2 GB
SOFTWARE REQUIREMENTS
LANGUAGE Java
FRONT END TOOL Net Beans IDE 6.9.1
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
25
Page 26
7).Portable
8).High performance
9).Robust
10).Secure
Because of Java reliability, minimum software & hardware requirement, extensibility and its
compatibility with all PC’s(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
Page 27
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;
/**
27
Page 28
*
* @author NIRO
*/
public class Login extends javax.swing.JFrame {
/** Creates new form Login */
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() {
28
Page 29
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();
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) {
29
Page 30
btnSubmitActionPerformed(evt);
}
});
btnCancel.setText("Cancel");
btnCancel.addActionListener(new java.awt.event.ActionListener() {
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) .addGr
oup(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)
30
Page 31
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel4)
.addComponent(jLabel3))) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Ali
gnment.LEADING) .addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED .addCompone
nt(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) .addCompon
ent(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.Al
ignment.BASELINE)
31
Page 32
.addComponent(jLabel3)
.addComponent(txtuser,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(29,29,29) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE) .addComponent(jLabel4)
.addComponent(txtPass,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.Co
mponentPlacement.RELATED,37,Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addC
omponent(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"))
{
32
Page 33
Admin a=new Admin()
this.hide();
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
Page 34
} });
}
// 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
34
Page 35
* and open the template in the editor.
*/
/*
* 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;
35
Page 36
import javax.swing.table.DefaultTableModel;
/**
*
* @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();
36
Page 37
display();
}
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")
37
Page 38
// <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();
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();
38
Page 39
txtEmail = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
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();
39
Page 40
lbldisplay = new javax.swing.JLabel();
lblname = new javax.swing.JLabel();
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) {
40
Page 41
txtNameKeyPressed(evt);
}
});
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
Page 42
}
});
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");
42
Page 43
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
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");
43
Page 44
btnPrevious.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
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() {
44
Page 45
public void actionPerformed(java.awt.event.ActionEvent evt) { jButton5ActionPerformed(evt);
}
});
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()
45
Page 46
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnsearchActionPerformed(evt);
}
}); 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)
46
Page 47
.addComponent(jLabel10)
.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_VALU
E) .addComponent(txtID, javax.swing.GroupLayout.DEFAULT_SIZE, 120,
47
Page 48
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)
.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)
48
Page 49
.addComponent(btnsearch,javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.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)
49
Page 50
.addComponent(jButton7,javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.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)
50
Page 51
.addComponent(jButton1)
.addGap(18, 18, 18)
.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)
51
Page 52
.addGap(12, 12, 12)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addC
omponent(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.s
wing.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(la
yout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jL
abel3) .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
Page 53
.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
Page 54
.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)
.addComponent(jLabel7)
.addComponent(lbl))
54
Page 55
.addGap(11,11,11) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE)
.addComponent(txtPhone,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9) .addComponent(lblphone,javax.swing.GroupLayout.PREFERRED_SI
ZE,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)
.addComponent(jButton4)
.addComponent(jButton3)
55
Page 56
.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()))
{
try {
DB.Connect.openConnection();
56
Page 57
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);
txtEmail.setText(null);
txtName.setText(null);
57
Page 58
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();
String sql = "select * from emp where emp_ID='" +txtSearch.getText()+ "'";
rs = DB.Connect.stat.executeQuery(sql);
58
Page 59
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()
{
try{
DB.Connect.openConnection();
59
Page 60
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
Page 61
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();
a.show();
}
61
Page 62
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();
// JPanel panel = new JPanel();
// model.addColumn("Purchase");
62
Page 63
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);
data1[1] = DB.Connect.rs.getString(2);
data1[2] = DB.Connect.rs.getString(3);
63
Page 64
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:
getcol();
}
64
Page 65
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();
} catch (Exception ex) {
65
Page 66
// 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();
if(rs.next());
setText();
66
Page 67
// 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 {
lbl.setVisible(false);
}
67
Page 68
}
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
{
lblPhone.setVisible(false);
}
68
Page 69
}
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);
}
}
void setText() throws SQLException {
txtName.setText(rs.getString(2));
69
Page 70
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);
}
});
}
// Variables declaration - do not modify
70
Page 71
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;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
71
Page 72
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;
private javax.swing.JTextField txtSal;
private javax.swing.JTextField txtSearch;
72
Page 73
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;
import java.sql.SQLException;
import javax.swing.JOptionPane;
73
Page 74
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) {
this.empid = empid;
}
74
Page 75
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));
txtDept.setText(DB.Connect.rs.getString(5));
txtPass.setText(DB.Connect.rs.getString(6));
75
Page 76
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
Page 77
@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();
txtEmail = new javax.swing.JTextField();
txtQual = new javax.swing.JTextField();
77
Page 78
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);
txtName.setEnabled(false);
txtDOb.setEnabled(false);
78
Page 79
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() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
79
Page 80
}
});
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)
.addComponent(jLabel9)
.addComponent(jLabel10)
80
Page 81
.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)
.addComponent(txtPass,javax.swing.GroupLayout.PREFERRED_SIZE,120,
javax.swing.GroupLayout.PREFERRED_SIZE)
81
Page 82
.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)
.addComponent(jLabel2)
82
Page 83
.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)
.addComponent(txtQual,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)))
83
Page 84
.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)
.addComponent(txtPhone,javax.swing.GroupLayout.PREFERRED_SIZE,25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9))
84
Page 85
.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:
Login ln=new Login();
ln.show();
this.hide();
85
Page 86
}
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);
f3.add(sb);
f3.setVisible(true);
86
Page 87
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");
model.addColumn("Time");
// model.addColumn("Purchase");
tb.setModel(model);
87
Page 88
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();
}
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
88
Page 89
}
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();
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
89
Page 90
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;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JTextField txtDOb;
90
Page 91
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
CHAPTER-4
4.1. CONCLUSION
91
Page 92
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 retention—it'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 informIIation’s are stored in secure database which is handled
by an administrator and backup can be thus created for future use.
4.2. FUTURE SCOPE
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.
92
Page 93
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
Page 94
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 Practitioner’s 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