<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Carbon\Carbon;

class AttendanceController extends Controller
{
    public function showCalendar()
    {
        return view('view_asistencia.reporteasis');
    }

    public function getAttendanceData(Request $request)
    {
        $empleadoId = $request->input('empleado_id');
        $month = $request->input('mes');
        $year = $request->input('anio');

        // Obtener registros de la base de datos
        $registros = DB::table('asistencia')
            ->where('empleado', $empleadoId)
            ->whereMonth('fecha', $month)
            ->whereYear('fecha', $year)
            ->orderBy('fecha')
            ->orderBy('hora')
            ->get();

        // Formatear datos para el frontend
        $datos = [];
        foreach ($registros as $registro) {
            $fecha = Carbon::parse($registro->fecha)->format('d/m/Y');
            
            if (!isset($datos[$fecha])) {
                $datos[$fecha] = [
                    'ingresos' => [],
                    'salidas' => []
                ];
            }

            if ($registro->tipo === 'ingreso') {
                $datos[$fecha]['ingresos'][] = date('H:i:s', strtotime($registro->hora));
            } elseif ($registro->tipo === 'salida') {
                $datos[$fecha]['salidas'][] = date('H:i:s', strtotime($registro->hora));
            }
        }

        return response()->json($datos);
    }
}