# ************************************************************************
# ************* GENERACIÓN DE TABULADOS TOMO II - PRODUCTOS  *************
# ************************************************************************

# ********************************************************************** #
# Instituto Nacional de Estadística y Censos (INEC)                      #
# Fuente: Encuesta Estructural Empresarial 2024                          #
# Responsable: Unidad de Gestión de Estadísticas Estructurales (GESE)    #
# ********************************************************************** #
# Fecha de elaboración: 05/01/2024                                       #
# Fecha última modificación: 03/03/2026                                  #
# ********************************************************************** #
# Elaborado por:                                                         #
# Gestión de Estadísticas Estructurales - GESE                           #
# Instituto Nacional de Estadística y Censos                             #
# ********************************************************************** #
# Revisado por:                                                          #
# Roberto Chaves                                                         #
# Jefe de Gestión de Estadísticas Estructurales                          #
# Instituto Nacional de Estadística y Censos                             #
# Roberto_Chaves@inec.gob.ec                                             #
# ********************************************************************** #
# Aprobado por:                                                          #
# Diana Barco                                                            #
# Directora de Estadísticas Económicas (DECON)                           #
# Instituto Nacional de Estadística y Censos                             #
# Diana_Barco@inec.gob.ec                                                #
##########################################################################

#========================================================================#
# FUNCIONES                                                              #
#========================================================================#


##### CREACIÓN DE FUNCIONES #####
"Esta función sirve para mover cualquier columna al inicio"

"Carga de librerías"

enesem_lib <- function(libreria) {
  if (!requireNamespace(as.character(libreria), quietly = TRUE)) {
    install.packages(as.character(libreria))
  }
  library(libreria, character.only = TRUE)
}

#========================================================================#
# CARGAR LIBRERÍAS                                                       #
#========================================================================#

enesem_lib("tidyverse")
enesem_lib("lubridate")
enesem_lib("haven")
enesem_lib("openxlsx")
enesem_lib("janitor")

# **** TABULADOS TOMO II - PRODUCTOS (2024) *** -------------------------------------------------

#Establecer la dirección de trabajo ----

"Estimado Usuario. Por favor en el disco C: de su computadora, crear una carpeta llamada 
Tabulados Tomo II, coloque la BDD de la encuesta (2024_ENESEM_BDD_Productos.sav), y el archivo llamado DISEÑO_PROD. 
En esta carpeta se exportarán los resultados de los tabulados."

setwd("C:/Tabulados Tomo II")

#Abrir directorio.

dir()

# *** Llamar base de datos****

dat <- read_sav("2024_ENESEM_BBD_Productos.sav") #En caso de haber editado el nombre de la BDD reemplazarlo en esta línea
# dat <-  read_csv("2024_ENESEM_BDD_Productos.csv") #En caso de que se descargue la base de datos en formato csv, quitar comentario (#) de esta línea de código y comentar (#) el comando read_sav.

######### 1) TABULADOS PRODUCTOS  #########

productos <- dat %>% 
  group_by(cod_cpc, desc_cod_cpc,uni_med_desc) %>% 
  summarise(cantidad = sum(cantidad_prod, na.rm=TRUE),
            valor = sum(valor_prod, na.rm=TRUE),
            cant_nac = sum(cantidad_ventas_n, na.rm=TRUE),
            valor_nac = sum(valor_ventas_n, na.rm=TRUE),
            cant_ex = sum(cantidad_ventas_e, na.rm=TRUE),
            valor_ex = sum(valor_ventas_e, na.rm=TRUE),
            terceros = sum(cant_terceros, na.rm=TRUE)) 

suma <- c(colSums(productos[,c(5,7,9)])) 

productos <- bind_rows(productos, suma) %>%  
  arrange(!is.na(cod_cpc)) 

productos[1,2] <- "Total Nacional"   

## renombrar variables 

names (productos) = c ("CPC Ver. 2.0",
                       "Descripción",
                       "Unidad de medida",
                       "Cantidad producida",
                       "Valor producido",
                       "Cantidad vendida - Nacional",
                       "Valor vendido - Nacional",
                       "Cantidad vendida - Extranjero",
                       "Valor vendido - Extranjero",
                       "Cantidad producida para cuenta de terceros")

# ============================================================================ #
#####               DISEÑO Y EXPORTACIÓN DE TABULADOS A EXCEL              ##### 
# ============================================================================ #

"En esta sección se diseñará y exportará los tabulados en formato excel"

##### Configuración tabulados #####

prod <- loadWorkbook("DISEÑO_PROD.xlsx")

##### CREACIÓN #####

writeData(prod,
          "C1",
          productos, 
          startRow = 3, 
          startCol = 1,  
          colNames = TRUE)

##### EXPORTACIÓN #####

anio_inv <- floor_date(today(), "day") %>%
  str_sub(1, 4) %>% 
  as.numeric() %>% 
  sum(-2, na.rm = T) %>% 
  str_c(.,"_","ENESEM_Tabulados_Productos.xlsx")

saveWorkbook(prod, anio_inv,overwrite = TRUE)
