Employee Management System

September 16, 2017 | Author: Niro Thakur | Category: Net Beans, Performance Appraisal, Software Release Life Cycle, Software Testing, Unit Testing
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF