Leave management System

60,569 views

Published on

A project for student to create a server based Leave Management System For colleges and firms

3 Comments
45 Likes
Statistics
Notes
No Downloads
Views
Total views
60,569
On SlideShare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
3,251
Comments
3
Likes
45
Embeds 0
No embeds

No notes for slide

Leave management System

  1. 1. PROJECT REPORT ON Leave Management System SUBMITTED TORashtrasantTukdojiMaharaj Nagpur University, Nagpur for partial fulfillment of the degree in MASTER OF COMPUTER APPLICATION PART-II, SEMESTER-IIEXAMINATION 2011-12 SUBMITTED BY Pratik Mahorey UNDER THE GUIDANCE OF Prof.S.UparkarShriRamdeobaba College of Engineering & Management Department of ComputerApplication,RamdeobabaTekdi, Gittikhadan, Katol Road,Nagpur-13
  2. 2. Academic Year (2011-12) CERTIFICATE___________________________________________________Thisis to certify that the Project Report on “Leave ManagementSystem”is a bonafide work and it is submittedtoRashtrasantTukdojiMaharajNagpur University, Nagpur, byVickyKanojiyaandPratikMahoreyforpartial fulfillment of the degree in Masterof Computer Applications, Part II,SecondSemester during the academicyear 2011-2012 under the guidance of Prof .S.Uparkar.Signature of Guide Signature of ExternalSignature ofHODProf. PreetiVoditel Dr. V. S. DeshpandeHead, Department of Computer Application Principal
  3. 3. ACKNOWLEDGEMENT We would like to mention our sincere gratitude towards our principal,Dr. V. S. Deshpandeand HODProf. PreetiVoditel,MCA Department, forgiving us the opportunity to carry out our project. We would like to express our heart full gratitude towards ourguide,Mr.S.Uparkarforher invaluable advice for the successful completion ofthis dissertation. We also like to extend our sincere thanks to the staff of MCA Departmentfor their invaluable help and support. Finally, we take this opportunity to mention our sincere thanks to one andall those who helped us directly or indirectly for the completion of our project. Name of Students Vicky Kanojiya Pratik Mahorey
  4. 4. INDEX1. Brief Review of Project Title Introduction Objective2.Identification of need Feasibility study 2.1Technical Feasibility 2.2Economical Feasibility 2.3Operational Feasibility3. Project Category Software/ Hardware Requirements a. Platform b. Languages to be used4. System Design a. Data Flow Diagram b. Brief description of the project5. System Implementation a. Coding b. Output Screen, Report6. Conclusion a. Limitation of the System b. Future scope &modification of the project7. Bibliography
  5. 5. CONTENTS Topic Page No. ABSTRACT 1 DATA FLOW DIAGRAM 9 BRIEF DESCRIPTION 14 CONCLUSION 31
  6. 6. ABSTRACT In the existing Leave Record Management System, every College/Department follows manual procedure in which faculty enters information in arecord book. At the end of each month/session, Administration Departmentcalculates leave/s of every member which is a time taking process and there arechances of losing data or errors in the records. This module is a single leave management system that is critical for HRtasks and keeps the record of vital information regarding working hours andleaves. It intelligently adapts to HR policy of the management and allowsemployees and their line managers to manage leaves and replacements (ifrequired). In this module, Head of Department (HOD) will have permissions tolook after data of every faculty member of their department.HOD can approveleave through this application and can view leave information of every individual. This application can be used in a college to reduce processing work load.This project’s main idea is to develop an onlinecentralized applicationconnectedto database which will maintain faculty leaves, notices information and theirreplacements (if needed). Leave management application will reduce paperworkand maintain record in a more efficient & systematic way. This module will alsohelp to calculate the number of leaves taken monthly/annually and help gatherdata with respect to number of hours’ worked, thereby helping in calculating thework hours by the HR Department.
  7. 7. TITLE Leave Management System________________________________
  8. 8. INTRODUCTION In the existing paper work related to leave management, leaves aremaintained using the attendance register for staff. The staff needs tosubmit their leaves manually to their respective authorities. Thisincreases the paperwork & maintaining the records becomes tedious.Maintaining notices in the records also increases the paperwork. The main objective of the proposed system is to decrease thepaperwork and help in easier record maintenance by having a particularcentralized Database System, where Leaves and Notice s aremaintained.The proposed system automates the existing system. Itdecreases the paperwork and enables easier record maintenance . It alsoreduces chances of Data loss.This module intelligently adapts to HRpolicy of the management &allows employees and their line managers tomanage leaves and replacements forbetter scheduling of workload.Theapplication basically containsthe given modules:Module: 1) STAFF MODULE: It consist of two types of faculties a) Teaching b) Non-teaching 2) HOD MODULE: It consists of Head of the Department/ ManagerBody which takescritical decision related to HR.
  9. 9. 3) ADMINISTRATION MODULE:It calculates leaves & maintains records. OBJECTIVE To automate the existing leave management in educational institutes To decrease the paperwork and enable the process with efficient,reliable record maintenance by using centralized database, thereby reducing chances of data loss To provide for an automated leave management system that intelligently adapts to HR policy of the organization and allows employees and their line managers to manage leaves and replacementsforbetter scheduling of work load & processes.
  10. 10. IDENTIFICATION OF NEED Leave ManagementSystem is very convenientto implement,easy tounderstandand also easy on implementation.The need of designingsuchSoftwareis to provideHR& Administrationa betterway for scheduling&balancingwork loadby maintaining leave details ofthe staff .It reduces the human effortsofchecking thepapersfor leave requestmanually and maintaining it in folders andfiles.2.2FEASIBILITYSTUDY Feasibility studies aim to objectively and rationally uncover the strengthsand weaknesses of the existing system or proposed venture. In its simplest term,the two criteria to judge feasibility are cost required and value to be attained. Assuch, a well-designed feasibility study should provide historical background oftheproject.Generally, feasibility studies precede technical development andprojectimplementation. The assessment of feasibility study is based on the followingfactors: 1) Technical Feasibility 2) Economic Feasibility 3) Operational Feasibility2.21TECHNICAL FEASIBILITY: Generally,feasibilitystudiesprecede technical developmentand projectimplementation.The assessment is based on a system requirement in
  11. 11. terms of Input, Processes, Output, Fields, Programs, and Procedure .This can bequantified in terms of volumes of data, trends, frequency of updating, etc., inorder to estimate whether the new system will perform adequately or not. Technological feasibility is carried out to determine the capability, in termsof software, hardware, personnel and expertise, to handle the completion of theproject. When writing a feasibility report the following should be taken toconsideration: A brief description of the business The part of the business being examined The human and economic factor The possible solutions to the problems2.2.2ECONOMICFEASIBILITY Economic analysis is the most frequently used method for evaluating theeffectiveness of a new system. More commonly known as cost/benefit analysis,the procedure is to determine the benefits and savings that are expected from acandidate system and compare them with costs. An entrepreneur must accuratelyweigh the cost versus benefits before taking an action.2.2.3OPERATIONAL FEASIBILITY: Operational feasibility is a measure of how well a proposed system solvesthe problems, and takes advantage of the opportunities identified during scopedefinition and how it satisfies the requirements identified in the requirementsanalysis phase of system development
  12. 12. The operational feasibility of the system can be checked as it solves the problemsand reduces the complications occurring in the paper-pencil test.CONCLUSION OF FEASIBILITY STUDY: 1) Technical Feasibility: Thesystem can be implemented using computer software& hardware. 2) Economic Feasibility: The System implementation is economical if implemented for large/medium organizationwhich can bear the cost of maintaining computer and server cost. 3) Operational Feasibility: The system efficiently operates & reduces manual computation and time of processing, reducing cost of paperworkand humanerrors.
  13. 13. SOFTWARE & HARDWARE SUPPORTSoftware requirements Visual Studio .Net Platform Database: Sql Server2008 Operating System Support FollowingWindows XP, Windows 7,Windows Vista,LinuxHardware Requirements Computer Network Main Server machine
  14. 14. DFD: Teaching Staff Check Teacher Login Check Available Leave New Data Store Application Request Application Accepted /Rejected TeacherDFD:NON-TEACHING Non- Check Teaching Login Check Available Leave New Data Store Application Request Application Accepted /Rejected
  15. 15. Non-TeachingDFD –HOD: HOD Check Login Gets New Application Request Check Available Data Store Leave of Employee Notify Check Frequencies of leaves for particular Dates STAFF Application Accepted /Rejected
  16. 16. DFD-Admin: Admin Check Login Gets New Application Request Check Available Leave of Employee Data Store Add/Delete/Update Employee Detail
  17. 17. DatabaseTables: 1) EmpLog 2) Leavemaster
  18. 18. 3) Applicationrequest
  19. 19. BRIEF DESCRIPTION OF LEAVE MANAGEMENT SYSTEMThe Leave Management system basically consist of four modules Teaching Non-Teaching HOD ADMIN
  20. 20. Step1: Teaching/ Non-teachingModule:The staffmember logs into his interface windowwhere he can check: a)Personal leavedetails b) Status of leave application c) Place new requests for leaveStep2:HOD logs into his interface windowto a) Check new application request b) Check employee leave details c) Check persons on leave on particular given date/s d) Accepts/rejects leave applicationStep3:The Admin is responsible for any help required for the functioning of thissoftware. He will be single point of contact for all leave related information forall employee of the organization. He has no authority of accepting or rejectingthe application request. a) Responsible for addition of new employee in the system b) Responsible for maintaining leaverecord c) Responsible forcalculationof work hours andproviding leave information to theFinanceDepartment for salary calculationAdvantages of Leave Management System: Eliminates the use of paper leave application forms
  21. 21. Is cost efficientProvides GUI and DigitalizationEasy to maintain in Centralized DatabaseLeave applications can be submitted via networkLeave application can be approved easily and notified to respective staffBoth the leave applicant as well as the approver can view the balance leaveand past leave applicationsCalculate the numberof leaves taken on monthly/yearly basis
  22. 22. SYSTEM IMPLEMENTATION Form1.cs / Loginusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace Leavelogin{ publicpartialclassForm1 : Form { DAl.cs.DAL dal = new DAl.cs.DAL();string Message = string.Empty;publicstaticstring loginid = string.Empty;publicstaticstring empname = string.Empty;publicstaticstring estaff = string.Empty;public Form1() { InitializeComponent();
  23. 23. }privatevoid button2_Click(object sender, EventArgs e) { Environment.Exit(0); }privatevoid submit_Click(object sender, EventArgs e) {string query = "select * from EmpLog where empid=" + txtid.Text + " andename=" + txtename.Text + " and password=" + txtpass.Text + " ANDstaff=" + cmbtype.Text + "";SqlDataReader reader = dal.GetReader(query, ref Message);if (reader.Read()) { loginid = txtid.Text; empname = txtename.Text; estaff = cmbtype.Text;this.Visible = false;if (cmbtype.Text == "Teaching") { teacher f2 = newteacher(); f2.Show(); }elseif (cmbtype.Text == "Non-teaching")// Check If User Non-Teaching { Non_Teaching f3 = newNon_Teaching(); f3.Show(); }elseif(cmbtype.Text=="HOD") { Hod f4 = newHod();// check If Hod f4.Show(); }else { Admin f5 = newAdmin(); f5.Show();} }else {MessageBox.Show("Invalid Employee Id / User Name / Password or UserType"); } } }} Teacher.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace Leavelogin{ publicpartialclassteacher : Form { public teacher( ) { InitializeComponent(); }privatevoid leaveProgramToolStripMenuItem_Click(object sender, EventArgs e) {this.Visible = false;tLeaveProgram t1 = newtLeaveProgram(); t1.Show(); }
  24. 24. privatevoid leaveDetailsToolStripMenuItem_Click(object sender, EventArgs e) { this.Visible = false;tLeaveDetails t2 = newtLeaveDetails(); t2.Show(); }privatevoid requestFormToolStripMenuItem_Click(object sender, EventArgs e) { this.Visible = false;tapplicatonrequest t3 = newtapplicatonrequest(); t3.Show(); }privatevoid exitToolStripMenuItem_Click(object sender, EventArgs e) { Environment.Exit(1); }privatevoid teacher_Load(object sender, EventArgs e) txtid.Text = Form1.loginid; txtename.Text = Form1.empname; txtstaff.Text = Form1.estaff;string enm = txtid.Text;string connectionstring = "Data Source=PRATIK_PCSQLEXPRESS;InitialCatalog=leavesys;Integrated Security=True;Pooling=False";SqlConnection con = newSqlConnection(connectionstring); con.Open();String query = "Select empid,typeofleave,noday,strdate,endate,result fromapplicationreq where empid="+enm;SqlDataAdapter da = newSqlDataAdapter(query, connectionstring);DataSet ds = newDataSet(); da.Fill(ds, "applicationreq"); dataGridView1.DataSource = ds; dataGridView1.DataMember = "applicationreq"; con.Close(); } }} tLeaveDetail.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace Leavelogin{ publicpartialclasstLeaveDetails : Form { public tLeaveDetails() { InitializeComponent(); }privatevoid leaveProgramToolStripMenuItem_Click(object sender, EventArgs e) {this.Visible = false;tLeaveProgram t2 = newtLeaveProgram(); t2.Show(); }privatevoid homeToolStripMenuItem_Click(object sender, EventArgs e)
  25. 25. { this.Visible = false;teacher t = newteacher(); t.Show(); }privatevoid requestFormToolStripMenuItem_Click(object sender, EventArgs e) { this.Visible = false;tapplicatonrequest t3 = newtapplicatonrequest(); t3.Show(); }privatevoid tLeaveDetails_Load(object sender, EventArgs e) { txtid.Text = Form1.loginid; txtename.Text = Form1.empname; txtstaff.Text = Form1.estaff;string connectionstring = "Data Source=PRATIK_PCSQLEXPRESS;InitialCatalog=leavesys;Integrated Security=True;Pooling=False";SqlConnection con = newSqlConnection(connectionstring); con.Open();String query = "Select * from Leavemaster where empid= " + txtid.Text +"";SqlDataAdapter da = newSqlDataAdapter(query, connectionstring);DataSet ds = newDataSet(); da.Fill(ds, "Leavemaster"); dataGridView1.DataSource = ds; dataGridView1.DataMember = "Leavemaster"; con.Close(); }privatevoid exitToolStripMenuItem_Click(object sender, EventArgs e) { Environment.Exit(0); } }} Tapplicationrequest.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using System.Threading;namespace Leavelogin{ publicpartialclasstapplicatonrequest : Form { DAl.cs.DAL dal = new DAl.cs.DAL();string Message = string.Empty;public tapplicatonrequest() { InitializeComponent(); }privatevoid leaveProgramToolStripMenuItem_Click(object sender, EventArgs e) { this.Visible = false;tLeaveProgram t1 = newtLeaveProgram(); t1.Show(); }privatevoid leaveDetailsToolStripMenuItem_Click(object sender, EventArgs e) { this.Visible = false;
  26. 26. tLeaveDetails t2 = newtLeaveDetails(); t2.Show(); }privatevoid homeToolStripMenuItem_Click(object sender, EventArgs e) { this.Visible = false;teacher t = newteacher(); t.Show(); }privatevoid exitToolStripMenuItem_Click(object sender, EventArgs e) { Environment.Exit(0); }privatevoid tapplicatonrequest_Load(object sender, EventArgs e) { txtid.Text = Form1.loginid; txtename.Text = Form1.empname; txtstaff.Text = Form1.estaff; }privatevoid btnsubmit_Click(object sender, EventArgs e) { if (CheckLeaves())return;String abc = "pending";string query = "insert intoapplicationreq(empid,ename,typeofleave,noday,strdate,endate,reason,dayschedule,dates,natofwork,person,staff,result)values(" + Form1.loginid + "," +txtename.Text + "," + cbolvtype.SelectedItem + "," + txtnoday.Text +"," + txtstrdate.Text + "," + txtendate.Text + "," + richreason.Text+","+richdayschedul.Text+","+richdates.Text+","+richnatofwork.Text+","+richperson.Text+"," + txtstaff.Text + "," + abc + " )"; dal.ExecuteQuery(query, ref Message);if (string.IsNullOrEmpty(Message))MessageBox.Show("Aplication Request send ");elseMessageBox.Show(Message);//connection.Close();this.Visible = false;teacher t = newteacher(); t.Show(); }privatevoid button1_Click(object sender, EventArgs e) { Environment.Exit(0); }privatevoid btnclear_Click(object sender, EventArgs e) { txtstrdate.Text = ""; txtendate.Text = ""; txtnoday.Text = ""; richdates.Text = ""; richdayschedul.Text = ""; richnatofwork.Text = ""; richperson.Text = ""; richreason.Text = ""; }privatebool CheckLeaves() { bool returnflag = false;if (CommonFunctions.cInt(lblBalLeaves.Text)<CommonFunctions.cInt(txtnoday.Text)){ MessageBox.Show("Available Leaves are " + lblBalLeaves.Text + " Only"); returnflag = true ; } return returnflag; }privatevoid cbolvtype_SelectedIndexChanged(object sender, EventArgs e) {object obj = dal.ExecuteSalar("select " + cbolvtype.Text + " fromleavemaster where empid=" + txtid.Text, ref Message); lblBalLeaves.Text = CommonFunctions.cInt(obj.ToString()).ToString();
  27. 27. } }} Hod.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace Leavelogin{ publicpartialclassHod : Form { publicstaticstring loginid = string.Empty;publicstaticstring empname = string.Empty;publicstaticstring estaff = string.Empty;publicstaticstring eLeavetype = string.Empty;publicstaticstring enody = string.Empty;publicstaticstring estartd = string.Empty;publicstaticstring eendate = string.Empty;publicstaticstring eapid = string.Empty;public Hod() { InitializeComponent(); }privatevoid Hod_Load(object sender, EventArgs e){ string connectionstring = "Data Source=PRATIK_PCSQLEXPRESS;InitialCatalog=leavesys;Integrated Security=True;Pooling=False";SqlConnection con = newSqlConnection(connectionstring);
  28. 28. con.Open();String query = "Selectempid,ename,typeofleave,staff,noday,strdate,endate,result,apid fromapplicationreq where result=pending ";SqlDataAdapter da = newSqlDataAdapter(query, connectionstring);DataSet ds = newDataSet(); da.Fill(ds, "applicationreq");dataGridView1.DataSource = ds;dataGridView1.DataMember = "applicationreq";con.Close(); }privatevoid exitToolStripMenuItem_Click(object sender, EventArgs e) { Environment.Exit(0); }privatevoid leaveDetailsToolStripMenuItem_Click(object sender, EventArgs e) { LeaveDetail l = newLeaveDetail(); l.Show(); }privatevoid dataGridView1_MouseDoubleClick(object sender, MouseEventArgs e) { string id; id= dataGridView1.CurrentRow.Cells[0].Value.ToString();loginid = id; empname = dataGridView1.CurrentRow.Cells[1].Value.ToString(); eLeavetype=dataGridView1.CurrentRow.Cells[2].Value.ToString(); estaff= dataGridView1.CurrentRow.Cells[3].Value.ToString(); enody = dataGridView1.CurrentRow.Cells[4].Value.ToString(); estartd = dataGridView1.CurrentRow.Cells[5].Value.ToString(); eendate = dataGridView1.CurrentRow.Cells[6].Value.ToString(); eapid =dataGridView1.CurrentRow.Cells[8].Value.ToString();Hodapplicationform h3 =newHodapplicationform(); h3.Show();}privatevoid btnexit_Click(object sender, EventArgs e) {Environment.Exit(0); }privatevoid checkAvailabilityToolStripMenuItem_Click(object sender,EventArgs e) { Person h = newPerson(); h.Show(); }} } Admin.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace Leavelogin{ publicpartialclassAdmin : Form { publicstaticstring loginid = string.Empty;publicstaticstring empname = string.Empty;publicstaticstring estaff = string.Empty;publicstaticstring eLeavetype = string.Empty;publicstaticstring enody = string.Empty;publicstaticstring estartd = string.Empty;publicstaticstring eapid = string.Empty;public Admin() { InitializeComponent(); }privatevoid Admin_Load(object sender, EventArgs e)
  29. 29. {string connectionstring = "Data Source=PRATIK_PCSQLEXPRESS;InitialCatalog=leavesys;Integrated Security=True;Pooling=False";SqlConnection con = newSqlConnection(connectionstring);con.Open();String query = "Selectempid,ename,typeofleave,staff,noday,strdate,endate,result,apid fromapplicationreq where result=accepted";SqlDataAdapter da = newSqlDataAdapter(query, connectionstring);DataSet ds = newDataSet(); da.Fill(ds, "applicationreq"); dataGridView1.DataSource = ds; dataGridView1.DataMember = "applicationreq"; con.Close(); }privatevoid dataGridView1_CellDoubleClick(object sender,DataGridViewCellEventArgs e) {string id; id = dataGridView1.CurrentRow.Cells[0].Value.ToString(); loginid = id; empname = dataGridView1.CurrentRow.Cells[1].Value.ToString(); eLeavetype = dataGridView1.CurrentRow.Cells[2].Value.ToString(); estaff = dataGridView1.CurrentRow.Cells[3].Value.ToString(); enody = dataGridView1.CurrentRow.Cells[4].Value.ToString(); estartd = dataGridView1.CurrentRow.Cells[5].Value.ToString(); eapid = dataGridView1.CurrentRow.Cells[8].Value.ToString(); }privatevoid addNewToolStripMenuItem_Click(object sender, EventArgs e) { this.Visible = false;Admin2 ad2 = newAdmin2(); ad2.Show(); }privatevoid leaveDetailsToolStripMenuItem_Click(object sender, EventArgs e) {LeaveDetail l = newLeaveDetail(); l.Show(); }privatevoid teachingToolStripMenuItem_Click(object sender, EventArgs e) {tLeaveDetails t1 = newtLeaveDetails(); t1.Show(); }privatevoid nonTeachingToolStripMenuItem_Click(object sender, EventArgs e) {nLeaveProgram t2 = newnLeaveProgram(); t2.Show(); }privatevoid checkAvailabilityToolStripMenuItem_Click(object sender,EventArgs e) {Person pj = newPerson(); pj.Show(); } }}
  30. 30. SCREEN SHOTS
  31. 31. CONCLUSIONFurther upgradation of the Leave Management System for various types oforganisations with multiple hierarchies can help in reducing paperwork, helpachieve error free tabulation and calculation of leaves.LIMITATION: The leave status cannot be cleared until and unless the HOD approves/ rejects the application. The staff cannot cancel the leave application once made. The system will not function properly with multiple computers in the network. The system will fail if the server fails, but the data will remain stored in the database.FUTURE SCOPE: The leaves that have not been availed by the staff in the given session can be automatically carried forward to the next working session depending on the HR policy of the organisation. Every employees individual leave record can be tabulated in a pie chart format to ascertain his/her performance during the working session for HR appriasal activity.
  32. 32. The summarised data generated by this system can be further provided todifferent departments, for example, Finance, Accounts for directcalculation of salaries.If personal data is fed into the system while creating employee profiles, asingle interface to ascertain information such as no. of years worked,birthdays, notice period, promotions, can be availed at a single point by theHOD.
  33. 33. BIBLIOGRAPHYWebsites: http://csharp.net-informations.com http://msdn.microsoft.com http://net-informations.comBooks: C# The Complete Reference by Herbert Schildt published by Tata Mcgraw Hill Publication The Complete Guide to C# Programming by Er.V.K.Jain C# Programming by E. Balgurusamy -- End of document--

×