Update attendance report display
This commit is contained in:
@@ -3098,8 +3098,13 @@ def attendance_report():
|
|||||||
# Execute query
|
# Execute query
|
||||||
query_result = db.session.execute(text(base_query), params)
|
query_result = db.session.execute(text(base_query), params)
|
||||||
attendance_records = query_result.fetchall()
|
attendance_records = query_result.fetchall()
|
||||||
|
|
||||||
print(f"✅ Found {len(attendance_records)} attendance records")
|
print(f"✅ Found {len(attendance_records)} attendance records")
|
||||||
|
# Log first 3 records to verify QR address data
|
||||||
|
for i, record in enumerate(attendance_records[:3]):
|
||||||
|
print(f"📊 Record {i+1}: Employee={record.employee_id}")
|
||||||
|
print(f" QR Address: {getattr(record, 'qr_address', 'NOT_FOUND')}")
|
||||||
|
print(f" Check-in Address: {getattr(record, 'checked_in_address', 'NOT_FOUND')}")
|
||||||
|
print(f" Location Accuracy: {getattr(record, 'location_accuracy', 'NOT_FOUND')}")
|
||||||
|
|
||||||
# FIXED: Process records to add calculated fields with proper datetime handling
|
# FIXED: Process records to add calculated fields with proper datetime handling
|
||||||
processed_records = []
|
processed_records = []
|
||||||
|
|||||||
@@ -812,8 +812,8 @@ function createTableRow(record, displayIndex) {
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="address-info qr-address">
|
<div class="address-info qr-address">
|
||||||
<i class="fas fa-qrcode"></i>
|
<i class="fas fa-qrcode" style="color: #6366f1; margin-right: 4px;" title="QR Code Address (Fixed)"></i>
|
||||||
<span title="${record.qr_address}">
|
<span title="QR Address: ${record.qr_address}">
|
||||||
${
|
${
|
||||||
record.qr_address.length > 50
|
record.qr_address.length > 50
|
||||||
? record.qr_address.substring(0, 50) + "..."
|
? record.qr_address.substring(0, 50) + "..."
|
||||||
|
|||||||
@@ -223,28 +223,16 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="address-column">
|
<td>
|
||||||
<div class="address-info checkin-address">
|
<div class="address-info qr-address">
|
||||||
<i class="fas fa-location-arrow"></i>
|
<i class="fas fa-qrcode" style="color: #6366f1; margin-right: 4px;" title="QR Code Address (Fixed)"></i>
|
||||||
{% if record.address_source == 'qr' %}
|
<span title="QR Address: {{ record.qr_address or 'N/A' }}">
|
||||||
<!-- Using QR address due to high accuracy (≤ 0.5 miles) -->
|
{% if record.qr_address %}
|
||||||
<span title="QR Address (High Accuracy ≤ 0.5 mi): {{ record.qr_address }}"
|
{{ record.qr_address[:50] }}{{ '...' if record.qr_address|length > 50 else '' }}
|
||||||
class="address-high-accuracy">
|
{% else %}
|
||||||
<i class="fas fa-check-circle" style="color: #059669; margin-right: 4px;"
|
N/A
|
||||||
title="High accuracy - showing QR location"></i>
|
{% endif %}
|
||||||
{{ record.qr_address[:45] }}{% if record.qr_address|length > 45 %}...{% endif %}
|
</span>
|
||||||
</span>
|
|
||||||
{% else %}
|
|
||||||
<!-- Using actual check-in address due to lower accuracy (> 0.5 miles) or no accuracy data -->
|
|
||||||
<span title="Check-in Address{% if record.location_accuracy %} (Accuracy: {{ '%.3f'|format(record.location_accuracy) }} mi){% endif %}: {{ record.checked_in_address }}"
|
|
||||||
class="address-normal-accuracy">
|
|
||||||
{% if record.location_accuracy and record.location_accuracy > 0.5 %}
|
|
||||||
<i class="fas fa-exclamation-triangle" style="color: #f59e0b; margin-right: 4px;"
|
|
||||||
title="Lower accuracy - showing actual check-in location"></i>
|
|
||||||
{% endif %}
|
|
||||||
{{ record.checked_in_address[:45] }}{% if record.checked_in_address|length > 45 %}...{% endif %}
|
|
||||||
</span>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="address-column">
|
<td class="address-column">
|
||||||
|
|||||||
Reference in New Issue
Block a user