<?php
use PhpParser\Node\Stmt\Label;

Yii::app()->getClientScript()->registerCssFile(Yii::app()->getBaseUrl() . '/assets/vendor/datatables/css/dataTables.bootstrap4.css');  
Yii::app()->getClientScript()->registerCssFile(Yii::app()->getBaseUrl() . '/css/tabla-data.css');  

$empresa = SidcaiAportante::model()->findByPk(Yii::app()->user->id);

if ($empresa && $empresa->esta_codigoestatus_fk == 2008) {
	$renovar = false;
}
//nuevo
?>

<div class="card shadow-sm">
    <div class="card-body p-0">
        <div class="card-header bg-secondary text-white border-0">
            <h5 class="card-title text-center mb-0 py-2">Conciliaciones</h5>
        </div>
        
        <div class="card-body p-4">
            <!-- Alertas Informativas -->
            <div class="row mb-4">
                <div class="col-12">
                    <div class="alert alert-primary border-0 alert-dismissible fade show shadow-sm" role="alert" style="background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%); border-left: 4px solid #2196f3 !important;">
                        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                            <span aria-hidden="true">×</span>
                        </button>
                        <div class="d-flex align-items-center mb-2">
                            <i class="material-icons mr-2 text-primary" style="font-size: 24px;">info</i>
                            <h6 class="alert-heading mb-0 text-dark font-weight-bold" style="font-size: 1.1rem;">INFORMACIÓN IMPORTANTE</h6>
                        </div>
                        <p class="mb-0 text-dark" style="font-size: 1rem; line-height: 1.5;">
                            <?php 
                                if ($model->isNewRecord) {
                                    echo 'A continuación se requiere que cargue los montos de las casillas <strong>711, 780 y 970</strong> del Impuesto Sobre la Renta correspondiente al período fiscal iniciado el <strong class="text-primary" style="font-size: 1.05rem;">'.$periodo.'</strong> para dar inicio al proceso de conciliación.'; 
                                }
                          // Fecha de inicio
// Fecha inicial (viene del modelo)
$fecha_inicial = new DateTime($model->periodo_fiscal);

// Obtener el día de la fecha inicial
$mes = $fecha_inicial->format('m');

if ($mes == '01') {
    // Si el día es 01 → periodo fin es el último día de diciembre del mismo año
    $periodo_inicio = $fecha_inicial->format('d/m/Y');

    $fecha_fin = clone $fecha_inicial;
    $fecha_fin->modify('last day of December');
    $periodo_fin = $fecha_fin->format('d/m/Y');
} else {
    // Si el día NO es 01 → periodo fin = fecha inicial + 12 meses - 1 día
    $periodo_inicio = $fecha_inicial->format('d/m/Y');

    $fecha_fin = clone $fecha_inicial;
    $fecha_fin->modify('+12 months -1 day');
    $periodo_fin = $fecha_fin->format('d/m/Y');
}

// Resultado final
/*
echo "Inicio: $periodo_inicio<br>";
echo "Fin: $periodo_fin";*/


// Mostrar
//echo "Periodo: $periodo_inicio - $periodo_fin";

                            if ($model->estatus_fk == 6) {
                                echo '<span class="badge badge-warning badge-pill py-2 px-3 mr-2">
                                        <i class="material-icons mr-1">schedule</i> EN VERIFICACIÓN
                                    </span> 
                                    La conciliación correspondiente al periodo <strong>' 
                                    . $periodo_inicio . ' - ' . $periodo_fin . 
                                    '</strong> se encuentra actualmente en proceso de verificación por parte del personal autorizado.';
                            }

                            if ($model->estatus_fk == 7) {
                                echo '<span class="badge badge-danger badge-pill py-2 px-3 mr-2">
                                        <i class="material-icons mr-1">error</i> RECHAZADA
                                    </span> 
                                    La conciliación correspondiente al periodo <strong>' 
                                    . $periodo_inicio . ' - ' . $periodo_fin . 
                                    '</strong> fue rechazada, debe corregir los datos ingresados según las observaciones indicadas.';
                            }
                            ?>
                        </p>
                    </div>
                </div>
            </div>

            <!-- Mensajes del sistema -->
            <div class="row mb-4">
                <div class="col-12">
                    <?php if ($message != ""): ?>
                        <div class="alert alert-<?php echo $message['status']; ?> alert-dismissible fade show border bg-white shadow-sm" role="alert">
                            <?php if ($message['status'] == "success"): ?>
                                <i class="fas fa-check-circle mr-2"></i>
                            <?php elseif ($message['status'] == "warning"):?>
                                <i class="fas fa-exclamation-circle mr-2"></i>
                            <?php elseif ($message['status'] == "danger"):?>
                                <i class="fas fa-exclamation-triangle mr-2"></i>
                            <?php endif; ?>
                            <?php echo $message['message']; ?>
                            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                                <span aria-hidden="true">&times;</span>
                            </button>
                        </div>
                    <?php endif; ?>
                </div>
            </div>

            <!-- Información importante -->
            <div class="row mb-4">
                <div class="col-12">
                    <div class="alert alert-warning border bg-white shadow-sm" role="alert">
                        <h6 class="alert-heading mb-3 text-dark"><i class="material-icons mr-2 text-warning">warning</i> Requisitos del Documento</h6>
                        <ul class="mb-0 pl-3 text-dark">
                            <li>Cargar el ISLR en un archivo PDF con las siguientes especificaciones: las imágenes deben ser 72 dpi (puntos por pulgada) como mínimo y de 90 dpi (puntos por pulgada) como máximo</li>
                            <li>El archivo PDF no puede ser mayor a 8 MB.</li>
                        </ul>
                    </div>
                </div>
            </div>

            <!-- Contenedor principal con dos columnas -->
            <div class="row">
                <!-- Columna izquierda: Documento ISLR -->
                <div class="col-lg-6 mb-4">
                    <div class="card border shadow-sm h-100">
                        <div class="card-header bg-secondary text-white border-bottom-0">
                            <h6 class="mb-0 font-weight-bold">
                                <i class="material-icons mr-2">cloud_upload</i>
                                <?php echo $renovar ? "Renovar ISLR" : "Subir ISLR"; ?>
                            </h6>
                        </div>
                        <div class="card-body bg-light">
                            <?php  
                            $formUpload = $this->beginWidget('bootstrap.widgets.TbActiveForm',
                                array(
                                    'layout' => TbHtml::FORM_LAYOUT_VERTICAL,
                                    'id' => 'subir-recaudos-form',
                                    'enableAjaxValidation' => true,
                                    'enableClientValidation' => true,
                                    'clientOptions' => array(
                                        'validateOnChange' => true,
                                    ),
                                    'htmlOptions' => array('enctype' => 'multipart/form-data'),
                                )
                            );

                            // Mostrar alerta si hay recaudos rechazados
                            $array_recaudos = array();
                            $rechazados = "";
                            $mostrar_mensaje = false;
                            $periodoFormateada = date('Y-m-d', strtotime($periodo));

                            foreach($recaudos as $r){
                                $array_recaudos[] = [
                                    'periodo_fiscal' => $r->periodo_fiscal, 
                                    'tipo_codigo_fk' => $r->tipo_codigo_fk, 
                                    'estado' => $r->reca_estado, 
                                    'error' => $r->erro_codigo_fk
                                ];
                            }

                            foreach($array_recaudos as $recaudo){
                                if($recaudo['tipo_codigo_fk'] == 3 && 
                                   $recaudo['periodo_fiscal'] == $periodoFormateada && 
                                   $recaudo['error'] != null) {
                                    $mostrar_mensaje = true;
                                    
                                    $motivo = "";
                                    if($recaudo['error'] != null){
                                        $motivoError = SidcaiRecaudoError::model()->findByPk($recaudo['error']);
                                        $motivo = ($motivoError != null) ? $motivoError->erro_descripcion : "";
                                    }
                                    
                                    if($recaudo['estado'] == 2){
                                        $rechazados .= "<p class='mb-1'><strong>ISLR: </strong>" . $motivo . "</p>";
                                    }
                                }
                            }

                            if($mostrar_mensaje && !empty($rechazados)){
                                echo '<div class="alert alert-danger alert-dismissible mb-3 border bg-white" role="alert">';
                                echo '  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';
                                echo '  <h6 class="alert-heading mb-2"><i class="material-icons mr-1">error</i> Documento Rechazado</h6>';
                                echo $rechazados;
                                echo '</div>';
                            }		
                            ?>
                            
                            <!-- Estado del documento -->
                            <div class="mb-4">
    <h6 class="font-weight-bold mb-3 text-dark">Estado del Documento</h6>
    <div class="table-responsive">
        <table class="table table-sm table-bordered bg-white">
            <thead class="bg-dark text-white">
                <tr>
                    <th class="text-left">Recaudo</th>
                    <th class="text-center">Estado</th>
                    <th class="text-center">Detalles</th>
                </tr>
            </thead>
            <tbody id='tbl-recaudos'>
                <?php
                $fechaFormateada="";
                $fechaFormateada = date('Y-m-d', strtotime($periodo));

                //print_r($fechaFormateada);die();
                $recaudos = SidcaiRecaudo::model()->findAll([
                    'condition' => 't.apor_codigo_fk = :apor_codigo_fk AND t.periodo_fiscal = :periodo_fiscal',
                    'params' => [
                        ':apor_codigo_fk' => Yii::app()->user->id,
                        ':periodo_fiscal' => $fechaFormateada,
                    ],
                ]);

                $revision = false;
                if($recaudos != null) {
                    foreach($recaudos as $r) {
                        if($r->reca_estado==1){
                            $revision=true;
                        }
                        
                        // Obtener motivo de rechazo
                        $motivoRechazo = '';
                        if($r->reca_estado == 2 && $r->erro_codigo_fk != null) {
                            $motivoError = SidcaiRecaudoError::model()->findByPk($r->erro_codigo_fk);
                            $motivoRechazo = ($motivoError != null) ? $motivoError->erro_descripcion : 'Sin motivo especificado';
                        }
                        
                        echo "<tr>";
                        echo "<td class='text-left align-middle'><span class='font-weight-medium text-dark'>" .$r->tipoCodigoFk->tipo_nombre. "</span></td>";
                        
                        // Estado
                        if($r->reca_estado == 1) {
                            echo "<td class='text-center align-middle'><span class='badge badge-warning badge-pill py-2'><i class='material-icons mr-1' style='font-size:14px'>schedule</i> En Revisión</span></td>";
                        } elseif($r->reca_estado == 2) {
                            echo "<td class='text-center align-middle'><span class='badge badge-danger badge-pill py-2'><i class='material-icons mr-1' style='font-size:14px'>error</i> Rechazado</span></td>";
                        } elseif($r->reca_estado == 3) {
                            echo "<td class='text-center align-middle'><span class='badge badge-success badge-pill py-2'><i class='material-icons mr-1' style='font-size:14px'>check_circle</i> Aceptado</span></td>";
                        } else {
                            echo "<td class='text-center align-middle'><span class='badge badge-secondary badge-pill py-2'><i class='material-icons mr-1' style='font-size:14px'>help</i> No Subido</span></td>";
                        }
                        
                        // Detalles/Observaciones
                        echo "<td class='text-center align-middle'>";
                        if($r->reca_estado == 2 && !empty($motivoRechazo)) {
                            echo "<button type='button' class='btn btn-outline-danger btn-sm py-1 px-2' 
                                  data-toggle='popover' 
                                  data-placement='left' 
                                  data-trigger='focus'
                                  title='<i class=&quot;material-icons mr-1&quot;>warning</i> Motivo de Rechazo'
                                  data-content='".htmlspecialchars($motivoRechazo, ENT_QUOTES)."'>
                                  <i class='material-icons mr-1' style='font-size:14px'>visibility</i> Ver motivo
                                  </button>";
                        } elseif($r->reca_estado == 1) {
                            echo "<span class='text-info small'><i class='material-icons mr-1' style='font-size:14px'>info</i> En verificación</span>";
                        } elseif($r->reca_estado == 3) {
                            echo "<span class='text-success small'><i class='material-icons mr-1' style='font-size:14px'>verified</i> Documento válido</span>";
                        } else {
                            echo "<span class='text-muted small'>No aplica</span>";
                        }
                        echo "</td>";
                        
                        echo "</tr>";
                    }
                } else {
                    echo "<tr><td colspan='3' class='text-center text-muted bg-light py-3'>No hay recaudos subidos para este período.</td></tr>";
                }
                ?>
            </tbody>
        </table>
    </div>
</div>

<!-- JavaScript para activar los tooltips/popovers -->
<script>
$(document).ready(function(){
    $('[data-toggle="tooltip"]').tooltip();
    $('[data-toggle="popover"]').popover({
        html: true,
        sanitize: false
    });
});
</script>
                           <?php
// Obtener el último recaudo del tipo ISLR para este periodo
$sql = "SELECT reca_codigo_pk, reca_estado 
        FROM sidcai_recaudo 
        WHERE tipo_codigo_fk = 3 
          AND apor_codigo_fk = " . (int)Yii::app()->user->id . "
          AND periodo_fiscal = CAST('$fechaFormateada' AS DATE)";
$recaudosPeriodo = Yii::app()->db->createCommand($sql)->queryAll();

// Inicializar flags
$hayRechazado = false;
$hayPendiente = false;
$hayAceptado = false;

foreach ($recaudosPeriodo as $r) {
    if ($r['reca_estado'] == 2) $hayRechazado = true;     // Rechazado
    if ($r['reca_estado'] == 1) $hayPendiente = true;     // En revisión / pendiente
    if ($r['reca_estado'] == 3) $hayAceptado = true;      // Aceptado
}

// Lógica para mostrar formulario de subida
$mostrarFormularioSubida = false;

// 1. Si no hay ningún archivo
if (empty($recaudosPeriodo)) {
    $mostrarFormularioSubida = true;
}

// 2. Si hay algún archivo rechazado
if ($hayRechazado) {
    $mostrarFormularioSubida = true;
}

// 3. Si la conciliación está en revisión (estatus 6) y no hay archivo
if (!$model->isNewRecord && $model->estatus_fk == 6 && empty($recaudosPeriodo)) {
    $mostrarFormularioSubida = true;
}

// 4. Evitar subir si hay archivo pendiente en revisión y/o archivo rechazado coexistente
// Si ya hay un pendiente (en revisión), no permitir subir otro
if ($hayPendiente) {
    $mostrarFormularioSubida = false;
}

// 5. Evitar subir si ya hay un aceptado
if ($hayAceptado) {
    $mostrarFormularioSubida = false;
}

// Renderizar el formulario solo si $mostrarFormularioSubida es true
if ($mostrarFormularioSubida) {
    $this->renderPartial('_file-recaudo', [
        'form' => $formUpload, 
        'model' => $model_recaudos, 
        'recaudo' => 'declaracion_islr', 
        'renovar' => $renovar, 
        'tipo_codigo_fk' => 3,
        'opcional' => '',
        'periodo' => $fechaFormateada,
    ]);
}

$this->endWidget();
?>

                        </div>
                    </div>
                </div>

                <!-- Columna derecha: Casillas del ISLR -->
                <div class="col-lg-6 mb-4">
                    <div class="card border shadow-sm h-100">
                        <div class="card-header bg-secondary text-white border-bottom-0">
                            <h6 class="mb-0 font-weight-bold">
                                <i class="material-icons mr-2">monetization_on</i>
                                Montos del ISLR
                            </h6>
                        </div>
                        <div class="card-body bg-light">
                            <?php  
                            $form=$this->beginWidget('bootstrap.widgets.TbActiveForm', array(
    'id'=>'casillas-form',
    'action'=>Yii::app()->createUrl('declaracion/conciliacion'), 
    'enableAjaxValidation' => false, 
    'enableClientValidation' => true,
    'clientOptions' => array(
        'validateOnSubmit' => true,
    ),
    'htmlOptions'=>array('class'=>'form-horizontal'), 
));  
                           /* $form=$this->beginWidget('bootstrap.widgets.TbActiveForm', array(
                                'id'=>'casillas-form',
                                'action'=>Yii::app()->createUrl('declaracion/conciliacion'), 
                                'enableAjaxValidation' => false, // Deshabilitar validación Ajax para permitir envío
                                'enableClientValidation' => true,
                                'clientOptions' => array(
                                    'validateOnSubmit' => true,
                                ),
                                'htmlOptions'=>array('class'=>'form-horizontal'), 
                            )); */
                            ?>

                     
                            <div class="row">
                                <div class="col-md-12 mb-3">
                                    <p class="text-dark mb-3">Complete los montos correspondientes a las casillas de la declaración del Impuesto Sobre la Renta:</p>
                                </div>
                                <div class="col-md-4">
                                    <div class="form-group">
                                        <?php 
                                        echo $form->labelEx($model, 'casilla_711', array('class'=>'control-label font-weight-medium text-dark')); 
                                        echo $form->textField($model, 'casilla_711', array(
                                            'class'=>'form-control border bg-white', 
                                            'onkeypress' => 'return soloMontos(this, event)',
                                            'placeholder' => '0,00'
                                        )); 
                                        echo $form->error($model, 'casilla_711'); 
                                        ?>
                                        <small class="form-text text-muted">
                                            Casilla 711
                                        </small>
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="form-group">
                                        <?php 
                                        echo $form->labelEx($model, 'casilla_780', array('class'=>'control-label font-weight-medium text-dark')); 
                                        echo $form->textField($model, 'casilla_780', array(
                                            'class'=>'form-control border bg-white', 
                                            'onkeypress' => 'return soloMontos(this, event)',
                                            'placeholder' => '0,00'
                                        )); 
                                        echo $form->error($model, 'casilla_780'); 
                                        ?>
                                        <small class="form-text text-muted">
                                            Casilla 780
                                        </small>
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="form-group">
                                        <?php 
                                        echo $form->labelEx($model, 'casilla_970', array('class'=>'control-label font-weight-medium text-dark')); 
                                        echo $form->textField($model, 'casilla_970', array(
                                            'class'=>'form-control border bg-white', 
                                            'onkeypress' => 'return soloMontos(this, event)',
                                            'placeholder' => '0,00'
                                        )); 
                                        echo $form->error($model, 'casilla_970'); 
                                        ?>
                                        <small class="form-text text-muted">
                                            Casilla 970
                                        </small>
                                    </div>
                                </div>
                            </div>

                            <!-- Campos ocultos -->
                            <?php 
                            $fechaFormateada = date('Y-m-d', strtotime($periodo));
                            
                            if (!$model->isNewRecord) {
                                // Para registros existentes
                                echo $form->hiddenField($model, 'id');
                                echo $form->hiddenField($model, 'apor_codigo_fk');
                                echo $form->hiddenField($model, 'periodo_fiscal');
                                
                                // Obtener el recaudo actual si existe
                                if ($model->recaudo_codigo_fk) {
                                    echo $form->hiddenField($model, 'recaudo_codigo_fk');
                                } else {
                                    // Buscar el recaudo más reciente
                                    $sql = "SELECT MAX(reca_codigo_pk) 
                                            FROM sidcai_recaudo 
                                            WHERE tipo_codigo_fk = 3 
                                            AND apor_codigo_fk = " . (int)Yii::app()->user->id . "
                                            AND periodo_fiscal = CAST('$fechaFormateada' AS DATE)";
                                    $maxRecaCodigo = Yii::app()->db->createCommand($sql)->queryScalar();
                                    
                                    if ($maxRecaCodigo) {
                                        echo $form->hiddenField($model, 'recaudo_codigo_fk', array(
                                            'value' => $maxRecaCodigo
                                        ));
                                    } else {
                                        echo $form->hiddenField($model, 'recaudo_codigo_fk', array(
                                            'value' => ''
                                        ));
                                    }
                                }
                            } else {
                                // Para nuevos registros
                                $sql = "SELECT MAX(reca_codigo_pk)
                                        FROM sidcai_recaudo 
                                        WHERE tipo_codigo_fk = 3
                                        AND apor_codigo_fk = " . (int)Yii::app()->user->id . "
                                        AND periodo_fiscal = CAST('$fechaFormateada' AS DATE)";
                                $maxRecaCodigo = Yii::app()->db->createCommand($sql)->queryScalar();

                                echo $form->hiddenField($model, 'apor_codigo_fk', array(
                                    'value' => isset($empresa["apor_codigo_pk"]) ? $empresa["apor_codigo_pk"] : Yii::app()->user->id
                                ));
                                echo $form->hiddenField($model, 'recaudo_codigo_fk', array(
                                    'value' => $maxRecaCodigo ? $maxRecaCodigo : ''
                                ));
                                echo $form->hiddenField($model, 'periodo_fiscal', array(
                                    'value' => $fechaFormateada
                                ));
                            }
                            ?>

                            <!-- Botón de guardar -->
                            <div class="text-center mt-4 pt-3 border-top">
                                <?php
                                $buttonText = $model->isNewRecord ? 'Guardar Conciliación' : 'Actualizar Conciliación';
                                
                                // Lógica simplificada para deshabilitar el botón
                                $disabled = false;
                                
                                // Verificar si hay un recaudo válido
                                $sql = "SELECT COUNT(*) 
                                        FROM sidcai_recaudo 
                                        WHERE tipo_codigo_fk = 3 
                                        AND apor_codigo_fk = " . (int)Yii::app()->user->id . "
                                        AND periodo_fiscal = CAST('$fechaFormateada' AS DATE)
                                        AND reca_estado IN (1, 3)"; // En revisión o aceptado
                                $tieneRecaudoValido = Yii::app()->db->createCommand($sql)->queryScalar();
                                
                                // Deshabilitar si está en verificación (estatus 6) o no tiene recaudo válido
                                if ($model->estatus_fk == 6 || !$tieneRecaudoValido) {
                                    $disabled = true;
                                }
                                
                                echo TbHtml::submitButton('<i class="material-icons mr-2">save</i> ' . $buttonText, [
                                    'color' => TbHtml::BUTTON_COLOR_PRIMARY,
                                    'size' => TbHtml::BUTTON_SIZE_LARGE,
                                    'disabled' => $disabled,
                                    'class' => 'btn-lg px-4 font-weight-medium shadow',
                                    'id' => 'btn-guardar-conciliacion'
                                ]);
                                
                                if ($disabled && !$tieneRecaudoValido) {
                                    echo '<div class="alert alert-warning mt-3 small">';
                                    echo '<i class="material-icons mr-1">info</i>';
                                    echo 'Debe subir y tener aceptado el documento ISLR antes de guardar la conciliación.';
                                    echo '</div>';
                                }
                                ?>
                            </div>

                            <?php $this->endWidget(); ?>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<?php  
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . '/assets/vendor/datatables/js/jquery.dataTables.js', CClientScript::POS_END);
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . '/assets/vendor/datatables/js/dataTables.bootstrap4.js', CClientScript::POS_END);
Yii::app()->getClientScript()->registerScriptFile(Yii::app()->baseUrl . '/assets/js/input-file.js', CClientScript::POS_END);
?>
<script src="/assets/js/funciones.js"></script>

<script>
function send(recaudo) {
    var enviar = "#enviar-" + recaudo;
    var recibe = "#recibe-" + recaudo;
    var error = "#error-" + recaudo;

    var formData = new FormData($("#subir-recaudos-form")[0]);
    formData.append('recaudo', $("#recaudo-" + recaudo).val());
    formData.append('tipo', $("#tipo-" + recaudo).val());
    formData.append('periodo', $("#periodo-" + recaudo).val());
    formData.append('renovar', 'si');

    $.ajax({
        url: 'subirRecaudo/',
        type: 'POST',
        data: formData,
        datatype: 'json',
        beforeSend: function() {
            jQuery(enviar).html("Subiendo...");
            jQuery(enviar).attr("disabled", true);
        },
        success: function(data) {
            if (data == "1") {
                jQuery(recibe).html(
                    '<div class="alert alert-success alert-dismissible border bg-white" role="alert">' +
                    '<button type="button" class="close" data-dismiss="alert" aria-label="Close">' +
                    '<span aria-hidden="true">&times;</span></button>' +
                    '<strong><i class="material-icons mr-1">done</i> El archivo se ha subido correctamente.</strong>' +
                    '</div>'
                );
                jQuery(enviar).html("Enviado");
                $("#tbl-recaudos").load('mostrarRecaudos');

                setTimeout(function() {
                    location.reload();
                }, 2000);
            } else {
                jQuery(enviar).attr("disabled", false);
                jQuery(enviar).html("Volver a subir");
                jQuery(error).html(data);
                console.log(data);
            }
        },
        error: function(data) {
            console.log(data);
        },
        cache: false,
        contentType: false,
        processData: false
    });
}

// Depuración: Verificar estado del formulario
/*
$(document).ready(function(){
    console.log('Formulario de conciliación cargado');
    
    $('#casillas-form').on('submit', function(e) {
        console.log('Formulario enviado');
        console.log('Datos del formulario:', $(this).serialize());
    });
    
    $('#btn-guardar-conciliacion').on('click', function() {
        console.log('Botón guardar clickeado');
        console.log('¿Está deshabilitado?:', $(this).prop('disabled'));
    });

    if (!sessionStorage.getItem("refreshed")) {
        console.log('Programando redirección...');
        sessionStorage.setItem("refreshed", "true");
        
        // Usar URL absoluta para evitar problemas de ruta
        const baseUrl = '<?php //echo Yii::app()->baseUrl; ?>';
        setTimeout(function() {
            window.location.href = baseUrl + '/declaracion/conciliacion';
        }, 2000);
    } else {
        sessionStorage.removeItem("refreshed");
    }
});*/
$(document).ready(function () {
    console.log('Formulario de conciliación cargado');

    $('#casillas-form').on('submit', function (e) {
        console.log('Formulario enviado');
        console.log('Datos del formulario:', $(this).serialize());

        // Evitar doble refresh
        if (!sessionStorage.getItem('refreshed')) {
            sessionStorage.setItem('refreshed', 'true');

            const baseUrl = '<?php echo Yii::app()->baseUrl; ?>';

            // Ejecutar refresh SOLO después del submit
            setTimeout(function () {
                window.location.href = baseUrl + '/declaracion/conciliacion';
            }, 1000);
        }
    });

    $('#btn-guardar-conciliacion').on('click', function () {
        console.log('Botón guardar clickeado');
        console.log('¿Está deshabilitado?:', $(this).prop('disabled'));
    });
});

</script>

<!-- Los estilos CSS se mantienen igual -->