#' name_of_module1 UI Function
#'
#' @description A shiny Module.
#'
#' @param id,input,output,session Internal parameters for {shiny}.
#'
#' @noRd
#'
#' @importFrom shiny NS tagList
mod_relatorio_ui <- function(id){
ns <- NS(id)
tabItem(tabName = "relatorio", align = "left",
fluidRow(
boxPlus(
title = "Resultados",
closable = FALSE,
width = 3,
status = NULL,
solidHeader = TRUE,
collapsible = TRUE,
enable_dropdown = FALSE,
fluidRow(
column(12,
pickerInput(ns("relatorio_resultados_tipo_relatorio"), label = "Tipo de Relatório", choices = c("Geral",
# "Seção CNAE",
"UF x Ref",
"Município x Ref",
"UF",
"Município"))
)
),
fluidRow(
column(12, align = "center",
downloadButton(ns("download_relatorio_resultados"), label = NULL)
)
)
)
)
)
}
#' name_of_module1 Server Function
#'
#' @noRd
mod_relatorio_server <- function(input, output, session, caged, rais, origem){
ns <- session$ns
seletor_base <- reactive({
p <- origem$origem()
return(p)
})
# canal <- bd
info <- Sys.info() %>% as.data.frame()
info$coluna <- rownames(info)
info <- subset(info, coluna == "user")
output$download_relatorio_resultados <- downloadHandler(
filename = function() {
nome_arquivo <- paste0("relatorio_resultados_", input$relatorio_resultados_tipo_relatorio, ".xlsx")
},
content = function(file) {
if(seletor_base() == TRUE){
if(file.exists(paste0("caged_filtrado2_", as.character(info$.[1])))){
dados_caged <- readRDS(paste0("caged_filtrado2_", as.character(info$.[1])))
dados_caged$media_salario_entrada_uf_ref <- ifelse(is.nan(dados_caged$media_salario_entrada_uf_ref), 0, dados_caged$media_salario_entrada_uf_ref)
dados_caged$media_salario_saida_uf_ref <- ifelse(is.nan(dados_caged$media_salario_saida_uf_ref), 0, dados_caged$media_salario_saida_uf_ref)
dados_caged$media_salario_entrada_municipio_ref <- ifelse(is.nan(dados_caged$media_salario_entrada_municipio_ref), 0, dados_caged$media_salario_entrada_municipio_ref)
dados_caged$media_salario_saida_municipio_ref <- ifelse(is.nan(dados_caged$media_salario_saida_municipio_ref), 0, dados_caged$media_salario_saida_municipio_ref)
# UFS <- paste('SELECT DISTINCT sigla_uf, codigo_uf FROM municipios_caged')
# UFS <- as.data.frame(RSQLite::dbGetQuery(canal, UFS))
UFS <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(sigla_uf, codigo_uf) %>% unique()
names(UFS)[2] <- "UF"
dados_caged <- dplyr::right_join(UFS, dados_caged, by = "UF")
# MUNI <- paste('SELECT DISTINCT nome_municipio, codigo_municipio FROM municipios_caged')
# MUNI <- as.data.frame(RSQLite::dbGetQuery(canal, MUNI))
MUNI <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(nome_municipio, codigo_municipio) %>% unique()
names(MUNI)[2] <- "Município"
MUNI$`Município` <- as.numeric(substr(MUNI$`Município`, 1, 6))
dados_caged <- dplyr::right_join(MUNI, dados_caged, by = "Município")
if(input$relatorio_resultados_tipo_relatorio == "Geral"){
dados_caged <- dados_caged
dados_caged <- dados_caged[order(dados_caged$Competência.Declarada, dados_caged$Município), ]
}else if(input$relatorio_resultados_tipo_relatorio == "UF"){
dados_caged <- readRDS(file = paste0("caged_filtrado_UF_", as.character(info$.[1])))
}else if(input$relatorio_resultados_tipo_relatorio == "Município"){
dados_caged <- readRDS(file = paste0("caged_filtrado_municipio_", as.character(info$.[1])))
}else if(input$relatorio_resultados_tipo_relatorio == "UF x Ref"){
dados_caged <- readRDS(file = paste0("caged_filtrado_UF_ref_", as.character(info$.[1])))
}else if(input$relatorio_resultados_tipo_relatorio == "Município x Ref"){
dados_caged <- readRDS(file = paste0("caged_filtrado_municipio_ref_", as.character(info$.[1])))
}
openxlsx::write.xlsx(dados_caged, file)
}
}else{
if(file.exists(paste0("rais_filtrado2_", as.character(info$.[1])))){
dados_rais <- readRDS(paste0("rais_filtrado2_", as.character(info$.[1])))
dados_rais$media_salario_entrada_uf_ref <- ifelse(is.nan(dados_rais$media_salario_entrada_uf_ref), 0, dados_rais$media_salario_entrada_uf_ref)
dados_rais$media_salario_saida_uf_ref <- ifelse(is.nan(dados_rais$media_salario_saida_uf_ref), 0, dados_rais$media_salario_saida_uf_ref)
dados_rais$media_salario_entrada_municipio_ref <- ifelse(is.nan(dados_rais$media_salario_entrada_municipio_ref), 0, dados_rais$media_salario_entrada_municipio_ref)
dados_rais$media_salario_saida_municipio_ref <- ifelse(is.nan(dados_rais$media_salario_saida_municipio_ref), 0, dados_rais$media_salario_saida_municipio_ref)
# UFS <- paste('SELECT DISTINCT sigla_uf, codigo_uf FROM municipios_caged')
# UFS <- as.data.frame(RSQLite::dbGetQuery(canal, UFS))
UFS <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(sigla_uf, codigo_uf) %>% unique()
names(UFS)[2] <- "UF"
dados_rais <- dplyr::right_join(UFS, dados_rais, by = "UF")
# MUNI <- paste('SELECT DISTINCT nome_municipio, codigo_municipio FROM municipios_caged')
# MUNI <- as.data.frame(RSQLite::dbGetQuery(canal, MUNI))
MUNI <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(nome_municipio, codigo_municipio) %>% unique()
names(MUNI)[2] <- "Município"
MUNI$`Município` <- as.numeric(substr(MUNI$`Município`, 1, 6))
dados_rais <- dplyr::right_join(MUNI, dados_rais, by = "Município")
if(input$relatorio_resultados_tipo_relatorio == "Geral"){
dados_rais <- dados_rais
dados_rais <- dados_rais[order(dados_rais$ano, dados_rais$Município), ]
}else if(input$relatorio_resultados_tipo_relatorio == "UF"){
dados_rais <- readRDS(file = paste0("rais_filtrado_UF_", as.character(info$.[1])))
}else if(input$relatorio_resultados_tipo_relatorio == "Município"){
dados_rais <- readRDS(file = paste0("rais_filtrado_municipio_", as.character(info$.[1])))
}else if(input$relatorio_resultados_tipo_relatorio == "UF x Ref"){
dados_rais <- readRDS(file = paste0("rais_filtrado_UF_ref_", as.character(info$.[1])))
}else if(input$relatorio_resultados_tipo_relatorio == "Município x Ref"){
dados_rais <- readRDS(file = paste0("rais_filtrado_municipio_ref_", as.character(info$.[1])))
}
openxlsx::write.xlsx(dados_rais, file)
}
}
}
)
}
## To be copied in the UI
# mod_relatorio_ui("relatorio_ui_1")
## To be copied in the server
# callModule(mod_relatorio_server, "relatorio_ui_1")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.