-
Notifications
You must be signed in to change notification settings - Fork 0
/
4a_procesa_actividades.R
70 lines (44 loc) · 1.87 KB
/
4a_procesa_actividades.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
library(formularios11F)
library(dplyr)
library(rmarkdown)
# Configuración
config <- leer_config("config/config.json")
ID_SHEET_ACTIVIDADES_ORIGINAL <- config$ids_googledrive$actividades$original
ID_SHEET_ACTIVIDADES_LIMPIO <- config$ids_googledrive$actividades$limpio
# Filtrar nuevas peticiones de contacto con centros
actividades_original <- suppressWarnings(
get_actividades_original(file_id=ID_SHEET_ACTIVIDADES_ORIGINAL)
) # FIXME: simplificar formulario para evitar columnas duplicadas
# actividades_limpio <- NULL
# FIXME para ejecutar la primera vez
actividades_limpio <- get_actividades_limpio(file_id=ID_SHEET_ACTIVIDADES_LIMPIO)
actividades_new <- actividades_original %>%
filter(! id %in% actividades_limpio$id)
if (nrow(actividades_new) == 0) {
stop("No hay nuevas actividades.")
}
# Limpiar actividades
actividades_new <- actividades_new %>%
limpia_actividades() %>%
mutate(procesado = ifelse(fallos_validacion == "", "OK", "FALLO"))
# Geolocalizar actividades (coordenadas código postal)
actividades_geo <- actividades_new %>%
filter(clase_actividad %in% c("CENTRO11F", "PRESENCIAL")) %>%
geolocaliza_actividades() %>%
mutate(
procesado = ifelse(fallos_geo == "", procesado,
ifelse(procesado == "OK", "FALLO GEO", paste(procesado, "+ FALLO GEO")))
)
actividades_no_geo <- actividades_new %>%
filter(!id %in% actividades_geo$id) %>%
mutate(lon = NA, lat = NA)
actividades_new <- actividades_geo %>%
rbind(actividades_no_geo) %>%
arrange(timestamp)
# Tratar duplicados
# detecta como duplicados los que tienen el mismo mail y título
actividades_limpio <- actividades_limpio %>%
rbind(actividades_new) %>%
marca_duplicados_actividades()
# Subir a Google Drive
upload_actividades_limpio(actividades_limpio, file_id=ID_SHEET_ACTIVIDADES_LIMPIO)