<div class="content-wrapper">

  <section class="content-header">
    
    <h1>
      
      Administrar cobranzas
    
    </h1>

    <ol class="breadcrumb">
      
      <li><a href="inicio"><i class="fa fa-dashboard"></i> Inicio</a></li>
      
      <li class="active">Administrar cobranzas</li>
    
    </ol>

  </section>

  <section class="content">

    <div class="box">

      <div class="box-header with-border">
  
        <a href="crear-cobros">

          <button class="btn btn-primary">
            
            Agregar cobranzas

          </button>

        </a>

      </div>

      <div class="box-body">
        
       <table class="table table-bordered table-striped dt-responsive tablas">
         
        <thead>
         
         <tr>
           
           <th style="width:10px">#</th>
           <th>Código A</th>
           <th>Código R</th>      
           <th>Cliente</th>
           <th>Documento</th>
           <th>Dirección</th>
           <th>Valor Total</th>                      
           <th>Fecha</th>
           <th>Estado</th>            
           <th>Acciones</th>

         </tr> 

        </thead>

        <tbody>

        <?php

        $item = null;
        $valor = null;

        $cobros = ControladorCobros::ctrMostrarCobros($item, $valor);
        
        // Asegurar que $cobros sea siempre un array
        if(!is_array($cobros)){
            $cobros = array();
        }
        
        // Debug temporal
        echo "<!-- DEBUG: Total registros encontrados: " . count($cobros) . " -->";
        
        // Verificar que $cobros tenga elementos antes de iterar
        if(!empty($cobros)){
            $contadorProcesados = 0;
            foreach ($cobros as $key => $value){
                $contadorProcesados++;
                
                try {
                    echo ' <tr>
                            <td>'.($key+1).'</td>
                            <td>'.($value["codigoA"] ?? '').'</td>
                            <td>'.($value["codigoR"] ?? '').'</td>';

                    $itemPersona="idpersona";
                    $valorPersona=$value["idpersona"] ?? null;
                    
                    if($valorPersona !== null){
                        try {
                            $respuestaPersona=ControladorPersonas::ctrMostrarPersonas($itemPersona, $valorPersona);
                            
                            // Verificar que $respuestaPersona sea un array antes de acceder a sus índices
                            if(is_array($respuestaPersona) && !empty($respuestaPersona)){
                                echo '<td>'.($respuestaPersona["nombres"] ?? '').'</td>';
                                echo '<td>'.($respuestaPersona["documento"] ?? '').'</td>';
                                echo '<td>'.($respuestaPersona["direccion"] ?? '').'</td>';
                            } else {
                                echo '<td></td>';
                                echo '<td></td>';
                                echo '<td></td>';
                            }
                        } catch (Throwable $e) {
                            // Error al obtener datos de persona
                            error_log("Error obteniendo persona ID $valorPersona: " . $e->getMessage());
                            echo '<td></td>';
                            echo '<td></td>';
                            echo '<td></td>';
                        }
                    } else {
                        echo '<td></td>';
                        echo '<td></td>';
                        echo '<td></td>';
                    }

                    $total = $value["total"] ?? 0;
                    echo '<td>'.number_format($total, 2, '.', ',').'</td>';

                    $itemTipoServicio="idservicios";
                    $valorTipoServicio=$value["idservicios"] ?? null;
                    if($valorTipoServicio !== null){
                        try {
                            $respuestaTipoServicio=ControladorServicios::ctrMostrarServicios($itemTipoServicio, $valorTipoServicio);
                        } catch (Throwable $e) {
                            // Error al obtener servicio, pero continuamos
                            error_log("Error obteniendo servicio ID $valorTipoServicio: " . $e->getMessage());
                        }
                    }

                    echo '<td>'.($value["fecha_cobro"] ?? '').'</td>';

                    $estado = $value["estado"] ?? 0;
                    $idcobros = $value["idcobros"] ?? '';
                    
                    if($estado != 0){
                        echo '<td><span class="badge bg-green" idUsuario="'.$idcobros.'" estadoCobro="1">Aceptado</span></td>';
                    }else{
                        echo '<td><span class="badge bg-red" idUsuario="'.$idcobros.'" estadoCobro="0">Eliminado</span></td>';
                    }                                
                    
                    echo '<td>
                          <div> 
                            <button class="btn btn-info btnImprimirTicket" idcobros="'.$idcobros.'">
                            <i class="fa fa-print"></i></button> 

                            <button class="btn btn-success btnImprimirComprobanteC" idcobros="'.$idcobros.'">
                            <i class="fa fa-file"></i></button>                        
                            
                            <button class="btn btn-warning btnDetalleCobro"  idcobros="'.$idcobros.'"><i class="fa fa-eye"></i></button>';

                    if($estado != 0){
                        echo ' <button class="btn btn-danger btnEliminarCobros" idcobros="'.$idcobros.'" estadoCobro="0"><i class="fa fa-trash"></i></button>';
                    }else{
                        if(isset($_SESSION["perfil"]) && $_SESSION["perfil"] == "Administrador"){
                            echo ' <button class="btn btn-info btnEliminarCobros" idcobros="'.$idcobros.'" estadoCobro="1"><i class="fa fa-refresh"></i></button>';
                        }
                    }

                    echo '</div>  
                        </td>            
                    </tr>';
                    
                } catch (Throwable $e) {
                    // Capturar cualquier error y continuar con el siguiente registro
                    error_log("Error procesando registro $contadorProcesados (ID: " . ($value["idcobros"] ?? "N/A") . "): " . $e->getMessage() . " en línea " . $e->getLine());
                    // Cerrar cualquier tag abierto si hubo error
                    echo '</tr>';
                    continue;
                }
            }
            
            // Debug final
            echo "<!-- DEBUG: Total registros procesados en el foreach: $contadorProcesados de " . count($cobros) . " -->";
        }


        ?> 

        </tbody>

       </table>

      </div>

    </div>

  </section>

</div>





<div id="modalEditarContrato" class="modal fade" role="dialog">
  
<div class="modal-dialog modal-lg">
    <div class="modal-content">

      <form role="form" method="post">

        <!--=====================================
        CABEZA DEL MODAL
        ======================================-->

        <div class="modal-header" style="background:#3c8dbc; color:white">

          <button type="button" class="close" data-dismiss="modal">&times;</button>

          <h4 class="modal-title">Cronograma de Pagos</h4>

        </div>

        <!--=====================================
        CUERPO DEL MODAL
        ======================================-->

        <div class="modal-body">

          <div class="box-body">

            <table class="table table-bordered table-striped dt-responsive tablas tablaContratos" width="100%">
         
        <thead>
         
         <tr>
           
           <th style="width:10px">#</th>
           <th>Fechas de pagos</th>
           <th>Monto</th>
           <th>Estado</th>
           
         </tr> 

        </thead>

        <tbody id="tablebody1">
         
   
        </tbody>

       </table>            
            
  
          </div>

        </div>



        <!--=====================================
        PIE DEL MODAL
        ======================================-->

        <div class="modal-footer">

          <button type="button" class="btn btn-danger pull-right" data-dismiss="modal">Close</button>
          

        </div>

      </form>

      </div>

  </div>

</div>
