backend troubleshooting

This commit is contained in:
202310715297 RAIHAN ARIQ MUZAKKI 2026-01-14 22:37:24 +07:00
parent 8ea8dc66a6
commit 4e4160f9f1

View File

@ -299,7 +299,6 @@ def submit_absensi():
def get_jadwal_today():
try:
# 1. TRIGGER AUTO ALFA
# Jalankan pengecekan otomatis SEBELUM mengambil data jadwal
jalankan_auto_alfa()
# 2. Ambil Data Jadwal
@ -319,11 +318,17 @@ def get_jadwal_today():
""", (hari_ini, mhs['jurusan'], mhs['semester']))
jadwal = cur.fetchall()
# === FIX ERROR TIMEDELTA DISINI ===
for j in jadwal:
if isinstance(j['jam_mulai'], timedelta): j['jam_mulai'] = str(j['jam_mulai'])
if isinstance(j['jam_selesai'], timedelta): j['jam_selesai'] = str(j['jam_selesai'])
# Ubah jam_mulai (timedelta) ke string "HH:MM:SS"
if isinstance(j.get('jam_mulai'), timedelta):
j['jam_mulai'] = str(j['jam_mulai'])
# Ambil Status Absensi (HADIR / TIDAK HADIR / SAKIT / IZIN)
# Ubah jam_selesai (timedelta) ke string "HH:MM:SS"
if isinstance(j.get('jam_selesai'), timedelta):
j['jam_selesai'] = str(j['jam_selesai'])
# Cek Status Absensi
cur.execute("""
SELECT status FROM absensi
WHERE id_mahasiswa=%s AND id_jadwal=%s AND DATE(timestamp)=CURDATE()
@ -341,24 +346,32 @@ def get_jadwal_today():
cur.close(); conn.close()
return jsonify({'data': jadwal, 'hari': hari_ini})
except Exception as e: return jsonify({'error': str(e)}), 500
except Exception as e:
print(f"Error Jadwal: {e}") # Print error di terminal agar jelas
return jsonify({'error': str(e)}), 500
@app.route('/api/absensi/history', methods=['GET'])
@token_required
def get_history():
connection = get_db_connection()
cursor = connection.cursor(dictionary=True)
# Join jadwal untuk ambil jam
cursor.execute("""
SELECT a.*, j.jam_mulai, j.jam_selesai
FROM absensi a
LEFT JOIN jadwal_kelas j ON a.id_jadwal = j.id_jadwal
WHERE a.id_mahasiswa = %s ORDER BY a.timestamp DESC
""", (request.user_data['id_mahasiswa'],))
history = cursor.fetchall()
# === FIX ERROR TIMEDELTA DISINI ===
for item in history:
if item['jam_mulai']: item['jam_mulai'] = str(item['jam_mulai'])
if item['jam_selesai']: item['jam_selesai'] = str(item['jam_selesai'])
if isinstance(item.get('jam_mulai'), timedelta):
item['jam_mulai'] = str(item['jam_mulai'])
if isinstance(item.get('jam_selesai'), timedelta):
item['jam_selesai'] = str(item['jam_selesai'])
cursor.close(); connection.close()
return jsonify({'data': history}), 200