debug: Agregar logs para investigar problema de filtros en Deudores de Conceptos

- Agregar logs en dashboard.php para ver qué filtros se reciben
- Agregar logs en Report.php para ver consulta SQL y resultados
- Investigar por qué se incluyen casas sin deudas en exportación PDF
- Debug para identificar problema de filtros no aplicándose correctamente
This commit is contained in:
2026-01-05 16:18:06 -06:00
parent 9f320a619e
commit 1dc3635e89
2 changed files with 41 additions and 12 deletions

View File

@@ -597,21 +597,27 @@ switch ($page) {
$waterDebtors = Report::getWaterDebtors($filters);
} elseif ($reportType == 'concept-debtors') {
// Procesar filtros de casas y conceptos
$houseFilters = $_GET['filter_houses'] ?? ['all'];
$conceptFilters = $_GET['filter_concepts'] ?? ['all'];
$houseFilters = $_GET['filter_houses'] ?? [];
$conceptFilters = $_GET['filter_concepts'] ?? [];
// Determinar casas a filtrar
if (in_array('all', $houseFilters) || empty($houseFilters)) {
if (empty($houseFilters) || in_array('all', $houseFilters)) {
$filteredHouses = $accessibleHouseIds;
} else {
$filteredHouses = array_intersect($houseFilters, $accessibleHouseIds);
// Filtrar solo las casas específicamente seleccionadas
$filteredHouses = array_filter($houseFilters, function($houseId) use ($accessibleHouseIds) {
return $houseId !== 'all' && in_array($houseId, $accessibleHouseIds);
});
}
// Determinar conceptos a filtrar
if (in_array('all', $conceptFilters) || empty($conceptFilters)) {
if (empty($conceptFilters) || in_array('all', $conceptFilters)) {
$filteredConcepts = null; // Todos los conceptos
} else {
$filteredConcepts = $conceptFilters;
// Filtrar solo los conceptos específicamente seleccionados
$filteredConcepts = array_filter($conceptFilters, function($conceptId) {
return $conceptId !== 'all';
});
}
$conceptDebtors = Report::getConceptDebtorsFiltered($filteredHouses, $filteredConcepts);
@@ -916,24 +922,39 @@ switch ($page) {
require_once __DIR__ . '/models/Report.php';
// Procesar filtros para exportación
$houseFilters = $_GET['filter_houses'] ?? ['all'];
$conceptFilters = $_GET['filter_concepts'] ?? ['all'];
$houseFilters = $_GET['filter_houses'] ?? [];
$conceptFilters = $_GET['filter_concepts'] ?? [];
// Debug: mostrar qué filtros se están recibiendo
error_log("DEBUG - House filters: " . print_r($houseFilters, true));
error_log("DEBUG - Concept filters: " . print_r($conceptFilters, true));
// Determinar casas a filtrar para exportación
if (in_array('all', $houseFilters) || empty($houseFilters)) {
if (empty($houseFilters) || in_array('all', $houseFilters)) {
$filteredHouses = $accessibleHouseIds;
error_log("DEBUG - Using all accessible houses: " . count($filteredHouses));
} else {
$filteredHouses = array_intersect($houseFilters, $accessibleHouseIds);
// Filtrar solo las casas específicamente seleccionadas
$filteredHouses = array_filter($houseFilters, function($houseId) use ($accessibleHouseIds) {
return $houseId !== 'all' && in_array($houseId, $accessibleHouseIds);
});
error_log("DEBUG - Using filtered houses: " . count($filteredHouses) . " - " . implode(',', $filteredHouses));
}
// Determinar conceptos a filtrar para exportación
if (in_array('all', $conceptFilters) || empty($conceptFilters)) {
if (empty($conceptFilters) || in_array('all', $conceptFilters)) {
$filteredConcepts = null; // Todos los conceptos
error_log("DEBUG - Using all concepts");
} else {
$filteredConcepts = $conceptFilters;
// Filtrar solo los conceptos específicamente seleccionados
$filteredConcepts = array_filter($conceptFilters, function($conceptId) {
return $conceptId !== 'all';
});
error_log("DEBUG - Using filtered concepts: " . count($filteredConcepts) . " - " . implode(',', $filteredConcepts));
}
$conceptDebtors = Report::getConceptDebtorsFiltered($filteredHouses, $filteredConcepts);
error_log("DEBUG - Concept debtors result: " . count($conceptDebtors['debtors']) . " concepts with debts");
include __DIR__ . '/views/reports/pdf_concept_debtors.php';
break;
case 'expenses':

View File

@@ -527,8 +527,16 @@ class Report {
ORDER BY cc.name, h.number, cc.concept_date DESC
";
error_log("DEBUG - SQL Query: " . $query);
error_log("DEBUG - SQL Params: " . print_r($params, true));
$results = $db->fetchAll($query, $params);
error_log("DEBUG - SQL Results count: " . count($results));
if (count($results) > 0) {
error_log("DEBUG - First result sample: " . print_r($results[0], true));
}
// Group by concept like the original method
$debtors = [];
$grandTotal = 0;