Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MANAGEMENT
GROUP MEMBERS:
SUMIT KAR, SVIST, 122410110055
RUKHSAR AZIZ, SVIST, 122410110039
SOHAM PURKAIT, SVIST, 122410110128
SWAGATA BANERJEE, SVIST, 122410110058
SAYANDEEP MAJUMDAR, SVIST, 122410110044
Table of Contents
Acknowledgement ....................................................................................................................................... 3
Project Objective.......................................................................................................................................... 4
Project Scope................................................................................................................................................ 6
Application Workflow .................................................................................................................................. 7
Database Design .......................................................................................................................................... 8
Coding........................................................................................................................................................... 9
Requirement Specifications ....................................................................................................................... 30
Future Scope of Improvement .................................................................................................................. 31
Certificates ................................................................................................................................................. 32
Acknowledgement
We take this opportunity to express our profound gratitude and
deep regards to our faculty Mr. Sudipto Kr. Mukherjee and
guide Mr. Kaushik Ghosh for their exemplary guidance,
monitoring and constant encouragement throughout the course
of this project. The blessing, help and guidance given by them
time to time shall carry us a long way in the journey of life on
which we are about to embark.
Project Objective
A performance appraisal (PA) is also referred to as a performance review,
performance evaluation, and career development discussion. Employee appraisal is
a method by which the job performance of an employee is documented and
evaluated. Performance appraisals are a part of career development and consist of
regular reviews of employee performance within organizations.
Human resource management (HRM) conducts performance
management. Performance management systems consist of the activities and/or
processes embraced by an organization in anticipation of improving employee
performance, and therefore, organizational performance. Consequently,
performance management is conducted at the organizational level and the
individual level. At the organizational level, performance management oversees
organizational performance and compares present performance with organizational
performance goals. The achievement of these organizational performance goals
depends on the performance of the individual organizational members. Therefore,
measuring individual employee performance can prove to be a valuable
performance management process for the purposes of HRM and for the
organization. Performance appraisal is one of the most important processes in
Human Resource Management to consider the following things in a business
organization:
1) Promotion: Performance Appraisal helps the supervisors to chalk out the
promotion programs for efficient employees. In this regards, inefficient workers
can be dismissed or demoted in case.
2) Compensation: Performance Appraisal helps in chalking out compensation
packages for employees. Merit rating is possible through performance appraisal.
Performance Appraisal tries to give worth to a performance. Compensation
packages, which include bonus, high salary rates, extra benefits, allowances and
pre-requisites, are dependent on performance appraisal. The criteria should be
merit rather than seniority.
3) Employees Development: The systematic procedure of performance appraisal
helps the supervisors to frame training policies and programs. It helps to analyze
strengths and weaknesses of employees so that new jobs can be designed for
efficient employees. It also helps in framing future development programs.
Project Scope
The performance management process begins with leadership within the
organization creating a performance management policy. Primarily, management
governs performance by influencing employee performance input (e.g. training
programs) and by providing feedback via output (i.e. performance assessment and
appraisal). "The ultimate objective of a performance management process is to
align individual performance with organizational performance". A very common
and central process of performance management systems is performance appraisal
(PA). The PA process should be able to inform employees about the
"organization's goals, priorities, and expectations and how well they are
contributing to them".
Superior
High
3
2
1
Good
Marginal
Low
Comment
Crosses Performance
Standard Consistently
Crosses Performance
Standard Sometimes
Meets Performance Standard Consistently
Meets Performance Standard Sometimes
Does not Meet Performance Standard
Database Design
Employee Table
Rating Table
Parameter Table
Coding
Home Page (Default.aspx)
System;
System.Collections.Generic;
System.Configuration;
System.Data.SqlClient;
System.Linq;
System.Web;
System.Web.UI;
System.Web.UI.WebControls;
if (c["USERS"] == null)
{
c["empID"] = "";
c["empPASS"] = "";
}
SqlConnection con = new SqlConnection(conSettings.conStr);
con.Open();
string Uname = tbUnameHOD.Text;
string password = tbPassHOD.Text;
string query = String.Format("SELECT * FROM [dbo].[EmployeeTable]
where empID = '{0}' AND empStatus ='HOD'", Uname);
SqlCommand cmd = new SqlCommand(query, con);
SqlDataReader r = cmd.ExecuteReader();
if (r.Read())
{
if (r["empPASS"].ToString() == password)
{
c["empId"] = Uname;
c["empPASS"] = password;
Response.Cookies.Add(c);
Response.Redirect("~\\hod\\Default.aspx");
}
else
{
Response.Write("<script>alert('Login
Unsuccessfull')</script>");
tbPassEMP.Text = "";
tbUnameEMP.Text = "";
}
}
else
{
Response.Write("<script>alert('Login Unsuccessfull')</script>");
tbPassEMP.Text = "";
tbUnameEMP.Text = "";
}
r.Close();
con.Close();
}
protected void btnHRMlogin_Click(object sender, EventArgs e)
{
HttpCookie c = new HttpCookie("USERS");
if (c["USERS"] == null)
{
c["empID"] = "";
c["empPASS"] = "";
}
SqlConnection con = new SqlConnection(conSettings.conStr);
con.Open();
string Uname = tbUnameHRM.Text;
string password = tbPassHRM.Text;
string query = String.Format("SELECT * FROM [dbo].[EmployeeTable]
where empID = '{0}' AND empStatus ='HRM'", Uname);
SqlCommand cmd = new SqlCommand(query, con);
SqlDataReader r = cmd.ExecuteReader();
if (r.Read())
{
if (r["empPASS"].ToString() == password)
{
c["empId"] = Uname;
c["empPASS"] = password;
Response.Cookies.Add(c);
Response.Redirect("~\\hrm\\Default.aspx");
}
else
{
Response.Write("<script>alert('Login
Unsuccessfull')</script>");
tbPassEMP.Text = "";
tbUnameEMP.Text = "";
}
}
else
{
Response.Write("<script>alert('Login Unsuccessfull')</script>");
tbPassEMP.Text = "";
tbUnameEMP.Text = "";
}
r.Close();
con.Close();
}
}
System;
System.Collections.Generic;
System.Data;
System.Data.SqlClient;
System.Linq;
System.Web;
System.Web.UI;
System.Web.UI.WebControls;
System.Web.Configuration;
r.Read();
if (r["empPASS"].ToString() == password)
{
lblLogin.Text="Welcome
"+r["empName"].ToString()+"("+r["empId"].ToString()+")";
string isFilled="true";
if (r["isFilled"].ToString() == isFilled)
{
btnRating.Enabled = false;
}
else
{
btnViewing.Enabled = false;
}
}
else
lblLogin.Text = "Please Login Again";
}
}
}
protected void btnLogout_Click(object sender, EventArgs e)
{
HttpCookie c = Request.Cookies["USERS"];
c.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(c);
Response.Redirect("..\\Default.aspx");
}
protected void btnRating_Click(object sender, EventArgs e)
{
PanelView.Visible = false;
panelRate.Visible = true;
DataTable dt = new DataTable();
dt.Columns.Add("ParameterID");
dt.Columns.Add("Parameter");
Session["dt"] = dt;
SqlDataAdapter da = new SqlDataAdapter("select parameterId, parameter
from dataTable", con);
DataSet ds = new DataSet();
da.Fill(ds, "dataTable");
DataTable dt1 = ds.Tables[0];
foreach (DataRow dr in dt1.Rows)
{
DataRow dr1 = ((DataTable)Session["dt"]).NewRow();
dr1[0] = dr[0].ToString();
dr1[1] = dr[1].ToString();
((DataTable)Session["dt"]).Rows.Add(dr1);
}
GridView1.DataSource = (DataTable)Session["dt"];
GridView1.DataBind();
}
protected void btnVerify_Click(object sender, EventArgs e)
{
bool ratingIsOK = true;
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow gr = GridView1.Rows[i];
int emprating = 0;
if (((TextBox)gr.FindControl("tbSelfRating")).Text != "")
{
emprating =
int.Parse(((TextBox)gr.FindControl("tbSelfRating")).Text.ToString());
if (emprating < 1 || emprating > 5)
{
ratingIsOK = false;
}
}
else
{
ratingIsOK = false;
}
}
if (ratingIsOK == true)
{
btnAddRecord.Enabled = true;
lblDisplay.Text = "Click on the Add Records Button !";
}
else
{
lblDisplay.Text = "Please Check the Inputs... And Try Again!!";
}
}
protected void btnAddRecord_Click(object sender, EventArgs e)
{
HttpCookie c = Request.Cookies["USERS"];
string uname = c["empID"].ToString();
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow gr = GridView1.Rows[i];
int parameterid =
int.Parse(((Label)gr.FindControl("Label1")).Text);
int emprating =
int.Parse(((TextBox)gr.FindControl("tbSelfRating")).Text);
SqlCommand cmd = new SqlCommand("insert into
rating(empid,parameterId,empRating) values (@var1,@var2,@var3)", con);
cmd.Parameters.AddWithValue("@var1", uname);
cmd.Parameters.AddWithValue("@var2", parameterid);
cmd.Parameters.AddWithValue("@var3", emprating);
try{
con.Open();
cmd.ExecuteNonQuery();
con.Close();
btnAddRecord.Visible = false;
GridView1.Visible = false;
lblDisplay.Text = "Record Added!";
}
catch(Exception ee)
{
lblDisplay.Text = "Error";
btnVerify.Visible = true;
btnAddRecord.Visible = false;
}
}
lblDisplay.Text = "Record Added!";
SqlCommand cmd1 = new SqlCommand("update EmployeeTable set
isFilled='true' where empId= @var1", con);
cmd1.Parameters.AddWithValue("@var1", uname);
try
{
con.Open();
cmd1.ExecuteNonQuery();
con.Close();
}
catch (Exception ee)
{
lblDisplay.Text = "Error";
}
Response.Redirect("Default.aspx");
}
protected void btnViewing_Click(object sender, EventArgs e)
{
HttpCookie c = Request.Cookies["USERS"];
panelRate.Visible = false;
PanelView.Visible = true;
DataTable dt = new DataTable();
dt.Columns.Add("ParameterID");
dt.Columns.Add("Parameter");
dt.Columns.Add("empRating");
dt.Columns.Add("HODRating");
dt.Columns.Add("Comments");
Session["dt"] = dt;
string uname = c["empID"].ToString();
string query = String.Format("select parameterId, empRating,
hodRating, hodComment from Rating where empid='{0}'", uname);
SqlDataAdapter da0 = new SqlDataAdapter(query, con);
DataSet ds0 = new DataSet();
da0.Fill(ds0, "Rating");
DataTable dt0 = ds0.Tables[0];
foreach (DataRow dr in dt0.Rows)
{
DataRow drM = ((DataTable)Session["dt"]).NewRow();
drM[0] = dr[0].ToString();
drM[1] = dr[1].ToString();
drM[3] = dr[2].ToString();
drM[4] = dr[3].ToString();
SqlCommand cmd1 = new SqlCommand("select parameter from dataTable
where parameterId=@var1", con);
cmd1.Parameters.AddWithValue("@var1", drM[0].ToString());
con.Open();
string parameter = cmd1.ExecuteScalar().ToString();
drM[2] = parameter;
con.Close();
((DataTable)Session["dt"]).Rows.Add(drM);
}
GridViewView.DataSource = (DataTable)Session["dt"];
GridViewView.DataBind();
System;
System.Collections.Generic;
System.Data;
System.Data.SqlClient;
System.Linq;
System.Web;
System.Web.UI;
System.Web.UI.WebControls;
r.Read();
if (r["empPASS"].ToString() == password)
{
lblLogin.Text = "Welcome " + r["empName"].ToString() +
"(" + r["empId"].ToString() + ")";
}
else
lblLogin.Text = "Please Login Again";
}
con.Close();
}
if (IsPostBack == false)
{
string HOD = c["empID"].ToString();
SqlCommand cmd1 = new SqlCommand("SELECT empId FROM EmployeeTable
where HOD = @var1 and isFilled='true'", con);
cmd1.Parameters.AddWithValue("@var1", HOD);
con.Open();
SqlDataReader r1 = cmd1.ExecuteReader();
string drpItem;
while (r1.Read())
{
drpItem = r1["empId"].ToString();
drpEmp.Items.Add(drpItem);
}
r1.Close();
con.Close();
}
}
cmd.Parameters.AddWithValue("@var1",
cmd.Parameters.AddWithValue("@var2",
cmd.Parameters.AddWithValue("@var3",
cmd.Parameters.AddWithValue("@var4",
try
{
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception ee)
{
lblDisplay.Text = "Error!";
}
HODrating);
comment);
emp);
paramId);
}
int noOfRecords = GridView1.Rows.Count;
int avg=0;
try
{
avg = totalRating / noOfRecords;
}
catch (Exception eee)
{
//avg=0;
}
SqlCommand cmd1 = new SqlCommand("UPDATE EmployeeTable set
avgRating= @var1 where empId=@var2 ", con);
cmd1.Parameters.AddWithValue("@var1", avg);
cmd1.Parameters.AddWithValue("@var2", emp);
try
{
con.Open();
cmd1.ExecuteNonQuery();
con.Close();
}
catch (Exception eeee)
{
lblDisplay.Text = "Error!";
}
GridView1.Visible = false;
lblDisplay.Text = "Record Updated";
btnHODSubmit.Enabled = false;
btnHODSubmit.Visible = false;
btnVerify.Visible = false;
}
protected void btnVerify_Click(object sender, EventArgs e)
{
string emp = (string)Session["drpEMP"];
int totalRating = 0;
bool ratingIsOK = true;
System;
System.Collections.Generic;
System.Data;
System.Data.SqlClient;
System.Linq;
System.Web;
System.Web.UI;
System.Web.UI.WebControls;
{
lblLogin.Text = "Welcome" + r["empName"].ToString() + "("
+ r["empId"].ToString() + ")";
r.Close();
}
else
lblLogin.Text = "Please Login Again";
}
con.Close();
drpboxDepart.Items.Clear();
string query1 = string.Format("Select empDept from EmployeeTable
where empStatus='HOD'");
SqlCommand cmd1 = new SqlCommand(query1, con);
con.Open();
SqlDataReader r1 = cmd1.ExecuteReader();
while (r1.Read())
{
string dept = r1["empDept"].ToString();
drpboxDepart.Items.Add(dept);
}
r1.Close();
con.Close();
}
}
{
DataRow drM = ((DataTable)Session["dt"]).NewRow();
drM[0] = dr[0].ToString();
drM[2] = dr[1].ToString();
drM[3] = dr[2].ToString();
SqlCommand cmd1 = new SqlCommand("select parameter from dataTable
where parameterId=@var1", con);
cmd1.Parameters.AddWithValue("@var1", drM[0].ToString());
con.Open();
string parameter = cmd1.ExecuteScalar().ToString();
drM[1] = parameter;
con.Close();
((DataTable)Session["dt"]).Rows.Add(drM);
}
gridviewDetails.DataSource = (DataTable)Session["dt"];
gridviewDetails.DataBind();
btnAvg.Visible = true;
}
case 3: hike = 4;
break;
case 4: hike = 5;
break;
case 5: hike = 10;
break;
default: hike = 0;
break;
}
tbHike.Text = hike.ToString();
}
r.Close();
con.Close();
lblAvg.Visible = true;
tbHike.Visible = true;
btnHike.Visible = true;
}
protected void btnHike_Click(object sender, EventArgs e)
{
string drpData = drpboxEmpID.SelectedItem.Text;
string query = string.Format("UPDATE EmployeeTable set salaryHike
='{0}' where empId='{1}'",tbHike.Text,drpData );
SqlCommand cmd = new SqlCommand(query, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
lblAvg.Text = "Hike Allowed";
btnHike.Visible = false;
btnAvg.Visible = false;
tbHike.Visible = false;
}
protected void drpboxEmpID_SelectedIndexChanged(object sender, EventArgs
e)
{
string drpData = drpboxDepart.SelectedItem.Text;
btnView.Enabled = true;
}
protected void drpboxDepart_SelectedIndexChanged(object sender, EventArgs
e)
{
string drpDepart = drpboxDepart.Text;
btnFindDept.Enabled = true;
}
}
System;
System.Collections.Generic;
System.Linq;
System.Web;
System.Web.UI;
System.Web.UI.WebControls;
{
adminC["uname"] = tbUname.Text.ToString();
adminC["pass"] = tbPassword.Text.ToString();
Response.Cookies.Add(adminC);
Response.Redirect("Update.aspx");
}
else
lblDisplay.Text = "Access Denied!";
}
}
System;
System.Collections.Generic;
System.Data.SqlClient;
System.Linq;
System.Web;
System.Web.UI;
System.Web.UI.WebControls;
}
protected void btnSubmitdataTable_Click(object sender, EventArgs e)
{
string paramID = tbParamID.Text;
string parameter = tbParameter.Text;
string query = String.Format("INSERT INTO dataTable Values(
'{0}','{1}')",paramID,parameter);
try
{
SqlCommand cmd = new SqlCommand(query, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
lblDisplay.Text = "Record Added !";
tbParamID.Text = (int.Parse(paramID) + 1).ToString();
tbParameter.Text = "";
}
catch (Exception ee)
{
lblDisplay.Text = "Error !";
}
}
}
System;
System.Collections.Generic;
System.Configuration;
System.Linq;
System.Web;
Requirement Specification
Domain Description:
The project is based on the Employees and The HRM and the Head of the Department
(HOD). Employee asses his/her performance based on the several GOALS set by the HRM
department in the Appraisal form done for each Employee including the HOD. The HOD is also
permitted and has to assess his employees in all those fields and will mark out of 5. At last after
all fields reasonably marked the average of the total is calculated and accordingly the
Employee's salary is hiked or he is promoted or rewarded.
Problem Definition:
The destination of this project is to accept ratings for all the employees in all the
departments of any particular farm. Both the ratings of the HOD of that department as well as
that employee's is being recorded along with HOD's comment. Considering all the ratings done
by HOD only, the hike on salary will be calculated and shown by the system only.
Functional Requirements:
User 1: Employees
He is allowed to rate himself. He can also see his hike after the total rating is done by the HOD.
He is allowed to select the departments and see the average ratings of the employees of that
department and based on that he can allow salary hike to that employee.
Certificate
This is to certify that Mr. Sumit Kar of Swami Vivekananda Institute Of Science
And Technology, registration number: 122410110055, has successfully completed
a project on Online Appraisal Management using .Net under the guidance of Mr.
Sudipto Kr. Mukherjee.
Certificate
This is to certify that Ms. Rukhsar Aziz of Swami Vivekananda Institute Of
Science And Technology, registration number: 122410110039, has successfully
completed a project on Online Appraisal Management using .Net under the
guidance of Mr. Sudipto Kr. Mukherjee.
Certificate
This is to certify that Mr. Soham Purkait of Swami Vivekananda Institute Of
Science And Technology, registration number: 122410110128, has successfully
completed a project on Online Appraisal Management using .Net under the
guidance of Mr. Sudipto Kr. Mukherjee.
Certificate
This is to certify that Ms. Swagata Banerjee of Swami Vivekananda Institute Of
Science And Technology, registration number: 122410110058, has successfully
completed a project on Online Appraisal Management using .Net under the
guidance of Mr. Sudipto Kr. Mukherjee.
Certificate
This is to certify that Mr. Sayandeep Majumdar of Swami Vivekananda Institute
Of Science And Technology, registration number: 122410110044, has successfully
completed a project on Online Appraisal Management using .Net under the
guidance of Mr. Sudipto Kr. Mukherjee.