Payroll ManageMent System

99
CONTENTS PAGE NO. 1. INTRODUCTION 02 2. OBJECTIVE & PURPOSE 03 3. SYSTEM STUDY 04 4. FEASIBILITY STUDY 08 5. DEVELOPMENT MODEL 10 6. HAEDWARE & SOFTWARE SPECIFICATIONS 12 7. TECHNICAL SPECIFICATIONS 13 8. DATA FLOW DIAGRAMS 17 9. CODING 19 10. TESTING & IMPLEMENTATION 66 1 | Page

Transcript of Payroll ManageMent System

Page 1: Payroll ManageMent System

CONTENTS PAGE NO.

1. INTRODUCTION 02

2. OBJECTIVE & PURPOSE 03

3. SYSTEM STUDY 04

4. FEASIBILITY STUDY 08

5. DEVELOPMENT MODEL 10

6. HAEDWARE & SOFTWARE SPECIFICATIONS 12

7. TECHNICAL SPECIFICATIONS 13

8. DATA FLOW DIAGRAMS 17

9. CODING 19

10. TESTING & IMPLEMENTATION 66

11. FORMS IN THE PROJECT 71

12. CONCLUSION 75

1 | P a g e

Page 2: Payroll ManageMent System

13. BIBLIOGRAPHY 76

INTRODUCTION

At present time, in the modern global world competitive environment organizations are developed rapidly. Many developed industries almost every organization prefers payroll software to maintain employee records up-to-date and is used frequently by Human Resource Management. The Payroll System has inbuilt features that saves time and money and of course gives an accurate result in a limited time period that helps to manage employee records in daily basis as well as annual records in a fraction of miniature.

The Payroll Management System is deliberately planned to facilitate on cost-cutting with high qualitative results as per the needs of any successful organization and gives a hand to deal with complexities of management with an ease.

It helps an organization to stay focused on business operations and refers to the administration of employee’s personal details. It consists of many important features such as employee name and their identity card, designation, birthday, date of joining, basic and gross salaries, net pay, wages, deductions such as provident fund, taxes, loan, advance taken if any, allowances like mobile and travelling allowance, commissions etc. that helps organization to keep an annual records as and

2 | P a g e

Page 3: Payroll ManageMent System

when is needed, so as to reduce exhaustion of mankind, which results in cost-effectiveness and accumulate time saving.

The Payroll Management System has many advantages that keeps organization up-to-date and accurate with a minimum time period and with a very little stumpy amount that consists features highly used by organizations and educational institutions and the features are as mentioned here  -

Employee Profile.

Customizable & Automatic Tax Calculations.

Monthly Report & Pay Slip Generation.

Dynamic Salary Calculation. Etc.

OBJECTIVE & PURPOSE

The basic objective is to learn the concept behind the payroll system, and to learn new technologies like Swings programming by implementing this concept practically.

The ultimate aim is achieved through:-

Understanding and analyzing the problem statement.

Identify the input and output requirements of the system.

Designing a user-friendly interface to interact with the

system implementing and deploying the system.

Preparing a well-organized documentation of the project to

understand the system and it’s working.

3 | P a g e

Page 4: Payroll ManageMent System

Almost every organization or educational institute has its own Staff to support its work within the organization. The organizations need to work and every employee get perfect salary. So that no one can misuse the resources in the organization.

We need to develop such a payroll system that can perform following tasks-

Can enter the new employee entry.

Can see the existing employee detail.

Can maintain the existing employee salary record.

Can make a new month salary.

That system should support organizations to maintain the salary record of its employees.

SYSTEM STUDY

In the system study we study the existing system and new proposed system. In system study we study that what are trhe draw backs, and limitations exist. What are the the needs of existing system and also study what the new proposed system, how the new proposed system removes the draw backs & limitations of the existing system.in this section we study the advantages of the new proposed system.

EXISTING SYSTEM & ITS LIMITATIONS

4 | P a g e

Page 5: Payroll ManageMent System

The organization is maintaining most of their day-to-day transaction data in the registers.the employee of the organization are doing whole work manually. All the work is done manually,so different employees are appointed for the maintainace of registers ontaining all the information releted to the organization

It is very time consuming and is also not error free in some situation .In existing manual system database calculations are difficult to perform so report generation as very much difficult.

Generally whenever we implement a new system it is develop to eliminate the shortcoming of an existing system.The computerized system has more edge over the manual system.It is beacause of accuracy, highspeed, quickresult, diligenceetc.The existing system is totally based on manual system.Existing system has many draw backs in comparision of computerized system.

1. Time Consuming : High time consumption is the main weakness of the existing system. A lot of time is wasted in searching records from different files,which resulted in loss of time,and moreover workload is increases.Also a lot of time wasted in duplicating the same entries in different registers

2. Service & Working condition: With the unusual dealy due to various reason,the costumer suffers a lot.without any firm reason he has to wait which disfigures the working condition.

3. Difficulties in retrieving Information : Sometimes, to get any type of instant information morethan one document needs to be searched .This requires the opening of both files and then combining the information.further this files may not be indexed according to the need,which causes difficulty in retrieving information.

5 | P a g e

Page 6: Payroll ManageMent System

4. Not Easy to Understandable by new users : To understand the manual system the user have to get more practice and have a grape all that help by other employee and have to be in contact with that person.If the person was in leave the user can get info from him.

5. Need more Speace to store : Here by using a paper work system the user need to maintain all the documents in proper way to avoid the difficulty in action and need more speace to store these document beacause they can’t destroy the old documents.

6. Very Expensive : The existing manual method is very expensive method as lot of paperwork has to be done and a lot of wastage of manpower,which increase the expenses of existing system.

7. Data Sharing : The different user in different department can not share data simultaneously

Need For a new system :

To enhance the working fine tech organization.which was complitly handled manually,the improvement was thought on the basis of computerizing the major activities.

Identify the opportunity to improve business function : It has been identified that computerization process is necessity and what businee benefits can be derived by implementing this improvement.

6 | P a g e

Page 7: Payroll ManageMent System

Improve services and working condition : To improve the working condition of existing system in every parts of tours & travels org. costumer services areneed to improve to a great extent.

PROPOSED SYSTEM

This consists of Payroll system.All these transactions need to be carefully understood and taken into consideration.The system also contains a lot of data redundancy at various stages. One of the objectives of the new system would be to store data in an efficient and non-redundant form and hense increase the overall efficiency of the system. The new system should ensure of simple and easy data entry procedures through suggestive looking form.There are quite number of lengthy calculations being done on the acquired data.These calculations should be thoroughly understood. The new system should be able to perform all these calculations automatically and efficiently. Numerous kinds of queries are done on large amounts of accumulated data,to find out the desired data. The new system should provide efficient,simple ,fast and smarter procedures for retreival of exhaustive type of data from the database. Finally, there are quite number of reports that are generated during the normal workimg ofthe system. Each of these required reports should be understood very carefully and the new system shall provide easy and efficient methods of generation of these reports.

Advantages of the new system

To overcome those above stated limitations in the payroll Management System,we propose a new systemthat is the computerised system of 'Payroll Management System'. The proposed

7 | P a g e

Page 8: Payroll ManageMent System

system would store all the informationcaptured in different registers that will be linked with each other and will provide direct and immediate access, Using a computerised system, we will do storing of data.All the addition,deletion,modification,printing will be done through computer for faster accessing.This proposed system would set free from all the burdens mentioned in the existing system.

Fast and Efficient

Reliable and Accurate

Centralized data

Low Operation and Maintainance Cost

Non-Redundant Information

User Friendly

Easy to Access

No Documentation

FEASIBILITY ANALYSIS

We have analyzed the feasibility of the system in terms of following spans:

8 | P a g e

Page 9: Payroll ManageMent System

Technical Feasibility

Operational Feasibility

Economical Feasibility

Schedule Feasibility

Behavioral Feasibility

Technical Feasibility:

The development process of Payroll Management System would

be advantageous to the organization because we would make use of only

the currently available resources of the organization. All the tools needed

for the development are already available with the organization and the

organization does not have to acquire any new resources. The technical

feasibility is also attributed to the fact that the system does not make use

of any additional or external third party components which can lead to

increased load on the system.

Operational Feasibility:

The Payroll Management System is intended to provide a very

user-friendly and easy to use interface which is beneficial for both the

visitors as well as the operators who help in providing support for the

system. This system would also be easily acceptable among the visitor and

administrator, as there is no need of any special skill set for using the

application. This system also benefits the users as they do not have to

download anything on their terminals increasing their efficiency and ease

of use.

9 | P a g e

Page 10: Payroll ManageMent System

Economic Feasibility:

The Payroll Management System has a very low

development cost. The low cost is attributed to the usage of the existing

resources of the organization. As the website is very user friendly and

easy to use, there is no need to provide special training to the users of the

website, thus saving valuable time and money.

Schedule feasibility:

Projects are always given deadlines. Every project is completed

in a specific duration. I was the only working on the project and I had the

project duration of four months only. So i have tried our level best to fulfill

each and every requirement. I had to complete the project in time and if it

is not possible to complete the software in time then I would try our best

to fulfill client requirements.

Behavioral Feasibility:

Many times creates problem when someone tries to harm the

system with malicious intensions. For this reason many people need some

kind of network monitoring system.

10 | P a g e

Page 11: Payroll ManageMent System

DEVELOPMENT MODEL

The Payroll Management System is a database software application which is developed using a waterfall software developing model.

The waterfall model is a popular version of the systems development life cycle model (SDLC) for software engineering. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is linear and sequential. Waterfall development has distinct goals for each phase of development. Imagine a waterfall on the cliff of a steep mountain. Once the water has flowed over the edge of the cliff and has begun its journey down the side of the mountain, it cannot turn back. It is the same with waterfall development. Once a phase of development is completed, the development proceeds to the next phase and there is no turning back.

The advantage of waterfall development is that it allows for departmentalization and managerial control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process like a car in a carwash, and theoretically, be delivered on time. Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance. Each phase of development proceeds in strict order, without any overlapping or iterative steps.

The disadvantage of waterfall development is that it does not allow for much reflection or revision. Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage. Alternatives to the waterfall model include joint application development (JAD), rapid application development (RAD), synch and stabilize, build and fix, and the spiral model.

To follow the waterfall model, one proceeds from one phase to the next in a purely sequential manner. For example, one first completes requirements specification,which are set in stone. When the requirements are fully completed, one proceeds to design. The software in question is designed and a blueprint is drawn for implementers (coders) to follow —

11 | P a g e

Page 12: Payroll ManageMent System

Communicated Requirements

Requirements Specification

Design Specification

Executable Software Modules

Integrated Software Product

Delivered Software Product

Changed Requirements

Requirements Engineering

Design

Programming

Integration

Delivery

Maintenance

Product Product

Input Output

Process

this design should be a plan for implementing the requirements given. When the design is fully completed, an implementation of that design is made by coders. Towards the later stages of this implementation phase, separate software components produced are combined to introduce new functionality and remove errors.

Thus the waterfall model maintains that one should move to a phase only when its preceding phase is completed and perfected. However, there are various modified waterfall models (including Royce's final model) that may include slight or major variations upon this process.

12 | P a g e

Page 13: Payroll ManageMent System

FIG: WATERFALL MODEL

HARDWARE & SOFTWARE SPECIFICATIONS

Minimum Hardware Specifications:

System Type : Personal Computer.

Processor Type : Celeron 1.79 GHz or higher.

RAM : 256 MB or higher.

HDD : At least 1000 Mb of free space for

Good performance.

25 Mb space required to install.

SVGA Modes : 256 color or higher and 1024*768

Resolution.

Software Requirements :

Operating System : Windows 9x, NT, Me or XP

Vista,7.

Other Software : JDK1.6 and Above, JCreator

Developed on : JAVA

13 | P a g e

Page 14: Payroll ManageMent System

Data Base : MS-Access

TECHNICAL SPECIFICATION

We have implemented our project in JAVA, one of the most powerful languages.

Java Development Kit

When the java programming language was introduced in 1995, the only development tool available was the JDK from sun. This set of command line tools makes it possible to write, compile and debug JAVA programs. However, the JDK is the far cry from integrated development environment such as Visual Basic and Borland C++. An integrated development environment (IDE) is software that combines several development tools into a single, cohesive package. The assortment usually includes a source code editor, compiler debugger and other utilities. These tools work together the development process; most packages are highly visual and rely on windows, drag and drop, and other graphical elements. The goal is to make software design faster, more efficient, and easier to debug.

Characteristics of Java

JAVA is object oriented

Object oriented programming is a power full way of organizing and developing software. Object oriented programming uses a set of components called objects. These objects exist independently of each

14 | P a g e

Page 15: Payroll ManageMent System

other and communicate with each other. That’s why object oriented program are more adoptable and more bug proof.

JAVA is small and simple

The most complex parts of C++ were excluded from java, such as pointers and memory management. These elements are complicated to use and are thus easy to use incorrectly.

JAVA is safe

Another thing essential to java’s success is that it is safe. Java provides security and several different levels. Before a java program is run, a verifier check each by code to make sure nothing suspicious is going on.

JAVA is platform independent

Platform independence is another way of saying that java is architectural neutral. The basically means that java programs don’t care what system they are running on.

JAVA is architectural neutral

The JAVA designers made several hard decisions in the java languages and JVM is an attempt to alter the situation programs not running on the same machine after few days. Their goal was “Write once; run anywhere, anytime, forever”.

JAVA is Distributed

Java is designed for the distributed environment of Internet because it handles TCP/IP protocols. The feature of inter-address-space messaging is done with the help of

15 | P a g e

Page 16: Payroll ManageMent System

package Remote Method Invocation (RMI). This feature brings an unparalleled level of instructions to the client/server programming.

JAVA is dynamic

Java programs carry with them substantial amounts of run time type information that is use to verify and resolve accesses to objects at run time. This is crucial to the robustness to the applet environment.

Swings

Swing is set of classes that provide more powerful and flexible functionality than is possible with the standard AWT components. In addition to the familiar components, such as buttons, check boxes, and labels, Swings supplies several exciting additions including tabbed panes, scroll panes, trees, and a button may have both image and text string associated with it. Also the image can be changed as the state of the button changes.

Swing is built upon the foundation of the AWT. Unlike AWT components, Swing component are not implemented by platform specific code. Instead they are written entirely in Java and therefore are platform independent. The term lightweight is used to describe such elements.

The class Swing Utilities, which provides methods that, facilitates the use of Swing. The Swing related classes are

16 | P a g e

Page 17: Payroll ManageMent System

contained in javax.swing.tree and its sub packages, such as javax.swing.tree.

Swing is a large system, and it has many features. Swing provides toolbar, tool tips, and progress bars. Also swing component can provide a pluggable look and feel, which means that it is easy to substitute another appearance and behavior for an element. This can be also done dynamically. We may design our own look and feel. Because of the power of swing, it has become the approach of first choice by many programmers for creating GUIs.

Microsoft Access:

Microsoft Access, now known as Microsoft Office Access, is a database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools.

Software developers and data architects can use Microsoft Access to develop application software, and "power users" can use it to build software applications. Like other Office applications, Access is supported by Visual Basic for Applications, an object-oriented programming language that can reference a variety of objects including Data Access Objects, ActiveX Data Objects, and many other ActiveX components.

Users can create tables, queries, forms and reports, and connect them together with macros. Advanced users can use VBA to write rich solutions with advanced data manipulation and user

17 | P a g e

Page 18: Payroll ManageMent System

control. Access also has report creation features that can work with any data source that Access can "access".

In addition to using its own database storage file, Microsoft Access may also be used as the 'front-end' with other products as the 'back-end' tables, such as Microsoft SQL Server and non-Microsoft products such as Oracle and Sybase.

The developer is responsible for:

Developing the system, which meets the SRS and solving all the

requirements of the system.

Demonstrating the system and installing the system at client's

location after the acceptance testing is successful.

Submitting the required user manual describing the system

interfaces to work on it and also the documents of the system.

Conducting any user training that might be needed for using the

system.

Maintaining the system for a period of one year after installation.

DATA FLOW DIAGRAM

Denied Permission

18 | P a g e

PAYROLL MANAGEMENT SYSTEM

APPLY TO LOGIN

APPROVE

Page 19: Payroll ManageMent System

Add,Modify,Delete

Access the Information

Report,View

19 | P a g e

REGISTRATION DATABASE

PAYROLL SERVICES

EMPLOYEE MASTER (Add,Edit,Delete)

EMPLOYEE PAYSLIP

ALLOWANCES/ DEDUCTIONSREPORTS & SETTINGS

EMPLOYEE CODE FIRST NAME

DESIGNATION LAST NAME

CONTACT NO. ADDRESS

Page 20: Payroll ManageMent System

CODING

List of Programs used in the Project:

20 | P a g e

EMPLOYEE

SALARY

ALLOWANCES

(DA,HRA,WA)

DEDUCTIONS

(GPF,IT,GIS,PF,LIC)

BASIC

Page 21: Payroll ManageMent System

LoginFrame.java

MainMenu.java

Addwindow.java

Deletewindow.java

Editwindow.java

Emprptwindow.java

Printwindow.java

Settingswindow.java

clsConnection.java

clsSettings.java

LoginFrame.javaimport java.awt.*;import java.awt.event.*;import java.sql.*;import java.io.*;import java.util.*;import java.net.*;import javax.swing.*;import java.util.Date;

public class LoginFrame extends JFrame implements ActionListener { static JFrame frame; private String username;

21 | P a g e

Page 22: Payroll ManageMent System

private String password; private static JFrame loginFrame; private static JPanel panel1; private static JPanel panel2; private static JPanel panel3; private JButton loginBtn; private JButton exitBtn; int dialogtype = JOptionPane.PLAIN_MESSAGE; String dialogmessage; String dialogs; private JLabel nameLbl; private JLabel userLbl; private JLabel passwordLbl; private static JTextField userTxt; private static JPasswordField passwordTxt; public String loginname; public String loginpass; // class Veriables clsConnection connect = new clsConnection(); //Connection variable Connection conn; Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); static Date td = new Date(); public LoginFrame() {

panel1 = new JPanel(); panel1.setLayout(new FlowLayout()); nameLbl = new JLabel("WELCOME TO PAYROLL MANAGEMENT SYSTEM"); panel2 = new JPanel(); panel2.setLayout(new GridLayout(2,2)); userLbl = new JLabel("Username :"); userTxt = new JTextField(20); passwordLbl = new JLabel("Password :"); passwordTxt = new JPasswordField(20); panel3 = new JPanel(); panel3.setLayout(new FlowLayout()); loginBtn = new JButton("Login", new ImageIcon("images/key.gif")); loginBtn.addActionListener(this); exitBtn = new JButton("Exit", new ImageIcon("images/Keys.gif")); exitBtn.addActionListener(this);

panel1.add(nameLbl);panel1.setOpaque(true);

panel2.add(userLbl);panel2.add(userTxt);panel2.add(passwordLbl);panel2.add(passwordTxt);panel2.setOpaque(true);

panel3.add(loginBtn);panel3.add(exitBtn);panel3.setOpaque(true);frame = new JFrame("PayRoll User Login...");

frame.setSize(300,200);

Container pane = frame.getContentPane(); pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));

//pane.setLayout(new GridLayout(3,1));pane.add(panel1);pane.add(panel2);pane.add(panel3);frame.setLocation((screen.width - 500)/2,((screen.height-350)/2));

frame.setVisible(true);

22 | P a g e

Page 23: Payroll ManageMent System

frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public void actionPerformed(ActionEvent event) { Object source = event.getSource(); if(source.equals(loginBtn)) { login(); } else if(source.equals(exitBtn)) { System.exit(0); } } public void login() { loginname = userTxt.getText().trim(); loginpass = passwordTxt.getText().trim(); try { conn = connect.setConnection(conn,"",""); } catch(Exception e) { } try{

Statement stmt = conn.createStatement(); String query = "SELECT * FROM Login WHERE USERNAME='" + loginname + "'AND PASSWORD='"+loginpass+"'"; ResultSet rs = stmt.executeQuery(query); boolean recordfound = rs.next(); if (recordfound) {

dialogmessage = "Welcome - " +loginname; dialogtype = JOptionPane.INFORMATION_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); userTxt.setText(""); passwordTxt.setText(""); frame.setVisible(false); frame.dispose(); MainMenu menu = new MainMenu(loginname,td);

} else { dialogmessage = "Login Failed!"; JOptionPane.showMessageDialog(null, "INVALID ID OR PASSWORD!", "WARNING!!",JOptionPane.WARNING_MESSAGE); userTxt.setText(""); passwordTxt.setText(""); } conn.close(); } catch(Exception ex) { JOptionPane.showMessageDialog(null,"GENERAL EXCEPTION", "WARNING!!!",JOptionPane.INFORMATION_MESSAGE); } }

23 | P a g e

Page 24: Payroll ManageMent System

public static void main(String[] args) { LoginFrame frame1 = new LoginFrame();

frame1.addNotify();frame1.pack();

}

}

MainMenu.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;import java.awt.Toolkit;import java.io.*;import java.sql.*;import java.util.*;import java.text.DateFormat;import java.util.Date;import java.text.*;import java.lang.*;import java.beans.PropertyVetoException;

public class MainMenu extends JFrame implements ActionListener{JDesktopPane desktop = new JDesktopPane();String sMSGBOX_TITLE = "Payroll Management System";

// Menu Bar Variables

JMenuBar menubar = new JMenuBar();JMenu menuFile = new JMenu("File");JMenu menuEmployee = new JMenu("Employee");JMenu menuTools = new JMenu("Tools");JMenu menuReports = new JMenu("Reports");JMenu menuHelp = new JMenu("Help");

// Menu Item

JMenuItem itemExit = new JMenuItem();JMenuItem itemAdd = new JMenuItem();JMenuItem itemEdit = new JMenuItem();JMenuItem itemDelete = new JMenuItem();JMenuItem itemSettings = new JMenuItem();JMenuItem itemCalculator = new JMenuItem();JMenuItem itemNotePad = new JMenuItem();JMenuItem itemEmprpt = new JMenuItem();JMenuItem itemAuthor = new JMenuItem();JMenuItem itemHelp = new JMenuItem();

// JPanel

JPanel panel_Bottom = new JPanel();JPanel panel_Top = new JPanel();

// Label

JLabel lblUsername = new JLabel("User Name:");JLabel lblLogDetails = new JLabel("Time Login :");JLabel lblTimeNow = new JLabel();

// TextFieldJTextField username = new JTextField();JTextField logtime = new JTextField();

// JInternalFrame variables

Addwindow FormAddwindow;Editwindow FormEditwindow;Deletewindow FormDeletewindow;

24 | P a g e

Page 25: Payroll ManageMent System

//Settingswindow FormSettingswindow;

Emprptwindow FormEmprptwindow;Settingswindow FormSettingswindow;Authorwindow FormAuthorwindow;Helpwindow FormHelpwindow;

// Connection Variables

Connection conn;

// Date variables

static Date td = new Date();

// String Variables

static Statement stmtLogin;

//Class VariablesclsSettings settings = new clsSettings();

//// User Detailsstatic String sUser = "";static String sLogin = DateFormat.getDateTimeInstance().format(td);

public MainMenu(String user, Date date) {

super("PayRoll Accounting System "); sUser = user; td = date; JTextField username = new JTextField(); username.setEditable(false);

JTextField logtime = new JTextField();logtime.setEditable(false);username.setText(sUser);logtime.setText(sLogin);

panel_Bottom.setLayout(new FlowLayout()); panel_Bottom.setPreferredSize(new Dimension(10,25)); // panel_Bottom.add(lblUserIcon); panel_Bottom.add(lblUsername); panel_Bottom.add(username); panel_Bottom.add(lblLogDetails); panel_Bottom.add(logtime); panel_Top.setLayout(new BorderLayout()); panel_Top.setPreferredSize(new Dimension(10,65)); panel_Top.add(createJToolBar(),BorderLayout.PAGE_START); desktop.setBackground(Color.WHITE); desktop.setAutoscrolls(true); desktop.setBorder(BorderFactory.createLoweredBevelBorder()); desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE); getContentPane().add(panel_Top,BorderLayout.PAGE_START); getContentPane().add(desktop,BorderLayout.CENTER); getContentPane().add(panel_Bottom,BorderLayout.PAGE_END); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { UnloadWindow(); } }); setJMenuBar(CreateJMenuBar()); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); setIconImage(new ImageIcon("images/Business.png").getImage()); setSize(700,700); setLocation(2,2);

25 | P a g e

Page 26: Payroll ManageMent System

show(); } protected JMenuBar CreateJMenuBar() { menuFile.add(settings.setJMenuItem(itemExit,"Quit","images/exit.png")); itemExit.addActionListener(this); menuEmployee.add(settings.setJMenuItem(itemAdd,"Add Employee","images/employee.png")); menuEmployee.add(settings.setJMenuItem(itemEdit,"Edit Employee","images/edit.png")); menuEmployee.addSeparator(); menuEmployee.add(settings.setJMenuItem(itemDelete,"Delete Employee","images/delete.png")); itemAdd.addActionListener(this); itemEdit.addActionListener(this); itemDelete.addActionListener(this); // setting tool bar menuTools.add(settings.setJMenuItem(itemSettings,"Settings","images/setting.png")); menuTools.add(settings.setJMenuItem(itemCalculator,"Calculator","images/calc.png")); menuTools.addSeparator(); menuTools.add(settings.setJMenuItem(itemNotePad,"NotePad","images/notepad.png")); itemSettings.addActionListener(this); itemCalculator.addActionListener(this); itemNotePad.addActionListener(this); // setting Reports bar menuReports.add(settings.setJMenuItem(itemEmprpt,"Employee Report","images/emp_rpt.png")); menuTools.addSeparator(); menuTools.addSeparator(); itemEmprpt.addActionListener(this); // setting Help menuHelp.add(settings.setJMenuItem(itemAuthor,"About Author","images/xp.png")); menuHelp.add(settings.setJMenuItem(itemHelp,"Help","images/help.png")); itemAuthor.addActionListener(this); itemHelp.addActionListener(this); // adding menuitem to menubar menubar.add(settings.setJMenu(menuFile)); menubar.add(settings.setJMenu(menuEmployee)); menubar.add(settings.setJMenu(menuTools)); menubar.add(settings.setJMenu(menuReports)); menubar.add(settings.setJMenu(menuHelp)); return menubar;

} protected JToolBar createJToolBar() { JToolBar toolbar = new JToolBar("Toolbar"); toolbar.add(settings.CreateJToolbarButton("Exit", "images/exit.png", "File_Exit", JToolBarActionListener));

toolbar.addSeparator();toolbar.addSeparator();

toolbar.add(settings.CreateJToolbarButton("Add - Employee", "images/employee.png", "Emp_Add", JToolBarActionListener)); toolbar.add(settings.CreateJToolbarButton("Edit - Employee", "images/edit.png", "Emp_Edit", JToolBarActionListener)); toolbar.addSeparator();

toolbar.add(settings.CreateJToolbarButton("Delete - Employee", "images/delete.png","Emp_Delete", JToolBarActionListener));

toolbar.addSeparator();toolbar.addSeparator();

26 | P a g e

Page 27: Payroll ManageMent System

toolbar.add(settings.CreateJToolbarButton("Employee Position Settings", "images/setting.png","Settings", JToolBarActionListener)); toolbar.add(settings.CreateJToolbarButton("Calculator", "images/calc.png","Tools_Calculator", JToolBarActionListener)); toolbar.add(settings.CreateJToolbarButton("NotePad", "images/notepad.png","Tools_NotePad", JToolBarActionListener));

toolbar.addSeparator();toolbar.addSeparator();

toolbar.add(settings.CreateJToolbarButton("Employee - Report", "images/emp_rpt.png","Reports_Employee", JToolBarActionListener));

toolbar.add(settings.CreateJToolbarButton("Help - Author", "images/xp.png","Help_Author", JToolBarActionListener)); toolbar.add(settings.CreateJToolbarButton("Help - Help", "images/help.png","Help_Help", JToolBarActionListener)); return toolbar; } ActionListener JToolBarActionListener = new ActionListener() { public void actionPerformed(ActionEvent e) { String source = e.getActionCommand(); if (source == "File_Exit") { loadJInternalFrame(2); } else if (source == "Emp_Add") { loadJInternalFrame(3); } else if (source == "Emp_Edit") { loadJInternalFrame(4); } else if (source == "Emp_Delete") { loadJInternalFrame(5); } else if (source == "Settings") { loadJInternalFrame(6); } else if (source == "Tools_Calculator") { loadJInternalFrame(7); } else if (source == "Tools_NotePad") { loadJInternalFrame(8); } else if (source == "Reports_Employee") { loadJInternalFrame(9); } else if (source == "Help_Author") { loadJInternalFrame(11); } else if (source == "Help_Help") { loadJInternalFrame(12);

27 | P a g e

Page 28: Payroll ManageMent System

} } }; public void actionPerformed(ActionEvent event) { Object object = event.getSource(); if (object == itemExit) { loadJInternalFrame(2); } else if (object == itemAdd) { loadJInternalFrame(3); } else if ( object == itemEdit) { loadJInternalFrame(4); } else if (object == itemDelete) { loadJInternalFrame(5); } else if (object == itemSettings) { loadJInternalFrame(6); } else if (object == itemCalculator) { loadJInternalFrame(7); } else if (object == itemNotePad) { loadJInternalFrame(8); } else if (object == itemEmprpt) { loadJInternalFrame(9); } else if (object == itemAuthor) { loadJInternalFrame(12); } else if (object == itemHelp) { loadJInternalFrame(13); } } private void loadJInternalFrame(int intWhich) { switch(intWhich) { case 2: System.exit(0); break; case 3: try { FormAddwindow = new Addwindow(this); loadForm("Add Employee", FormAddwindow); } catch(Exception e) { System.out.println("\nError"); } break; case 4: try { FormEditwindow = new Editwindow(this); loadForm("Edit Employee", FormEditwindow); }

28 | P a g e

Page 29: Payroll ManageMent System

catch(Exception e) { System.out.println("\nError"); } break; case 5: try { FormDeletewindow = new Deletewindow(this); loadForm("Delete Employee", FormDeletewindow); } catch(Exception e) { System.out.println("\nError"); } break; case 6: try { FormSettingswindow = new Settingswindow(this); loadForm("Settings of Employee", FormSettingswindow); } catch(Exception e) { System.out.println("\nError"); } break; case 7: runComponents("Calc.exe"); break; case 8: runComponents("Notepad.exe"); break; case 9: try{ FormEmprptwindow = new Emprptwindow(this); loadForm("Employee PaySlip", FormEmprptwindow); } catch(Exception e) { System.out.println("\nError" + e ); } break; case 12: //FormAuthorwindow = new Authorwindow(this); break; case 13: //FormHelpwindow = new Helpwindow(this); break; } } protected void runComponents(String sComponents)

{Runtime rt = Runtime.getRuntime();try{rt.exec(sComponents);}catch(IOException evt){JOptionPane.showMessageDialog(null,evt.getMessage(),"Error

Found",JOptionPane.ERROR_MESSAGE);}}

protected void loadForm(String Title, JInternalFrame clsForm){

boolean xForm = isLoaded(Title);if (xForm == false){desktop.add(clsForm);clsForm.setVisible(true);clsForm.show();}

29 | P a g e

Page 30: Payroll ManageMent System

else{try {clsForm.setIcon(false);clsForm.setSelected(true);

}catch(PropertyVetoException e){} }} // Complete Load Form method

protected boolean isLoaded(String FormTitle){ JInternalFrame Form[] = desktop.getAllFrames();

for ( int i = 0; i < Form.length; i++){if (Form[i].getTitle().equalsIgnoreCase(FormTitle))

{Form[i].show();try{Form[i].setIcon(false);Form[i].setSelected(true);

}catch(PropertyVetoException e){

}return true;

}}return false;}

// Complete to Verify Form loaded or not

protected void UnloadWindow(){try {

int reply = JOptionPane.showConfirmDialog(this,"Are you sure to exit?",sMSGBOX_TITLE,JOptionPane.YES_NO_OPTION,

JOptionPane.WARNING_MESSAGE);if (reply == JOptionPane.YES_OPTION)

{setVisible(false);System.exit(0);}}

catch(Exception e){}

}// Close the Windowspublic static void setlogin(String sUsername, Date sDate)

{sUser = sUsername;td = sDate;}

}

Addwindow.javaimport java.awt.*;import java.awt.event.*;import java.io.*;import java.sql.*;import javax.swing.*;import java.util.*;import java.net.*;

public class Addwindow extends JInternalFrame implements ActionListener {

// Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();JFrame JFParentFrame;JDesktopPane desktop;private JPanel panel1;private JPanel panel2;private JButton AddBtn;

30 | P a g e

Page 31: Payroll ManageMent System

private JButton ResetBtn;private JButton ExitBtn;private JLabel LblEmp_Code,LblEmp_Name1, LblEmp_Name2, LblEmp_Desi,LblEmp_Add,LblEmp_No;private JTextField TxtEmp_Code, TxtEmp_Name1, TxtEmp_Name2,TxtEmp_Add, TxtEmp_No; private JComboBox Emp_Type;String dialogmessage;

String dialogs; int dialogtype = JOptionPane.PLAIN_MESSAGE; public static int record; String Emp_Code = "";

String Emp_Name1 = "";String Emp_Name2 = "";String Emp_Desi = "";String Emp_Add = "";String Emp_No = "";

// Class Variables clsSettings settings = new clsSettings(); clsConnection connect = new clsConnection(); Connection conn;

public Addwindow(JFrame getParentFrame) {

super("Add - Employee ",true,true,true,true); setSize(400,800); JFParentFrame = getParentFrame; panel1 = new JPanel(); panel1.setLayout(new GridLayout(7,7));

LblEmp_Code = new JLabel (" Employee Code :"); LblEmp_Name1 = new JLabel (" First Name :"); LblEmp_Name2 = new JLabel (" Last Name :"); LblEmp_Desi = new JLabel (" Designation :"); LblEmp_Add = new JLabel (" Address :"); LblEmp_No = new JLabel (" Contact No :");

TxtEmp_Code = new JTextField(20); Emp_Type = new JComboBox();

Emp_Type.addActionListener(this); Emp_Type.setEditable(false); add_Cat_combo(Emp_Type);

TxtEmp_Name1 = new JTextField(20); TxtEmp_Name2 = new JTextField(20);

TxtEmp_Add = new JTextField(20); TxtEmp_No = new JTextField(20); panel1.add(LblEmp_Code); panel1.add(TxtEmp_Code); panel1.add(LblEmp_Desi); panel1.add(Emp_Type);

panel1.add(LblEmp_Name1); panel1.add(TxtEmp_Name1);

panel1.add(LblEmp_Name2); panel1.add(TxtEmp_Name2);

panel1.add(LblEmp_Add); panel1.add(TxtEmp_Add);

panel1.add(LblEmp_No); panel1.add(TxtEmp_No); panel1.setOpaque(true);

panel2 = new JPanel(); panel2.setLayout(new FlowLayout()); AddBtn = new JButton("Add");

31 | P a g e

Page 32: Payroll ManageMent System

ResetBtn = new JButton("Reset");ExitBtn = new JButton("Exit");

panel2.add(AddBtn); AddBtn.addActionListener(this); panel2.add(ResetBtn); ResetBtn.addActionListener(this); panel2.add(ExitBtn); ExitBtn.addActionListener(this); panel2.setOpaque(true); getContentPane().setLayout(new GridLayout(2,1)); getContentPane().add(panel1,"CENTER"); getContentPane().add(panel2,"CENTER"); setFrameIcon(new ImageIcon( "images/backup.gif")); setDefaultCloseOperation(DISPOSE_ON_CLOSE); pack();

settings.Numvalidator(TxtEmp_No);} public void actionPerformed(ActionEvent event)

{Object source = event.getSource();

if ( source.equals(Emp_Type)) {

Emp_Desi = (String)Emp_Type.getSelectedItem(); } if(source.equals(AddBtn))

{

Emp_Code = "";Emp_Name1 = "";Emp_Name2 = "";Emp_Desi = "";Emp_Add = "";Emp_No = "";

Emp_Code = TxtEmp_Code.getText().trim();Emp_Name1 = TxtEmp_Name1.getText().trim();Emp_Name2 = TxtEmp_Name2.getText().trim();Emp_Desi = (String)Emp_Type.getSelectedItem();Emp_Add = TxtEmp_Add.getText().trim();Emp_No = TxtEmp_No.getText().trim();try {

conn = connect.setConnection(conn,"",""); } catch(Exception e) { }

try {

Statement stmt = conn.createStatement(); if (!Emp_Code.equals("") && !Emp_Name1.equals("")&& !Emp_Name2.equals("")&& !Emp_Desi.equals("") && !Emp_Add.equals("") && !Emp_No.equals("") ) { String query = "SELECT * FROM EMPLOYEE WHERE Emp_Code='" + Emp_Code+"'"; ResultSet rs = stmt.executeQuery(query); int foundrec = 0; while (rs.next()) { dialogmessage = "Record Already Exists in DataBase!!!"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); foundrec = 1; } if (foundrec == 0) { String temp = "INSERT INTO EMPLOYEE VALUES ('"+Emp_Code +"','" +Emp_Name1 +"','" +Emp_Name2 +"','"+Emp_Desi +"','"+Emp_Add + "', '"+Emp_No + "')" ;

32 | P a g e

Page 33: Payroll ManageMent System

int result = stmt.executeUpdate( temp ); if ( result == 1 ) { System.out.println("Recorded Added"); ResetRecord(); } else { dialogmessage = "Failed To Insert"; JOptionPane.showMessageDialog(null, "Failed To Insert in DataBase", "WARNING!!",JOptionPane.WARNING_MESSAGE); } }} else { dialogmessage = "Empty Record !!!"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype);

} conn.close();

} catch(Exception ex) { JOptionPane.showMessageDialog(null,"GENERAL EXCEPTION", "WARNING!!!",JOptionPane.INFORMATION_MESSAGE); } }

else if(source == ResetBtn){

ResetRecord();}else if(source == ExitBtn){

setVisible (false);dispose();

}} private void ResetRecord() {

TxtEmp_Code.setText(""); TxtEmp_Name1.setText(""); TxtEmp_Name2.setText(""); TxtEmp_Add.setText(""); TxtEmp_No.setText("");

} public void add_Cat_combo(JComboBox cmb) { try { conn = connect.setConnection(conn,"",""); } catch(Exception e) {} try{ Statement stmt = conn.createStatement(); String query = "SELECT * FROM Settings"; ResultSet rs = stmt.executeQuery(query); while (rs.next()) { String Txtcmb = rs.getString(2).trim(); record = rs.getInt("Category_Type"); cmb.addItem(Txtcmb);

} conn.close(); } catch(Exception ex) {} } }

33 | P a g e

Page 34: Payroll ManageMent System

Deletewindow.java

import java.awt.*;import java.awt.event.*;import java.io.*;import java.sql.*;import javax.swing.*;import java.util.*;import java.net.*;

public class Deletewindow extends JInternalFrame implements ActionListener {

// Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();JFrame JFParentFrame;JDesktopPane desktop;private JPanel panel1;private JPanel panel2;private JButton FindBtn;private JButton DeleteBtn;private JButton ExitBtn;private JLabel LblEmp_Code,LblEmp_Name1, LblEmp_Name2, LblEmp_Desi,LblEmp_Add,LblEmp_No;private JTextField TxtEmp_Code, TxtEmp_Name1, TxtEmp_Name2, TxtEmp_Desi,TxtEmp_Add, TxtEmp_No; String dialogmessage;

String dialogs; int dialogtype = JOptionPane.PLAIN_MESSAGE; clsSettings settings = new clsSettings(); clsConnection connect = new clsConnection();Connection conn; public Deletewindow(JFrame getParentFrame) {

super("Delete - Employee ",true,true,true,true); setSize(400,800); JFParentFrame = getParentFrame; panel1 = new JPanel(); panel1.setLayout(new GridLayout(7,7));

LblEmp_Code = new JLabel(" Employee Code :"); LblEmp_Name1 = new JLabel (" First Name :"); LblEmp_Name2 = new JLabel(" Last Name :"); LblEmp_Desi = new JLabel (" Designation :"); LblEmp_Add = new JLabel (" Address :"); LblEmp_No = new JLabel (" Contact No :");

TxtEmp_Code = new JTextField(20); TxtEmp_Name1 = new JTextField(20); TxtEmp_Name2 = new JTextField(20); TxtEmp_Desi = new JTextField(20); TxtEmp_Add = new JTextField(20); TxtEmp_No = new JTextField(20);

TxtEmp_Name1.setEditable(false); TxtEmp_Name2.setEditable(false); TxtEmp_Desi.setEditable(false); TxtEmp_Add.setEditable(false); TxtEmp_No.setEditable(false);

panel1.add(LblEmp_Code); panel1.add(TxtEmp_Code);

panel1.add(LblEmp_Name1); panel1.add(TxtEmp_Name1);

panel1.add(LblEmp_Name2); panel1.add(TxtEmp_Name2);

panel1.add(LblEmp_Desi);

34 | P a g e

Page 35: Payroll ManageMent System

panel1.add(TxtEmp_Desi);

panel1.add(LblEmp_Add); panel1.add(TxtEmp_Add);

panel1.add(LblEmp_No); panel1.add(TxtEmp_No); panel2 = new JPanel();

panel2.setLayout(new FlowLayout()); FindBtn = new JButton("Find"); DeleteBtn = new JButton("Delete"); ExitBtn = new JButton("Exit"); panel2.add(FindBtn); FindBtn.addActionListener(this); panel2.add(DeleteBtn); DeleteBtn.addActionListener(this); panel2.add(ExitBtn); ExitBtn.addActionListener(this); panel2.setOpaque(true); getContentPane().setLayout(new GridLayout(2,1)); getContentPane().add(panel1,"CENTER"); getContentPane().add(panel2,"CENTER"); setFrameIcon(new ImageIcon( "images/backup.gif")); setDefaultCloseOperation(DISPOSE_ON_CLOSE); pack(); settings.Numvalidator(TxtEmp_No);}

public void actionPerformed(ActionEvent event){Object source = event.getSource();String sEmp_Code = "";

String sEmp_Name1 = "";String sEmp_Name2 = "";String sEmp_Desi = "";String sEmp_Add = "";String sEmp_No = "";

if(source.equals(FindBtn)) {

sEmp_Code = TxtEmp_Code.getText().trim();try {

conn = connect.setConnection(conn,"",""); } catch(Exception e) { }

try {Statement stmt = conn.createStatement();

if (!sEmp_Code.equals("")); String query = "SELECT * FROM EMPLOYEE WHERE Emp_Code='" + sEmp_Code +"'"; ResultSet rs = stmt.executeQuery(query); int foundrec = 0; while (rs.next()) { ResultSetMetaData rsmd = rs.getMetaData(); int columnCount = rsmd.getColumnCount(); sEmp_Name1 = rs.getString(2).trim();

sEmp_Name2 = rs.getString(3).trim();sEmp_Desi = rs.getString(4).trim();

sEmp_Add = rs.getString(5).trim();sEmp_No = rs.getString(6).trim();

TxtEmp_Name1.setText(sEmp_Name1); TxtEmp_Name2.setText(sEmp_Name2);

TxtEmp_Desi.setText(sEmp_Desi); TxtEmp_Add.setText(sEmp_Add); TxtEmp_No.setText(sEmp_No); foundrec = 1} if (foundrec == 0) {

35 | P a g e

Page 36: Payroll ManageMent System

dialogmessage = "No Such Employuee"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); ResetRecord(); }

conn.close();} catch(Exception e) { System.out.println("\nUnknown Error"); } }

else if(source.equals(DeleteBtn)){

int DResult = JOptionPane.showConfirmDialog((Component) null,"Are you sure you want to delete Record?"); if (DResult == JOptionPane.NO_OPTION) {

ResetRecord(); if (DResult == JOptionPane.YES_OPTION)

{ try { conn = connect.setConnection(conn,"",""); } catch(Exception e) { } try { Statement stmt = conn.createStatement();

sEmp_Code = TxtEmp_Code.getText().trim();

if ( !sEmp_Code.equals("")) {

String temp = "DELETE from EMPLOYEE " +" WHERE Emp_Code= '" + sEmp_Code + "'"; int result = stmt.executeUpdate( temp );

if ( result == 1 ) { dialogmessage = "Employee Record Deleted!!!"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); ResetRecord(); }

else

{ dialogmessage = "No Such Employuee"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); ResetRecord();

} }

conn.close(); }

catch(Exception e) { System.out.println("\nUnknown Error" + e); } }

}else if(source == ExitBtn){

setVisible (false);dispose();}

}

36 | P a g e

Page 37: Payroll ManageMent System

private void ResetRecord() {

TxtEmp_Code.setText(""); TxtEmp_Name1.setText(""); TxtEmp_Name2.setText(""); TxtEmp_Desi.setText(""); TxtEmp_Add.setText(""); TxtEmp_No.setText("");

}}

Editwindow.java

import java.awt.*;import java.awt.event.*;import java.io.*;import java.sql.*;import javax.swing.*;import java.util.*;import java.net.*;

public class Editwindow extends JInternalFrame implements ActionListener {

JFrame JFParentFrame;JDesktopPane desktop;private JPanel panel1;private JPanel panel2;private JButton FindBtn;private JButton EditBtn;private JButton ExitBtn;private JLabel LblEmp_Code,LblEmp_Name1, LblEmp_Name2, LblEmp_Desi,LblEmp_Add,LblEmp_No;private JTextField TxtEmp_Code, TxtEmp_Name1, TxtEmp_Name2, TxtEmp_Desi,TxtEmp_Add, TxtEmp_No; int dialogtype = JOptionPane.PLAIN_MESSAGE;

String dialogmessage; String dialogs; private JComboBox Emp_Type;clsSettings settings = new clsSettings(); clsConnection connect = new clsConnection();Connection conn;public Editwindow(JFrame getParentFrame) { super("Edit - Employee ",true,true,true,true); setSize(400,800); JFParentFrame = getParentFrame; panel1 = new JPanel(); panel1.setLayout(new GridLayout(7,7));

LblEmp_Code = new JLabel(" Employee Code :"); LblEmp_Desi = new JLabel(" Designation :"); LblEmp_Name1 = new JLabel (" First Name :"); LblEmp_Name2 = new JLabel (" Last Name :"); LblEmp_Add = new JLabel(" Address :"); LblEmp_No = new JLabel (" Contact No :");

TxtEmp_Code = new JTextField(20); Emp_Type = new JComboBox();

Emp_Type.addActionListener(this); Emp_Type.setEditable(false); add_Cat_combo(Emp_Type); TxtEmp_Name1 = new JTextField(20);

TxtEmp_Name2 = new JTextField(20); TxtEmp_Add = new JTextField(20); TxtEmp_No = new JTextField(20); TxtEmp_Name1.setEditable(false); TxtEmp_Name2.setEditable(false); TxtEmp_Add.setEditable(false);

37 | P a g e

Page 38: Payroll ManageMent System

TxtEmp_No.setEditable(false);

panel1.add(LblEmp_Code); panel1.add(TxtEmp_Code);

panel1.add(LblEmp_Desi); panel1.add(Emp_Type);

panel1.add(LblEmp_Name1); panel1.add(TxtEmp_Name1);

panel1.add(LblEmp_Name2); panel1.add(TxtEmp_Name2);

panel1.add(LblEmp_Add); panel1.add(TxtEmp_Add);

panel1.add(LblEmp_No); panel1.add(TxtEmp_No);

panel2 = new JPanel();

panel2.setLayout(new FlowLayout()); FindBtn = new JButton("Find"); EditBtn = new JButton("Edit"); ExitBtn = new JButton("Exit"); panel2.add(FindBtn); FindBtn.addActionListener(this); panel2.add(EditBtn); EditBtn.addActionListener(this); panel2.add(ExitBtn); ExitBtn.addActionListener(this); panel2.setOpaque(true); getContentPane().setLayout(new GridLayout(2,1)); getContentPane().add(panel1,"CENTER"); getContentPane().add(panel2,"CENTER"); setFrameIcon(new ImageIcon( "images/backup.gif")); setDefaultCloseOperation(DISPOSE_ON_CLOSE); pack(); settings.Numvalidator(TxtEmp_No);} public void actionPerformed(ActionEvent event)

{ Object source = event.getSource();

String sEmp_Code = "";String sEmp_Name1 = "";String sEmp_Name2 = "";String sEmp_Desi = "";String sEmp_Add = "";String sEmp_No = "";

if(source.equals(FindBtn)) {sEmp_Code = TxtEmp_Code.getText().trim();

try { conn = connect.setConnection(conn,"",""); } catch(Exception e) { } try {

Statement stmt = conn.createStatement(); if (!sEmp_Code.equals("")) { String query = "SELECT * FROM EMPLOYEE WHERE Emp_Code='" + sEmp_Code +"'"; ResultSet rs = stmt.executeQuery(query); int foundrec = 0; while (rs.next()) { sEmp_Name1 = rs.getString(2).trim();

sEmp_Name2 = rs.getString(3).trim();sEmp_Desi = rs.getString(4).trim();sEmp_Add = rs.getString(5).trim();

38 | P a g e

Page 39: Payroll ManageMent System

sEmp_No = rs.getString(6).trim();

TxtEmp_Name1.setText(sEmp_Name1); TxtEmp_Name1.setEditable(true);

TxtEmp_Name2.setText(sEmp_Name2); TxtEmp_Name2.setEditable(true);

Emp_Type.setSelectedItem(sEmp_Desi);

TxtEmp_Add.setText(sEmp_Add); TxtEmp_Add.setEditable(true);

TxtEmp_No.setText(sEmp_No); TxtEmp_No.setEditable(true);

foundrec = 1;} if (foundrec == 0) { dialogmessage = "No Such Employuee"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); ResetRecord();}} else { dialogmessage = "No Blank Field Allowed"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); ResetRecord(); }

conn.close(); }

catch(Exception e) { System.out.println("\nUnknown Error"); } }

else if(source == EditBtn){

sEmp_Code = TxtEmp_Code.getText().trim();sEmp_Name1 = TxtEmp_Name1.getText().trim();sEmp_Name2 = TxtEmp_Name2.getText().trim();sEmp_Desi = (String)Emp_Type.getSelectedItem();sEmp_Add = TxtEmp_Add.getText().trim();sEmp_No = TxtEmp_No.getText().trim();

try { conn = connect.setConnection(conn,"",""); } catch(Exception e) { }

try { Statement stmt = conn.createStatement();

if (!sEmp_Code.equals("") && !sEmp_Name1.equals("")&& !sEmp_Name2.equals("")&& !sEmp_Desi.equals("") && !sEmp_Add.equals("") && !sEmp_No.equals("") )

{ String temp ="UPDATE EMPLOYEE SET "+"Emp_Code = '"+sEmp_Code+ "',Emp_Name1 = '"+sEmp_Name1+"',Emp_Name2 = '"+sEmp_Name2+ "',Emp_Desi = '"+sEmp_Desi+"',Emp_Add = '"+sEmp_Add+ "',Emp_No = '"+sEmp_No+"'"+WHERE Emp_Code = '" +sEmp_Code+"'"; int result = stmt.executeUpdate( temp ); if (result == 1) {

dialogmessage = "Record Updated!!!";

39 | P a g e

Page 40: Payroll ManageMent System

dialogtype = JOptionPane.INFORMATION_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); ResetRecord(); } else { dialogmessage = "NO SUCH EMPLOYEE!!!"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype);

}} else { dialogmessage = "NULL VALUES OCCURED IN TEXTFIELD!!!"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype);

ResetRecord(); }

conn.close(); } catch(Exception ex) { JOptionPane.showMessageDialog(null,"GENERAL EXCEPTION", "WARNING!!!",JOptionPane.INFORMATION_MESSAGE); System.out.println("Error in Edi Btn" + ex); } } else if(source == ExitBtn)

{ setVisible (false); dispose();}

}

private void ResetRecord() { TxtEmp_Code.setText("");

TxtEmp_Name1.setText(""); TxtEmp_Name2.setText(""); TxtEmp_Add.setText(""); TxtEmp_No.setText("");

} public void add_Cat_combo(JComboBox cmb) { try { conn = connect.setConnection(conn,"",""); } catch(Exception e) { } try{ Statement stmt = conn.createStatement(); String query = "SELECT * FROM Settings"; ResultSet rs = stmt.executeQuery(query); while (rs.next()) { String Txtcmb = rs.getString(2).trim(); cmb.addItem(Txtcmb); } conn.close(); } catch(Exception ex) {}}}

40 | P a g e

Page 41: Payroll ManageMent System

Emprptwindow.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import java.io.*;import java.util.*;import java.net.*;import java.lang.String;import java.awt.print.*;import java.text.DateFormat;import java.util.Date;

public class Emprptwindow extends JInternalFrame implements ActionListener {

JFrame JFParentFrame;

static Date td = new Date();static String sDate = DateFormat.getDateTimeInstance().format(td);

private JPanel panel1;private JPanel panel2;private JPanel panel3;private JPanel panel4;private JPanel panel5;private JPanel panel5_1;private JPanel panel5_2;private JPanel panel6;private JPanel panel6_1;private JPanel panel6_2;private JPanel panel7;private JPanel panel8_1;private JPanel panel9;private JPanel panel10;private JPanel panel11;private JPanel panel12;private JPanel panel13;private JPanel panel14;

private JButton GenerateBtn;private JButton PrintBtn;private JButton ExitBtn;

private JTextField TxtCategory_Type,TxtCategory_Name;private JComboBox MonthCombo;private JTextField TxtYear;private JLabel LblMonth;private String[] Month_Name = {"January", "February","March","April","May",

"June","July","August","September","October","November","December"}; String dialogmessage; String dialogs; int dialogtype = JOptionPane.PLAIN_MESSAGE; public static int record; clsSettings settings = new clsSettings(); clsConnection connect = new clsConnection(); Connection conn; private JLabel Lblcollege1, Lblcollege2, Lblcollege3, Lbldate, LblSalary_Slip; private JLabel LblEmp_Name, LblEmp_Code, LblEmp_Desi, LblBasic_Pay, LblAllowance, LblDeduction; private JLabel LblDA, LblHRA, LblWA, LblGPF, LblIT, LblGIS, LblPF, LblLIC; private JLabel LblTot_Allowance, LblTot_Deduction, LblNet_Salary; private JTextField TxtDate, TxtEmp_Name1, TxtEmp_Name2 , TxtEmp_Code,TxtSalary_Month, TxtEmp_Desi, TxtBasic_Pay; private JTextField TxtDA, TxtHRA, TxtWA, TxtGPF, TxtIT, TxtGIS, TxtPF, TxtLIC; private JTextField TxtTot_Allowance, TxtTot_Deduction, TxtNet_Salary;

41 | P a g e

Page 42: Payroll ManageMent System

public String sEmp_Code = ""; public String sEmp_Name1 = ""; public String sEmp_Name2 = ""; public String sEmp_Desi = "";

public String sCategory_Type = ""; public String sCategory_Name = ""; public String sBasic_Pay = ""; public String sDA = ""; public String sHRA = ""; public String sWA = ""; public String sGPF = ""; public String sIT = ""; public String sGIS = ""; public String sPF = ""; public String sLIC = ""; public String sDA_Allow = ""; public String sHRA_Allow = ""; public String sWA_Allow = ""; public String sGPF_Dedu = ""; public String sIT_Dedu = ""; public String sGIS_Dedu = ""; public String sPF_Dedu = ""; public String sLIC_Dedu = ""; public String sAllow = ""; public String sDedu = ""; public String sNet_Salary = ""; public String Emp_Month; public String Emp_Year; public static int vBasic_Pay, DA_Rs, HRA_Rs ,WA_Rs , GPF_Rs, IT_Rs, GIS_Rs, PF_Rs, LIC_Rs; public static int DA_Value,HRA_Value, WA_Value, GPF_Value, IT_Value, GIS_Value, PF_Value, LIC_Value; public static int Allow, Dedu, Net_Salary; public Emprptwindow(JFrame getParentFrame) { super("Employee PaySlip",true,true,true,true); setSize(600,700); JFParentFrame = getParentFrame; panel1 = new JPanel(); panel1.setLayout(new FlowLayout()); LblEmp_Code = new JLabel("Employee Code: "); TxtEmp_Code = new JTextField(10);

LblMonth = new JLabel("For the Month :");

MonthCombo = new JComboBox();MonthCombo.addActionListener(this);

for ( int i = 0; i <= 11; i++ ) { MonthCombo.addItem(Month_Name[i]); } TxtYear = new JTextField(5);

panel1.add(LblEmp_Code); panel1.add(TxtEmp_Code); panel1.add(LblMonth); panel1.add(MonthCombo); panel1.add(TxtYear);

panel2 = new JPanel(); panel2.setLayout(new FlowLayout());

LblEmp_Name = new JLabel("Employee Name :"); TxtEmp_Name1 = new JTextField(10); TxtEmp_Name2 = new JTextField(10);

TxtEmp_Name1.setEditable(false); TxtEmp_Name2.setEditable(false);

42 | P a g e

Page 43: Payroll ManageMent System

panel2.add(LblEmp_Name); panel2.add(TxtEmp_Name1); panel2.add(TxtEmp_Name2);

panel3 = new JPanel(); panel3.setLayout(new FlowLayout());

LblEmp_Desi = new JLabel("Designation :"); TxtEmp_Desi = new JTextField(20); TxtEmp_Desi.setEditable(false);

panel3.add(LblEmp_Desi); panel3.add(TxtEmp_Desi);

panel4 = new JPanel(); panel4.setLayout(new FlowLayout()); GenerateBtn = new JButton("Generate");

GenerateBtn.addActionListener(this); panel4.add(GenerateBtn);

Lblcollege2 = new JLabel("NIIS INSTITUTE BHUBANESWAR"); Lbldate = new JLabel (" Date :"); LblSalary_Slip = new JLabel (" Salary Slip :"); LblBasic_Pay = new JLabel (" Basic Pay :"); LblAllowance = new JLabel ("********** A L L O W A N C E ********"); LblDeduction = new JLabel ("********** D E D U C T I O N ********"); LblDA = new JLabel (" DA :"); LblHRA = new JLabel (" HRA :"); LblWA = new JLabel (" WA :"); LblGPF = new JLabel (" GPF :"); LblIT = new JLabel (" IT :"); LblGIS = new JLabel (" GIS :"); LblPF = new JLabel (" PF :"); LblLIC = new JLabel (" LIC :"); LblTot_Allowance = new JLabel(" Total Allowances :"); LblTot_Deduction = new JLabel(" Total Deduction :"); LblNet_Salary = new JLabel (" Net Salary :");

TxtDate = new JTextField(10);

TxtSalary_Month = new JTextField(20); TxtBasic_Pay = new JTextField(10); TxtDA = new JTextField(5); TxtHRA = new JTextField(5); TxtWA = new JTextField(5); TxtGPF = new JTextField(5); TxtIT = new JTextField(5); TxtGIS = new JTextField(5); TxtPF = new JTextField(5); TxtLIC = new JTextField(5); TxtTot_Allowance = new JTextField(6); TxtTot_Deduction = new JTextField(6); TxtNet_Salary = new JTextField(6);

TxtDate.setEditable(false); TxtSalary_Month.setEditable(false); TxtBasic_Pay.setEditable(false); TxtDA.setEditable(false); TxtHRA.setEditable(false); TxtWA.setEditable(false); TxtGPF.setEditable(false); TxtIT.setEditable(false); TxtGIS.setEditable(false); TxtPF.setEditable(false); TxtLIC.setEditable(false);

TxtTot_Allowance.setEditable(false); TxtTot_Deduction.setEditable(false); TxtNet_Salary.setEditable(false);

panel5 = new JPanel();

43 | P a g e

Page 44: Payroll ManageMent System

panel5.setLayout(new FlowLayout()); panel5.add(Lblcollege2, BorderLayout.CENTER);

panel5_1 = new JPanel(); panel5_1.setLayout(new GridLayout(3,3)); panel5_1.add(Lbldate); panel5_1.add(TxtDate);

panel5_1.add(LblSalary_Slip, "CENTER"); panel5_1.add(TxtSalary_Month,"RIGHT");

panel5_1.add(LblBasic_Pay,"LEFT"); panel5_1.add(TxtBasic_Pay,"CENTER");

panel7 = new JPanel(); panel7.setLayout(new FlowLayout());

panel7.add(LblAllowance, "CENTER");

panel8_1 = new JPanel(); panel8_1.setLayout(new GridLayout(3,2)); panel8_1.add(LblDA); panel8_1.add(TxtDA); panel8_1.add(LblHRA); panel8_1.add(TxtHRA); panel8_1.add(LblWA); panel8_1.add(TxtWA);

panel9 = new JPanel(); panel9.setLayout(new GridLayout(1,3));

panel9.add(LblTot_Allowance, "EAST"); panel9.add(TxtTot_Allowance, "EAST");

panel10 = new JPanel(); panel10.setLayout(new FlowLayout()); panel10.add(LblDeduction, "CENTER");

panel11 = new JPanel(); panel11.setLayout(new GridLayout(5,5)); panel11.add(LblGPF); panel11.add(TxtGPF); panel11.add(LblIT); panel11.add(TxtIT); panel11.add(LblGIS); panel11.add(TxtGIS); panel11.add(LblPF); panel11.add(TxtPF); panel11.add(LblLIC); panel11.add(TxtLIC);

panel12 = new JPanel(); panel12.setLayout(new GridLayout(1,3));

panel12.add(LblTot_Deduction); panel12.add(TxtTot_Deduction);

panel13 = new JPanel(); panel13.setLayout(new FlowLayout()); panel13.add(LblNet_Salary); panel13.add(TxtNet_Salary);

panel14 = new JPanel(); panel14.setLayout(new FlowLayout());

PrintBtn = new JButton("Preview", new ImageIcon("images/prints.png")); PrintBtn.addActionListener(this);

ExitBtn = new JButton("Exit", new ImageIcon("images/exit.png"));

44 | P a g e

Page 45: Payroll ManageMent System

ExitBtn.addActionListener(this);

panel14.add(PrintBtn); panel14.add(ExitBtn); Container pane = getContentPane(); pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));

pane.add(panel1);pane.add(panel2);pane.add(panel3);pane.add(panel4);pane.add(panel5);pane.add(panel5_1);pane.add(panel7);pane.add(panel8_1);

pane.add(panel9);pane.add(panel10);pane.add(panel11);pane.add(panel12);pane.add(panel13);pane.add(panel14);

setFrameIcon(new ImageIcon( "images/New.gif")); setDefaultCloseOperation(DISPOSE_ON_CLOSE); pack(); } public void actionPerformed(ActionEvent event) { Object source = event.getSource();

if ( source == MonthCombo) {

String Emp_Month = (String)MonthCombo.getSelectedItem();

}

if (source == PrintBtn) { printwindow prn = new printwindow(); prn.fill_data(sEmp_Name1,sEmp_Name2,Emp_Month, Emp_Year,sEmp_Code,sDate, sEmp_Desi, sBasic_Pay, sDA_Allow, sHRA_Allow, sWA_Allow, sGPF_Dedu, sIT_Dedu, sGIS_Dedu, sPF_Dedu,sLIC_Dedu , sAllow, sDedu, sNet_Salary ); } if (source == GenerateBtn) { sEmp_Code = TxtEmp_Code.getText().trim(); Get_Data(sEmp_Code); Generate_Report(sEmp_Desi); } if (source == ExitBtn) { setVisible (false); dispose(); }} public void Get_Data(String code) { try { conn = connect.setConnection(conn,"",""); } catch(Exception e) { } try {

Statement stmt = conn.createStatement(); if (!code.equals("")) { String query = "SELECT * FROM EMPLOYEE WHERE Emp_Code = '" + code +"'";

45 | P a g e

Page 46: Payroll ManageMent System

ResultSet rs = stmt.executeQuery(query); int foundrec = 0; while (rs.next()) { sEmp_Code = code; sEmp_Name1 = rs.getString(2).trim(); sEmp_Name2 = rs.getString(3).trim();

sEmp_Desi = rs.getString(4).trim();

Emp_Month = (String)MonthCombo.getSelectedItem(); Emp_Year = TxtYear.getText().trim();foundrec = 1;

} if (foundrec == 0) { dialogmessage = "No Such Employuee"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); } } else dialogmessage = "No Blank Field Allowed"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); { }

catch(Exception e) { System.out.println("\nUnknown Error at Genrate_Data"); } }

public void Generate_Report(String Desi) { try {

conn = connect.setConnection(conn,"",""); } catch(Exception e) { } try {

Statement stmt = conn.createStatement(); if (!Desi.equals("")) { String query = "SELECT * FROM Settings WHERE Category_Name = '" + Desi +"'"; ResultSet rs = stmt.executeQuery(query); int foundrec = 0; while (rs.next()) {

sCategory_Type = rs.getString(1).trim(); sCategory_Name = rs.getString(2).trim(); vBasic_Pay = rs.getInt(3);

sDA = rs.getString(4).trim();sHRA = rs.getString(5).trim();sWA = rs.getString(6).trim();sGPF = rs.getString(7).trim();sIT = rs.getString(8).trim();sGIS = rs.getString(9).trim();sPF = rs.getString(10).trim();sLIC = rs.getString(11).trim();

DA_Value = rs.getInt(12); HRA_Value = rs.getInt(13); WA_Value = rs.getInt(14); GPF_Value = rs.getInt(15); IT_Value = rs.getInt(16); GIS_Value = rs.getInt(17); PF_Value = rs.getInt(18); LIC_Value = rs.getInt(19);

if (sDA.equals("true") ) {

46 | P a g e

Page 47: Payroll ManageMent System

DA_Rs = vBasic_Pay*DA_Value/100; } else { DA_Rs = DA_Value; } if (sHRA.equals("true")) { HRA_Rs = (vBasic_Pay * HRA_Value) / 100; } else { HRA_Rs = HRA_Value; } if (sWA.equals("true")) { WA_Rs = (vBasic_Pay * WA_Value) / 100; } else { WA_Rs = WA_Value; } if (sGPF.equals("true")) { GPF_Rs = (vBasic_Pay * GPF_Value) / 100; } else { GPF_Rs = GPF_Value; } if (sIT.equals("true")) { IT_Rs = (vBasic_Pay * IT_Value) / 100; } else { IT_Rs = IT_Value; } if (sGIS.equals("true")) { GIS_Rs = (vBasic_Pay * GIS_Value) / 100; } else { GIS_Rs = GIS_Value; } if (sPF.equals("true"))

{PF_Rs = (vBasic_Pay * PF_Value) / 100; } else { PF_Rs = PF_Value; } if (sLIC.equals("true")) { LIC_Rs = (vBasic_Pay * LIC_Value) / 100; } else { LIC_Rs = LIC_Value; } Allow = DA_Rs + HRA_Rs + WA_Rs; Dedu = GPF_Rs + IT_Rs + GIS_Rs + PF_Rs + LIC_Rs; Net_Salary = (vBasic_Pay + Allow) - Dedu ;

sBasic_Pay = Integer.toString(vBasic_Pay); sDA_Allow = Integer.toString(DA_Rs); sHRA_Allow = Integer.toString(HRA_Rs); sWA_Allow = Integer.toString(WA_Rs); sGPF_Dedu = Integer.toString(GPF_Rs); sIT_Dedu = Integer.toString(IT_Rs); sGIS_Dedu = Integer.toString(GIS_Rs); sPF_Dedu = Integer.toString(PF_Rs); sLIC_Dedu = Integer.toString(LIC_Rs);

47 | P a g e

Page 48: Payroll ManageMent System

sAllow = Integer.toString(Allow); sDedu = Integer.toString(Dedu); sNet_Salary = Integer.toString(Net_Salary);

///// Feeding values to the form

TxtDate.setText(sDate); TxtEmp_Name1.setText(sEmp_Name1); TxtEmp_Name2.setText(sEmp_Name2); TxtSalary_Month.setText("For the Month of " + Emp_Month + " , " + Emp_Year); TxtEmp_Code.setText(sEmp_Code); TxtEmp_Desi.setText(sEmp_Desi);

TxtBasic_Pay.setText(sBasic_Pay);

TxtDA.setText(sDA_Allow); TxtHRA.setText(sHRA_Allow); TxtWA.setText(sWA_Allow); TxtTot_Allowance.setText(sAllow);

TxtGPF.setText(sGPF_Dedu); TxtIT.setText(sIT_Dedu); TxtGIS.setText(sGIS_Dedu); TxtPF.setText(sPF_Dedu); TxtLIC.setText(sLIC_Dedu); TxtTot_Deduction.setText(sDedu); TxtNet_Salary.setText(sNet_Salary); foundrec = 1; } if (foundrec == 0) { dialogmessage = "No Such Employuee"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); } } else { dialogmessage = "No Blank Field Allowed"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); }

conn.close();

}

catch(Exception e) { System.out.println("\nUnknown Errorat Generate -report"); } }

}

Printwindow.java

import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import java.io.*;import java.util.*;import java.net.*;import java.lang.String;import java.awt.print.*;

48 | P a g e

Page 49: Payroll ManageMent System

public class printwindow extends JFrame implements ActionListener , Printable {

private JPanel panel1;private JPanel panel2;private JPanel panel3;private JPanel panel4;private JPanel panel5;private JPanel panel5_1;private JPanel panel5_2;private JPanel panel6;private JPanel panel6_1;private JPanel panel6_2;private JPanel panel7;private JPanel panel8_1;private JPanel panel9;private JPanel panel10;private JPanel panel11;private JPanel panel12;private JPanel panel13;private JPanel panel14;

private JTextField TxtYear;private JLabel LblMonth;

// Class Variables // clsSettings settings = new clsSettings(); //clsConnection connect = new clsConnection(); // Connection //Connection conn; private JLabel Lblcollege2, Lbldate, LblSalary_Slip; private JLabel LblEmp_Name, LblEmp_Code, LblEmp_Desi, LblBasic_Pay, LblAllowance, LblDeduction; private JLabel LblDA, LblHRA, LblWA, LblGPF, LblIT, LblGIS, LblPF, LblLIC; private JLabel LblTot_Allowance, LblTot_Deduction, LblNet_Salary; private JTextField TxtDate, TxtEmp_Name1, TxtEmp_Name2 , TxtEmp_Code,TxtSalary_Month, TxtEmp_Desi, TxtBasic_Pay; private JTextField TxtDA, TxtHRA, TxtWA, TxtGPF, TxtIT, TxtGIS, TxtPF, TxtLIC; private JTextField TxtTot_Allowance, TxtTot_Deduction, TxtNet_Salary; private JButton PrintBtn, ExitBtn; public printwindow() { setSize(600,700); setVisible(true); panel1 = new JPanel(); panel1.setLayout(new FlowLayout()); LblEmp_Code = new JLabel("Employee Code: "); TxtEmp_Code = new JTextField(10);

LblMonth = new JLabel("For the Month :");

TxtYear = new JTextField(5); panel1.add(LblEmp_Code); panel1.add(TxtEmp_Code); TxtEmp_Code.setEditable(false);

panel2 = new JPanel(); panel2.setLayout(new FlowLayout());

LblEmp_Name = new JLabel("Employee Name :"); TxtEmp_Name1 = new JTextField(10); TxtEmp_Name2 = new JTextField(10);

49 | P a g e

Page 50: Payroll ManageMent System

TxtEmp_Name1.setEditable(false); TxtEmp_Name2.setEditable(false);

panel2.add(LblEmp_Name); panel2.add(TxtEmp_Name1); panel2.add(TxtEmp_Name2);

panel3 = new JPanel(); panel3.setLayout(new FlowLayout());

LblEmp_Desi = new JLabel("Designation :"); TxtEmp_Desi = new JTextField(20); TxtEmp_Desi.setEditable(false);

panel3.add(LblEmp_Desi); panel3.add(TxtEmp_Desi);

panel4 = new JPanel(); panel4.setLayout(new FlowLayout()); Lblcollege2 = new JLabel("NIIS INSTITUTE BHUBANESWAR"); Lbldate = new JLabel (" Date :"); LblSalary_Slip = new JLabel (" Salary Slip :"); LblBasic_Pay = new JLabel (" Basic Pay :"); LblAllowance = new JLabel ("********** A L L O W A N C E ********"); LblDeduction = new JLabel ("********** D E D U C T I O N ********"); LblDA = new JLabel (" DA :"); LblHRA = new JLabel (" HRA :"); LblWA = new JLabel (" WA :"); LblGPF = new JLabel (" GPF :"); LblIT = new JLabel (" IT :"); LblGIS = new JLabel (" GIS :"); LblPF = new JLabel (" PF :"); LblLIC = new JLabel (" LIC :"); LblTot_Allowance = new JLabel(" Total Allowances :"); LblTot_Deduction = new JLabel(" Total Deduction :"); LblNet_Salary = new JLabel (" Net Salary :");

TxtDate = new JTextField(10);

TxtSalary_Month = new JTextField(20); TxtBasic_Pay = new JTextField(10); TxtDA = new JTextField(5); TxtHRA = new JTextField(5); TxtWA = new JTextField(5); TxtGPF = new JTextField(5); TxtIT = new JTextField(5); TxtGIS = new JTextField(5); TxtPF = new JTextField(5); TxtLIC = new JTextField(5); TxtTot_Allowance = new JTextField(6); TxtTot_Deduction = new JTextField(6); TxtNet_Salary = new JTextField(6);

TxtDate.setEditable(false); TxtSalary_Month.setEditable(false); TxtBasic_Pay.setEditable(false); TxtDA.setEditable(false); TxtHRA.setEditable(false); TxtWA.setEditable(false); TxtGPF.setEditable(false); TxtIT.setEditable(false); TxtGIS.setEditable(false); TxtPF.setEditable(false); TxtLIC.setEditable(false);

TxtTot_Allowance.setEditable(false); TxtTot_Deduction.setEditable(false); TxtNet_Salary.setEditable(false);

50 | P a g e

Page 51: Payroll ManageMent System

PrintBtn = new JButton("Print", new ImageIcon("images/printss.gif")); ExitBtn = new JButton ("Exit", new ImageIcon("images/exits.gif"));

PrintBtn.addActionListener(this);

ExitBtn.addActionListener(this);

panel5 = new JPanel(); panel5.setLayout(new FlowLayout()); panel5.add(Lblcollege2, BorderLayout.CENTER);

panel5_1 = new JPanel(); panel5_1.setLayout(new GridLayout(3,3)); panel5_1.add(Lbldate); panel5_1.add(TxtDate);

panel5_1.add(LblSalary_Slip, "CENTER"); panel5_1.add(TxtSalary_Month,"RIGHT");

panel5_1.add(LblBasic_Pay,"LEFT"); panel5_1.add(TxtBasic_Pay,"CENTER");

panel7 = new JPanel(); panel7.setLayout(new FlowLayout());

panel7.add(LblAllowance, "CENTER");

panel8_1 = new JPanel(); panel8_1.setLayout(new GridLayout(3,2)); panel8_1.add(LblDA); panel8_1.add(TxtDA); panel8_1.add(LblHRA); panel8_1.add(TxtHRA); panel8_1.add(LblWA); panel8_1.add(TxtWA);

panel9 = new JPanel(); panel9.setLayout(new GridLayout(1,3));

panel9.add(LblTot_Allowance, "EAST"); panel9.add(TxtTot_Allowance, "EAST");

panel10 = new JPanel(); panel10.setLayout(new FlowLayout()); panel10.add(LblDeduction, "CENTER");

panel11 = new JPanel(); panel11.setLayout(new GridLayout(5,5)); panel11.add(LblGPF); panel11.add(TxtGPF); panel11.add(LblIT); panel11.add(TxtIT); panel11.add(LblGIS); panel11.add(TxtGIS); panel11.add(LblPF); panel11.add(TxtPF); panel11.add(LblLIC); panel11.add(TxtLIC);

panel12 = new JPanel();

51 | P a g e

Page 52: Payroll ManageMent System

panel12.setLayout(new GridLayout(1,3));

panel12.add(LblTot_Deduction); panel12.add(TxtTot_Deduction);

panel13 = new JPanel(); panel13.setLayout(new FlowLayout()); panel13.add(LblNet_Salary); panel13.add(TxtNet_Salary);

panel14 = new JPanel(); panel14.setLayout(new FlowLayout()); panel14.add(PrintBtn); panel14.add(ExitBtn);

Container pane = getContentPane(); pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));

pane.add(panel1);pane.add(panel2);pane.add(panel3);pane.add(panel4);pane.add(panel5);pane.add(panel5_1);pane.add(panel7);pane.add(panel8_1);

pane.add(panel9);pane.add(panel10);pane.add(panel11);pane.add(panel12);pane.add(panel13);pane.add(panel14);

pack();

addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); }

public void actionPerformed(ActionEvent event)

{ Object source = event.getSource();

if (source == PrintBtn) { PrintBtn.setVisible(false); ExitBtn.setVisible(false);

PrinterJob printJob = PrinterJob.getPrinterJob();

// Get and change default page format settings if necessary. printJob.setPrintable(this); if (printJob.printDialog()) { try { printJob.print(); } catch (Exception PrintException) { PrintException.printStackTrace();

52 | P a g e

Page 53: Payroll ManageMent System

}

printJob.cancel();

} printJob.cancel(); PrintBtn.setVisible(true); ExitBtn.setVisible(true); }

if (source == ExitBtn) { setVisible (false); dispose();

}

}

public void fill_data(String name1, String name2, String month, String year, String code, String date, String desi, String basic_pay, String da,String hra, String wa, String gpf, String it,String gis, String pf, String lic, String allow, String dedu, String net_salary ) { TxtEmp_Name1.setText(name1); TxtEmp_Name2.setText(name2); TxtSalary_Month.setText("For the Month of " + month + " , " + year); TxtEmp_Code.setText(code);

TxtDate.setText(date); TxtEmp_Desi.setText(desi);

TxtBasic_Pay.setText(basic_pay);

TxtDA.setText(da); TxtHRA.setText(hra); TxtWA.setText(wa); TxtTot_Allowance.setText(allow);

TxtGPF.setText(gpf); TxtIT.setText(it); TxtGIS.setText(gis); TxtPF.setText(pf); TxtLIC.setText(lic); TxtTot_Deduction.setText(dedu); TxtNet_Salary.setText(net_salary);

} public int print(Graphics g, PageFormat pf, int pi) throws PrinterException { Graphics2D g2 = (Graphics2D) g; g2.translate(pf.getImageableX()+5, pf.getImageableY()+5); Font f = new Font("Monospaced",Font.PLAIN,12); g2.setFont (f);

paint (g2);

return Printable.PAGE_EXISTS; }

53 | P a g e

Page 54: Payroll ManageMent System

}

Settingswindowimport java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.sql.*;import java.io.*;import java.util.*;import java.net.*;

public class Settingswindow extends JInternalFrame implements ActionListener, ItemListener {

JFrame JFParentFrame;JDesktopPane desktop;private JPanel panel2;private JPanel panel3;private JPanel panel4;private JPanel panel5;private JPanel panel6;private JPanel panel7;private JPanel panel8;

private JButton AddBtn;private JButton ChangeBtn;private JButton ExitBtn;private JButton DeleteBtn;private JLabel LblHeading, LblBasic_Salary, LblAllowance, LblPercent1, LblRs1;private JLabel LblDeduction, LblPercent2, LblRs2;private JLabel LblDA, LblHRA, LblWA, LblGPF, LblIT,LblGIS,LblPF, LblLIC;private JLabel Emp_Type, SELECT1, SELECT2;

private JTextField TxtBasic, TxtDA1, TxtHRA1, TxtWA1, TxtGPF1, TxtIT1, TxtGIS1, TxtPF1, TxtLIC1;

private JTextField TxtCategory_Name,TxtDA2, TxtHRA2, TxtWA2;private JTextField TxtGPF2,TxtIT2, TxtGIS2, TxtPF2, TxtLIC2; private JComboBox Cat_Name;

private JCheckBox chDA,chHRA,chWA, chGPF, chIT, chGIS, chPF, chLIC; String dialogmessage; String dialogs; int dialogtype = JOptionPane.PLAIN_MESSAGE; public static int record; // Class Variables clsSettings settings = new clsSettings(); clsConnection connect = new clsConnection(); // Connection Connection conn; private String sCategory_Type = ""; private String sCategory_Name = ""; private String sBasic_Pay = ""; private String sDA = "false"; private String sHRA = "false"; private String sWA = "false"; private String sGPF = "false"; private String sIT = "false"; private String sGIS = "false"; private String sPF = "false"; private String sLIC = "false";

54 | P a g e

Page 55: Payroll ManageMent System

private String sDA_Allow = ""; private String sHRA_Allow = ""; private String sWA_Allow = ""; private String sGPF_Dedu = ""; private String sIT_Dedu = ""; private String sGIS_Dedu = ""; private String sPF_Dedu = ""; private String sLIC_Dedu = ""; public static boolean s; public Settingswindow(JFrame getParentFrame) { super("Employee - Settings",true,true,true,true); setSize(800,850); JFParentFrame = getParentFrame;

panel2 = new JPanel(); panel2.setLayout(new FlowLayout()); Emp_Type = new JLabel("Employee Type :"); Cat_Name = new JComboBox(); Cat_Name.addActionListener(this); Cat_Name.setEditable(false); add_Cat_combo(Cat_Name); TxtCategory_Name = new JTextField(10); TxtCategory_Name.setText(null); String cat_Name = (String)Cat_Name.getSelectedItem();

panel2.add(Emp_Type,"LEFT"); panel2.add(Cat_Name,"CENTER"); panel2.add(TxtCategory_Name,"RIGHT");

panel3 = new JPanel(); panel3.setLayout(new FlowLayout()); LblBasic_Salary = new JLabel("Basic Salary : "); TxtBasic = new JTextField(10); panel3.add(LblBasic_Salary,"LEFT"); panel3.add(TxtBasic,"RIGHT");

panel4 = new JPanel(); panel4.setLayout(new GridLayout(1,4,5,5)); SELECT1 = new JLabel("Check for %"); LblAllowance = new JLabel("Allowance"); LblPercent1 = new JLabel(" Allowance Value"); LblRs1 = new JLabel("Information");

panel4.add(SELECT1,"CENTER"); panel4.add(LblAllowance, "CENTER"); panel4.add(LblPercent1, "CENTER"); panel4.add(LblRs1, "CENTER");

panel5 = new JPanel(); panel5.setLayout(new GridLayout(3,4,5,5));

LblDA = new JLabel("DA Allowance :"); LblHRA = new JLabel("HRA Allowance :"); LblWA = new JLabel("WA Allowane :");

TxtDA1 = new JTextField(); TxtDA2 = new JTextField("Enter in Rupees");

TxtHRA1 = new JTextField();

TxtHRA2 = new JTextField("Enter in Rupees");

TxtWA1 = new JTextField(); TxtWA2 = new JTextField("Enter in Rupees");

55 | P a g e

Page 56: Payroll ManageMent System

chDA = new JCheckBox("DA",false); chDA.addItemListener(this); chHRA = new JCheckBox("HRA",false); chHRA.addItemListener(this); chWA = new JCheckBox("WA",false); chWA.addItemListener(this);

panel5.add(LblDA); panel5.add(chDA); panel5.add(TxtDA1); panel5.add(TxtDA2);

panel5.add(LblHRA); panel5.add(chHRA); panel5.add(TxtHRA1); panel5.add(TxtHRA2) panel5.add(LblWA); panel5.add(chWA); panel5.add(TxtWA1); panel5.add(TxtWA2);

panel6 = new JPanel(); panel6.setLayout(new GridLayout(1,4,5,5)); SELECT2 = new JLabel("Check for %"); LblDeduction = new JLabel("Deduction :"); LblPercent2 = new JLabel("Deduction Value"); LblRs2= new JLabel("Information");

panel6.add(SELECT2,"CENTER"); panel6.add(LblDeduction, "CENTER"); panel6.add(LblPercent2, "CENTER"); panel6.add(LblRs2, "CENTER");

panel7 = new JPanel(); panel7.setLayout(new GridLayout(6,4,2,2));

LblGPF = new JLabel ("GPF Deduction :"); LblIT = new JLabel ("I.T. Deduction:"); LblGIS = new JLabel ("GIS Deduction :"); LblPF = new JLabel ("PF Deductoin :"); LblLIC = new JLabel ("LIC Deduction :");

TxtGPF1 = new JTextField();

TxtGPF2 = new JTextField("Enter in Rupees"); TxtIT1 = new JTextField(); TxtIT2 = new JTextField("Enter in Rupees"); TxtGIS1 = new JTextField(); TxtGIS2 = new JTextField("Enter in Rupees"); TxtPF1 = new JTextField(); TxtPF2 = new JTextField("Enter in Rupees"); TxtLIC1 = new JTextField(); TxtLIC2 = new JTextField("Enter in Rupees");

chGPF = new JCheckBox("GPF",false); chGPF.addItemListener(this); chIT = new JCheckBox("IT",false); chIT.addItemListener(this); chGIS = new JCheckBox("GIS",false); chGIS.addItemListener(this); chPF = new JCheckBox("PF",false); chPF.addItemListener(this); chLIC = new JCheckBox("LIC",false); chLIC.addItemListener(this); panel7.add(LblGPF); panel7.add(chGPF); panel7.add(TxtGPF1); panel7.add(TxtGPF2);

56 | P a g e

Page 57: Payroll ManageMent System

panel7.add(LblIT); panel7.add(chIT); panel7.add(TxtIT1); panel7.add(TxtIT2);

panel7.add(LblGIS); panel7.add(chGIS); panel7.add(TxtGIS1); panel7.add(TxtGIS2);

panel7.add(LblPF); panel7.add(chPF); panel7.add(TxtPF1); panel7.add(TxtPF2);

panel7.add(LblLIC); panel7.add(chLIC); panel7.add(TxtLIC1); panel7.add(TxtLIC2); panel7.setOpaque(true);

panel8 = new JPanel(); panel8.setLayout(new FlowLayout(FlowLayout.CENTER)); AddBtn = new JButton("Add New"); AddBtn.addActionListener(this); ChangeBtn = new JButton("Edit"); ChangeBtn.addActionListener(this); DeleteBtn = new JButton("Delete"); DeleteBtn.addActionListener(this); ExitBtn = new JButton("Exit"); ExitBtn.addActionListener(this);

panel8.add(AddBtn); panel8.add(ChangeBtn); panel8.add(DeleteBtn); panel8.add(ExitBtn); panel8.setOpaque(true);

check_false(); uncheck_true(); Container pane = getContentPane(); pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));

pane.add(panel2);pane.add(panel3);pane.add(panel4);pane.add(panel5);pane.add(panel6);pane.add(panel7);pane.add(panel8);

setFrameIcon(new ImageIcon( "images/settings.gif")); setDefaultCloseOperation(DISPOSE_ON_CLOSE); pack(); settings.Numvalidator(TxtBasic); settings.Numvalidator(TxtDA1); settings.Numvalidator(TxtDA2); settings.Numvalidator(TxtHRA1); settings.Numvalidator(TxtHRA2); settings.Numvalidator(TxtWA1); settings.Numvalidator(TxtWA2); settings.Numvalidator(TxtGPF1); settings.Numvalidator(TxtGPF2); settings.Numvalidator(TxtIT1); settings.Numvalidator(TxtIT2); settings.Numvalidator(TxtGIS1); settings.Numvalidator(TxtGIS2); settings.Numvalidator(TxtPF1);

57 | P a g e

Page 58: Payroll ManageMent System

settings.Numvalidator(TxtPF2); settings.Numvalidator(TxtLIC1); settings.Numvalidator(TxtLIC2); fill_form(cat_Name);

} public void actionPerformed(ActionEvent event) { Object source = event.getSource();

if ( source == Cat_Name) {

String cat_Name = (String)Cat_Name.getSelectedItem(); fill_form(cat_Name);

} if (source == AddBtn) { add_record(); }

if (source == ChangeBtn) { edit_record(); }

if (source == DeleteBtn) { delete_record(); }

if (source == ExitBtn) { setVisible (false);

dispose();

}

} public void itemStateChanged(ItemEvent event) {

Object item = event.getItemSelectable();

if (item == chDA) {

if (event.getStateChange() == ItemEvent.SELECTED) { sDA = "true"; TxtDA2.setText("Enter in % of Basic"); } else if (event.getStateChange() == ItemEvent.DESELECTED) { sDA = "false";

TxtDA2.setText("Enter in Rupees"); } } else if (item == chHRA) { if (event.getStateChange() == ItemEvent.SELECTED) { sHRA = "true";

58 | P a g e

Page 59: Payroll ManageMent System

TxtHRA2.setText("Enter in % of Basic"); } else if (event.getStateChange() == ItemEvent.DESELECTED) { sHRA = "false"; TxtHRA2.setText("Enter in Rupees"); } } else if (item == chWA) { if (event.getStateChange() == ItemEvent.SELECTED) { sWA = "true"; TxtWA2.setText("Enter in % of Basic");

} else if (event.getStateChange() == ItemEvent.DESELECTED) { sWA = "false"; TxtWA2.setText("Enter in Rupees"); } } else if (item == chGPF) { if (event.getStateChange() == ItemEvent.SELECTED) { sGPF = "true"; TxtGPF2.setText("Enter in % of Basic");

} else if (event.getStateChange() == ItemEvent.DESELECTED) { sGPF = "false"; TxtGPF2.setText("Enter in Rupees"); } } else if (item == chIT) { if (event.getStateChange() == ItemEvent.SELECTED) { sIT = "true"; TxtIT2.setText("Enter in % of Basic"); } else if (event.getStateChange() == ItemEvent.DESELECTED) { sIT = "false"; TxtIT2.setText("Enter in Rupees"); } } else if (item == chGIS) { if (event.getStateChange() == ItemEvent.SELECTED) { sGIS = "true"; TxtGIS2.setText("Enter in % of Basic");

} else if (event.getStateChange() == ItemEvent.DESELECTED) { sGIS = "false"; TxtGIS2.setText("Enter in Rupees"); } } else if (item == chPF) { if (event.getStateChange() == ItemEvent.SELECTED) { sPF = "true"; TxtPF2.setText("Enter in % of Basic");

} else if (event.getStateChange() == ItemEvent.DESELECTED) { sPF = "false"; TxtPF2.setText("Enter in Rupees");

59 | P a g e

Page 60: Payroll ManageMent System

} } else if (item == chLIC) { if (event.getStateChange() == ItemEvent.SELECTED) { sLIC = "true"; TxtLIC2.setText("Enter in % of Basic"); } else if (event.getStateChange() == ItemEvent.DESELECTED) { sLIC = "false"; TxtLIC2.setText("Enter in Rupees"); } } }

public void check_false() {

TxtDA1.setEditable(true); TxtHRA1.setEditable(true); TxtWA1.setEditable(true); TxtGPF1.setEditable(true); TxtIT1.setEditable(true); TxtGIS1.setEditable(true); TxtPF1.setEditable(true); TxtLIC1.setEditable(true); } public void uncheck_true() {

TxtDA2.setEditable(false); TxtHRA2.setEditable(false); TxtWA2.setEditable(false); TxtGPF2.setEditable(false); TxtIT2.setEditable(false); TxtGIS2.setEditable(false); TxtPF2.setEditable(false); TxtLIC2.setEditable(false);

}

public void seteditable_true(JTextField chtxt ) { chtxt.setEditable(true);

}

public void seteditable_false(JTextField chtxt) { chtxt.setEditable(false); }

public void checkbox_state( JCheckBox chbox, String opt) { s = Boolean.valueOf(opt); chbox.setSelected(s); } public void txtbox_fill(JTextField txt1, String value) { s = Boolean.valueOf(option); txt1.setText(value); }

public void add_Cat_combo(JComboBox cmb) {

60 | P a g e

Page 61: Payroll ManageMent System

try { conn = connect.setConnection(conn,"",""); } catch(Exception e) { } try{ Statement stmt = conn.createStatement(); String query = "SELECT * FROM Settings"; ResultSet rs = stmt.executeQuery(query); while (rs.next()) { String Txtcmb = rs.getString(2).trim(); record = rs.getInt("Category_Type"); cmb.addItem(Txtcmb);

} conn.close(); } catch(Exception ex) {

}

} public void add_record() {

try { conn = connect.setConnection(conn,"",""); } catch(Exception e) { } try{

record = record +1; sCategory_Type = ""+record;

sCategory_Name = TxtCategory_Name.getText().trim(); sBasic_Pay = TxtBasic.getText().trim(); sDA_Allow = TxtDA1.getText().trim(); sHRA_Allow =TxtHRA1.getText().trim(); sWA_Allow = TxtWA1.getText().trim(); sGPF_Dedu = TxtGPF1.getText().trim(); sIT_Dedu = TxtIT1.getText().trim(); sGIS_Dedu = TxtGIS1.getText().trim(); sPF_Dedu = TxtPF1.getText().trim(); sLIC_Dedu = TxtLIC1.getText().trim();

if (!sCategory_Type.equals("") && !sCategory_Name.equals("")&& !sBasic_Pay.equals("")&& !sDA_Allow.equals("") && !sHRA_Allow.equals("")&& !sWA_Allow.equals("") && !sGPF_Dedu.equals("") && !sIT_Dedu.equals("")&& !sGIS_Dedu.equals("")&& !sPF_Dedu.equals("") && !sLIC_Dedu.equals("")) {

61 | P a g e

Page 62: Payroll ManageMent System

System.out.println("Category Name :" +sCategory_Name); Statement stmt = conn.createStatement(); String query = "SELECT * FROM Settings WHERE Category_Name='" +sCategory_Name+ "'"; ResultSet rs = stmt.executeQuery(query); int foundrec=0; while (rs.next()) { dialogmessage = "Record Already Exists in DataBase!!!"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); foundrec = 1;

} if (foundrec == 0) { String temp = "INSERT INTO Settings VALUES (" + sCategory_Type +",'" +

sCategory_Name +"'," +sBasic_Pay +",'" +sDA +"','" +sHRA +"','" +sWA + "','" + sGPF +"','"+sIT +"','"+sGIS+"','"+ sPF+"','"+sLIC+"',"+sDA_Allow +","+ sHRA_Allow+","+sWA_Allow+","+sGPF_Dedu +","+sIT_Dedu +","+ sGIS_Dedu +","+sPF_Dedu+","+sLIC_Dedu +")";

int result = stmt.executeUpdate( temp ); if ( result == 1 ) { dialogmessage = "New Position Added"; dialogtype = JOptionPane.INFORMATION_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); Cat_Name.addItem(sCategory_Name); } else { dialogmessage = "Failed To Insert"; JOptionPane.showMessageDialog(null, dialogmessage, "WARNING!!",JOptionPane.WARNING_MESSAGE);

} } } else { dialogmessage = "EMPTY VALUE FOUND"; JOptionPane.showMessageDialog(null, dialogmessage, "WARNING!!",JOptionPane.WARNING_MESSAGE);

} conn.close(); } catch(Exception ex) { System.out.println("Unknown Error" +ex); } }

public void fill_form(String name) {

try { conn = connect.setConnection(conn,"",""); } catch(Exception e) {

62 | P a g e

Page 63: Payroll ManageMent System

} try{

Statement stmt = conn.createStatement(); String query = "SELECT * FROM Settings WHERE Category_Name='" +name+ "'"; ResultSet rs = stmt.executeQuery(query); while (rs.next()) { sCategory_Type = ""; sCategory_Name = "";

sBasic_Pay = "";sDA = "";

sHRA = ""; sWA = ""; sGPF = ""; sIT = ""; sGIS = ""; sPF = ""; sLIC = ""; sDA_Allow = ""; sHRA_Allow = ""; sWA_Allow = ""; sGPF_Dedu = ""; sIT_Dedu = ""; sGIS_Dedu = ""; sPF_Dedu = ""; sLIC_Dedu = "";

sCategory_Type += rs.getString(1).trim(); sCategory_Name = rs.getString(2).trim(); sBasic_Pay = rs.getString(3).trim(); sDA = rs.getString(4).trim(); sHRA = rs.getString(5).trim(); sWA = rs.getString(6).trim(); sGPF = rs.getString(7).trim(); sIT = rs.getString(8).trim(); sGIS = rs.getString(9).trim(); sPF = rs.getString(10).trim(); sLIC = rs.getString(11).trim(); sDA_Allow = rs.getString(12).trim(); sHRA_Allow = rs.getString(13).trim(); sWA_Allow = rs.getString(14).trim(); sGPF_Dedu = rs.getString(15).trim(); sIT_Dedu = rs.getString(16).trim(); sGIS_Dedu = rs.getString(17).trim(); sPF_Dedu = rs.getString(18).trim(); sLIC_Dedu = rs.getString(19).trim();

TxtBasic.setText(sBasic_Pay);

checkbox_state( chDA, sDA ); checkbox_state( chHRA, sHRA ); checkbox_state( chWA, sWA ); checkbox_state( chGPF, sGPF ); checkbox_state( chIT, sIT ); checkbox_state( chGIS, sGIS ); checkbox_state( chPF, sPF ); checkbox_state( chLIC, sLIC ); txtbox_fill(TxtDA1,sDA_Allow); txtbox_fill(TxtHRA1,sHRA_Allow); txtbox_fill(TxtWA1,sWA_Allow); txtbox_fill(TxtGPF1,sGPF_Dedu); txtbox_fill(TxtIT1,sIT_Dedu); txtbox_fill(TxtGIS1,sGIS_Dedu); txtbox_fill(TxtPF1, sPF_Dedu);

63 | P a g e

Page 64: Payroll ManageMent System

txtbox_fill(TxtLIC1, sLIC_Dedu);

rs = null;

} conn.close(); } catch(Exception ex) { }

} public void edit_record() { try { conn = connect.setConnection(conn,"",""); } catch(Exception e) { } try{

sCategory_Name = (String)Cat_Name.getSelectedItem(); sBasic_Pay = TxtBasic.getText().trim(); sDA_Allow = TxtDA1.getText().trim(); sHRA_Allow =TxtHRA1.getText().trim(); sWA_Allow = TxtWA1.getText().trim(); sGPF_Dedu = TxtGPF1.getText().trim(); sIT_Dedu = TxtIT1.getText().trim(); sGIS_Dedu = TxtGIS1.getText().trim(); sPF_Dedu = TxtPF1.getText().trim(); sLIC_Dedu = TxtLIC1.getText().trim();

if (!sCategory_Name.equals("")&& !sBasic_Pay.equals("")&& !sDA_Allow.equals("") && !sHRA_Allow.equals("")&& !sWA_Allow.equals("") && !sGPF_Dedu.equals("") && !sIT_Dedu.equals("")&& !sGIS_Dedu.equals("")&& !sPF_Dedu.equals("") && !sLIC_Dedu.equals(""))

{

Statement stmt = conn.createStatement();

String temp = "UPDATE Settings SET " + "Category_Type= " +sCategory_Type+ ", Category_Name= '" + sCategory_Name +

"',Basic_Pay= " + sBasic_Pay + ", DA='" + sDA +"',HRA= '" + sHRA +"',WA= '" + sWA +"',GPF = '" + sGPF +

"',IT = '" + sIT +"',GIS = '" + sGIS +"',PF = '" + sPF +"',LIC = '" + sLIC +"',DA_Allow = " + sDA_Allow +",HRA_Allow = " + sHRA_Allow +",WA_Allow = " + sWA_Allow +",GPF_Dedu = " + sGPF_Dedu +",IT_Dedu = " + sIT_Dedu +",GIS_Dedu = " + sGIS_Dedu +",PF_Dedu = " + sPF_Dedu +",LIC_Dedu = " + sLIC_Dedu +

" WHERE Category_Type= " + sCategory_Type;int result = stmt.executeUpdate( temp );

if ( result == 1 ) { dialogmessage = "Record Altered into DataBase!!!"; dialogtype = JOptionPane.INFORMATION_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); }

64 | P a g e

Page 65: Payroll ManageMent System

else { dialogmessage = "NO SUCH POSITION FOUND!!!"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); } } else { dialogmessage = "NULL VALUES IN TEXTFIELD OCCURED!!!"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); } conn.close();

} catch(Exception ex) { JOptionPane.showMessageDialog(null,"GENERAL EXCEPTION", "WARNING!!!",JOptionPane.INFORMATION_MESSAGE); } } public void delete_record() {

sCategory_Name = (String)Cat_Name.getSelectedItem(); int DResult = JOptionPane.showConfirmDialog(null,"Are you sure you want to delete Record?");

if (DResult == JOptionPane.NO_OPTION || DResult == JOptionPane.CANCEL_OPTION) {dialogmessage = "Operation Calceld By User!!!";

dialogtype = JOptionPane.INFORMATION_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype);

}if (DResult == JOptionPane.YES_OPTION){ try {

conn = connect.setConnection(conn,"",""); } catch(Exception e) { } try{ if (!sCategory_Name.equals("")) { Statement stmt = conn.createStatement(); String temp = "DELETE from Settings " + " WHERE Category_Name = '" + sCategory_Name + "'";

int result = stmt.executeUpdate( temp ); if ( result == 1 ) { dialogmessage = "Record Deleted From DataBase!!!"; dialogtype = JOptionPane.INFORMATION_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); } else { dialogmessage = "No Such Record Found!!!"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype); } } else { dialogmessage = "Empty Record Found!!!"; dialogtype = JOptionPane.WARNING_MESSAGE; JOptionPane.showMessageDialog((Component)null, dialogmessage, dialogs, dialogtype);

65 | P a g e

Page 66: Payroll ManageMent System

} conn.close();

} catch(Exception ex) { JOptionPane.showMessageDialog(null,"GENERAL EXCEPTION", "WARNING!!!",JOptionPane.INFORMATION_MESSAGE); }

} } }

clsConnection.java

import java.io.IOException;import java.io.DataInputStream;import java.io.FileInputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import javax.swing.JDialog;import java.io.*;import java.util.*;import java.net.*;

public class clsConnection {String url = "";

String username = ""; String password = "";

public Connection setConnection(Connection conn, String username, String password ) { try

{

Properties props = new Properties(); String fileName = "MakeDB.ini"; FileInputStream in = new FileInputStream(fileName); props.load(in); String drivers = props.getProperty("jdbc.drivers"); if(drivers != null) System.setProperty("jdbc.drivers", drivers); url = props.getProperty("jdbc.url"); username = props.getProperty("jdbc.username"); password = props.getProperty("jdbc.password"); conn = DriverManager.getConnection(url,username,password); }catch(SQLException e)

{System.err.println("SQl Exception");e.printStackTrace();

}

66 | P a g e

Page 67: Payroll ManageMent System

catch(IOException e) { System.out.println("\nIO Exception"); } catch (Exception e) { System.out.println("\nAnother Error"); } return conn; }

}

clsSettings.java

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

public class clsSettings {

public JLabel setJLabel(JLabel lbl, int sLeft, int sTop, int sWidth, int sHeight, boolean setBool)

{lbl.setBounds(sLeft,sTop,sWidth, sHeight);lbl.setFont(new Font("Dialog",Font.PLAIN,12));if(setBool == true){lbl.setForeground(new Color(166,0,0));}else{lbl.setForeground(java.awt.Color.BLACK);}return lbl;

}//Set-up in JLabelpublic JTextField setJTextField(JTextField txtfield, int sLeft, int sTop, int sWidth, int sHeight)

{txtfield.setBounds(sLeft,sTop,sWidth, sHeight);txtfield.setFont(new Font("Dialog",Font.PLAIN,12));txtfield.setSelectionColor(new Color(200,150,150));txtfield.setSelectedTextColor(new Color(0,0,0));return txtfield;

}//Set-up in JTextField

public JMenu setJMenu(JMenu menu){

menu.setFont(new Font("Dialog", Font.BOLD, 12)); menu.setCursor(new Cursor(Cursor.HAND_CURSOR));menu.setForeground(new Color(0,0,0));return menu;

}//Create a Menu

public JMenuItem setJMenuItem(JMenuItem mnuitem, String sCaption, String imgLocation){

mnuitem.setText(sCaption);mnuitem.setIcon(new ImageIcon(imgLocation));mnuitem.setCursor(new Cursor(Cursor.HAND_CURSOR));mnuitem.setFont(new Font("Dialog", Font.PLAIN, 12));

67 | P a g e

Page 68: Payroll ManageMent System

mnuitem.setForeground(new Color(0,0,0));return mnuitem;

}//Create a MenuItem

public JTabbedPane setJTabbedPane( JTabbedPane setTabbed, String setTitle, String setIcon, JPanel setPanel, int sLeft, int sTop, int sWidth, int sHeight)

{setTabbed.setBounds(sLeft,sTop,sWidth, sHeight);

setTabbed.setCursor(new Cursor(Cursor.HAND_CURSOR)); setTabbed.setFont(new Font("Dialog", Font.CENTER_BASELINE, 12)); setTabbed.setForeground(new Color(166,0,0)); setTabbed.addTab(setTitle, new ImageIcon(setIcon), setPanel);

return setTabbed;}

//Create a JTabbedPanepublic JButton CreateJToolbarButton(String srcToolTipText,String srcImageLocation,String

srcActionCommand, ActionListener JToolBarActionListener){

JButton bttnToolbar = new JButton(new ImageIcon(srcImageLocation));

bttnToolbar.setActionCommand(srcActionCommand);bttnToolbar.setToolTipText(srcToolTipText);bttnToolbar.setCursor(new Cursor(Cursor.HAND_CURSOR));bttnToolbar.setFont(new Font("Dialog", Font.PLAIN, 12));bttnToolbar.addActionListener(JToolBarActionListener);return bttnToolbar;

} //Create JToolbarButton

public void Numvalidator(JTextField txtField){

txtField.addKeyListener(new KeyAdapter() { public void keyTyped(KeyEvent e) { char c = e.getKeyChar(); if (!(Character.isDigit(c) || (c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE))) { // getToolkit().beep(); e.consume(); } } });

}

}

68 | P a g e

Page 69: Payroll ManageMent System

TESTING AND IMPLEMENTATION

VALIDATION CHECKS:

In the text boxes like name, first name,last name etc., only alphabets and number could be entered thus if the operator by mistake enters other special characters, it would not be entered.In the text boxes like a contact number only numbers could be entered.If the users do not fill any of the fields, which could not be empty, a message would be displayed asking to enter the required parameters.

When a user starts the applications, a login form will be displayed prompting to enter the username and password, if even any one of them is not matched with the details stored in the database, the user will be warned to re-enter the correct details.While entering the details of new customer, the customer number which cannot be null value will be automatically generated. This is one greater than the highest number existing previously. When the details of one customer are modified even if one parameter is missed a message will be displayed asking to enter complete details.

SOFTWARE TESTING TECHNIQUES:

69 | P a g e

Page 70: Payroll ManageMent System

Software testing is a critical element of software quality assurance and represents the ultimate review of specification, designing and coding.

TESTING OBJECTIVES:

1. Testing is process of executing a program with the intent of finding an error.

2. A good test case design is one that has a probability of finding an as yet undiscovered error.

3. A successful test is one that uncovers an as yet undiscovered error.These above objectives imply a dramatic change in view port.

4. Testing cannot show the absence of defects, it can only show that software errors are present

TEST CASE DESIGN :

Any engineering product can be tested in one of two ways:

White Box Testing: This testing is also called as glass box testing. In this testing, by knowing the specified function that a product has been designed to perform test can be conducted that demonstrates each function is fully operation at the same time searching for errors in each function. It is a test case design method that uses the control structure of the procedural design to derive test cases. Basis path testing is a white box testing.

Basis Path Testing:

i. Flow graph notation

ii. Cyclomatic Complexity

iii. Deriving test cases

iv. Graph matrices

Control Structure Testing:

i. Condition testing

ii. Data flow testing

iii. Loop testing

Black Box Testing: In this testing by knowing the internal operation of a product, tests can be conducted to ensure that “all gears mesh”, that is the internal operation performs according to specification and all internal components have been adequately exercised. It fundamentally focuses on the functional requirements of the software.

70 | P a g e

Page 71: Payroll ManageMent System

The steps involved in black box test case design are:

i. Graph based testing methods

ii. Equivalence partitioning

iii. Boundary value analysis

iv. Comparison testing

VARIOUS TESTING METHODS ARE:

Unit Testing

Integration Testing

System Testing

Acceptance Testing

In Unit Testing, we tested individual components like each controls for their validations to ensure that they operate correctly.

The next level is called Integration Testing. In this many unit tested modules are combined into subsystems, which are then tested. The goal here is to see if the modules can be integrated properly. This testing activity can be considered testing the design.

In System Testing, we tested whether system elements have been properly integrated and perform allocated functions to detect the errors that may result from unanticipated interactions between sub-system and system components.

Finally, in Acceptance Testing, we tested whether the system is accepted for operational use or not.

71 | P a g e

UNIT TESTING

INTEGARTION TESTING

Page 72: Payroll ManageMent System

IMPLEMENTATION:

Implementation is the process of having systems personnel check out and put new equipment into use, train users, install the new application depending on the size of the organization that will be involved in using the application and the risk associated with its use, systems developers may choose to test the operation in only one area of the firm, say in one department or with only one or two persons. Sometimes they will run the old and new systems together to compare the results. In still other situation, developers will stop using the old system one-day and begin using the new one the next. As we will see, each implementation strategy has its merits, depending on the business situation in which it is considered. Regardless of the implementation strategy used, developers strive to ensure that the system’s initial use in trouble-free.

Once installed, applications are often used for many years. However, both the organization and the users will change, and the environment will be different over weeks and months. Therefore, the application will undoubtedly have to be maintained; modifications and changes will be made to the software, 72 | P a g e

SYSTEM TESTING

ACCEPTANCE TESTING

Page 73: Payroll ManageMent System

files, or procedures to meet emerging user requirements. Since organization systems and the business environment undergo continual change, the information systems should keep pace. In this sense, implementation is ongoing process.

Evaluation of the system is performed to identify its strengths and weakness. The actual evaluation can occur along any of the following dimensions.

Operational Evaluation: assessment of the manner in which the system functions, including ease of use, response time, suitability of information formats, overall reliability, and level of utilization.

Organization Impact: Identification and measurement of benefits to the organization in such areas as financial concerns operational efficiency, and competitive impact. Includes impact on internal and external information flows.

User Manager Assessment: Evaluation of the attitudes of senior and user mangers within the organization, as well as end-users.

Development Performance: Evaluation of the development process in accordance with such yardsticks as overall development time and effort, conformance to budgets and standards, and other project management criteria. Includes assessment of development methods and tools.

Unfortunately system evaluation does not always receive the attention it merits. Where properly managed however, it provides a great deal of information that can improve the effectiveness of subsequent application efforts.

When a new system needs to be implemented in an organization, there are

three different ways to adopt this new system: The big bang adoption, phased

adoption and parallel adoption.

Parallel adoption : The old and the new system are running parallel, so

all the users can get used to the new system, and meanwhile do their work

using the old system.

Phased adoption :The adoption will happen in several phases, so after

each phase the system is a little nearer to be fully adopted.

73 | P a g e

Page 74: Payroll ManageMent System

Big bang adoption : The switch between using the old system and using

the new system happens at one single date, the so called instant

changeover of the system. Everybody starts to use the new system at the

same date and the old system will not be used anymore from that moment

on.

Since our system is completely independent from the existing system

and makes no use of the existing system, the implementation method used is the

Big Bang Adoption. User documentation does not need to be updated during the

implementation process, because it happens in such a short period. There are no

special interfaces needed to be able to get used to the new system, because the

new system is all there is.

FORMS IN THE PROJECT

74 | P a g e

Page 75: Payroll ManageMent System

75 | P a g e

Page 76: Payroll ManageMent System

76 | P a g e

Page 77: Payroll ManageMent System

77 | P a g e

Page 78: Payroll ManageMent System

CONCLUSION

78 | P a g e

Page 79: Payroll ManageMent System

It is easy to use, since it uses the GUI provided in the user

dialog.

User friendly screens are provided.

The usage of software increases the efficiency, decreases the

effort.

It also provides the user with variable options in administering.

It has been thoroughly tested and implemented.

This application can be further enhanced to cover each aspect of the institutes. Payroll management system will be extended towards a complete management package for the institute. It will really help to manage and organize the employees’ detail very efficiently and effectively. The application will prove itself as a powerful tool which enhance the working power of the administration department and can help in improving overall management of the institute.

The following are some of the important enhancement that can take place into the current working software application :

This includes management of employees salary and each kind of financial features which helps the institute as a financial tool.

In this System an Administor easily Modify and Update the any Employee’s information.

Easily add new user in database.

79 | P a g e

Page 80: Payroll ManageMent System

BIBLIOGRAPHY

We have referred to lot of books as well as many websites that give us much information.

Except this we have in contact of many seniors as well as our faculty for getting some support related to our project.

This is the list of books which we have referred-

JAVA The complete reference By: Herbert shield

Software Engineering A Practical ApproachBy: Roger S. Pressman

An Integrated Approach to Software EngineeringBy: Pankaj Jalote

We referred following websites:

www.google.co.in www.wikipedia.com www.java.com

80 | P a g e