loadIndividuos method

Future<List<Map<String, dynamic>>> loadIndividuos()

Implementation

Future<List<Map<String, dynamic>>> loadIndividuos() async {
  try {
    final individuos = await _dbHelper.getAllIndividuos();
    DateTime now = DateTime.now();
    DateTime firstDayOfMonth = DateTime(now.year, now.month, 1);

    final recentMonitoreos =
        await _dbHelper.getMonitoreosByDate(firstDayOfMonth);

    final Map<String, bool> recentMonitoreosMap = {};
    for (var monitoreo in recentMonitoreos) {
      recentMonitoreosMap[monitoreo['numero_placa'].toString()] = true;
    }

    return individuos.where((individuo) {
      String numeroPlaca = individuo['numero_placa'].toString();
      return !recentMonitoreosMap.containsKey(numeroPlaca);
    }).toList();
  } catch (e) {
    print("Error al cargar individuos: $e");
    await _sendNotification(
      'Error de Carga',
      'Error al cargar individuos: $e',
    );
    return [];
  }
}