Browse Source

Attendance Dashboard - Not Marked issue resolved.

master
kanimozhi 8 months ago
parent
commit
c5e4d79f9e
  1. 2
      src/main/java/com/gcc/commissionerreview/service/AttendanceService.java
  2. 3
      src/main/resources/templates/modules/attendance-dashboard.html

2
src/main/java/com/gcc/commissionerreview/service/AttendanceService.java

@ -119,7 +119,7 @@ public class AttendanceService {
+ " FROM enrollment_table et " + " FROM enrollment_table et "
+ " LEFT JOIN park_details pd ON et.park_id = pd.park_id AND pd.is_active = 1 AND pd.is_delete = 0 " + " LEFT JOIN park_details pd ON et.park_id = pd.park_id AND pd.is_active = 1 AND pd.is_delete = 0 "
+ " LEFT JOIN gccfacialdb.employees emp ON et.enrollment_id = emp.employeeid " + " LEFT JOIN gccfacialdb.employees emp ON et.enrollment_id = emp.employeeid "
+ " WHERE et.isactive = 1 AND et.isdelete = 0 AND et.emp_type = ? AND et.zone != 0 AND et.facial_attendance != 1 "
+ " WHERE et.isactive = 1 AND et.isdelete = 0 AND et.emp_type = ? AND et.zone != 0 AND et.facial_attendance = 1 "
+ " AND et.enrollment_id NOT IN (SELECT enrollment_id FROM attendance WHERE date(indatetime) BETWEEN ? AND ? " + " AND et.enrollment_id NOT IN (SELECT enrollment_id FROM attendance WHERE date(indatetime) BETWEEN ? AND ? "
+ " OR date(oddatetime) BETWEEN ? AND ? OR date(leavedatetime) BETWEEN ? AND ?)"; + " OR date(oddatetime) BETWEEN ? AND ? OR date(leavedatetime) BETWEEN ? AND ?)";
java.util.List<Object> params = new java.util.ArrayList<>(); java.util.List<Object> params = new java.util.ArrayList<>();

3
src/main/resources/templates/modules/attendance-dashboard.html

@ -388,7 +388,7 @@
if (data.length === 0) { modalBody.innerHTML = '<div class="alert alert-info">No park-wise records</div>'; return; } if (data.length === 0) { modalBody.innerHTML = '<div class="alert alert-info">No park-wise records</div>'; return; }
let html = '<div class="table-responsive"><table class="table table-sm table-striped"><thead><tr>'; let html = '<div class="table-responsive"><table class="table table-sm table-striped"><thead><tr>';
html += '<th>Park Name</th><th>Supervisor Name</th><th>Supervisor Mobile</th><th class="text-center">Total</th><th class="text-center">Facial Registered</th><th class="text-center">Facial Not Registered</th><th class="text-center">Present</th><th class="text-center">OD</th><th class="text-center">Leave</th><th class="text-center">Not Marked</th>';
html += '<th style="display:none;">Park ID</th><th>Park Name</th><th>Supervisor Name</th><th>Supervisor Mobile</th><th class="text-center">Total</th><th class="text-center">Facial Registered</th><th class="text-center">Facial Not Registered</th><th class="text-center">Present</th><th class="text-center">OD</th><th class="text-center">Leave</th><th class="text-center">Not Marked</th>';
html += '</tr></thead><tbody>'; html += '</tr></thead><tbody>';
data.forEach(r => { data.forEach(r => {
const parkId = r.park_id || ''; const parkId = r.park_id || '';
@ -404,6 +404,7 @@
const leave = Number(r.LeaveCount) || 0; const leave = Number(r.LeaveCount) || 0;
const notMarked = Math.max(0, total - present - od - leave - facialNotRegistered); const notMarked = Math.max(0, total - present - od - leave - facialNotRegistered);
html += '<tr>'; html += '<tr>';
html += `<td style="display:none;">${parkId}</td>`;
html += `<td>${parkDisplay}</td>`; html += `<td>${parkDisplay}</td>`;
html += `<td>${supervisorName}</td>`; html += `<td>${supervisorName}</td>`;
html += `<td>${supervisorMobile}</td>`; html += `<td>${supervisorMobile}</td>`;

Loading…
Cancel
Save