# Pacotes -------------------------------------------------------------------
suppressMessages(library(highcharter))
suppressMessages(library(lubridate))
suppressMessages(library(tidyverse))
suppressMessages(library(DT))


# Chains --------------------------------------------------------------------
proposicoes_por_tipo <- . %>%
  group_by(siglaTipo) %>%
  summarise(n = unique(id) %>% length()) %>%
  arrange(-n) %>%
  hchart(type = "column", color = "#28a745", 
         hcaes(y = n, x = siglaTipo, label = siglaTipo)) %>%
  hc_yAxis(title = list(enabled = FALSE),
           labels = list(style = list(fontSize = "16px"))) %>%
  hc_xAxis(title = list(text = "Tipo de Proposição"),
           labels = list(style = list(fontSize = "16px"))) %>%
  hc_tooltip(pointFormat = "<span style=\"color:{series.color}\">Proposições</span>:
             {point.y:,.0f}<br/>", shared = TRUE) %>%
  hc_add_theme(tema_hc)


proposicoes_por_data <- . %>%
  mutate(dataApresentacao = strftime(dataApresentacao,"%d/%m/%Y")) %>%
  hchart(type = "line", color = "#28a745", hcaes(y = n, x = dataApresentacao)) %>%
  hc_yAxis(title = list(enabled = FALSE),
           labels = list(style = list(fontSize = "16px"))) %>%
  hc_xAxis(title = list(text = "Data"),
           labels = list(style = list(fontSize = "16px"))) %>%
  hc_tooltip(pointFormat = "<span style=\"color:{series.color}\">Proposições</span>:
             {point.y:,.0f}<br/>", shared = TRUE)  %>%
  hc_add_theme(tema_hc)


tramitacao <- . %>%
  mutate(dataHora = as.Date(dataHora)) %>%
  filter(dataHora > as.Date(params$ini)) %>%
  group_by(id) %>%
  mutate(acoes = n()) %>%
  arrange(id, -sequencia) %>%
  slice(1) %>%
  summarise(prop = paste0(siglaTipo, " ", numero, "/", ano),
            prop = paste0('<a href="', "https://www.camara.leg.br/proposicoesWeb/fichadetramitacao?idProposicao=", id, '" target="_blank">', prop,'</a>'),
            acoes = acoes[1],
            ementa = ementa[1],
            ultima_acao = descricaoTramitacao,
            local = siglaOrgao, 
            regime = regime) %>%
  arrange(-acoes) %>%
  setNames(c("id", "Proposição", "Ações nos últimos 30 dias", "Ementa", "Status", "Órgão", "Regime de tramitação")) %>%
  select(-id) %>%
  mutate(Ementa = ifelse(is.na(Ementa), " ", Ementa)) %>%
  datatable(rownames = F, escape = FALSE,
            style = 'bootstrap',
            class = "table-hover",
            options = list(
              columnDefs = list(list(
                targets = c(1,2),
                render = JS(
                  "function(data, type, row, meta) {",
                  "return type === 'display' && data.length > 80 ?",
                  "'<span title=\"' + data + '\">' + data.substr(0, 80) + '...</span>' : data;",
                  "}"))),
              pageLength = 10,
              lengthMenu = c(10, 15, 20),
              dom = 'tip',
              language = portugues)
            )


relacionadas <- . %>%
  mutate(data_relacionada = as.Date(data_relacionada)) %>%
  filter(data_relacionada > as.Date(params$ini)) %>%
  group_by(id, siglaTipo, numero, ano) %>%
  summarise(emendas_propostas = sum(relacionadas_siglaTipo %in% c("EMR", "EMC", "SBT", "EMP")),
            emendas_aprovadas = sum(relacionadas_siglaTipo %in% c("SBE-A", "EMC-A", "SBT-A"))) %>%
  ungroup() %>%
  mutate(prop = paste0(siglaTipo, " ", numero, "/", ano),
         prop = paste0('<a href="', "https://www.camara.leg.br/proposicoesWeb/fichadetramitacao?idProposicao=", id, '" target="_blank">', prop,'</a>')) %>%
  select(prop, emendas_propostas, emendas_aprovadas) %>%
  arrange(-emendas_propostas) %>%
  setNames(c("Proposição", "Emendas recebidas nos últimos 30 dias", "Emendas aprovadas nos últimos 30 dias")) %>%
  datatable(rownames = F, escape = FALSE,
            style = 'bootstrap',
            class = "table-hover",
            options = list(
              pageLength = 10,
              lengthMenu = c(10, 15, 20),
              dom = 'tip',
              language = portugues)
  )


# Dados ---------------------------------------------------------------------
ciencia_tecnologia <- get_monitor_data(params$ini, params$end, 62)
economia <- get_monitor_data(params$ini, params$end, 40)
direitos_humanos <- get_monitor_data(params$ini, params$end, 44)
meio_ambiente <- get_monitor_data(params$ini, params$end, 48)
previdencia <- get_monitor_data(params$ini, params$end, 52)
saude <- get_monitor_data(params$ini, params$end, 56)
educacao <- get_monitor_data(params$ini, params$end, 46)
defesa_seguranca <- get_monitor_data(params$ini, params$end, 57)


# Internacionalizacao -------------------------------------------------------
portugues <- RJSONIO::fromJSON('{
    "sEmptyTable": "Nenhum registro encontrado",
                   "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros",
                   "sInfoEmpty": "Mostrando 0 até 0 de 0 registros",
                   "sInfoFiltered": "(Filtrados de _MAX_ registros)",
                   "sInfoPostFix": "",
                   "sInfoThousands": ".",
                   "sLengthMenu": "_MENU_ resultados por página",
                   "sLoadingRecords": "Carregando...",
                   "sProcessing": "Processando...",
                   "sZeroRecords": "Nenhum registro encontrado",
                   "sSearch": "Pesquisar",
                   "oPaginate": {
                   "sNext": "Próximo",
                   "sPrevious": "Anterior",
                   "sFirst": "Primeiro",
                   "sLast": "Último"
                   },
                   "oAria": {
                   "sSortAscending": ": Ordenar colunas de forma ascendente",
                   "sSortDescending": ": Ordenar colunas de forma descendente"
                   }
                   }', encoding = "latin1")


# Data ----------------------------------------------------------------------
hoje <- format(today(), "%d/%m/%Y")
hora <- paste0(hour(Sys.time()), "h", minute(Sys.time()))


# Tema ----------------------------------------------------------------------
tema_hc <- hc_theme(colors = c("#28a745", "#434348", "#90ed7d"),

    chart = list(backgroundColor = "transparent", style = list(fontFamily = "Rasa", fontSize = "18px")),
    xAxis = list(gridLineWidth = 1)
)


# Mensagens -----------------------------------------------------------------
knitr::opts_chunk$set(warning = FALSE, message = FALSE)

Início

Column {data-width=550}

O Monitor

O **Monitor Legislativo** do [Observatório do Legislativo Brasileiro](http://olb.org.br/) é uma ferramenta de acompanhamento da atividade legislativa na Câmara dos Deputados. Com ele, é possível obter informações resumidas, atualizadas diariamente, sobre as iniciativas que estão tramitando em diversas áreas de interesse público, como [Saúde](#saude) e [Educação](#educacao).
*Dados atualizados em: `r paste0(hoje, ", ", hora)`*

Column {data-width=450}

Como usar

- Selecione um tema no menu "Temas", acima, para obter informações sobre a tramitação das proposições legislativas que tiveram movimentação nos últimos 30 dias em determinada área de políticas públicas; - Passe o *mouse* por cima dos itens nos gráficos para obter informações detalhadas; - Clique nos *links* para visitar as páginas relacionadas a cada proposição; - Para obter explicações sobre a metodologia e sobre os dados que utilizamos no monitor, [clique aqui](#dados-e-metodologia).

Ciência, Tecnologia e Inovação {data-navmenu="Temas"}

Column {data-width=450}

Tema: Ciência, Tecnologia e Inovação

Proposições que sofreram alterações de tramitação nos últimos 30 dias

ciencia_tecnologia$trams %>%
  proposicoes_por_tipo()

Novas proposições introduzidas no período

ciencia_tecnologia$intro %>%
  proposicoes_por_data()

Column {.tabset data-width=550}

Tramitação das proposições

ciencia_tecnologia$trams %>%
  tramitacao()

Emendas

ciencia_tecnologia$relac %>%
  relacionadas()

Educação {data-navmenu="Temas"}

Column {data-width=450}

Tema: Educação

Proposições que sofreram alterações de tramitação nos últimos 30 dias

educacao$trams %>%
  proposicoes_por_tipo()

Novas proposições introduzidas no período

educacao$intro %>%
  proposicoes_por_data()

Column {.tabset data-width=550}

Tramitação das proposições

educacao$trams %>%
  tramitacao()

Emendas

educacao$relac %>%
  relacionadas()

Economia {data-navmenu="Temas"}

Column {data-width=450}

Tema: Economia

Proposições que sofreram alterações de tramitação nos últimos 30 dias

economia$trams %>%
  proposicoes_por_tipo()

Novas proposições introduzidas no período

economia$intro %>%
  proposicoes_por_data()

Column {.tabset data-width=550}

Tramitação das proposições

economia$trams %>%
  tramitacao()

Emendas

economia$relac %>%
  relacionadas()

Defesa e Segurança {data-navmenu="Temas"}

Column {data-width=450}

Tema: Defesa e Segurança

Proposições que sofreram alterações de tramitação nos últimos 30 dias

defesa_seguranca$trams %>%
  proposicoes_por_tipo()

Novas proposições introduzidas no período

defesa_seguranca$intro %>%
  proposicoes_por_data()

Column {.tabset data-width=550}

Tramitação das proposições

defesa_seguranca$trams %>%
  tramitacao()

Emendas

defesa_seguranca$relac %>%
  relacionadas()

Direitos Humanos e Minorias {data-navmenu="Temas"}

Column {data-width=450}

Tema: Direitos Humanos e Minorias

Proposições que sofreram alterações de tramitação nos últimos 30 dias

direitos_humanos$trams %>%
  proposicoes_por_tipo()

Novas proposições introduzidas no período

direitos_humanos$intro %>%
  proposicoes_por_data()

Column {.tabset data-width=550}

Tramitação das proposições

direitos_humanos$trams %>%
  tramitacao()

Emendas

direitos_humanos$relac %>%
  relacionadas()

Meio Ambiente e Desenv. Sustentável {data-navmenu="Temas"}

Column {data-width=450}

Tema: Meio Ambiente e Desenvolvimento Sustentável

Proposições que sofreram alterações de tramitação nos últimos 30 dias

meio_ambiente$trams %>%
  proposicoes_por_tipo()

Novas proposições introduzidas no período

meio_ambiente$intro %>%
  proposicoes_por_data()

Column {.tabset data-width=550}

Tramitação das proposições

meio_ambiente$trams %>%
  tramitacao()

Emendas

meio_ambiente$relac %>%
  relacionadas()

Previdência e Assistência Social {data-navmenu="Temas"}

Column {data-width=450}

Tema: Previdência e Assistência Social

Proposições que sofreram alterações de tramitação nos últimos 30 dias

previdencia$trams %>%
  proposicoes_por_tipo()

Novas proposições introduzidas no período

previdencia$intro %>%
  proposicoes_por_data()

Column {.tabset data-width=550}

Tramitação das proposições

previdencia$trams %>%
  tramitacao()

Emendas

previdencia$relac%>%
  relacionadas()

Saúde {data-navmenu="Temas"}

Column {data-width=450}

Tema: Saúde

Proposições que sofreram alterações de tramitação nos últimos 30 dias

saude$trams %>%
  proposicoes_por_tipo()

Novas proposições introduzidas no período

saude$intro %>%
  proposicoes_por_data()

Column {.tabset data-width=550}

Tramitação das proposições

saude$trams %>%
  tramitacao()

Emendas

saude$relac %>%
  relacionadas()

Dados e Metodologia

Column {data-width=550}

Sobre os Paineis

- **Proposições que sofreram alterações de tramitação nos últimos 30 dias** -- Nesse painel, apresentamos o número de [proposições legislativas](https://www.congressonacional.leg.br/legislacao-e-publicacoes/glossario/-/definicoes/termo/proposicao) ([PL](https://www.congressonacional.leg.br/legislacao-e-publicacoes/glossario/-/definicoes/termo/projeto_de_lei_pl), [PLP](https://www.congressonacional.leg.br/legislacao-e-publicacoes/glossario/-/definicoes/termo/projeto_de_lei_complementar_plp), [PEC](https://www.congressonacional.leg.br/legislacao-e-publicacoes/glossario/-/definicoes/termo/proposta_de_emenda_a_constituicao_pec) e [MPV](https://www.congressonacional.leg.br/legislacao-e-publicacoes/glossario/-/definicoes/termo/medida_provisoria_mpv)) que foram objeto de alterações, ou acões legislativas, nos últimos 30 dias. Essas alterações e acções incluem: [requerimentos](https://www.congressonacional.leg.br/legislacao-e-publicacoes/glossario/-/definicoes/termo/requerimento), [emendas](https://www.congressonacional.leg.br/legislacao-e-publicacoes/glossario/-/definicoes/termo/emenda), [pareceres](https://www.congressonacional.leg.br/legislacao-e-publicacoes/glossario/-/definicoes/termo/parecer) recebidos, entre outros. - **Proposições introduzidas no tema por ano** -- Nesse painel, apresentamos o número de proposições introduzidas por ano na Câmara dos Deputados em cada um dos temas de interesse público incluídos no Monitor. - **Tramitação das proposições** -- Nesse painel, exibimos informações detalhadas sobre cada uma das proposições que sofreram alteração em suas [tramitações](https://www.congressonacional.leg.br/legislacao-e-publicacoes/glossario/-/definicoes/termo/tramitacao) nos últimos 30 dias. Entre outros, é possível obter seus tipos e números (e.g., PL 7082/2017), o número de ações que sofreram, seus *status*, o local onde estão tramitando e o regime de tramitação. Ao clicar no título de determinada proposição, o monitor redireciona para sua respectiva página na Câmara dos Deputados. - **Emendas** -- Nesse painel, reportamos informações sobre as emendas recebidas por cada uma das proposições que sofreram alteração em suas tramitações nos últimos 30 dias. Essa informação é separada entre emendas apresentadas e emendas aprovadas.

Column {data-width=450}

Dados e Metodologia

Todos os dados utilizados pelo [Observatório do Legislativo Brasileiro (OLB)](http://olb.org.br/) para produzir esse Monitor são extraídos e atualizados diariamente do serviço de [Dados Abertos da Câmara dos Deputados](https://dadosabertos.camara.leg.br/). Especificamente, o Monitor analisa quatro tipos de proposições: Projetos de Lei (PL), Projetos de Lei Complementar (PLP), Projetos de Emendas à Constituição (PEC) e Medidas Provisórias (MPV). Utilizando modernas técnicas de captura e sistematização de dados digitais, cruzamos informações sobre essas proposições, suas tramitações e seus conteúdos para sintetizar o trabalho legislativo na Câmara em determinadas áreas, ou temas, de interesse público.


iesp-uerj/olb documentation built on Jan. 22, 2021, 4:38 p.m.