library(shiny)
library(tidyverse)
library(dplyr)
library(tidyr)
library(leaflet)
library(rgdal)
library(DT)
library(sf)
library(readxl)
library(ggplot2)
library(googlesheets4)
library(leaflet)
library(lubridate)
library (units)
library(stringi)
library(viridis)
ba_sheets <- read_sheet("https://docs.google.com/spreadsheets/d/15JapaPJSppTENGFjzLFsVsh4wkYZT1pNeTD6iK7hvBE/edit#gid=471769024",
                                  sheet = 5, col_types = "c", skip=2, .name_repair = ~ make.names(.x, unique = TRUE))%>%
  rename(ID_UF_BIM = CUViv,
         ID_PARCELA = "X.1")


base_bajo_autopista <- ba_sheets %>%
  mutate(etapa = case_when(!is.na(Fecha.de.Entrega.de.CAO) ~ "Conforme a Obra",
                           !is.na(Fecha.de.Fin.de.Obra) ~ "Fin de Obra",
                           !is.na(Fecha.Inicio.de.Obra) ~ "Inicio de Obra",
                           !is.na(PRO.Realizado) ~ "Proyecto",
                           !is.na(Firma.Carta.de.Adhesión...Empresa) ~ "Adhesión Empresa",
                           !is.na(Firma.Carta.de.Adhesión...MaO) ~ "Adhesión MAO",
                           !is.na(AP.Realizado) ~ "Anteproyecto",
                           !is.na(Fecha.de.Relevamiento.Técnico) ~ "Relevamiento Técnico",
                           !is.na(Fecha.Pre.Relevamiento) ~ "Prerrelevamiento"),
         etiqueta = paste0("<strong> ID UF:  </strong>" , ba_sheets$ID_UF_BIM,
                          "<br/><strong> Nombre y Apellido:  </strong>" , ba_sheets$Nombre.y.Apellido,
                          "<br/><strong> Dupla:  </strong>" , ba_sheets$Arquitecta.o, "&nbsp", ba_sheets$Gestor.a.Comunitario.a,
                          "<br/><strong> Contrato:  </strong>" , ba_sheets$Contrato,
                          "<br/><strong> Intervenciones:  </strong>" , ba_sheets$Intervenciones,
                          "<br/><strong> Etapa: </strong>", etapa))%>%
  group_by(ID_PARCELA) %>% 
  mutate(etiqueta_parcela= paste(etiqueta, collapse = " <br/> <br/>"))


baseb31_basic <- st_read("B31-Parcelaria.shp")
## Reading layer `B31-Parcelaria' from data source `C:\Users\Mercedes Salas\Documents\otros\Capacitaciones\PMO\B31-Parcelaria.shp' using driver `ESRI Shapefile'
## Simple feature collection with 4427 features and 3 fields
## Geometry type: POLYGON
## Dimension:     XYZ
## Bounding box:  xmin: 5647720 ymin: 6171961 xmax: 5649357 ymax: 6173203
## z_range:       zmin: -9422.441 zmax: 10000.2
## Projected CRS: Campo Inchauspe / Argentina 5
baseb31_basic <- baseb31_basic %>%
  mutate(ID_PARCELA = (paste(SECTOR,MANZANA,PARCELA, sep = "-")))

base_bajo_autopista_geo <- left_join(base_bajo_autopista, baseb31_basic, by="ID_PARCELA")%>% st_as_sf()

paleta_etapa <- colorFactor(viridis_pal(option = "C")(10), domain = sort(unique(base_bajo_autopista_geo$etapa)))
leaflet(st_zm(baseb31_basic) %>% st_transform(4326)) %>%
  addTiles() %>%
  addProviderTiles(providers$CartoDB.Positron, group = "OSM",
                   options = providerTileOptions(minzoom = 1, maxzoom = 30)) %>%
  addLayersControl(overlayGroups = c("Prerrelevamiento","Relevamiento Técnico","Relevamiento Social","Anteproyecto","Adhesión Empresa","Adhesión MAO", "Proyecto","Envio a Obra","Inicio de Obra","Fin de Obra")) %>%
  setView(lat=-34.5828, lng=-58.3792,zoom=16)%>%
  addPolygons(data = (st_zm(baseb31_basic) %>% st_transform(4326)),
                  fillColor = "white",
                  fillOpacity = 0, 
                  weight = 0.5,
                  color = "black") %>%
  addPolygons(data =st_zm(base_bajo_autopista_geo %>% filter(etapa == "Prerrelevamiento")) %>% st_transform(4326),
              color =  "#F94144",
              fillOpacity = 1,
              stroke = 0,
              group = "Prerrelevamiento",
              popup = ~etiqueta_parcela[etapa == "Prerrelevamiento"])%>%
  addPolygons(data =st_zm(base_bajo_autopista_geo %>% filter(etapa == "Relevamiento Técnico")) %>% st_transform(4326),
              color =  "#F3722C",
              fillOpacity = 1,
              stroke = 0,
              group = "Relevamiento Técnico",
              popup =~etiqueta_parcela[(etapa == "Relevamiento Técnico")])%>%
  
    addPolygons(data =st_zm(base_bajo_autopista_geo %>% filter(etapa == "Anteproyecto")) %>% st_transform(4326),
              color =  "#F9C74F",
              fillOpacity = 1,
              stroke = 0,
              group = "Anteproyecto",
              popup =~etiqueta_parcela[(etapa == "Anteproyecto")])%>%
  
  addPolygons(data =st_zm(base_bajo_autopista_geo %>% filter(etapa == "Adhesión MAO")) %>% st_transform(4326),
              color =  "#6AB47C",
              fillOpacity = 1,
              stroke = 0,
              group = "Adhesión MAO",
              popup =~etiqueta_parcela[etapa == "Adhesión MAO"]) %>%
  
  addPolygons(data =st_zm(base_bajo_autopista_geo %>% filter(etapa == "Adhesión Empresa")) %>% st_transform(4326),
              color =  "#9ABB6D",
              fillOpacity = 1,
              stroke = 0,
              group = "Adhesión Empresa",
              popup =~etiqueta_parcela[etapa == "Adhesión Empresa"])%>%
  
    addPolygons(data =st_zm(base_bajo_autopista_geo %>% filter(etapa == "Proyecto")) %>% st_transform(4326),
              color =  "#4D908E",
              fillOpacity = 1,
              stroke = 0,
              group = "Proyecto",
              popup =~etiqueta_parcela[etapa == "Proyecto"]) %>%
  
  addPolygons(data =st_zm(base_bajo_autopista_geo %>% filter(etapa == "Inicio de Obra")) %>% st_transform(4326),
              color =  "#577590",
              fillOpacity = 1,
              stroke = 0,
              group = "Inicio de Obra",
              popup =~etiqueta_parcela[etapa == "Inicio de Obra"])%>%
  
  addPolygons(data =st_zm(base_bajo_autopista_geo %>% filter(etapa == "Fin de Obra")) %>% st_transform(4326),
              color =  "#806599",
              fillOpacity = 1,
              stroke = 0,
              group = "Fin de Obra",
              popup =~etiqueta_parcela[etapa == "Fin de Obra"])%>%
  
  addPolygons(data =st_zm(base_bajo_autopista_geo %>% filter(etapa == "Conforme a Obra")) %>% st_transform(4326),
              color =  "#8C73A2",
              fillOpacity = 1,
              stroke = 0,
              group = "Conforme a Obra",
              popup =~etiqueta_parcela[etapa == "Conforme a Obra"])
class(base_bajo_autopista$Firma.Carta.de.Adhesión...Empresa)
## [1] "character"
class(base_bajo_autopista$UF...Precio.0)
## [1] "character"
base_bajo_autopista$Firma.Carta.de.Adhesión...Empresa <- as.Date(base_bajo_autopista$Firma.Carta.de.Adhesión...Empresa, "%d/%m/%Y")

class(base_bajo_autopista$Firma.Carta.de.Adhesión...Empresa)
## [1] "Date"
base_bajo_autopista$precio0 <- as.numeric(stri_replace_all_regex(base_bajo_autopista$UF...Precio.0,
                                                                        pattern=c('\\.', '\\$','AR',','),
                                                                        replacement=c('','','','.'),
                                                                        vectorize=FALSE))


base_bajo_autopista %>%
ggplot(aes(x= Firma.Carta.de.Adhesión...Empresa, y= precio0))+
  geom_point()

base_bajo_autopista %>%
group_by(semana = floor_date(Firma.Carta.de.Adhesión...Empresa, "week"))%>%
  summarise(precio_semana = sum(precio0))
## # A tibble: 37 x 2
##    semana     precio_semana
##    <date>             <dbl>
##  1 2021-04-04           NA 
##  2 2021-04-11     13435664 
##  3 2021-05-02      1482823 
##  4 2021-05-23      1369771.
##  5 2021-05-30     10037520.
##  6 2021-06-06     15334579.
##  7 2021-06-13      2712233.
##  8 2021-06-27           NA 
##  9 2021-07-04      2232781 
## 10 2021-07-11      7071181.
## # ... with 27 more rows
base_bajo_autopista %>%
group_by(semana = floor_date(Firma.Carta.de.Adhesión...Empresa, "week"))%>%
  summarise(precio_semana = sum(precio0)) %>%
  
ggplot(aes(x= semana, y= precio_semana))+
  geom_point()

base_bajo_autopista %>%
group_by(semana = floor_date(Firma.Carta.de.Adhesión...Empresa, "week"))%>%
  summarise(precio_semana = sum(precio0)) %>%
  filter(!is.na(precio_semana)) %>%
  mutate(precio_acumulado = cumsum(precio_semana)) %>%
ggplot(aes(x= semana, y= precio_acumulado))+
  geom_point()

base_bajo_autopista %>%
group_by(semana = floor_date(Firma.Carta.de.Adhesión...Empresa, "week"))%>%
  summarise(precio_semana = sum(precio0)) %>%
  filter(!is.na(precio_semana)) %>%
  mutate(precio_acumulado = cumsum(precio_semana)) %>%
ggplot(aes(x= semana, y= precio_acumulado))+
  geom_point()+
  geom_path()

base_bajo_autopista %>%
group_by(semana = floor_date(Firma.Carta.de.Adhesión...Empresa, "week"))%>%
  summarise(precio_semana = sum(precio0)) %>%
  filter(!is.na(precio_semana)) %>%
  mutate(precio_acumulado = cumsum(precio_semana)) %>%
ggplot(aes(x= semana, y= precio_acumulado))+
  geom_point()+
  geom_path()+
  ggtitle("Precio 0 acumulado")+
  labs(x = NULL, y = "Precio 0 en $")+
  theme_minimal()+
  theme(legend.position = "top",
        axis.text.x = element_text(angle = 0, hjust = 1),
        axis.text.y = element_text(color = "black"),
        panel.background = element_rect(fill = "white", color = "white"),
        panel.grid.major.x = element_blank(),
        panel.grid.minor.x = element_blank(),
        legend.title = element_blank())

base_bajo_autopista %>%
group_by(semana = floor_date(Firma.Carta.de.Adhesión...Empresa, "week"))%>%
  summarise(precio_semana = sum(precio0)) %>%
  filter(!is.na(precio_semana)) %>%
  mutate(precio_acumulado = cumsum(precio_semana),
         precio_acumulado_millones = precio_acumulado/1000000)%>%
ggplot(aes(x= semana, y= precio_acumulado_millones))+
  geom_point()+
  geom_path()+
  ggtitle("Precio 0 acumulado")+
  labs(x = NULL, y = "Precio 0 en millones de $")+
  theme_minimal()+
  theme(legend.position = "top",
        axis.text.x = element_text(angle = 0, hjust = 1),
        axis.text.y = element_text(color = "black"),
        panel.background = element_rect(fill = "white", color = "white"),
        panel.grid.major.x = element_blank(),
        panel.grid.minor.x = element_blank(),
        legend.title = element_blank())