<?php
//Incluimos conexion a la base de trader_cdlrisefall3methods
date_default_timezone_set('America/Lima');
require "../config/Conexion.php";

Class Reporte
{
  //Implementando nuestro constructor
  public function __construct()
  {

  }
    public function listar_torre($idtorre,$idtecnologia)
    {
      $sql = "SELECT c.idrepetidor,r.nombre_repetidor FROM contrato c 
              JOIN repetidor r ON c.idrepetidor=r.idrepetidor
              WHERE c.idtorre='$idtorre' and c.idtecnologia='$idtecnologia' 
              GROUP BY c.idrepetidor ";
                    $resultCabecera = ejecutarConsulta($sql);

        $cabeceras = [];
        while ($row = $resultCabecera->fetch_assoc()) {
        $cabeceras[] = $row; // Almacenamos las cabeceras
        }
        // Array donde almacenaremos los detalles para cada idcontrato
        $detalles = [];

        foreach ($cabeceras as $cabecera) {
        $idrepetidor = $cabecera['idrepetidor'];

        // Consulta para obtener los detalles de cada contrato
        $sqldetalle = " SELECT c.idrepetidor,r.nombre_repetidor,c.modalidad,c.montomensualidad,c.sit_contrato,d.description,d.address,p.nombre as cliente,p.celular,p.telefono,p.whatsapp,t.nombreolt
                        FROM contrato c 
                        JOIN repetidor r ON c.idrepetidor=r.idrepetidor
                        JOIN persona p ON c.idcliente=p.idpersona
                        LEFT JOIN olt t ON c.idolt=t.idolt
                        LEFT JOIN detalle_direccion d ON c.iddireccion=d.iddireccion
                        WHERE c.idtorre='$idtorre' and c.idtecnologia='$idtecnologia' and c.idrepetidor='$idrepetidor'";

        $resultDetalles = ejecutarConsulta($sqldetalle);
        $detallesContrato = []; // Array para almacenar los detalles de este contrato

        while ($detalle = $resultDetalles->fetch_assoc()) {
          $detallesContrato[] = $detalle;
        }

        // Asociamos los detalles a la cabecera correspondiente
        $detalles[$idrepetidor] = $detallesContrato;
        }
        // Respuesta JSON: tenemos dos arrays, uno para las cabeceras y otro para los detalles
        return [
        "cabeceras" => $cabeceras,
        "detalles" => $detalles
        ];
    }

}