FASE 2 PARCIAL: Implementación core - Cambios críticos realizados

CAMBIOS REALIZADOS:
 ajax/login.php - Eliminado hardcodeo empresaId = 15
 classes/empresa.class.php - Método DoLogin() ahora obtiene empresaId dinámico
 classes/system-config.class.php - Lógica de BD dinámica (1=ventas_nm, >1=ventas_nm{id})

PROBLEMAS DETECTADOS:
⚠️ GetSingle() devuelve escalar no array
⚠️ empresaId obtenido = 0 (incorrecto)
⚠️ Warnings PHP en acceso a arrays nulos
⚠️ Compatibilidad sistema viejo vs nuevo

ARCHIVOS MODIFICADOS:
- ajax/login.php
- classes/empresa.class.php
- classes/system-config.class.php
- md/plan-accion-multi-empresa.md
- test_login_dinamico.php

SIGUIENTE PASO: Revisar GetSingle() y compatibilidad
This commit is contained in:
2026-01-07 18:36:59 -06:00
parent 1b723f0643
commit ee4945578e
6 changed files with 130 additions and 25 deletions

View File

@@ -93,9 +93,18 @@ class SystemConfig {
'charset' => $_ENV['DB_CHARSET'] ?? 'utf8mb4'
];
// Patón:avantikads_nm{empresaId} donde empresaId viene del usuario
$prefix = $_ENV['DB_EMPRESA_PREFIX'] ?? 'avantikads_nm';
$database = $prefix . $empresaId;
// PATRÓN DINÁMICO:
// - empresaId = 1 → usa ventas_nm (sin número)
// - empresaId > 1 → usa ventas_nm{empresaId}
$prefix = $_ENV['DB_EMPRESA_PREFIX'] ?? 'ventas_nm';
if ($empresaId == 1) {
// Regla especial: empresaId = 1 usa base sin número
$database = $prefix;
} else {
// Regla general: empresaId > 1 usa base con número
$database = $prefix . $empresaId;
}
// Configuración de usuario/password
$user = $_ENV['DB_EMPRESA_USER'] ?? $_ENV['DB_USER'] ?? 'root';