library(dplyr)
library(plotly)
## Cargando paquete requerido: ggplot2
## 
## Adjuntando el paquete: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
library(lubridate)
## 
## Adjuntando el paquete: 'lubridate'
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
Bins_Ready <- Bins 

names(Bins_Ready)[grep("Nombre.*Sucursal", names(Bins_Ready), ignore.case=T)[1]] <- "Nombre Sucursal Origen"
names(Bins_Ready)[grep("Planta|Destino", names(Bins_Ready), ignore.case=T)[1]] <- "Planta"
names(Bins_Ready)[grep("500", names(Bins_Ready))[1]] <- "BINS500"
names(Bins_Ready)[grep("1000", names(Bins_Ready))[1]] <- "BINS1000"
names(Bins_Ready)[grep("Toneladas", names(Bins_Ready), ignore.case=T)[1]] <- "Toneladas"

col_fecha <- grep("Día.*Recepción|Fecha", names(Bins_Ready), ignore.case=T)[1]
names(Bins_Ready)[col_fecha] <- "Fecha"

Datos_Tiempo <- Bins_Ready %>%
  mutate(
    BINS500 = as.numeric(BINS500),
    BINS1000 = as.numeric(BINS1000),
    
    Fecha = as.Date(Fecha, tryFormats = c("%Y-%m-%d", "%d-%m-%Y")),
    Toneladas = as.numeric(Toneladas)
  ) %>%
  
  filter(!is.na(Fecha) & month(Fecha) %in% c(8, 9, 10)) %>%
  group_by(Fecha) %>%
  summarise(
    Total_Toneladas = sum(Toneladas, na.rm = TRUE)
  )

modelo_tiempo <- lm(Total_Toneladas ~ Fecha, data = Datos_Tiempo)

fechas_noviembre <- seq(as.Date("2025-11-01"), as.Date("2025-11-30"), by="day")
datos_noviembre <- data.frame(Fecha = fechas_noviembre)

datos_noviembre$Total_Toneladas <- predict(modelo_tiempo, newdata = datos_noviembre)
datos_noviembre$Tipo <- "Proyección (Nov)"

Datos_Tiempo$Tipo <- "Histórico (Ago-Oct)"

Datos_Final <- bind_rows(Datos_Tiempo, datos_noviembre)

grafico_tendencia <- plot_ly(Datos_Final, x = ~Fecha, y = ~Total_Toneladas) %>%

  add_trace(
    data = filter(Datos_Final, Tipo == "Histórico (Ago-Oct)"),
    type = 'scatter', mode = 'lines+markers',
    name = 'Histórico (Ago-Oct)',
    line = list(color = 'blue')
  ) %>%
 
  add_lines(
    data = filter(Datos_Final, Tipo == "Proyección (Nov)"),
    name = 'Tendencia Noviembre',
    line = list(color = 'red', dash = 'dash', width = 3)
  ) %>%
  layout(
    title = "Proyección de Tendencia de Toneladas hacia Noviembre",
    xaxis = list(title = "Fecha", tickformat = "%d-%b"),
    yaxis = list(title = "Total Toneladas Diarias"),
    legend = list(title = list(text = "Periodo"))
  )

grafico_tendencia