Employee Management System
Short Description
The Online Appraisal System (OAS) is a process by which a manager or consultant examines and evaluates an employee's...
Description
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
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
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
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
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
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
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
3.1.1. DESCRIPTION OF WORK
0TH LEVEL:
ADMIN Z↕↕↕↕↕↕
EMPLOYEE
OAS
0th Level depicts the 2 different users namely; 1.
Employee
2.
Admin
8
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.
9
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 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
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") // 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(); }// 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") // 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(); }// 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") // 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(); }// 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 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 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 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
View more...
Comments