<?php
$host = 'localhost';
$username = 'SYSDBA';
$password = 'masterkey';

$empresa = $_GET['empresa'] ?? null;
$ruta = $_POST['ruta'] ?? null;

try {
    if ($ruta) {
        // Si viene la ruta por POST
        $dbh = new PDO("firebird:host=$host;dbname=$ruta;charset=UTF8", $username, $password);
        $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        // Extraer número de empresa de la ruta
        if (preg_match('/EMPRE(\d{2})\.FDB/i', $ruta, $matches)) {
            $empresa = $matches[1];
        } else {
            echo json_encode(['error' => 'No se pudo determinar la empresa desde la ruta']);
            exit;
        }

    } elseif ($empresa) {
        // Si viene el número de empresa por GET
        $empresa = str_pad($empresa, 2, '0', STR_PAD_LEFT);
        $database = "C:\\Program Files (x86)\\Common Files\\Aspel\\Sistemas Aspel\\SAE7.00\\Empresa$empresa\\Datos\\SAE70EMPRE$empresa.FDB";

        $dbh = new PDO("firebird:host=$host;dbname=$database;charset=UTF8", $username, $password);
        $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } else {
        echo json_encode(['error' => 'No se proporcionó ni empresa ni ruta']);
        exit;
    }

    $stmt = $dbh->query("SELECT CVE_ALM, DESCR FROM ALMACENES$empresa WHERE STATUS = 'A' ORDER BY CVE_ALM");
    $almacenes = $stmt->fetchAll(PDO::FETCH_ASSOC);

    echo json_encode($almacenes);

} catch (PDOException $e) {
    echo json_encode(['error' => $e->getMessage()]);
}
?>
