diff --git a/Demo.java b/Demo.java new file mode 100644 index 0000000..ba32d3d --- /dev/null +++ b/Demo.java @@ -0,0 +1,111 @@ +package Controller; + +import LoginDb.DbHandler; +import com.google.gson.Gson; +import java.io.PrintWriter; +import java.io.IOException; +import jakarta.servlet.ServletException; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSession; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * + * @author 1121947 + */ +//@WebServlet(name = "TicketServlet", urlPatterns = {"/TicketServlet"}) +public class TicketServlet extends HttpServlet { + + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + try (PrintWriter out = response.getWriter()) { + /* TODO output your page here. You may use following sample code. */ + out.println(""); + out.println(""); + out.println(""); + out.println("Servlet TicketServlet"); + out.println(""); + out.println(""); + out.println("

Servlet TicketServlet at " + request.getContextPath() + "

"); + out.println(""); + out.println(""); + } + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + + } + + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + + HttpSession session = request.getSession(false); + + String user = request.getParameter("UID"); + + System.out.println("Ticket Servlet"); + PrintWriter out= response.getWriter(); + + response.setContentType("application/json"); + response.setCharacterEncoding("UTF-8"); + + List> ticketData = new ArrayList<>(); + Map chartData = new HashMap<>(); + + try { + try ( //Database Connection + Connection conn = DbHandler.getDBConnection()) { + String sql = "select user_id,User_role,transaction_type,status,unclaimed,Loan_overdue,kyc_status,si_status from ticket_details"; + if (user != null && !user.isEmpty()) { + sql += " where user_id = ?"; + } + sql += " order by user_id desc"; + try (PreparedStatement ps = conn.prepareStatement(sql)) { + if (user != null && !user.isEmpty()) { + ps.setInt(1, Integer.parseInt(user)); + } + try (ResultSet rs = ps.executeQuery()) { + + while (rs.next()) { + Map data = new HashMap<>(); + data.put("user_id", rs.getInt("user_id")); + data.put("unclaimed", rs.getString("unclaimed")); + data.put("Loan_overdue", rs.getString("Loan_overdue")); + data.put("kyc_status", rs.getString("kyc_status")); + data.put("si_status", rs.getString("si_status")); + + ticketData.add(data); + + // Collect data for charts + String status = rs.getString("status"); + chartData.put(status, chartData.getOrDefault(status, 0) + 1); + } + System.out.println("ticket data:" +ticketData); + } + } + } + } catch (SQLException e) { + } + + // Convert list to JSON + String json = new Gson().toJson(ticketData); + String chartJson = new Gson().toJson(chartData); + out.print("{\"ticketData\":" + json + ", \"chartData\":" + chartJson + "}"); + System.out.println("Controller.TicketServlet.doGet()"+json); + //out.flush(); + } +} \ No newline at end of file