<?php
include '../../ajax/is_logged.php'; //Archivo verifica que el usario que intenta acceder a la URL esta logueado
?>
<style type="text/css">
    <!--
    table {
        vertical-align: top;
    }

    tr {
        vertical-align: top;
    }

    td {
        vertical-align: top;
    }

    .midnight-blue {
        background: #2c3e50;
        padding: 4px 4px 4px;
        color: white;
        font-weight: bold;
        font-size: 12px;
    }

    .silver {
        background: white;
        padding: 3px 4px 3px;
    }

    .clouds {
        background: #ecf0f1;
        padding: 3px 4px 3px;
    }

    .border-top {
        border-top: solid 1px #bdc3c7;

    }

    .border-left {
        border-left: solid 1px #bdc3c7;
    }

    .border-right {
        border-right: solid 1px #bdc3c7;
    }

    .border-bottom {
        border-bottom: solid 1px #bdc3c7;
    }

    table.sin {
        width: 100%;
        border: 1px solid #000;
    }

    th,
    td.new {
        text-align: left;
        vertical-align: top;
        border: 1px solid #000;
        border-collapse: collapse;
        padding: 0.3em;
        caption-side: bottom;
    }

    caption {
        padding: 0.3em;
        color: #fff;
        background: #000;
    }

    th {
        background: #eee;
    }
    
    .text-right {
        text-align: right !important;
    }
    
    .text-center {
        text-align: center !important;
    }
    
    .text-left {
        text-align: left !important;
    }
    
    .bold {
        font-weight: bold;
    }
    
    .total-row {
        background-color: #f2f2f2;
        font-weight: bold;
    }
    
    .discount-row {
        color: #d35400;
    }
    
    .negative {
        color: #c0392b;
    }
    
    .signature-area {
        height: 100px;
        vertical-align: bottom;
    }
    
    .validity-highlight {
        background-color: #e8f5e8;
        font-weight: bold;
        color: #2c3e50;
    }
    -->
</style>
<?php
/* Connect To Database*/
require_once "../../db.php"; //Contiene las variables de configuracion para conectar a la base de datos
require_once "../../php_conexion.php"; //Contiene funcion que conecta a la base de datos
//Archivo de funciones PHP
include "../../funciones.php";
$users          = intval($_SESSION['id_users']);
$numero_factura = $_POST['id_factura'];
$simbolo_moneda = get_row('perfil', 'moneda', 'id_perfil', 1);
$sql_factura    = mysqli_query($conexion, "select * from facturas_cot, clientes where facturas_cot.id_cliente=clientes.id_cliente and numero_factura='" . $numero_factura . "'");
$count          = mysqli_num_rows($sql_factura);
if ($count == 1) {
    $rw_factura        = mysqli_fetch_array($sql_factura);
    $id_cliente        = $rw_factura['id_cliente'];
    $nombre_cliente    = $rw_factura['nombre_cliente'];
    $direccion_cliente = $rw_factura['direccion_cliente'];
    $telefono_cliente  = $rw_factura['telefono_cliente'];
    $email_cliente     = $rw_factura['email_cliente'];
    $fiscal_cliente    = $rw_factura['nrc_cliente'];
    $id_vendedor_db    = $rw_factura['id_vendedor'];
    $fecha_factura     = date("d/m/Y", strtotime($rw_factura['fecha_factura']));
    $condiciones       = $rw_factura['condiciones'];
    $estado_factura    = $rw_factura['estado_factura'];
    $numero_factura    = $rw_factura['numero_factura'];
    $descuento_general = $rw_factura['descuento']; // Obtener descuento general
    $validez_codigo    = $rw_factura['validez']; // Obtener código de validez (1-5)
    $logo              = get_row('perfil', 'logo_url', 'id_perfil', 1);
    
    // Convertir código de validez a días según los parámetros
    switch($validez_codigo) {
        case 1:
            $dias_validez = 5;
            break;
        case 2:
            $dias_validez = 10;
            break;
        case 3:
            $dias_validez = 15;
            break;
        case 4:
            $dias_validez = 30;
            break;
        case 5:
            $dias_validez = 60;
            break;
        default:
            $dias_validez = 30; // Valor por defecto
            break;
    }
    
    // Calcular fecha de vencimiento
    $fecha_emision = strtotime($rw_factura['fecha_factura']);
    $fecha_vencimiento = date("d/m/Y", strtotime("+{$dias_validez} days", $fecha_emision));
    
    // Obtener nombre del vendedor (asesor)
    $sql_vendedor = mysqli_query($conexion, "SELECT nombre_users FROM users WHERE id_users = '$id_vendedor_db'");
    if (mysqli_num_rows($sql_vendedor) > 0) {
        $rw_vendedor = mysqli_fetch_array($sql_vendedor);
        $nombre_vendedor = $rw_vendedor['nombre_users'];
    } else {
        $nombre_vendedor = "No asignado";
    }
} else {
    header("location: new_venta.php");
    exit;
}
?>

<page pageset='new' backtop='50mm' backbottom='10mm' backleft='20mm' backright='20mm' style="font-size: 8pt; font-family: arial" footer='page'>
    <?php include "encabezado_cotizacion.php"; ?>
    <br>
   <table  cellspacing="0" border="0" style="width: 100%; font-size: 12pt;">
        <th style="text-align: center;">SOLICITUD DE COTIZACION</th>
    </table>
    <br>
    <table class="sin" cellspacing="0" border="1" style="width: 100%; font-size: 12pt;">
        <tr>
            <td class="new" style="width:20%;">Fecha de Emisión:</td>
            <td class="new" style="width:80% ;"><?php echo $fecha_factura; ?></td>
        </tr>
        <tr>
            <td class="new" style="width:20% ;">Cliente:</td>
            <td class="new" style="width:80% ;"><?php echo $nombre_cliente; ?></td>
        </tr>
        <tr>
            <td class="new" style="width:20% ;">Vendedor:</td>
            <td class="new" style="width:80% ;"><?php echo $nombre_vendedor; ?></td>
        </tr>
        <tr class="validity-highlight">
            <td class="new bold" style="width:20%;">Validez de Cotización:</td>
            <td class="new bold" style="width:80%;">
                <?php echo $dias_validez; ?> días (Vence el: <?php echo $fecha_vencimiento; ?>)
            </td>
        </tr>
        <?php if ($descuento_general > 0): ?>
        <tr class="discount-row">
            <td class="new" style="width:20%;">Descuento General:</td>
            <td class="new" style="width:80%;"><?php echo $descuento_general . '%'; ?></td>
        </tr>
        <?php endif; ?>
    </table>
    <br>
    <div style="width:100%; height:115mm; overflow: auto;">
        <table class="sin" cellspacing="0" border="1" style="width: 100%;border-width: thin; font-size: 12pt;">
            <thead>
                <tr>
                    <th style="width: 5%;text-align:center">No.</th>
                    <th style="width: 10%;text-align:center">CANTIDAD</th>
                    <th style="width: 40%">DESCRIPCIÓN DEL PRODUCTO</th>
                    <th style="width: 12%;text-align: right">P. UNITARIO</th>
                    <th style="width: 10%;text-align: center">DESC. %</th>
                    <th style="width: 10%;text-align: right">DESC. MONTO</th>
                    <th style="width: 13%;text-align: right">TOTAL PRODUCTO</th>
                </tr>
            </thead>
            <tbody>
                <?php
                $nums          = 1;
                $impuesto      = get_row('perfil', 'impuesto', 'id_perfil', 1);
                $nom_impuesto  = get_row('perfil', 'nom_impuesto', 'id_perfil', 1);
                $sumador_total = 0;
                $sum_total     = 0;
                $t_iva         = 0;
                $total_descuento_productos = 0; // Para acumular descuentos por productos
                
                $sql = mysqli_query($conexion, "select * from productos, detalle_fact_cot, facturas_cot where productos.id_producto=detalle_fact_cot.id_producto and detalle_fact_cot.numero_factura=facturas_cot.numero_factura and facturas_cot.numero_factura='" . $numero_factura . "'");

                while ($row = mysqli_fetch_array($sql)) {
                    $id_producto     = $row["id_producto"];
                    $codigo_producto = $row['codigo_producto'];
                    $cantidad        = $row['cantidad'];
                    $desc_tmp        = $row['desc_venta']; // Porcentaje de descuento del producto
                    $nombre_producto = $row['nombre_producto'];
                    $print_img       = $row['print_img'];
                    $image_path      = $row['image_path'];
                    $caduca          = $row['validez'];
                    
                    // Precio unitario
                    $precio_venta   = $row['precio_venta'];
                    $precio_venta_f = number_format($precio_venta, 2);
                    $precio_venta_r = str_replace(",", "", $precio_venta_f);
                    
                    // Calcular total sin descuento
                    $total_sin_descuento = $precio_venta_r * $cantidad;
                    
                    // Calcular descuento en monto
                    $descuento_monto = 0;
                    $descuento_porcentaje = $desc_tmp;
                    
                    if ($desc_tmp > 0) {
                        $descuento_monto = ($total_sin_descuento * $desc_tmp) / 100;
                        $total_descuento_productos += $descuento_monto;
                    }
                    
                    // Calcular total con descuento
                    $final_items = $total_sin_descuento - $descuento_monto;
                    
                    // Formatear valores
                    $descuento_monto_f = number_format($descuento_monto, 2);
                    $precio_total_f = number_format($final_items, 2);
                    $precio_total_r = str_replace(",", "", $precio_total_f);
                    
                    // Acumular subtotal con descuentos aplicados
                    $sumador_total += $precio_total_r;
                    
                    // Control del impuesto por productos
                    if ($row['iva_producto'] == 0) {
                        $p_venta   = $row['precio_venta'];
                        $p_venta_f = number_format($p_venta, 2);
                        $p_venta_r = str_replace(",", "", $p_venta_f);
                        $p_total   = $p_venta_r * $cantidad;
                        $f_items   = rebajas($p_total, $desc_tmp);
                        $p_total_f = number_format($f_items, 2);
                        $p_total_r = str_replace(",", "", $p_total_f);
                        $sum_total += $p_total_r;
                        $t_iva = ($sum_total * $impuesto) / 100;
                        $t_iva = number_format($t_iva, 2, '.', '');
                    }
                    
                    if ($nums % 2 == 0) {
                        $clase = "clouds";
                    } else {
                        $clase = "silver";
                    }
                ?>
                <tr>
                    <td class="new text-center"><?php echo $nums; ?></td>
                    <td class="new text-center"><?php echo number_format($cantidad, 0); ?></td>
                    <td class="new text-left"><?php echo $nombre_producto; ?></td>
                    <td class="new text-right"><?php echo $simbolo_moneda . ' ' . $precio_venta_f; ?></td>
                    <td class="new text-center"><?php echo ($desc_tmp > 0) ? $desc_tmp . '%' : '-'; ?></td>
                    <td class="new text-right negative"><?php echo ($desc_tmp > 0) ? $simbolo_moneda . ' ' . $descuento_monto_f : '-'; ?></td>
                    <td class="new text-right bold"><?php echo $simbolo_moneda . ' ' . $precio_total_f; ?></td>
                </tr>
                <?php
                    $nums++;
                }
                
                // Calcular totales
                $subtotal_con_descuentos = number_format($sumador_total, 2, '.', '');
                $total_descuento_productos_f = number_format($total_descuento_productos, 2, '.', '');
                
                // Calcular descuento general
                $descuento_general_monto = 0;
                if ($descuento_general > 0) {
                    $descuento_general_monto = ($subtotal_con_descuentos * $descuento_general) / 100;
                }
                
                // Subtotal después de descuentos por producto
                $subtotal_despues_descuentos = $subtotal_con_descuentos;
                
                // Subtotal después de descuento general
                $subtotal_despues_general = $subtotal_despues_descuentos - $descuento_general_monto;
                
                // Calcular impuestos
                $total_iva = ($subtotal_despues_general * $impuesto) / 100;
                $total_impuesto = number_format($total_iva, 2, '.', '') - number_format($t_iva, 2, '.', '');
                
                // Total final
                $total_factura = $subtotal_despues_general + $total_impuesto;
                
                // Formatear valores para mostrar
                $subtotal_con_descuentos_f = number_format($subtotal_con_descuentos, 2);
                $descuento_general_monto_f = number_format($descuento_general_monto, 2);
                $subtotal_despues_general_f = number_format($subtotal_despues_general, 2);
                $total_factura_f = number_format($total_factura, 2);
                $total_impuesto_f = number_format($total_impuesto, 2);
                ?>
            </tbody>
        </table>
    </div>
    <br>
    <table class="sin" cellspacing="0" border="1" style="width: 100%; font-size: 12pt;">
        <!-- Subtotal sin descuentos -->
        <tr>
            <td colspan="5" class="new text-right" style="width: 70%;">Subtotal:</td>
            <td class="new text-right" style="width: 30%;"><?php echo $simbolo_moneda . ' ' . number_format($sumador_total + $total_descuento_productos, 2); ?></td>
        </tr>
        
        <!-- Descuentos por productos -->
        <?php if ($total_descuento_productos > 0): ?>
        <tr class="discount-row">
            <td colspan="5" class="new text-right" style="width: 70%;">Descuento por productos:</td>
            <td class="new text-right negative" style="width: 30%;">- <?php echo $simbolo_moneda . ' ' . $total_descuento_productos_f; ?></td>
        </tr>
        <?php endif; ?>
        
        <!-- Subtotal después de descuentos por productos -->
        <tr>
            <td colspan="5" class="new text-right bold" style="width: 70%;">Subtotal con descuentos:</td>
            <td class="new text-right bold" style="width: 30%;"><?php echo $simbolo_moneda . ' ' . $subtotal_con_descuentos_f; ?></td>
        </tr>
        
        <!-- Descuento general -->
        <?php if ($descuento_general > 0): ?>
        <tr class="discount-row">
            <td colspan="5" class="new text-right" style="width: 70%;">Descuento general (<?php echo $descuento_general; ?>%):</td>
            <td class="new text-right negative" style="width: 30%;">- <?php echo $simbolo_moneda . ' ' . $descuento_general_monto_f; ?></td>
        </tr>
        
        <!-- Subtotal después de descuento general -->
        <tr>
            <td colspan="5" class="new text-right bold" style="width: 70%;">Subtotal con todos los descuentos:</td>
            <td class="new text-right bold" style="width: 30%;"><?php echo $simbolo_moneda . ' ' . $subtotal_despues_general_f; ?></td>
        </tr>
        <?php endif; ?>
        
        <!-- Impuestos -->
        <?php if ($total_impuesto > 0): ?>
        <tr>
            <td colspan="5" class="new text-right" style="width: 70%;"><?php echo $nom_impuesto . ' (' . $impuesto . '%):'; ?></td>
            <td class="new text-right" style="width: 30%;"><?php echo $simbolo_moneda . ' ' . $total_impuesto_f; ?></td>
        </tr>
        <?php endif; ?>
        
        <!-- Total General -->
        <tr class="total-row">
            <td colspan="5" class="new text-right" style="width: 70%; font-size: 14pt;">TOTAL GENERAL:</td>
            <td class="new text-right" style="width: 30%; font-size: 14pt;"><?php echo $simbolo_moneda . ' ' . $total_factura_f; ?></td>
        </tr>
        
        <!-- Resumen de descuentos -->
        <?php if ($total_descuento_productos > 0 || $descuento_general > 0): ?>
        <tr>
           <!-- <td colspan="6" class="new" style="text-align: center; background-color: #f8f9fa;">
                <strong>RESUMEN DE DESCUENTOS:</strong>
                <?php 
                $descuento_total = $total_descuento_productos + $descuento_general_monto;
                $descuento_total_f = number_format($descuento_total, 2);
                ?>
                Descuento total aplicado: <span class="negative"><?php echo $simbolo_moneda . ' ' . $descuento_total_f; ?></span>
            </td>-->
        </tr>
        <?php endif; ?>
    </table>
    
    <!-- Tabla para firma del asesor (vendedor) -->
    <br>
    <table class="sin" cellspacing="0" border="1" style="width: 100%; font-size: 12pt;">
        <tr>
            <td class="new signature-area" style="text-align: center;">
                <br><br><br>
                __________________________<br>
                <strong>ASESOR COMERCIAL</strong><br>
                <?php echo $nombre_vendedor; ?><br>
                <em>Firma y sello</em>
            </td>
        </tr>
    </table>
    
    <!-- Notas adicionales -->
    <table style="width: 100%; margin-top: 10px; font-size: 10pt;">
        <tr>
            <td style="text-align: left;">
                <strong>NOTAS:</strong><br>
                1. Esta cotización es válida por <strong><?php echo $dias_validez; ?> días</strong> a partir de la fecha de emisión (Vence el: <?php echo $fecha_vencimiento; ?>).<br>
                2. Los precios no incluyen IVA a menos que se especifique.<br>
                <!--3. Condiciones de pago: <?php echo $condiciones; ?><br>-->
                <?php if ($total_descuento_productos > 0 || $descuento_general > 0): ?>
                3. Se han aplicado descuentos por un total de <?php echo $simbolo_moneda . ' ' . $descuento_total_f; ?>.<br>
                <?php endif; ?>
                4. Vendedor asignado: <?php echo $nombre_vendedor; ?>
            </td>
        </tr>
    </table>
</page>