From 9562b9644fc6919206b9b7afd3eebb20237a2930 Mon Sep 17 00:00:00 2001 From: Thenuka <79504804+thenu98@users.noreply.github.com> Date: Sun, 8 May 2022 22:46:50 +0530 Subject: [PATCH 1/5] Create EmployeeDetailsServiceImpl.java --- .../service/EmployeeDetailsServiceImpl.java | 187 ++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 src/com/rcss/service/EmployeeDetailsServiceImpl.java diff --git a/src/com/rcss/service/EmployeeDetailsServiceImpl.java b/src/com/rcss/service/EmployeeDetailsServiceImpl.java new file mode 100644 index 0000000..73573b2 --- /dev/null +++ b/src/com/rcss/service/EmployeeDetailsServiceImpl.java @@ -0,0 +1,187 @@ +package com.rcss.service; + +import java.io.IOException; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.logging.Level; +import java.util.logging.Logger; + +import javax.xml.parsers.ParserConfigurationException; + +import org.xml.sax.SAXException; + +import com.rcss.model.EmployeeDetails; +import com.rcss.util.CommonConstants; +import com.rcss.util.DBConnectionUtil; +import com.rcss.util.QueryUtil; + +public class EmployeeDetailsServiceImpl implements IEmployeeDetailsService{ + + public static final Logger log = Logger.getLogger(EmployeeDetailsServiceImpl.class.getName()); + + private static Connection connection; + private PreparedStatement preparedStatement; + + @Override + public void addEmployeeDetail(EmployeeDetails employeeDetail) { + try { + connection = DBConnectionUtil.getDBConnection(); + preparedStatement = connection.prepareStatement(QueryUtil.queryByID(CommonConstants.QUERY_ID_INSERT_EMPLOYEE)); + connection.setAutoCommit(false); + + preparedStatement.setString(CommonConstants.COLUMN_INDEX_ONE, employeeDetail.getEmpFullName()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_TWO, employeeDetail.getEmpNIC()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_THREE, employeeDetail.getEmpGender()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_FOUR, employeeDetail.getEmpEmail()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_FIVE, employeeDetail.getEmpContactNo()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_SIX, employeeDetail.getEmpAddress()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_SEVEN, employeeDetail.getEmpBirth()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_EIGHT, employeeDetail.getEmpJoin()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_NINE, employeeDetail.getPassword()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_TEN, employeeDetail.getRepassword()); + + preparedStatement.execute(); + connection.commit(); + + } catch (SQLException | SAXException | IOException | ParserConfigurationException | ClassNotFoundException ex) { + log.log(Level.SEVERE, ex.getMessage()); + } finally { + try { + if (preparedStatement != null) { + preparedStatement.close(); + } + if (connection != null) { + connection.close(); + } + } catch (SQLException ex) { + log.log(Level.SEVERE, ex.getMessage()); + } + } + } + + @Override + public ArrayList getEmployeeDetails() { + return actionOnEmployeeDetails(0); + } + + @Override + public EmployeeDetails getEmployeeDetail(int empId) { + return actionOnEmployeeDetails(empId).get(0); + } + + private ArrayList actionOnEmployeeDetails(int empId) { + ArrayList empList = new ArrayList(); + + try { + connection = DBConnectionUtil.getDBConnection(); + + if (empId != 0) { + preparedStatement = connection.prepareStatement(QueryUtil.queryByID(CommonConstants.QUERY_ID_GET_EMPLOYEE)); + preparedStatement.setInt(CommonConstants.COLUMN_INDEX_ONE, empId); + } + else { + preparedStatement = connection.prepareStatement(QueryUtil.queryByID(CommonConstants.QUERY_ID_ALL_EMPLOYEE)); + } + + ResultSet resultSet = preparedStatement.executeQuery(); + while (resultSet.next()) { + EmployeeDetails emp = new EmployeeDetails(); + emp.setEmpId(resultSet.getInt(CommonConstants.COLUMN_INDEX_ONE)); + emp.setEmpFullName(resultSet.getString(CommonConstants.COLUMN_INDEX_TWO)); + emp.setEmpNIC(resultSet.getString(CommonConstants.COLUMN_INDEX_THREE)); + emp.setEmpGender(resultSet.getString(CommonConstants.COLUMN_INDEX_FOUR)); + emp.setEmpEmail(resultSet.getString(CommonConstants.COLUMN_INDEX_FIVE)); + emp.setEmpContactNo(resultSet.getString(CommonConstants.COLUMN_INDEX_SIX)); + emp.setEmpAddress(resultSet.getString(CommonConstants.COLUMN_INDEX_SEVEN)); + emp.setEmpBirth(resultSet.getString(CommonConstants.COLUMN_INDEX_EIGHT)); + emp.setEmpJoin(resultSet.getString(CommonConstants.COLUMN_INDEX_NINE)); + emp.setPassword(resultSet.getString(CommonConstants.COLUMN_INDEX_TEN)); + emp.setRepassword(resultSet.getString(CommonConstants.COLUMN_INDEX_ELEVEN)); + empList.add(emp); + } + + } catch (SQLException | SAXException | IOException | ParserConfigurationException | ClassNotFoundException ex) { + log.log(Level.SEVERE, ex.getMessage()); + } finally { + try { + if (preparedStatement != null) { + preparedStatement.close(); + } + if (connection != null) { + connection.close(); + } + } catch (SQLException ex) { + log.log(Level.SEVERE, ex.getMessage()); + } + } + + return empList; + } + + @Override + public EmployeeDetails updateEmployee(int empId, EmployeeDetails employeeDetail) { + try { + connection = DBConnectionUtil.getDBConnection(); + preparedStatement = connection.prepareStatement(QueryUtil.queryByID(CommonConstants.QUERY_ID_UPDATE_EMPLOYEE)); + + preparedStatement.setString(CommonConstants.COLUMN_INDEX_ONE, employeeDetail.getEmpFullName()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_TWO, employeeDetail.getEmpNIC()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_THREE, employeeDetail.getEmpGender()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_FOUR, employeeDetail.getEmpEmail()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_FIVE, employeeDetail.getEmpContactNo()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_SIX, employeeDetail.getEmpAddress()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_SEVEN, employeeDetail.getEmpBirth()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_EIGHT, employeeDetail.getEmpJoin()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_NINE, employeeDetail.getPassword()); + preparedStatement.setString(CommonConstants.COLUMN_INDEX_TEN, employeeDetail.getRepassword()); + preparedStatement.setInt(CommonConstants.COLUMN_INDEX_ELEVEN, empId); + + preparedStatement.executeUpdate(); + + } catch (SQLException | SAXException | IOException | ParserConfigurationException | ClassNotFoundException ex) { + log.log(Level.SEVERE, ex.getMessage()); + } finally { + try { + if (preparedStatement != null) { + preparedStatement.close(); + } + if (connection != null) { + connection.close(); + } + } catch (SQLException ex) { + log.log(Level.SEVERE, ex.getMessage()); + } + } + + return getEmployeeDetail(empId); + } + + @Override + public void removeEmployeeDetail(int empId) { + try { + connection = DBConnectionUtil.getDBConnection(); + preparedStatement = connection.prepareStatement(QueryUtil.queryByID(CommonConstants.QUERY_ID_DELETE_EMPLOYEE)); + preparedStatement.setInt(CommonConstants.COLUMN_INDEX_ONE, empId); + preparedStatement.executeUpdate(); + + } catch (SQLException | SAXException | IOException | ParserConfigurationException | ClassNotFoundException ex) { + log.log(Level.SEVERE, ex.getMessage()); + } finally { + try { + if (preparedStatement != null) { + preparedStatement.close(); + } + if (connection != null) { + connection.close(); + } + } catch (SQLException ex) { + log.log(Level.SEVERE, ex.getMessage()); + } + } + } + +} From f354ce30d090f24b0021c69f5e03819b55e253d0 Mon Sep 17 00:00:00 2001 From: Thenuka <79504804+thenu98@users.noreply.github.com> Date: Sun, 8 May 2022 22:50:02 +0530 Subject: [PATCH 2/5] Create IEmployeeDetailsService.java --- .../rcss/service/IEmployeeDetailsService.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/com/rcss/service/IEmployeeDetailsService.java diff --git a/src/com/rcss/service/IEmployeeDetailsService.java b/src/com/rcss/service/IEmployeeDetailsService.java new file mode 100644 index 0000000..14a5c85 --- /dev/null +++ b/src/com/rcss/service/IEmployeeDetailsService.java @@ -0,0 +1,18 @@ +package com.rcss.service; + +import java.util.ArrayList; +import java.util.logging.Logger; + +import com.rcss.model.EmployeeDetails; + +public interface IEmployeeDetailsService { + + public static final Logger log = Logger.getLogger(IEmployeeDetailsService.class.getName()); + + public void addEmployeeDetail(EmployeeDetails employeeDetail); + public ArrayList getEmployeeDetails(); + public EmployeeDetails getEmployeeDetail(int empId); + public EmployeeDetails updateEmployee(int empId, EmployeeDetails employeeDetail); + public void removeEmployeeDetail(int empId); + +} From 770372960b17007a95c4bd7dae40f44f174b8f59 Mon Sep 17 00:00:00 2001 From: Thenuka <79504804+thenu98@users.noreply.github.com> Date: Sun, 8 May 2022 22:52:30 +0530 Subject: [PATCH 3/5] Create EmployeeDetailsServlet.java --- .../rcss/servlet/EmployeeDetailsServlet.java | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/com/rcss/servlet/EmployeeDetailsServlet.java diff --git a/src/com/rcss/servlet/EmployeeDetailsServlet.java b/src/com/rcss/servlet/EmployeeDetailsServlet.java new file mode 100644 index 0000000..2ed8ded --- /dev/null +++ b/src/com/rcss/servlet/EmployeeDetailsServlet.java @@ -0,0 +1,80 @@ +package com.rcss.servlet; + +import java.io.IOException; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import javax.xml.ws.WebEndpoint; + +import com.rcss.model.EmployeeDetails; +import com.rcss.service.IEmployeeDetailsService; +import com.rcss.service.EmployeeDetailsServiceImpl; + +@WebServlet("/EmployeeDetails") +public class EmployeeDetailsServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + public EmployeeDetailsServlet() { + super(); + } + + @WebEndpoint + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + response.sendRedirect("/RedCrossSupportService/EmployeeDetails/index.jsp"); + } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + String action = request.getParameter("action"); + + if(action.equalsIgnoreCase("NE")) { + IEmployeeDetailsService employeeService = new EmployeeDetailsServiceImpl(); + employeeService.addEmployeeDetail(new EmployeeDetails( + 0, + request.getParameter("empFullName"), + request.getParameter("empNIC"), + request.getParameter("empGender"), + request.getParameter("empEmail"), + request.getParameter("empContactNo"), + request.getParameter("empAddress"), + request.getParameter("empBirth"), + request.getParameter("empJoin"), + request.getParameter("password"), + request.getParameter("repassword"))); + + response.sendRedirect("/RedCrossSupportService/EmployeeDetails/index.jsp"); + } + else if(action.equalsIgnoreCase("UP")) { + IEmployeeDetailsService employeeService = new EmployeeDetailsServiceImpl(); + employeeService.updateEmployee(Integer.parseInt(request.getParameter("empId")), new EmployeeDetails( + Integer.parseInt(request.getParameter("empId")), + request.getParameter("empFullName"), + request.getParameter("empNIC"), + request.getParameter("empGender"), + request.getParameter("empEmail"), + request.getParameter("empContactNo"), + request.getParameter("empAddress"), + request.getParameter("empBirth"), + request.getParameter("empJoin"), + request.getParameter("password"), + request.getParameter("repassword"))); + + response.sendRedirect("/RedCrossSupportService/EmployeeDetails/index.jsp"); + } + else if(action.equalsIgnoreCase("DL")) { + IEmployeeDetailsService employeeService = new EmployeeDetailsServiceImpl(); + employeeService.removeEmployeeDetail(Integer.parseInt(request.getParameter("empId"))); + + response.sendRedirect("/RedCrossSupportService/EmployeeDetails/index.jsp"); + } + else if(action.equalsIgnoreCase("PR")) { + HttpSession httpSession = request.getSession(); + httpSession.setAttribute("EmpId", request.getParameter("empid_print")); + response.sendRedirect("/RedCrossSupportService/EmployeeDetails/employeeprint.jsp"); + } + } + +} From fc507a099708b767f1fe77e0482274f455c75bcb Mon Sep 17 00:00:00 2001 From: Thenuka <79504804+thenu98@users.noreply.github.com> Date: Sun, 8 May 2022 22:54:30 +0530 Subject: [PATCH 4/5] Create index.jsp --- WebContent/EmployeeDetails/index.jsp | 409 +++++++++++++++++++++++++++ 1 file changed, 409 insertions(+) create mode 100644 WebContent/EmployeeDetails/index.jsp diff --git a/WebContent/EmployeeDetails/index.jsp b/WebContent/EmployeeDetails/index.jsp new file mode 100644 index 0000000..8d617b7 --- /dev/null +++ b/WebContent/EmployeeDetails/index.jsp @@ -0,0 +1,409 @@ +<%@page import="com.rcss.model.EmployeeDetails"%> +<%@page import="java.util.ArrayList"%> +<%@page import="com.rcss.service.EmployeeDetailsServiceImpl"%> +<%@page import="com.rcss.service.IEmployeeDetailsService"%> +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> + + + + +Employee Details + + + + + <% + IEmployeeDetailsService employeeService = new EmployeeDetailsServiceImpl(); + ArrayList employeeList = employeeService.getEmployeeDetails(); + %> + +
+
+
+
+
+
+
+ +
+
+
+ +
+
+
+
Employee Details
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% + for(EmployeeDetails emp : employeeList){ + %> + + + + + + + + + + + + + + + <% } %> + +
Employee IdEmployee NameNICGenderEmailContact NoAddressDate of BirthDate of joining EmploymentPasswordRepassword
Employee IdEmployee NameNICGenderEmailContact NoAddressDate of BirthDate of joining EmploymentPasswordRepassword
<%= emp.getEmpId() %><%= emp.getEmpFullName() %><%= emp.getEmpNIC() %><%= emp.getEmpGender().equalsIgnoreCase("M") ? "Male" : "Female" %><%= emp.getEmpEmail() %><%= emp.getEmpContactNo() %><%= emp.getEmpAddress() %><%= emp.getEmpBirth() %><%= emp.getEmpJoin() %><%= emp.getPassword() %><%= emp.getRepassword() %> + + + +
+
+
+
+
+
+
+ + + + + + + + + + \ No newline at end of file From 641839ef19ceac2727acaa79002730099a172d6e Mon Sep 17 00:00:00 2001 From: Thenuka <79504804+thenu98@users.noreply.github.com> Date: Sun, 8 May 2022 22:55:45 +0530 Subject: [PATCH 5/5] employee Id --- WebContent/EmployeeDetails/employeeprint.jsp | 131 +++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 WebContent/EmployeeDetails/employeeprint.jsp diff --git a/WebContent/EmployeeDetails/employeeprint.jsp b/WebContent/EmployeeDetails/employeeprint.jsp new file mode 100644 index 0000000..d91f351 --- /dev/null +++ b/WebContent/EmployeeDetails/employeeprint.jsp @@ -0,0 +1,131 @@ +<%@page import="com.rcss.util.CommonConstants"%> +<%@page import="com.rcss.model.EmployeeDetails"%> +<%@page import="com.rcss.service.EmployeeDetailsServiceImpl"%> +<%@page import="com.rcss.service.IEmployeeDetailsService"%> +<%@page import="java.util.ArrayList"%> +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> + + + + +Employee Report + + + + + + <% + + IEmployeeDetailsService employeeService = new EmployeeDetailsServiceImpl(); + ArrayList employeeList = employeeService.getEmployeeDetails(); + %> + +
+
+
+

<%= CommonConstants.COMPANY_NAME.toString() %>

+

<%= CommonConstants.COMPANY_ADDRESS.toString() %>

+

<%= CommonConstants.CONTACT_NO.toString() %>

+
+
+
+
+

Total amount of vaccines issued by Red Cross

+
+
+
+
+
+ + + + <% + for(EmployeeDetails emp : employeeList){ + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% } %> + +
Employee Code<%= emp.getEmpId() %>
Employee Name<%= emp.getEmpFullName().toUpperCase() %>
Employee NIC<%= emp.getEmpNIC().toUpperCase() %>
Employee Gender<%= emp.getEmpGender().equalsIgnoreCase("M") ? "Male" : "Female" %>
Employee Email<%= emp.getEmpEmail().toUpperCase() %>
Employee Contact No<%= emp.getEmpContactNo().toUpperCase() %>
Employee Address<%= emp.getEmpAddress().toUpperCase() %>
Employee Birthday <%= emp.getEmpBirth() %>
Employee joining Date<%= emp.getEmpJoin() %>
Employee password<%= emp.getPassword() %>
Employee repassword<%= emp.getRepassword() %>
+
+
+
+ +
+
+

Prepaired By: ................................................

+

Prepaired Date: ................................................

+
+
+
+ + + + + \ No newline at end of file