<?php
//Incluimos conexion a la base de 
require_once('../config/Conexion.php');

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

  }
    
      public function insertar($nombre_prime,$idicono,$direccion_capturada, $imagen, $latitud, $longitud) {

       $sql = "INSERT INTO caja_linea (nombre,idicono,imagen_caja,address,latitud,longitud,estado)
                VALUES ('$nombre_prime','$idicono','$imagen', '$direccion_capturada', '$latitud', '$longitud','1')";
        return ejecutarConsulta($sql);
    }

    // Método para editar
    public function editar($idcaja,$nombre_prime,$idicono,$direccion_capturada, $imagen, $latitud, $longitud) {
        $sql = "UPDATE caja_linea SET 
                nombre = '$nombre_prime',
                idicono = '$idicono',
                imagen_caja = '$imagen', 
                address = '$direccion_capturada',
                latitud= '$latitud',
                longitud= '$longitud'                 
                WHERE idcaja = '$idcaja'";
        return ejecutarConsulta($sql);
    }

    public function insertar_informacion($idcaja_informacion, $zona, $nombre, $capacidad, $idolt, $tarjeta, $puerto, $autorizacion, $descripcion, $codigo) {
    // Actualizar la información de la caja
      $sql = "UPDATE caja_linea SET 
                  zona = '$zona', 
                  nombre = '$nombre', 
                  capacidad = '$capacidad', 
                  idolt = '$idolt', 
                  tarjeta = '$tarjeta', 
                  puerto = '$puerto', 
                  autorizacion = '$autorizacion', 
                  descripcion = '$descripcion',
                  codigo = '$codigo'
              WHERE idcaja = '$idcaja_informacion'";

        $sw = ejecutarConsulta($sql); // Ejecutar actualización

        if (!$sw) {
            return false; // Si falla la actualización, salir
        }

        // Verificar si ya existen líneas en detalle_caja_linea
        $consulta = ejecutarConsultaSimpleFila("SELECT COUNT(*) AS total FROM detalle_caja_linea WHERE idcaja = '$idcaja_informacion'");
        $totalLineas = $consulta ? $consulta['total'] : 0;

        if ($totalLineas == 0 && $capacidad > 0) {
            // Generar líneas si no existen y la capacidad es mayor que 0
            for ($i = 1; $i <= $capacidad; $i++) {
                $insert = "INSERT INTO detalle_caja_linea (idcaja, idcontrato, estado) 
                          VALUES ('$idcaja_informacion', '0', '1')";
                if (!ejecutarConsulta($insert)) {
                    error_log("Error al insertar línea $i en detalle_caja_linea para la caja $idcaja_informacion");
                    return false;
                }
            }
        }

        return true; // Todo fue exitoso
    }

    public function listarbanco()
    {
      $sql="SELECT * FROM banco";
      return ejecutarConsulta($sql);

    }

    public function mostrar($idbanco)
    {
      $sql="SELECT * FROM banco where idbanco='$idbanco'";
      return ejecutarConsultaSimpleFila($sql);

    }

    //Implementamos un metodo para eliminar registro
    public function eliminar($idbanco)
    {
      $sql="DELETE FROM banco where idbanco='$idbanco'";
      return ejecutarConsulta($sql);
    }

    
    public function selectOdf()
    {
      $sql="SELECT * FROM odf";
      return ejecutarConsulta($sql);

    }

    public function cargar_linea($idcaja)
    {
        $sql = "SELECT * FROM caja_linea WHERE idcaja = $idcaja";
        $resultCajas = ejecutarConsulta($sql);

        $cajas = [];
        while ($row = $resultCajas->fetch_assoc()) {
          $cajas[] = $row; // Almacenamos las cabeceras
        }

        $sql_detalle = "SELECT d.iddetalle_caja,c.nrocontrato,c.sit_contrato,p.num_documento,d.idcaja,l.nombre 
                        FROM detalle_caja_linea d
                        JOIN caja_linea l ON d.idcaja=l.idcaja
                        LEFT JOIN contrato c ON d.idcontrato=c.idcontrato
                        LEFT JOIN persona p ON c.idcliente=p.idpersona  WHERE d.idcaja = $idcaja";
        $resultDetalles = ejecutarConsulta($sql_detalle);

        $detalles = [];
        while ($row = $resultDetalles->fetch_assoc()) {
          $detalles[] = $row; // Almacenamos las cabeceras
        }
        // Respuesta JSON: tenemos dos arrays, uno para las cabeceras y otro para los detalles
        return [
        "cajas" => $cajas,
        "detalles" => $detalles
        ];
    }

    public function insertar_datos($dni, $idcontrato, $detalle_id) {
        $sql = "UPDATE detalle_caja_linea SET idcontrato='$idcontrato' WHERE iddetalle_caja='$detalle_id' ";
        return ejecutarConsulta($sql);
    }



}


?>