<?php
session_start();
include "../conexion.php";
require_once('../include/sesiones.php'); 

$id = $_POST['id'];
$cantidad_modi = intval($_POST['cantidad']);
$trad_art_id = $_POST['art_id'];

// Obtener cantidad en stock
$can10 = mysqli_query($con, "SELECT * FROM articulos_has_bodegas WHERE articulos_art_id='$trad_art_id' and empresa='$empresa'") or die(mysqli_error($con));  
$dat10 = mysqli_fetch_array($can10);
$art_cantidad = intval($dat10['art_cantidad']);

// Contar seriales asociados al traslado detalle
$can_seriales = mysqli_query($con, "SELECT COUNT(*) as total_seriales FROM serial_trasladoe WHERE trasladoe_detalle_trad_id='$id'") or die(mysqli_error($con));
$dat_seriales = mysqli_fetch_assoc($can_seriales);
$total_seriales = intval($dat_seriales['total_seriales']);

// Validar stock
if ($cantidad_modi > $art_cantidad) {
    echo "<script>alert('Error: No puede trasladar cantidades mayores al stock disponible ($art_cantidad).');</script>";
    exit;
}
// Validar que cantidad coincida con número de seriales SOLO si hay seriales asignados
if ($total_seriales > 0 && $cantidad_modi != $total_seriales) {
    echo "<script>alert('Error: La cantidad ingresada debe ser igual al número de seriales asignados ($total_seriales).');</script>";
    exit;
}


// Si pasa todas las validaciones, actualiza
$sql = "UPDATE trasladoe_detalle 
        SET trad_cantidad='$cantidad_modi' 
        WHERE trad_id='$id' AND trad_art_id='$trad_art_id' AND empresa='$empresa'";

$query = $con->query($sql);

// Respuesta JS para el cliente
echo "<script>
    alert('Cantidad actualizada correctamente');

    // Cierra el modal
    $('#modal_editar_tras').modal('hide');
    $('body').removeClass('modal-open');
    $('.modal-backdrop').remove();

    // Recarga el detalle
    var tra_id = $('#tra_id').val(); // Este input debe estar en el DOM
    $.get('php_traslados_emp/form_detalle.php', { id: tra_id }, function(data) {
        $('#verdetalle .modal-body').html(data);
    });
</script>";
?>
