#' configuracoes UI Function
#'
#' @description A shiny Module.
#'
#' @param id,input,output,session Internal parameters for {shiny}.
#'
#' @noRd
#'
#' @importFrom shiny NS tagList
load("R/sysdata.rda")
# caminho <- "C:\\Users\\leand\\OneDrive - FGV\\BD\\"
# caminho <- "D:\\BD\\"
#
# canal_caged <- RSQLite::dbConnect(RSQLite::SQLite(), dbname = paste0(caminho, "CAGED.sqlite"))
#
# tabela_referencias_caged <- data.frame(referencia = RSQLite::dbListTables(canal_caged))
# tabela_referencias_caged$ref <- as.numeric(substr(tabela_referencias_caged$referencia, 7, 12))
# tabela_referencias_caged <- tabela_referencias_caged[order(tabela_referencias_caged$ref),]
# tabela_referencias_caged$ref <- as.character(tabela_referencias_caged$ref)
#
# # lista_meses_bases_caged <- c(Dados:::Referencias$Caged)
# lista_meses_bases_caged <- c(tabela_referencias_caged$ref)
#
# lista_anos_bases_rais <- c(Dados:::Referencias$Rais)
# lista_meses_bases_caged <- c(201901, 201902, 201903, 201904, 201905, 201906, 201907, 201908, 201909, 201910, 201911, 201912)
#
# lista_anos_bases_rais <- c(2018, 2017, 2016, 2015)
mod_configuracoes_ui <- function(id){
ns <- NS(id)
library(shinyWidgets)
library(DT)
library(RSQLite)
library(DBI)
tabItem(tabName = "configuracoes", align = "center",
fluidRow(
column(12,
boxPlus(
title = "Configurações",
closable = FALSE,
width = NULL,
status = NULL,
solidHeader = TRUE,
collapsible = FALSE,
enable_dropdown = FALSE,
fluidRow(column(12,
uiOutput(ns("slider_tempo_CAGED"))
)),
fluidRow(column(6,
box(width = 12,
solidHeader = TRUE,
collapsible = FALSE,
collapsed = TRUE,
title = "CBO",
fluidRow(column(6,
pickerInput(ns("grande_grupo"), label = "Grande Grupo:", choices = ""),
pickerInput(ns("subgrupo_principal"), "Subgrupo Principal:", choices = ""),
pickerInput(ns("subgrupo"), "Subgrupo:", choices = ""),
pickerInput(ns("familia"), "Família:", choices = ""),
pickerInput(ns("ocupacao"), "Ocupação:", choices = ""),
actionBttn(ns("add_cbo"), "Adicionar", color = "primary", style = "bordered", icon = icon("plus"), size = "sm")
))
)),
column(6,
box(width = 12,
solidHeader = TRUE,
collapsible = FALSE,
collapsed = FALSE,
title = "CBOs Selecionadas",
actionBttn(ns("limpar_cbo"), "Limpar", color = "primary", style = "bordered", icon = icon("eraser"), size = "sm"),
actionBttn(ns("excluir_cbo"), "Excluir", color = "primary", style = "bordered", icon = icon("trash-alt"), size = "sm"),
DT::dataTableOutput(ns("cbos_selecionadas"))
)
)
),
fluidRow(column(6,
box(width = 12,
solidHeader = TRUE,
collapsible = FALSE,
collapsed = TRUE,
title = "CNAES",
fluidRow(column(6,
pickerInput(ns("secao"), "Seção:", choices = ""),
pickerInput(ns("divisao"), "Divisão:", choices = ""),
pickerInput(ns("grupo"), "Grupo:", choices = ""),
pickerInput(ns("classe"), "Classe:", choices = ""),
actionBttn(ns("add_cnae"), "Adicionar", color = "primary", style = "bordered", icon = icon("plus"), size = "sm")
))
)
),
column(6,
box(width = 12,
solidHeader = TRUE,
collapsible = FALSE,
collapsed = FALSE,
title = "CNAEs Selecionadas",
actionBttn(ns("limpar_cnae"), "Limpar", color = "primary", style = "bordered", icon = icon("eraser"), size = "sm"),
actionBttn(ns("excluir_cnae"), "Excluir", color = "primary", style = "bordered", icon = icon("trash-alt"), size = "sm"),
DT::dataTableOutput(ns("cnaes_selecionadas"))
))
),
fluidRow(
column(12, align = "left",
fluidRow(
# column(3,
#
# box(width = 12,
# solidHeader = TRUE,
# collapsible = TRUE,
# collapsed = TRUE,
# title = "Outros",
#
# checkboxGroupInput(ns("corte_salario_minimo"), label = NULL, choices = c("Corte pelo salário mínimo")),
# textInput(ns("salario_minimo"), label = h6("Valor do salário mínimo:"), value = 998),
# checkboxGroupInput(ns("corte_teto"), label = NULL, choices = c("Corte pelo teto")),
# textInput(ns("ndp"), label = h6("Número de vezes do desvio padrão:"), value = 5)
#
# )
#
# ),
#
# column(width = 5),
column(width = 4,
box(width = 12, align = "left",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
title = "Região/UF/Municipio",
pickerInput(ns("regiao_caged"), "Região", choices = ""),
pickerInput(ns("uf_caged"), "UF", choices = ""),
pickerInput(ns("municipio_caged"), "Município", choices = "", multiple = FALSE, options = pickerOptions(
actionsBox = TRUE,
title = "Selecione um Municipio",
liveSearch = TRUE,
dropupAuto = FALSE
)),
actionBttn(ns("add_mun"), "Adicionar", color = "primary", style = "bordered", icon = icon("plus"), size = "sm"),
box(width = 12,
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
title = "Municípios Selecionados",
actionBttn(ns("limpar_municipio"), "Limpar", color = "primary", style = "bordered", icon = icon("eraser"), size = "sm"),
actionBttn(ns("excluir_municipio"), "Excluir", color = "primary", style = "bordered", icon = icon("trash-alt"), size = "sm"),
DT::dataTableOutput(ns("municipios_selecionados"))
)
))
)
)
),
fluidRow(
column(4),
column(4, actionBttn(ns("filtro_primario"), "Filtrar", color = "primary", icon = icon("filter"), style = "stretch", size = "sm")),
column(4)
)
)
)
)
)
}
#' configuracoes Server Function
#'
#' @noRd
mod_configuracoes_server <- function(input, output, session, caged, rais, origem){
ns <- session$ns
caged <- caged
rais <- rais
seletor_base <- reactive({
p <- origem$origem()
return(p)
})
observe({
if(seletor_base() == TRUE){
canal_caged <- caged
tabela_referencias_caged <- data.frame(referencia = RSQLite::dbListTables(canal_caged))
tabela_referencias_caged$ref <- as.numeric(substr(tabela_referencias_caged$referencia, 7, 12))
tabela_referencias_caged <- tabela_referencias_caged[order(tabela_referencias_caged$ref),]
tabela_referencias_caged$ref <- as.character(tabela_referencias_caged$ref)
# lista_meses_bases_caged <- c(Dados:::Referencias$Caged)
lista_meses_bases_caged <- c(tabela_referencias_caged$ref)
output$slider_tempo_CAGED <- renderUI({
box(width = 12,
solidHeader = TRUE,
collapsible = FALSE,
collapsed = TRUE,
title = "Período de Tempo",
fluidRow(column(12,
sliderTextInput(
ns("periodo_tempo"),
label = NULL,
choices = lista_meses_bases_caged,
selected = lista_meses_bases_caged[c(length(lista_meses_bases_caged)-11, length(lista_meses_bases_caged))]
)
))
)
})
}else{
output$slider_tempo_CAGED <- renderUI({
canal_rais <- rais
tabela_referencias_rais <- data.frame(referencia = RSQLite::dbListTables(canal_rais))
tabela_referencias_rais$ref <- as.numeric(substr(tabela_referencias_rais$referencia, 6, 9))
tabela_referencias_rais <- tabela_referencias_rais[order(tabela_referencias_rais$ref),]
tabela_referencias_rais$ref <- as.character(tabela_referencias_rais$ref)
lista_anos_bases_rais <- c(tabela_referencias_rais$ref)
box(width = 12,
solidHeader = TRUE,
collapsible = FALSE,
collapsed = TRUE,
title = "Período de Tempo",
fluidRow(column(12,
sliderTextInput(
ns("periodo_tempo"),
label = NULL,
choices = lista_anos_bases_rais,
selected = lista_anos_bases_rais[c(length(lista_anos_bases_rais)-1, length(lista_anos_bases_rais))]
)
))
)
})
}
})
# setwd("C:\\Users\\luqui\\Documents\\projeto-master\\projeto-master")
# setwd("C:\\Users\\leand\\Desktop\\Sistema genérico MDO\\Nova pasta\\projeto-master\\projeto-master")
limpar_dados <- function(){
rm(list = ls(all.names = TRUE))
gc()
}
info <- as.data.frame(Sys.info())
info$coluna <- rownames(info)
info <- subset(info, coluna == "user")
memory.limit(1000000000)
# caged <- RSQLite::dbConnect(RSQLite::SQLite(), dbname = "\\\\RDPDC1VPR0033\\IBRE-DNIT-Sata\\BD\\CAGED.sqlite")
# canal <- RSQLite::dbConnect(SQLite(), dbname = "\\\\RDPDC1VPR0033\\IBRE-DNIT-Sata\\BD\\banco_de_dados.sqlite")
# canal <- bd
session$onSessionEnded(function(session){
# dbDisconnect(canal)
dbDisconnect(caged)
dbDisconnect(rais)
if(file.exists(paste0("dados_", as.character(info[1, 1])))){file.remove(paste0("dados_", as.character(info[1, 1])))}
# if(file.exists(paste0("contagem"))){file.remove(paste0("contagem"))}
# if(file.exists(paste0("cbo_", as.character(info[1, 1])))){file.remove(paste0("cbo_", as.character(info[1, 1])))}
# if(file.exists(paste0("cnae_", as.character(info[1, 1])))){file.remove(paste0("cnae_", as.character(info[1, 1])))}
# if(file.exists(paste0("municipio_", as.character(info[1, 1])))){file.remove(paste0("municipio_", as.character(info[1, 1])))}
# if(file.exists(paste0("municipio_1_", as.character(info[1, 1])))){file.remove(paste0("municipio_1_", as.character(info[1, 1])))}
if(file.exists(paste0("caged_filtrado_", as.character(info[1, 1])))){file.remove(paste0("caged_filtrado_", as.character(info[1, 1])))}
if(file.exists(paste0("caged_filtrado2_", as.character(info[1, 1])))){file.remove(paste0("caged_filtrado2_", as.character(info[1, 1])))}
if(file.exists(paste0("caged_filtrado_UF_", as.character(info[1, 1])))){file.remove(paste0("caged_filtrado_UF_", as.character(info[1, 1])))}
if(file.exists(paste0("caged_filtrado_UF_ref_", as.character(info[1, 1])))){file.remove(paste0("caged_filtrado_UF_ref_", as.character(info[1, 1])))}
if(file.exists(paste0("caged_filtrado_municipio_", as.character(info[1, 1])))){file.remove(paste0("caged_filtrado_municipio_", as.character(info[1, 1])))}
if(file.exists(paste0("caged_filtrado_municipio_ref_", as.character(info[1, 1])))){file.remove(paste0("caged_filtrado_municipio_ref_", as.character(info[1, 1])))}
if(file.exists(paste0("rais_filtrado_", as.character(info[1, 1])))){file.remove(paste0("rais_filtrado_", as.character(info[1, 1])))}
if(file.exists(paste0("rais_filtrado2_", as.character(info[1, 1])))){file.remove(paste0("rais_filtrado2_", as.character(info[1, 1])))}
if(file.exists(paste0("rais_filtrado_UF_", as.character(info[1, 1])))){file.remove(paste0("rais_filtrado_UF_", as.character(info[1, 1])))}
if(file.exists(paste0("rais_filtrado_UF_ref_", as.character(info[1, 1])))){file.remove(paste0("rais_filtrado_UF_ref_", as.character(info[1, 1])))}
if(file.exists(paste0("rais_filtrado_municipio_", as.character(info[1, 1])))){file.remove(paste0("rais_filtrado_municipio_", as.character(info[1, 1])))}
if(file.exists(paste0("rais_filtrado_municipio_ref_", as.character(info[1, 1])))){file.remove(paste0("rais_filtrado_municipio_ref_", as.character(info[1, 1])))}
})
# municipio <- data.frame("Código" = c(""),
# "Município" = c(""), stringsAsFactors = FALSE)
# saveRDS(municipio, file = paste0("municipio_1_", as.character(info[1, 1])))
# saveRDS(DadosUser, file = paste0("dados_", as.character(info[1, 1])))
dados_user <- Dados::DadosUser
saveRDS(dados_user, file = paste0("dados_", as.character(info[1,1])))
carrega_municipios_selecionados <- function(){
output$municipios_selecionados <- DT::renderDataTable(datatable(
municipio <- readRDS(file = paste0("dados_", as.character(info[1,1])))$Caged$`Município_1`
# municipio <- as.data.frame(municipio$`Município_1`)
# municipio
, options = list(pageLength = 8, dom= 'ftp'), colnames = c("Código", "Município"),
rownames = FALSE
))
}
carrega_municipios_selecionados()
# sqlOutput_regiao <- paste('SELECT DISTINCT nome_grande_regiao FROM municipios_caged')
# sqlOutput_regiao <- as.data.frame(RSQLite::dbGetQuery(canal, sqlOutput_regiao))
sqlOutput_regiao <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(nome_grande_regiao) %>% unique()
if (nrow(sqlOutput_regiao>0)) {
reg <- c(sqlOutput_regiao, "TODAS")
updatePickerInput(session, "regiao_caged", choices = reg, selected = "TODAS")
}
observe({
if (input$regiao_caged != "TODAS") {
# sqlOutput_uf <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT sigla_uf FROM municipios_caged WHERE nome_grande_regiao = '" ,input$regiao_caged,"' ")) %>% as.data.frame()
sqlOutput_uf <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(nome_grande_regiao == input$regiao_caged) %>% dplyr::select(sigla_uf) %>% unique()
reg <- c(sqlOutput_uf, "TODAS")
updatePickerInput(session, "uf_caged", choices = reg, selected = "TODAS")
}
})
observe({
if (input$uf_caged != "TODAS" & input$regiao_caged != "TODAS") {
# sqlOutput_municipio <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT nome_municipio FROM municipios_caged WHERE sigla_uf = '" ,input$uf_caged,"' ")) %>% as.data.frame()
sqlOutput_municipio <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(sigla_uf == input$uf_caged) %>% dplyr::select(nome_municipio) %>% unique()
muni <- c(sqlOutput_municipio)
updatePickerInput(session, "municipio_caged", choices = muni)
}else{
muni <- c("")
updatePickerInput(session, "municipio_caged", choices = muni)
}
})
observeEvent(input$add_mun, {
if(input$municipio_caged == ""){
if(input$uf_caged == "TODAS"){
if(input$regiao_caged == "TODAS"){
}else{
# sqlOutput_regiao <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT codigo_grande_regiao, nome_grande_regiao FROM municipios_caged WHERE nome_grande_regiao = '" ,input$regiao_caged,"' ")) %>% as.data.frame()
sqlOutput_regiao <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(nome_grande_regiao == input$regiao_caged) %>% dplyr::select(codigo_grande_regiao, nome_grande_regiao) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
municipio <- dados_geral$Caged$Município_1
names(sqlOutput_regiao)[1] <- "Código"
names(sqlOutput_regiao)[2] <- "Município"
municipio <- rbind(municipio, sqlOutput_regiao)
municipio <- municipio %>% unique()
dados_geral$Caged$Município_1 <- municipio
dados_geral$Rais$Município_1 <- municipio
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_municipios_selecionados()
}
}else{
# sqlOutput_uf <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT codigo_uf, sigla_uf FROM municipios_caged WHERE sigla_uf = '" ,input$uf_caged,"' ")) %>% as.data.frame()
sqlOutput_uf <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(sigla_uf == input$uf_caged) %>% dplyr::select(codigo_uf, sigla_uf) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
municipio <- dados_geral$Caged$Município_1
names(sqlOutput_uf)[1] <- "Código"
names(sqlOutput_uf)[2] <- "Município"
municipio <- rbind(municipio, sqlOutput_uf)
municipio <- municipio %>% unique()
dados_geral$Caged$Município_1 <- municipio
dados_geral$Rais$Município_1 <- municipio
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_municipios_selecionados()
}
}else{
# sqlOutput_mun <- RSQLite::dbGetQuery(canal, paste0('SELECT DISTINCT codigo_municipio, nome_municipio FROM municipios_caged WHERE nome_municipio = "' , input$municipio_caged, '" AND sigla_uf = "', input$uf_caged, '"')) %>% as.data.frame()
sqlOutput_mun <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(nome_municipio == input$municipio_caged & sigla_uf == input$uf_caged) %>% dplyr::select(codigo_municipio, nome_municipio) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
municipio <- dados_geral$Caged$Município_1
names(sqlOutput_mun)[1] <- "Código"
names(sqlOutput_mun)[2] <- "Município"
municipio <- rbind(municipio, sqlOutput_mun)
municipio <- municipio %>% unique()
dados_geral$Caged$Município_1 <- municipio
dados_geral$Rais$Município_1 <- municipio
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_municipios_selecionados()
}
})
observeEvent(input$limpar_municipio, {
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
municipio <- data.frame("Código" = c(""),
"Município" = c(""), stringsAsFactors = FALSE)
dados_geral$Caged$Município_1 <- municipio
dados_geral$Rais$Município_1 <- municipio
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_municipios_selecionados()
})
# sqlOutput_cbo_grande_grupo <- as.data.frame(RSQLite::dbGetQuery(canal, paste('SELECT DISTINCT codigo_grande_grupo, descricao_grande_grupo FROM cbo_caged')))
sqlOutput_cbo_grande_grupo <- Dados::ListaCbos %>% as.data.frame() %>% dplyr::select(codigo_grande_grupo, descricao_grande_grupo) %>% unique()
if (nrow(sqlOutput_cbo_grande_grupo>0)) {
reg <- "list("
for (xx in 1:nrow(sqlOutput_cbo_grande_grupo)) {
reg <- paste0(reg, "'", sqlOutput_cbo_grande_grupo[xx, 1], " - ", sqlOutput_cbo_grande_grupo[xx, 2], "' = ", sqlOutput_cbo_grande_grupo[xx, 1], ",")
}
reg <- substr(reg, 1, nchar(reg)-1)
reg <- paste0(reg, ", 'TODAS' = -1)")
# reg <- c(sqlOutput_cbo_grande_grupo, "TODAS")
lista_grande_grupo <- eval(parse(text = reg))
updatePickerInput(session, "grande_grupo", choices = lista_grande_grupo, selected = lista_grande_grupo[[length(lista_grande_grupo)]])
}
# sqlOutput_cnae_secao <- as.data.frame(RSQLite::dbGetQuery(canal, paste('SELECT DISTINCT secao_cnae FROM cnaes_caged')))
sqlOutput_cnae_secao <- Dados::ListaCnaes %>% as.data.frame() %>% dplyr::select(secao_cnae) %>% unique()
if (nrow(sqlOutput_cnae_secao>0)) {
reg <- "list("
for (xx in 1:nrow(sqlOutput_cnae_secao)) {
reg <- paste0(reg, "'Seção ", sqlOutput_cnae_secao[xx, 1], "' = '", sqlOutput_cnae_secao[xx, 1], "',")
}
reg <- substr(reg, 1, nchar(reg)-1)
reg <- paste0(reg, ", 'TODAS' = -1)")
lista_cnae_secao <- eval(parse(text = reg))
updatePickerInput(session, "secao", choices = lista_cnae_secao, selected = lista_cnae_secao[[length(lista_cnae_secao)]])
}
# cbo <- data.frame("Código" = c(""),
# "Descrição" = c(""), stringsAsFactors = FALSE)
#
# saveRDS(cbo, file = paste0("cbo_", as.character(info[1, 1])))
#
# cnae <- data.frame("Código" = c(""),
# "Descrição" = c(""), stringsAsFactors = FALSE)
#
# saveRDS(cnae, file = paste0("cnae_", as.character(info[1, 1])))
carrega_cbos_selecionadas <- function(){
output$cbos_selecionadas <- DT::renderDataTable(datatable(
cbo <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Caged$CBO.2002.Ocupação
, options = list(pageLength = 8, dom= 'ftp'), colnames = c("Código", "Descrição"),
rownames = FALSE
))
}
carrega_cbos_selecionadas()
carrega_cnaes_selecionadas <- function(){
output$cnaes_selecionadas <- DT::renderDataTable(datatable(
cnae <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Caged$CNAE.2.0.Classe
, options = list(pageLength = 8, dom= 'ftp'), colnames = c("Código", "Descrição"),
rownames = FALSE
))
}
carrega_cnaes_selecionadas()
observe({
if(input$grande_grupo != -1) {
# sqlOutput_subgrupo_principal <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT codigo_subgrupo_principal, descricao_subgrupo_principal FROM cbo_caged WHERE codigo_grande_grupo = '" ,input$grande_grupo,"' ")) %>% as.data.frame()
sqlOutput_subgrupo_principal <- Dados::ListaCbos %>% as.data.frame() %>% subset(codigo_grande_grupo == input$grande_grupo) %>% dplyr::select(codigo_subgrupo_principal, descricao_subgrupo_principal) %>% unique()
if(nrow(sqlOutput_subgrupo_principal) > 0) {
reg <- "list("
for (xx in 1:nrow(sqlOutput_subgrupo_principal)) {
reg <- paste0(reg, "'", sqlOutput_subgrupo_principal[xx, 1], " - ", sqlOutput_subgrupo_principal[xx, 2], "' = ", sqlOutput_subgrupo_principal[xx, 1], ",")
}
reg <- substr(reg, 1, nchar(reg)-1)
reg <- paste0(reg, ", 'TODAS' = -1)")
lista_subgrupo_principal <- eval(parse(text = reg))
updatePickerInput(session, "subgrupo_principal", choices = lista_subgrupo_principal, selected = lista_subgrupo_principal[[length(lista_subgrupo_principal)]])
}
else{
lista_subgrupo_principal <- list("TODAS" = -1)
updatePickerInput(session, "subgrupo_principal", choices = lista_subgrupo_principal, selected = lista_subgrupo_principal[[length(lista_subgrupo_principal)]])
}
}
else{
lista_subgrupo_principal <- list("TODAS" = -1)
updatePickerInput(session, "subgrupo_principal", choices = lista_subgrupo_principal, selected = lista_subgrupo_principal[[length(lista_subgrupo_principal)]])
}
})
observe({
if(input$subgrupo_principal != -1) {
# sqlOutput_subgrupo <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT codigo_subgrupo, descricao_subgrupo FROM cbo_caged WHERE codigo_subgrupo_principal = '" ,input$subgrupo_principal,"' ")) %>% as.data.frame()
sqlOutput_subgrupo <- Dados::ListaCbos %>% as.data.frame() %>% subset(codigo_subgrupo_principal == input$subgrupo_principal) %>% dplyr::select(codigo_subgrupo, descricao_subgrupo) %>% unique()
if(nrow(sqlOutput_subgrupo) > 0) {
reg <- "list("
for (xx in 1:nrow(sqlOutput_subgrupo)) {
reg <- paste0(reg, "'", sqlOutput_subgrupo[xx, 1], " - ", sqlOutput_subgrupo[xx, 2], "' = ", sqlOutput_subgrupo[xx, 1], ",")
}
reg <- substr(reg, 1, nchar(reg)-1)
reg <- paste0(reg, ", 'TODAS' = -1)")
lista_subgrupo <- eval(parse(text = reg))
updatePickerInput(session, "subgrupo", choices = lista_subgrupo, selected = lista_subgrupo[[length(lista_subgrupo)]])
}
else{
lista_subgrupo <- list("TODAS" = -1)
updatePickerInput(session, "subgrupo", choices = lista_subgrupo, selected = lista_subgrupo[[length(lista_subgrupo)]])
}
}
else{
lista_subgrupo <- list("TODAS" = -1)
updatePickerInput(session, "subgrupo", choices = lista_subgrupo, selected = lista_subgrupo[[length(lista_subgrupo)]])
}
})
observe({
if(input$subgrupo != -1) {
# sqlOutput_familia <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT codigo_familia, descricao_familia FROM cbo_caged WHERE codigo_subgrupo = '" ,input$subgrupo,"' ")) %>% as.data.frame()
sqlOutput_familia <- Dados::ListaCbos %>% as.data.frame() %>% subset(codigo_subgrupo == input$subgrupo) %>% dplyr::select(codigo_familia, descricao_familia) %>% unique()
if(nrow(sqlOutput_familia) > 0) {
reg <- "list("
for (xx in 1:nrow(sqlOutput_familia)) {
reg <- paste0(reg, "'", sqlOutput_familia[xx, 1], " - ", sqlOutput_familia[xx, 2], "' = ", sqlOutput_familia[xx, 1], ",")
}
reg <- substr(reg, 1, nchar(reg)-1)
reg <- paste0(reg, ", 'TODAS' = -1)")
lista_familia <- eval(parse(text = reg))
updatePickerInput(session, "familia", choices = lista_familia, selected = lista_familia[[length(lista_familia)]])
}
else{
lista_familia <- list("TODAS" = -1)
updatePickerInput(session, "familia", choices = lista_familia, selected = lista_familia[[length(lista_familia)]])
}
}
else{
lista_familia <- list("TODAS" = -1)
updatePickerInput(session, "familia", choices = lista_familia, selected = lista_familia[[length(lista_familia)]])
}
})
observe({
if(input$familia != -1) {
# sqlOutput_ocupacao <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT codigo_ocupacao, descricao_ocupacao FROM cbo_caged WHERE codigo_familia = '" ,input$familia,"' ")) %>% as.data.frame()
sqlOutput_ocupacao <- Dados::ListaCbos %>% as.data.frame() %>% subset(codigo_familia == input$familia) %>% dplyr::select(codigo_ocupacao, descricao_ocupacao) %>% unique()
if(nrow(sqlOutput_ocupacao) > 0) {
reg <- "list("
for (xx in 1:nrow(sqlOutput_ocupacao)) {
reg <- paste0(reg, "'", sqlOutput_ocupacao[xx, 1], " - ", sqlOutput_ocupacao[xx, 2], "' = ", sqlOutput_ocupacao[xx, 1], ",")
}
reg <- substr(reg, 1, nchar(reg)-1)
reg <- paste0(reg, ", 'TODAS' = -1)")
lista_ocupacao <- eval(parse(text = reg))
updatePickerInput(session, "ocupacao", choices = lista_ocupacao, selected = lista_ocupacao[[length(lista_ocupacao)]])
}
else{
lista_ocupacao <- list("TODAS" = -1)
updatePickerInput(session, "ocupacao", choices = lista_ocupacao, selected = lista_ocupacao[[length(lista_ocupacao)]])
}
}
else{
lista_ocupacao <- list("TODAS" = -1)
updatePickerInput(session, "ocupacao", choices = lista_ocupacao, selected = lista_ocupacao[[length(lista_ocupacao)]])
}
})
observeEvent(input$add_cbo, {
if(input$ocupacao == -1){
if(input$familia == -1){
if(input$subgrupo == -1){
if(input$subgrupo_principal == -1){
if(input$grande_grupo == -1){
}else{
# descricao_grande_grupo <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT descricao_grande_grupo FROM cbo_caged WHERE codigo_grande_grupo = '" ,input$grande_grupo,"' ")) %>% as.data.frame()
descricao_grande_grupo <- Dados::ListaCbos %>% as.data.frame() %>% subset(codigo_grande_grupo == input$grande_grupo) %>% dplyr::select(descricao_grande_grupo) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
cbo <- dados_geral$Caged$CBO.2002.Ocupação
nova_cbo <- data.frame("Código" = c(input$grande_grupo),
"Descrição" = c(descricao_grande_grupo[1,1]))
cbo <- rbind(cbo, nova_cbo) %>% unique()
dados_geral$Caged$CBO.2002.Ocupação <- cbo
dados_geral$Rais$CBO.2002.Ocupação <- cbo
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_cbos_selecionadas()
}
}else{
# descricao_subgrupo_principal <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT descricao_subgrupo_principal FROM cbo_caged WHERE codigo_subgrupo_principal = '" ,input$subgrupo_principal,"' ")) %>% as.data.frame()
descricao_subgrupo_principal <- Dados::ListaCbos %>% as.data.frame() %>% subset(codigo_subgrupo_principal == input$subgrupo_principal) %>% dplyr::select(descricao_subgrupo_principal) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
cbo <- dados_geral$Caged$CBO.2002.Ocupação
nova_cbo <- data.frame("Código" = c(input$subgrupo_principal),
"Descrição" = c(descricao_subgrupo_principal[1,1]))
cbo <- rbind(cbo, nova_cbo) %>% unique()
dados_geral$Caged$CBO.2002.Ocupação <- cbo
dados_geral$Rais$CBO.2002.Ocupação <- cbo
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_cbos_selecionadas()
}
}else{
# descricao_subgrupo <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT descricao_subgrupo FROM cbo_caged WHERE codigo_subgrupo = '" ,input$subgrupo,"' ")) %>% as.data.frame()
descricao_subgrupo <- Dados::ListaCbos %>% as.data.frame() %>% subset(codigo_subgrupo == input$subgrupo) %>% dplyr::select(descricao_subgrupo) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
cbo <- dados_geral$Caged$CBO.2002.Ocupação
nova_cbo <- data.frame("Código" = c(input$subgrupo),
"Descrição" = c(descricao_subgrupo[1,1]))
cbo <- rbind(cbo, nova_cbo) %>% unique()
dados_geral$Caged$CBO.2002.Ocupação <- cbo
dados_geral$Rais$CBO.2002.Ocupação <- cbo
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_cbos_selecionadas()
}
}else{
# descricao_familia <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT descricao_familia FROM cbo_caged WHERE codigo_familia = '" ,input$familia,"' ")) %>% as.data.frame()
descricao_familia <- Dados::ListaCbos %>% as.data.frame() %>% subset(codigo_familia == input$familia) %>% dplyr::select(descricao_familia) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
cbo <- dados_geral$Caged$CBO.2002.Ocupação
nova_cbo <- data.frame("Código" = c(input$familia),
"Descrição" = c(descricao_familia[1,1]))
cbo <- rbind(cbo, nova_cbo) %>% unique()
dados_geral$Caged$CBO.2002.Ocupação <- cbo
dados_geral$Rais$CBO.2002.Ocupação <- cbo
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_cbos_selecionadas()
}
}else{
# descricao_ocupacao <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT descricao_ocupacao FROM cbo_caged WHERE codigo_ocupacao = '" ,input$ocupacao,"' ")) %>% as.data.frame()
descricao_ocupacao <- Dados::ListaCbos %>% as.data.frame() %>% subset(codigo_ocupacao == input$ocupacao) %>% dplyr::select(descricao_ocupacao) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
cbo <- dados_geral$Caged$CBO.2002.Ocupação
nova_cbo <- data.frame("Código" = c(input$ocupacao),
"Descrição" = c(descricao_ocupacao[1,1]))
cbo <- rbind(cbo, nova_cbo) %>% unique()
dados_geral$Caged$CBO.2002.Ocupação <- cbo
dados_geral$Rais$CBO.2002.Ocupação <- cbo
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_cbos_selecionadas()
}
})
observeEvent(input$limpar_cbo, {
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
cbo <- data.frame("Código" = c(""),
"Descrição" = c(""), stringsAsFactors = FALSE)
dados_geral$Caged$CBO.2002.Ocupação <- cbo
dados_geral$Rais$CBO.2002.Ocupação <- cbo
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_cbos_selecionadas()
})
observeEvent(input$add_cnae, {
if(input$classe == -1){
if(input$grupo == -1){
if(input$divisao == -1){
if(input$secao == -1){
}else{
# divisoes_da_secao <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT divisao_cnae, descricao_divisao FROM cnaes_caged WHERE secao_cnae = '" ,input$secao,"' ")) %>% as.data.frame()
divisoes_da_secao <- Dados::ListaCnaes %>% as.data.frame() %>% subset(secao_cnae == input$secao) %>% dplyr::select(divisao_cnae, descricao_divisao) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
cnae <- dados_geral$Caged$CNAE.2.0.Classe
names(divisoes_da_secao)[1] <- "Código"
names(divisoes_da_secao)[2] <- "Descrição"
cnae <- rbind(cnae, divisoes_da_secao) %>% unique()
dados_geral$Caged$CNAE.2.0.Classe <- cnae
dados_geral$Rais$CNAE.2.0.Classe <- cnae
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_cnaes_selecionadas()
}
}else{
# descricao_divisao <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT descricao_divisao FROM cnaes_caged WHERE divisao_cnae = '" ,input$divisao,"' ")) %>% as.data.frame()
descricao_divisao <- Dados::ListaCnaes %>% as.data.frame() %>% subset(divisao_cnae == input$divisao) %>% dplyr::select(descricao_divisao) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
cnae <- dados_geral$Caged$CNAE.2.0.Classe
nova_cnae <- data.frame("Código" = c(input$divisao),
"Descrição" = c(descricao_divisao[1,1]))
cnae <- rbind(cnae, nova_cnae) %>% unique()
dados_geral$Caged$CNAE.2.0.Classe <- cnae
dados_geral$Rais$CNAE.2.0.Classe <- cnae
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_cnaes_selecionadas()
}
}else{
# descricao_grupo <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT descricao_grupo FROM cnaes_caged WHERE grupo_cnae = '" ,input$grupo,"' ")) %>% as.data.frame()
descricao_grupo <- Dados::ListaCnaes %>% as.data.frame() %>% subset(grupo_cnae == input$grupo) %>% dplyr::select(descricao_grupo) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
cnae <- dados_geral$Caged$CNAE.2.0.Classe
nova_cnae <- data.frame("Código" = c(input$grupo),
"Descrição" = c(descricao_grupo[1,1]))
cnae <- rbind(cnae, nova_cnae) %>% unique()
dados_geral$Caged$CNAE.2.0.Classe <- cnae
dados_geral$Rais$CNAE.2.0.Classe <- cnae
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_cnaes_selecionadas()
}
}else{
# descricao_classe <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT descricao_cnae FROM cnaes_caged WHERE classe_cnae = '" ,input$classe,"' ")) %>% as.data.frame()
descricao_classe <- Dados::ListaCnaes %>% as.data.frame() %>% subset(classe_cnae == input$classe) %>% dplyr::select(descricao_cnae) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
cnae <- dados_geral$Caged$CNAE.2.0.Classe
nova_cnae <- data.frame("Código" = c(input$classe),
"Descrição" = c(descricao_classe[1,1]))
cnae <- rbind(cnae, nova_cnae) %>% unique()
dados_geral$Caged$CNAE.2.0.Classe <- cnae
dados_geral$Rais$CNAE.2.0.Classe <- cnae
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_cnaes_selecionadas()
}
})
observeEvent(input$limpar_cnae, {
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
cnae <- data.frame("Código" = c(""),
"Descrição" = c(""), stringsAsFactors = FALSE)
dados_geral$Caged$CNAE.2.0.Classe <- cnae
dados_geral$Rais$CNAE.2.0.Classe <- cnae
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_cnaes_selecionadas()
})
# Carrega seção CNAE
observe({
if(input$secao != -1) {
# sqlOutput_divisao_cnae <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT divisao_cnae, descricao_divisao FROM cnaes_caged WHERE secao_cnae = '" ,input$secao,"' ")) %>% as.data.frame()
sqlOutput_divisao_cnae <- Dados::ListaCnaes %>% as.data.frame() %>% subset(secao_cnae == input$secao) %>% dplyr::select(divisao_cnae, descricao_divisao) %>% unique()
if(nrow(sqlOutput_divisao_cnae) > 0) {
reg <- "list("
for (xx in 1:nrow(sqlOutput_divisao_cnae)) {
reg <- paste0(reg, "'", sqlOutput_divisao_cnae[xx, 1], " - ", sqlOutput_divisao_cnae[xx, 2], "' = ", sqlOutput_divisao_cnae[xx, 1], ",")
}
reg <- substr(reg, 1, nchar(reg)-1)
reg <- paste0(reg, ", 'TODAS' = -1)")
lista_divisao_cnae <- eval(parse(text = reg))
updatePickerInput(session, "divisao", choices = lista_divisao_cnae, selected = lista_divisao_cnae[[length(lista_divisao_cnae)]])
}
else{
lista_divisao_cnae <- list("TODAS" = -1)
updatePickerInput(session, "divisao", choices = lista_divisao_cnae, selected = lista_divisao_cnae[[length(lista_divisao_cnae)]])
}
}
else{
lista_divisao_cnae <- list("TODAS" = -1)
updatePickerInput(session, "divisao", choices = lista_divisao_cnae, selected = lista_divisao_cnae[[length(lista_divisao_cnae)]])
}
})
observe({
if(input$divisao != -1) {
# sqlOutput_grupo_cnae <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT grupo_cnae, descricao_grupo FROM cnaes_caged WHERE divisao_cnae = '" ,input$divisao,"' ")) %>% as.data.frame()
sqlOutput_grupo_cnae <- Dados::ListaCnaes %>% as.data.frame() %>% subset(divisao_cnae == input$divisao) %>% dplyr::select(grupo_cnae, descricao_grupo) %>% unique()
if(nrow(sqlOutput_grupo_cnae) > 0) {
reg <- "list("
for (xx in 1:nrow(sqlOutput_grupo_cnae)) {
reg <- paste0(reg, "'", sqlOutput_grupo_cnae[xx, 1], " - ", sqlOutput_grupo_cnae[xx, 2], "' = ", sqlOutput_grupo_cnae[xx, 1], ",")
}
reg <- substr(reg, 1, nchar(reg)-1)
reg <- paste0(reg, ", 'TODAS' = -1)")
lista_grupo_cnae <- eval(parse(text = reg))
updatePickerInput(session, "grupo", choices = lista_grupo_cnae, selected = lista_grupo_cnae[[length(lista_grupo_cnae)]])
}
else{
lista_grupo_cnae <- list("TODAS" = -1)
updatePickerInput(session, "grupo", choices = lista_grupo_cnae, selected = lista_grupo_cnae[[length(lista_grupo_cnae)]])
}
}
else{
lista_grupo_cnae <- list("TODAS" = -1)
updatePickerInput(session, "grupo", choices = lista_grupo_cnae, selected = lista_grupo_cnae[[length(lista_grupo_cnae)]])
}
})
observe({
if(input$grupo != -1) {
# sqlOutput_classe_cnae <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT classe_cnae, descricao_cnae FROM cnaes_caged WHERE grupo_cnae = '" ,input$grupo,"' ")) %>% as.data.frame()
sqlOutput_classe_cnae <- Dados::ListaCnaes %>% as.data.frame() %>% subset(grupo_cnae == input$grupo) %>% dplyr::select(classe_cnae, descricao_cnae) %>% unique()
if(nrow(sqlOutput_classe_cnae) > 0) {
reg <- "list("
for (xx in 1:nrow(sqlOutput_classe_cnae)) {
reg <- paste0(reg, "'", sqlOutput_classe_cnae[xx, 1], " - ", sqlOutput_classe_cnae[xx, 2], "' = ", sqlOutput_classe_cnae[xx, 1], ",")
}
reg <- substr(reg, 1, nchar(reg)-1)
reg <- paste0(reg, ", 'TODAS' = -1)")
lista_classe_cnae <- eval(parse(text = reg))
updatePickerInput(session, "classe", choices = lista_classe_cnae, selected = lista_classe_cnae[[length(lista_classe_cnae)]])
}
else{
lista_classe_cnae <- list("TODAS" = -1)
updatePickerInput(session, "classe", choices = lista_classe_cnae, selected = lista_classe_cnae[[length(lista_classe_cnae)]])
}
}
else{
lista_classe_cnae <- list("TODAS" = -1)
updatePickerInput(session, "classe", choices = lista_classe_cnae, selected = lista_classe_cnae[[length(lista_classe_cnae)]])
}
})
# Evento que filtra os dados iniciais do CAGED ou RAIS pelo tempo, CBO e CNAE
observeEvent(input$filtro_primario, {
memory.limit(1000000000)
# showModal(tags$div(id="carregando",modalDialog(
# fluidRow(
#
# column(width = 12, align = "center",
#
# progressBar(id = "pb4", value = 0, display_pct = TRUE, striped = TRUE)
#
# )
#
# ),
# footer=NULL)))
shinybusy::show_modal_spinner()
inicio_calculo <- Sys.time()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
dados_geral$Caged$Competência.Declarada[1] <- input$periodo_tempo[1]
dados_geral$Rais$Competência.Declarada[1] <- input$periodo_tempo[1]
dados_geral$Caged$Competência.Declarada[2] <- input$periodo_tempo[2]
dados_geral$Rais$Competência.Declarada[2] <- input$periodo_tempo[2]
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
if(seletor_base() == TRUE){
# Verifica as CBOs adicionadas na tabela para fazer parte da seleção no banco de dados
cbos_selecionadas_filtro <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Caged$CBO.2002.Ocupação
cbos_selecionadas_filtro <- subset(cbos_selecionadas_filtro, `Código` != "")
if(nrow(cbos_selecionadas_filtro) == 0){
texto_cbo <- ""
}else{
texto_cbo <- " AND ("
for(xx in 1:nrow(cbos_selecionadas_filtro)) {
texto_cbo <- paste0(texto_cbo, "SUBSTR(`CBO.2002.Ocupação`, 1, ", nchar(as.character(cbos_selecionadas_filtro$Código[xx])), ") = '", cbos_selecionadas_filtro$Código[xx], "' OR ")
}
texto_cbo <- substr(texto_cbo, 1, nchar(texto_cbo)-4)
texto_cbo <- paste0(texto_cbo, ")")
}
# Verifica as CNAEs adicionadas na tabela para fazer parte da seleção no banco de dados
cnaes_selecionadas_filtro <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Caged$CNAE.2.0.Classe
cnaes_selecionadas_filtro <- subset(cnaes_selecionadas_filtro, `Código` != "")
if(nrow(cnaes_selecionadas_filtro) == 0){
texto_cnae <- ""
}else{
texto_cnae <- " AND ("
for(xx in 1:nrow(cnaes_selecionadas_filtro)) {
texto_cnae <- paste0(texto_cnae, "SUBSTR(`CNAE.2.0.Classe`, 1, ", nchar(as.character(cnaes_selecionadas_filtro$Código[xx])), ") = '", cnaes_selecionadas_filtro$Código[xx], "' OR ")
}
texto_cnae <- substr(texto_cnae, 1, nchar(texto_cnae)-4)
texto_cnae <- paste0(texto_cnae, ")")
}
# Verifica os Municipios adicionadas na tabela para fazer parte da seleção no banco de dados
municipio <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Caged$Município_1
municipio <- municipio[-1,]
if(nrow(municipio) == 0){
texto_municipio <- ""
}else{
texto_municipio <- " AND ("
for(xx in 1:nrow(municipio)) {
if(nchar(as.character(municipio$Código[xx])) == 7){
texto_municipio <- paste0(texto_municipio, "SUBSTR(`Município`, 1, 6) = '", substr(municipio$Código[xx], 1, 6), "' OR ")
}else{
texto_municipio <- paste0(texto_municipio, "SUBSTR(`Município`, 1, ", nchar(as.character(municipio$Código[xx])), ") = '", municipio$Código[xx], "' OR ")
}
}
texto_municipio <- substr(texto_municipio, 1, nchar(texto_municipio)-4)
texto_municipio <- paste0(texto_municipio, ")")
}
# caged <- RSQLite::dbConnect(SQLite(), dbname = paste0("c:\\BD", "\\", "CAGED.sqlite"))
ListaReferencias <- data.frame(tabela = RSQLite::dbListTables(caged))
ListaReferencias$referencia <- as.numeric(substr(ListaReferencias$tabela, 7, 12))
ListaReferencias <- ListaReferencias[order(ListaReferencias$referencia),]
ListaReferencias <- subset(ListaReferencias, ListaReferencias$referencia >= input$periodo_tempo[1] & ListaReferencias$referencia <= input$periodo_tempo[2])
TextoBuscaCaged <- ""
for (xxx in 1:nrow(ListaReferencias)) {
TextoBuscaCaged <- paste0(TextoBuscaCaged, "SELECT * FROM caged_", as.character(ListaReferencias$referencia[xxx]), " WHERE 1 = 1", texto_cbo, texto_cnae, texto_municipio, " UNION ALL ")
}
TextoBuscaCaged <- substr(TextoBuscaCaged, 1, nchar(TextoBuscaCaged) - 11)
print(TextoBuscaCaged)
# Realiza a seleção no banco de dados em função do período selecionado, CBOs e CNAEs
# base_dados <- RSQLite::dbGetQuery(caged, paste0("SELECT * FROM caged WHERE `Competência.Declarada` BETWEEN ", input$periodo_tempo[1], " AND ", input$periodo_tempo[2], texto_cbo, texto_cnae, texto_municipio)) %>% as.data.frame()
base_dados <- RSQLite::dbGetQuery(caged, paste0(TextoBuscaCaged)) %>% as.data.frame()
# contagem <- RSQLite::dbGetQuery(caged, paste0("SELECT Total.`Competência.Declarada`, Total.AmostrasTotal, Entrada.AmostrasEntrada FROM (SELECT `Competência.Declarada`, COUNT(`Competência.Declarada`) AS AmostrasEntrada FROM caged WHERE `Admitidos.Desligados` = 1", texto_cbo, texto_cnae, texto_municipio, " GROUP BY `Competência.Declarada`) AS Entrada LEFT JOIN (SELECT `Competência.Declarada`, COUNT(`Competência.Declarada`) AS AmostrasTotal FROM caged WHERE 1 = 1", texto_cbo, texto_cnae, texto_municipio, " GROUP BY `Competência.Declarada`) AS Total ON Total.`Competência.Declarada` = Entrada.`Competência.Declarada`")) %>% as.data.frame()
# contagem$AmostrasSaida <- contagem$AmostrasTotal - contagem$AmostrasEntrada
# contagem$AmostrasSaldo <- contagem$AmostrasEntrada - contagem$AmostrasSaida
# contagem <- base_dados %>%
# dplyr::group_by(Competência.Declarada) %>%
# dplyr::mutate(AmostrasTotal = length(Salário.Mensal),
# AmostrasEntrada = length(Salário.Mensal[Admitidos.Desligados == 1]),
# AmostrasSaida = length(Salário.Mensal[Admitidos.Desligados == 2])) %>%
# dplyr::ungroup() %>%
# dplyr::select(Competência.Declarada, AmostrasTotal, AmostrasEntrada, AmostrasSaida)
#
# contagem$AmostrasSaldo <- contagem$AmostrasEntrada - contagem$AmostrasSaida
# saveRDS(contagem, file = "contagem")
# base_dados <- base_dados %>%
# dplyr::mutate(media_salario = mean(Salário.Mensal),
# sd_salario = sd(Salário.Mensal))
#
# if(is.null(input$corte_salario_minimo)){
#
#
# }else if(input$corte_salario_minimo == "Corte pelo salário mínimo"){
#
# if(input$salario_minimo != ""){
#
# base_dados <- base_dados %>% subset(Salário.Mensal >= as.numeric(input$salario_minimo))
#
# }
#
# }
#
# if(is.null(input$corte_teto)){
#
#
# }else if(input$corte_teto == "Corte pelo teto"){
#
# if(input$ndp != ""){
#
# base_dados <- base_dados %>% subset(Salário.Mensal <= as.numeric(input$ndp) * sd_salario + media_salario)
#
# }
#
# }
# Cria colunas calculadas com os dados gerais
base_dados <- base_dados %>%
dplyr::mutate(media_salario = mean(Salário.Mensal, na.rm = TRUE),
sd_salario = sd(Salário.Mensal, na.rm = TRUE),
n_amostras = length(Salário.Mensal),
n_entrada = length(Salário.Mensal[Admitidos.Desligados == 1]),
n_saida = length(Salário.Mensal[Admitidos.Desligados == 2]),
media_salario_entrada = mean(Salário.Mensal[Admitidos.Desligados == 1], na.rm = TRUE),
media_salario_saida = mean(Salário.Mensal[Admitidos.Desligados == 2], na.rm = TRUE),
media_permanencia = mean(Tempo.Emprego, na.rm = TRUE))
# Cria colunas calculadas baseada na referência e Município
base_dados <- base_dados %>%
dplyr::group_by(Competência.Declarada, Município) %>%
dplyr::mutate(media_salario_municipio_ref = mean(Salário.Mensal, na.rm = TRUE),
sd_salario_municipio_ref = sd(Salário.Mensal, na.rm = TRUE),
n_amostras_municipio_ref = length(Salário.Mensal),
n_entrada_municipio_ref = length(Salário.Mensal[Admitidos.Desligados == 1]),
n_saida_municipio_ref = length(Salário.Mensal[Admitidos.Desligados == 2]),
media_salario_entrada_municipio_ref = mean(Salário.Mensal[Admitidos.Desligados == 1], na.rm = TRUE),
media_salario_saida_municipio_ref = mean(Salário.Mensal[Admitidos.Desligados == 2], na.rm = TRUE),
media_permanencia_municipio_ref = mean(Tempo.Emprego, na.rm = TRUE)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada no Município
base_dados <- base_dados %>%
dplyr::group_by(Município) %>%
dplyr::mutate(media_salario_municipio = mean(Salário.Mensal, na.rm = TRUE),
sd_salario_municipio = sd(Salário.Mensal, na.rm = TRUE),
n_amostras_municipio = length(Salário.Mensal),
n_entrada_municipio = length(Salário.Mensal[Admitidos.Desligados == 1]),
n_saida_municipio = length(Salário.Mensal[Admitidos.Desligados == 2]),
media_salario_entrada_municipio = mean(Salário.Mensal[Admitidos.Desligados == 1], na.rm = TRUE),
media_salario_saida_municipio = mean(Salário.Mensal[Admitidos.Desligados == 2], na.rm = TRUE),
media_permanencia_municipio = mean(Tempo.Emprego, na.rm = TRUE)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada na referência e UF
base_dados <- base_dados %>%
dplyr::group_by(Competência.Declarada, UF) %>%
dplyr::mutate(media_salario_uf_ref = mean(Salário.Mensal, na.rm = TRUE),
sd_salario_uf_ref = sd(Salário.Mensal, na.rm = TRUE),
n_amostras_uf_ref = length(Salário.Mensal),
n_entrada_uf_ref = length(Salário.Mensal[Admitidos.Desligados == 1]),
n_saida_uf_ref = length(Salário.Mensal[Admitidos.Desligados == 2]),
media_salario_entrada_uf_ref = mean(Salário.Mensal[Admitidos.Desligados == 1], na.rm = TRUE),
media_salario_saida_uf_ref = mean(Salário.Mensal[Admitidos.Desligados == 2], na.rm = TRUE),
media_permanencia_uf_ref = mean(Tempo.Emprego, na.rm = TRUE)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada na UF
base_dados <- base_dados %>%
dplyr::group_by(UF) %>%
dplyr::mutate(media_salario_uf = mean(Salário.Mensal, na.rm = TRUE),
sd_salario_uf = sd(Salário.Mensal, na.rm = TRUE),
n_amostras_uf = length(Salário.Mensal),
n_entrada_uf = length(Salário.Mensal[Admitidos.Desligados == 1]),
n_saida_uf = length(Salário.Mensal[Admitidos.Desligados == 2]),
media_salario_entrada_uf = mean(Salário.Mensal[Admitidos.Desligados == 1], na.rm = TRUE),
media_salario_saida_uf = mean(Salário.Mensal[Admitidos.Desligados == 2], na.rm = TRUE),
media_permanencia_uf = mean(Tempo.Emprego, na.rm = TRUE)) %>%
dplyr::ungroup()
# Salva os dados filtrados
saveRDS(base_dados, file = paste0("caged_filtrado_", as.character(info[1, 1])))
saveRDS(base_dados, file = paste0("caged_filtrado2_", as.character(info[1, 1])))
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
dados_geral$Caged$Salário.Mensal <- c(min(base_dados$Salário.Mensal),max(base_dados$Salário.Mensal))
dados_geral$Caged$Salário.MensalMinMax <- c(min(base_dados$Salário.Mensal),max(base_dados$Salário.Mensal))
dados_geral$Caged$Idade <- c(min(base_dados$Idade),max(base_dados$Idade))
dados_geral$Caged$IdadeMinMax <- c(min(base_dados$Idade),max(base_dados$Idade))
dados_geral$Caged$Qtd.Hora.Contrat <- c(min(base_dados$Qtd.Hora.Contrat),max(base_dados$Qtd.Hora.Contrat))
dados_geral$Caged$Qtd.Hora.ContratMinMax <- c(min(base_dados$Qtd.Hora.Contrat),max(base_dados$Qtd.Hora.Contrat))
dados_geral$Caged$SalarioMed <- mean(base_dados$Salário.Mensal, na.rm = TRUE)
dados_geral$Caged$SalarioMin <- min(base_dados$Salário.Mensal, na.rm = TRUE)
dados_geral$Caged$SalarioMax <- max(base_dados$Salário.Mensal, na.rm = TRUE)
dados_geral$Caged$SalarioSd <- sd(base_dados$Salário.Mensal, na.rm = TRUE)
dados_geral$Caged$Salario1q <- as.numeric(quantile(base_dados$Salário.Mensal, probs = 0.25, type = 2, na.rm = TRUE))
dados_geral$Caged$Salario2q <- as.numeric(quantile(base_dados$Salário.Mensal, probs = 0.50, type = 2, na.rm = TRUE))
dados_geral$Caged$Salario3q <- as.numeric(quantile(base_dados$Salário.Mensal, probs = 0.75, type = 2, na.rm = TRUE))
dados_geral$Caged$Salario4q <- as.numeric(quantile(base_dados$Salário.Mensal, probs = 1.00, type = 2, na.rm = TRUE))
dados_geral$Caged$AmostrasTotal <- nrow(base_dados)
dados_geral$Caged$AmostrasEntrada <- length(base_dados$Salário.Mensal[base_dados$Admitidos.Desligados == 1])
dados_geral$Caged$AmostrasSaida <- length(base_dados$Salário.Mensal[base_dados$Admitidos.Desligados == 2])
dados_geral$Caged$AmostrasHomens <- length(base_dados$Salário.Mensal[base_dados$Sexo == 1])
dados_geral$Caged$AmostrasMulheres <- length(base_dados$Salário.Mensal[base_dados$Sexo == 2])
dados_geral$Caged$AmostrasHomensFertil <- length(base_dados$Salário.Mensal[base_dados$Sexo == 1 & base_dados$Idade > 15 & base_dados$Idade < 50])
dados_geral$Caged$AmostrasMulheresFertil <- length(base_dados$Salário.Mensal[base_dados$Sexo == 2 & base_dados$Idade > 15 & base_dados$Idade < 50])
dados_geral$Caged$PermanenciaMed <- mean(base_dados$Tempo.Emprego[base_dados$Admitidos.Desligados == 2], na.rm = TRUE)
dados_geral$Caged$PermanenciaMin <- min(base_dados$Tempo.Emprego[base_dados$Admitidos.Desligados == 2], na.rm = TRUE)
dados_geral$Caged$PermanenciaMax <- max(base_dados$Tempo.Emprego[base_dados$Admitidos.Desligados == 2], na.rm = TRUE)
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
base_dados$media_salario_entrada_uf_ref <- ifelse(is.nan(base_dados$media_salario_entrada_uf_ref), 0, base_dados$media_salario_entrada_uf_ref)
base_dados$media_salario_saida_uf_ref <- ifelse(is.nan(base_dados$media_salario_saida_uf_ref), 0, base_dados$media_salario_saida_uf_ref)
base_dados$media_salario_entrada_municipio_ref <- ifelse(is.nan(base_dados$media_salario_entrada_municipio_ref), 0, base_dados$media_salario_entrada_municipio_ref)
base_dados$media_salario_saida_municipio_ref <- ifelse(is.nan(base_dados$media_salario_saida_municipio_ref), 0, base_dados$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"
base_dados <- dplyr::right_join(UFS, base_dados, 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))
base_dados <- dplyr::right_join(MUNI, base_dados, by = "Município")
base_dados_UF_ref <- dplyr::select(base_dados, `Competência.Declarada`, `sigla_uf`, `UF`, media_salario_uf_ref:media_permanencia_uf_ref) %>% unique()
base_dados_UF_ref <- base_dados_UF_ref[order(base_dados_UF_ref$Competência.Declarada, base_dados_UF_ref$UF), ]
base_dados_UF_ref <- dplyr::select(base_dados_UF_ref, `Competência.Declarada`, `sigla_uf`, media_salario_uf_ref:media_permanencia_uf_ref) %>% unique()
base_dados_UF <- dplyr::select(base_dados, `sigla_uf`, `UF`, media_salario_uf:media_permanencia_uf) %>% unique()
base_dados_UF <- base_dados_UF[order(base_dados_UF$UF), ]
base_dados_UF <- dplyr::select(base_dados_UF, `sigla_uf`, media_salario_uf:media_permanencia_uf) %>% unique()
base_dados_municipio_ref <- dplyr::select(base_dados, `Competência.Declarada`, `sigla_uf`, `Município`, `nome_municipio`, media_salario_municipio_ref:media_permanencia_municipio_ref) %>% unique()
base_dados_municipio_ref <- base_dados_municipio_ref[order(base_dados_municipio_ref$Competência.Declarada, base_dados_municipio_ref$Município), ]
base_dados_municipio <- dplyr::select(base_dados, `sigla_uf`, `Município`, `nome_municipio`, media_salario_municipio:media_permanencia_municipio) %>% unique()
base_dados_municipio <- base_dados_municipio[order(base_dados_municipio$Município), ]
# Salva a base para gerar Relatorio por UF e referência
saveRDS(base_dados_UF_ref, file = paste0("caged_filtrado_UF_ref_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por UF
saveRDS(base_dados_UF, file = paste0("caged_filtrado_UF_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por Municipio e referência
saveRDS(base_dados_municipio_ref, file = paste0("caged_filtrado_municipio_ref_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por Municipio
saveRDS(base_dados_municipio, file = paste0("caged_filtrado_municipio_", as.character(info[1, 1])))
}else{
# Verifica as CBOs adicionadas na tabela para fazer parte da seleção no banco de dados
cbos_selecionadas_filtro <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Rais$CBO.2002.Ocupação
cbos_selecionadas_filtro <- subset(cbos_selecionadas_filtro, `Código` != "")
if(nrow(cbos_selecionadas_filtro) == 0){
texto_cbo <- ""
}else{
texto_cbo <- " AND ("
for(xx in 1:nrow(cbos_selecionadas_filtro)) {
texto_cbo <- paste0(texto_cbo, "SUBSTR(`CBO.Ocupação.2002`, 1, ", nchar(as.character(cbos_selecionadas_filtro$Código[xx])), ") = '", cbos_selecionadas_filtro$Código[xx], "' OR ")
}
texto_cbo <- substr(texto_cbo, 1, nchar(texto_cbo)-4)
texto_cbo <- paste0(texto_cbo, ")")
}
# Verifica as CNAEs adicionadas na tabela para fazer parte da seleção no banco de dados
cnaes_selecionadas_filtro <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Rais$CNAE.2.0.Classe
cnaes_selecionadas_filtro <- subset(cnaes_selecionadas_filtro, `Código` != "")
if(nrow(cnaes_selecionadas_filtro) == 0){
texto_cnae <- ""
}else{
texto_cnae <- " AND ("
for(xx in 1:nrow(cnaes_selecionadas_filtro)) {
texto_cnae <- paste0(texto_cnae, "SUBSTR(`CNAE.2.0.Classe`, 1, ", nchar(as.character(cnaes_selecionadas_filtro$Código[xx])), ") = '", cnaes_selecionadas_filtro$Código[xx], "' OR ")
}
texto_cnae <- substr(texto_cnae, 1, nchar(texto_cnae)-4)
texto_cnae <- paste0(texto_cnae, ")")
}
# Verifica os Municipios adicionadas na tabela para fazer parte da seleção no banco de dados
municipio <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Rais$Município_1
municipio <- subset(municipio, `Código` != "")
if(nrow(municipio) == 0){
texto_municipio <- ""
}else{
texto_municipio <- " AND ("
for(xx in 1:nrow(municipio)) {
if(nchar(as.character(municipio$Código[xx])) == 7){
texto_municipio <- paste0(texto_municipio, "SUBSTR(`Município`, 1, 6) = '", substr(municipio$Código[xx], 1, 6), "' OR ")
}else{
texto_municipio <- paste0(texto_municipio, "SUBSTR(`Município`, 1, ", nchar(as.character(municipio$Código[xx])), ") = '", municipio$Código[xx], "' OR ")
}
}
texto_municipio <- substr(texto_municipio, 1, nchar(texto_municipio)-4)
texto_municipio <- paste0(texto_municipio, ")")
}
# rais <- RSQLite::dbConnect(SQLite(), dbname = paste0("c:\\BD", "\\", "RAIS.sqlite"))
ListaReferencias <- data.frame(tabela = RSQLite::dbListTables(rais))
ListaReferencias$referencia <- as.numeric(substr(ListaReferencias$tabela, 6, 9))
ListaReferencias <- ListaReferencias[order(ListaReferencias$referencia),]
ListaReferencias <- subset(ListaReferencias, ListaReferencias$referencia >= input$periodo_tempo[1] & ListaReferencias$referencia <= input$periodo_tempo[2])
TextoBuscaRais <- ""
for (xxx in 1:nrow(ListaReferencias)) {
TextoBuscaRais <- paste0(TextoBuscaRais, "SELECT * FROM rais_", as.character(ListaReferencias$referencia[xxx]), " WHERE 1 = 1", texto_cbo, texto_cnae, texto_municipio, " UNION ALL ")
}
TextoBuscaRais <- substr(TextoBuscaRais, 1, nchar(TextoBuscaRais) - 11)
print(TextoBuscaRais)
# Realiza a seleção no banco de dados em função do período selecionado, CBOs e CNAEs
# base_dados <- RSQLite::dbGetQuery(rais, paste0("SELECT * FROM rais WHERE `ano` BETWEEN ", input$periodo_tempo[1], " AND ", input$periodo_tempo[2], texto_cbo, texto_cnae, texto_municipio)) %>% as.data.frame()
base_dados <- RSQLite::dbGetQuery(rais, paste0(TextoBuscaRais)) %>% as.data.frame()
base_dados$UF <- as.numeric(substr(base_dados$Município, 1, 2))
# Cria colunas calculadas com os dados gerais
base_dados <- base_dados %>%
dplyr::mutate(media_salario = mean(Vl.Remun.Média.Nom),
sd_salario = sd(Vl.Remun.Média.Nom),
n_amostras = length(Vl.Remun.Média.Nom),
n_entrada = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia = mean(Tempo.Emprego))
# Cria colunas calculadas baseada na referência e Município
base_dados <- base_dados %>%
dplyr::group_by(ano, Município) %>%
dplyr::mutate(media_salario_municipio_ref = mean(Vl.Remun.Média.Nom),
sd_salario_municipio_ref = sd(Vl.Remun.Média.Nom),
n_amostras_municipio_ref = length(Vl.Remun.Média.Nom),
n_entrada_municipio_ref = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida_municipio_ref = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada_municipio_ref = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida_municipio_ref = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia_municipio_ref = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada no Município
base_dados <- base_dados %>%
dplyr::group_by(Município) %>%
dplyr::mutate(media_salario_municipio = mean(Vl.Remun.Média.Nom),
sd_salario_municipio = sd(Vl.Remun.Média.Nom),
n_amostras_municipio = length(Vl.Remun.Média.Nom),
n_entrada_municipio = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida_municipio = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada_municipio = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida_municipio = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia_municipio = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada na referência e UF
base_dados <- base_dados %>%
dplyr::group_by(ano, UF) %>%
dplyr::mutate(media_salario_uf_ref = mean(Vl.Remun.Média.Nom),
sd_salario_uf_ref = sd(Vl.Remun.Média.Nom),
n_amostras_uf_ref = length(Vl.Remun.Média.Nom),
n_entrada_uf_ref = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida_uf_ref = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada_uf_ref = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida_uf_ref = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia_uf_ref = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada na UF
base_dados <- base_dados %>%
dplyr::group_by(UF) %>%
dplyr::mutate(media_salario_uf = mean(Vl.Remun.Média.Nom),
sd_salario_uf = sd(Vl.Remun.Média.Nom),
n_amostras_uf = length(Vl.Remun.Média.Nom),
n_entrada_uf = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida_uf = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada_uf = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida_uf = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia_uf = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
# Salva os dados filtrados
saveRDS(base_dados, file = paste0("rais_filtrado_", as.character(info[1, 1])))
saveRDS(base_dados, file = paste0("rais_filtrado2_", as.character(info[1, 1])))
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
dados_geral$Rais$VL.Remun.Méd.Nom <- c(min(base_dados$Vl.Remun.Média.Nom),max(base_dados$Vl.Remun.Média.Nom))
dados_geral$Rais$VL.Remun.Méd.NomMinMax <- c(min(base_dados$Vl.Remun.Média.Nom),max(base_dados$Vl.Remun.Média.Nom))
dados_geral$Rais$Idade <- c(min(base_dados$Idade),max(base_dados$Idade))
dados_geral$Rais$IdadeMinMax <- c(min(base_dados$Idade),max(base_dados$Idade))
dados_geral$Rais$Qtd.Hora.Contr <- c(min(base_dados$Qtd.Hora.Contr),max(base_dados$Qtd.Hora.Contr))
dados_geral$Rais$Qtd.Hora.ContrMinMax <- c(min(base_dados$Qtd.Hora.Contr),max(base_dados$Qtd.Hora.Contr))
dados_geral$Rais$RemuneracaoMed <- mean(base_dados$Vl.Remun.Média.Nom)
dados_geral$Rais$RemuneracaoMin <- min(base_dados$Vl.Remun.Média.Nom)
dados_geral$Rais$RemuneracaoMax <- max(base_dados$Vl.Remun.Média.Nom)
dados_geral$Rais$RemuneracaoSd <- sd(base_dados$Vl.Remun.Média.Nom)
dados_geral$Rais$Remuneracao1q <- as.numeric(quantile(base_dados$Vl.Remun.Média.Nom, probs = 0.25, type = 2))
dados_geral$Rais$Remuneracao2q <- as.numeric(quantile(base_dados$Vl.Remun.Média.Nom, probs = 0.50, type = 2))
dados_geral$Rais$Remuneracao3q <- as.numeric(quantile(base_dados$Vl.Remun.Média.Nom, probs = 0.75, type = 2))
dados_geral$Rais$Remuneracao4q <- as.numeric(quantile(base_dados$Vl.Remun.Média.Nom, probs = 1.00, type = 2))
dados_geral$Rais$RegistrosTotal <- nrow(base_dados)
dados_geral$Rais$RegistrosEntrada <- length(base_dados$Vl.Remun.Média.Nom[base_dados$Vínculo.Ativo.31.12 == 1])
dados_geral$Rais$RegistrosSaida <- length(base_dados$Vl.Remun.Média.Nom[base_dados$Vínculo.Ativo.31.12 == 0])
dados_geral$Rais$RegistrosHomens <- length(base_dados$Vl.Remun.Média.Nom[base_dados$Sexo.Trabalhador == 1])
dados_geral$Rais$RegistrosMulheres <- length(base_dados$Vl.Remun.Média.Nom[base_dados$Sexo.Trabalhador == 2])
dados_geral$Rais$RegistrosHomensFertil <- length(base_dados$Vl.Remun.Média.Nom[base_dados$Sexo.Trabalhador == 1 & base_dados$Idade > 15 & base_dados$Idade < 50])
dados_geral$Rais$RegistrosMulheresFertil <- length(base_dados$Vl.Remun.Média.Nom[base_dados$Sexo.Trabalhador == 2 & base_dados$Idade > 15 & base_dados$Idade < 50])
dados_geral$Rais$PermanenciaMed <- mean(base_dados$Tempo.Emprego[base_dados$Vínculo.Ativo.31.12 == 1])
dados_geral$Rais$PermanenciaMin <- min(base_dados$Tempo.Emprego[base_dados$Vínculo.Ativo.31.12 == 1])
dados_geral$Rais$PermanenciaMax <- max(base_dados$Tempo.Emprego[base_dados$Vínculo.Ativo.31.12 == 1])
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
base_dados$media_salario_entrada_uf_ref <- ifelse(is.nan(base_dados$media_salario_entrada_uf_ref), 0, base_dados$media_salario_entrada_uf_ref)
base_dados$media_salario_saida_uf_ref <- ifelse(is.nan(base_dados$media_salario_saida_uf_ref), 0, base_dados$media_salario_saida_uf_ref)
base_dados$media_salario_entrada_municipio_ref <- ifelse(is.nan(base_dados$media_salario_entrada_municipio_ref), 0, base_dados$media_salario_entrada_municipio_ref)
base_dados$media_salario_saida_municipio_ref <- ifelse(is.nan(base_dados$media_salario_saida_municipio_ref), 0, base_dados$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"
base_dados <- dplyr::right_join(UFS, base_dados, 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))
base_dados <- dplyr::right_join(MUNI, base_dados, by = "Município")
base_dados_UF_ref <- dplyr::select(base_dados, `ano`, `sigla_uf`, `UF`, media_salario_uf_ref:media_permanencia_uf_ref) %>% unique()
base_dados_UF_ref <- base_dados_UF_ref[order(base_dados_UF_ref$ano, base_dados_UF_ref$UF), ]
base_dados_UF_ref <- dplyr::select(base_dados_UF_ref, `ano`, `sigla_uf`, media_salario_uf_ref:media_permanencia_uf_ref) %>% unique()
base_dados_UF <- dplyr::select(base_dados, `sigla_uf`, `UF`, media_salario_uf:media_permanencia_uf) %>% unique()
base_dados_UF <- base_dados_UF[order(base_dados_UF$UF), ]
base_dados_UF <- dplyr::select(base_dados_UF, `sigla_uf`, media_salario_uf:media_permanencia_uf) %>% unique()
base_dados_municipio_ref <- dplyr::select(base_dados, `ano`, `sigla_uf`, `Município`, `nome_municipio`, media_salario_municipio_ref:media_permanencia_municipio_ref) %>% unique()
base_dados_municipio_ref <- base_dados_municipio_ref[order(base_dados_municipio_ref$ano, base_dados_municipio_ref$Município), ]
base_dados_municipio <- dplyr::select(base_dados, `sigla_uf`, `Município`, `nome_municipio`, media_salario_municipio:media_permanencia_municipio) %>% unique()
base_dados_municipio <- base_dados_municipio[order(base_dados_municipio$Município), ]
# Salva a base para gerar Relatorio por UF e referência
saveRDS(base_dados_UF_ref, file = paste0("rais_filtrado_UF_ref_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por UF
saveRDS(base_dados_UF, file = paste0("rais_filtrado_UF_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por Municipio e referência
saveRDS(base_dados_municipio_ref, file = paste0("rais_filtrado_municipio_ref_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por Municipio
saveRDS(base_dados_municipio, file = paste0("rais_filtrado_municipio_", as.character(info[1, 1])))
}
fim_calculo <- Sys.time()
# removeModal()
shinybusy::remove_modal_spinner()
sendSweetAlert(session, title = HTML(paste0("Dados gerados com sucesso!<br>", inicio_calculo, "<br>", fim_calculo)))
limpar_dados()
})
#Selecionar Região/UF
}
## To be copied in the UI
# mod_configuracoes_ui("configuracoes_ui_1")
## To be copied in the server
# callModule(mod_configuracoes_server, "configuracoes_ui_1")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.