<?php
include('is_logged.php');
require_once ("../config/db.php");
require_once ("../config/conexion.php");

if (isset($_POST['dias'])) {
    $fecha_actual = date("Y-m-d");
    $usuario = $_SESSION['user_name'];
    $monto_general = 0;

    // 1. Calculamos el monto total de toda la nómina para la tabla Padre
    foreach ($_POST['dias'] as $id_nom => $dias) {
        if ($dias > 0) {
            $id_nom = intval($id_nom);
            $sql_val = mysqli_query($con, "SELECT sueldo FROM nomina WHERE id_nomina='$id_nom'");
            $r_val = mysqli_fetch_array($sql_val);
            $monto_general += ($r_val['sueldo'] * intval($dias));
        }
    }

    if ($monto_general > 0) {
        // 2. Insertamos en la tabla PADRE (pagos_nomina)
        // Asegúrate de que los campos coincidan: id_pago_padre (AI), fecha_pago, monto_total, registrado_por
        $insert_padre = mysqli_query($con, "INSERT INTO pagos_nomina (fecha_pago, monto_total, registrado_por) 
                                           VALUES ('$fecha_actual', '$monto_general', '$usuario')");
        
        // Capturamos el ID del padre que se acaba de generar
        $id_padre_recien_creado = mysqli_insert_id($con);

        // 3. Insertamos el DETALLE en historial_pagos
        $contador = 0; // Restauramos el contador
        foreach ($_POST['dias'] as $id_empleado => $dias) {
            if ($dias > 0) {
                $id_empleado = intval($id_empleado);
                $dias = intval($dias);

                $sql_e = mysqli_query($con, "SELECT nombre, apellido, sueldo, tienda FROM nomina WHERE id_nomina = '$id_empleado'");
                $row = mysqli_fetch_array($sql_e);
                
                $nombre_completo = $row['nombre'] . " " . $row['apellido'];
                $tienda_id = $row['tienda']; 
                $pago_empleado = $row['sueldo'] * $dias;

                // INSERT: Incluimos el nuevo campo id_pago_padre para amarrarlo a la cabecera
                $sql_historial = "INSERT INTO historial_pagos (id_pago_padre, id_nomina, nombre_empleado, tienda, dias_trabajados, pago_total, fecha_pago) 
                                  VALUES ('$id_padre_recien_creado', '$id_empleado', '$nombre_completo', '$tienda_id', '$dias', '$pago_empleado', '$fecha_actual')";
                
                if (mysqli_query($con, $sql_historial)) {
                    $contador++; // Suma 1 por cada empleado guardado con éxito
                }
            }
        }

        // 4. Verificación final con el contador
        if ($contador > 0) {
            echo "<div class='alert alert-success'>
                    <strong>¡Nómina Procesada!</strong><br>
                    Se generó el registro maestro #$id_padre_recien_creado.<br>
                    Se registraron pagos para <strong>$contador</strong> empleados por un total de $ ".number_format($monto_general, 2).".
                  </div>";
        } else {
            echo "<div class='alert alert-danger'>Se creó la cabecera pero hubo un error al guardar los detalles de los empleados.</div>";
        }
    } else {
        echo "<div class='alert alert-warning'>No hay montos válidos para procesar (Días en 0).</div>";
    }
}
?>