diff --git a/Dockerfile b/Dockerfile index 227f510..5c02124 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,6 +17,12 @@ RUN apt-get update && \ # Start Python image FROM python:${PYTHON_VERSION} +# Install git +RUN apt-get update && \ + apt-get install -y git && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + # Setting environment with prefect version ARG PREFECT_VERSION=1.4.1 ENV PREFECT_VERSION $PREFECT_VERSION diff --git a/pipelines/constants.py b/pipelines/constants.py index dbd3147..0d09916 100644 --- a/pipelines/constants.py +++ b/pipelines/constants.py @@ -16,7 +16,7 @@ class constants(Enum): ###################################### # Agent labels ###################################### - # EXAMPLE_AGENT_LABEL = "example_agent" + RJ_SMFP_AGENT_LABEL = "smfp" ###################################### # Other constants diff --git a/pipelines/egpweb_metas/__init__.py b/pipelines/egpweb_metas/__init__.py new file mode 100644 index 0000000..b5befae --- /dev/null +++ b/pipelines/egpweb_metas/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +from pipelines.egpweb_metas.dump_db_metas.flows import * # noqa +from pipelines.egpweb_metas.dump_url_metas.flows import * # noqa +from pipelines.egpweb_metas.goals_dashboard_dbt.flows import * # noqa diff --git a/pipelines/egpweb_metas/dump_db_metas/flows.py b/pipelines/egpweb_metas/dump_db_metas/flows.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/egpweb_metas/dump_db_metas/schedules.py b/pipelines/egpweb_metas/dump_db_metas/schedules.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/egpweb_metas/dump_url_metas/flows.py b/pipelines/egpweb_metas/dump_url_metas/flows.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/egpweb_metas/dump_url_metas/schedules.py b/pipelines/egpweb_metas/dump_url_metas/schedules.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/egpweb_metas/goals_dashboard_dbt/flows.py b/pipelines/egpweb_metas/goals_dashboard_dbt/flows.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/egpweb_metas/goals_dashboard_dbt/schedules.py b/pipelines/egpweb_metas/goals_dashboard_dbt/schedules.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/ergon/__init__.py b/pipelines/ergon/__init__.py new file mode 100644 index 0000000..ec76c70 --- /dev/null +++ b/pipelines/ergon/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from pipelines.ergon.dump_db_ergon.flows import * # noqa diff --git a/pipelines/ergon/dump_db_ergon/flows.py b/pipelines/ergon/dump_db_ergon/flows.py new file mode 100644 index 0000000..075f6d1 --- /dev/null +++ b/pipelines/ergon/dump_db_ergon/flows.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +""" +Database dumping flows for segovi project. +""" + +from copy import deepcopy + +from prefect.run_configs import KubernetesRun +from prefect.storage import GCS +from prefeitura_rio.pipelines_templates.dump_db.flows import flow as dump_sql_flow +from prefeitura_rio.pipelines_utils.prefect import set_default_parameters +from prefeitura_rio.pipelines_utils.state_handlers import handler_inject_bd_credentials + +from pipelines.constants import constants +from pipelines.ergon.dump_db_ergon.schedules import ergon_monthly_update_schedule + +dump_sql_ergon_flow = deepcopy(dump_sql_flow) +dump_sql_ergon_flow.state_handlers = [handler_inject_bd_credentials] +dump_sql_ergon_flow.name = "SMFP: ergon - Ingerir tabelas de banco SQL" +dump_sql_ergon_flow.storage = GCS(constants.GCS_FLOWS_BUCKET.value) +dump_sql_ergon_flow.run_config = KubernetesRun( + image=constants.DOCKER_IMAGE.value, + labels=[ + constants.RJ_SMFP_AGENT_LABEL.value, + ], +) + +ergon_default_parameters = { + "db_database": "P01.PCRJ", + "db_host": "10.70.6.21", + "db_port": "1526", + "db_type": "oracle", + "infisical_secret_path": "/db-ergon-prod", + "dataset_id": "recursos_humanos_ergon", +} +dump_sql_ergon_flow = set_default_parameters( + dump_sql_ergon_flow, default_parameters=ergon_default_parameters +) + +dump_sql_ergon_flow.schedule = ergon_monthly_update_schedule diff --git a/pipelines/ergon/dump_db_ergon/schedules.py b/pipelines/ergon/dump_db_ergon/schedules.py new file mode 100644 index 0000000..e7d177b --- /dev/null +++ b/pipelines/ergon/dump_db_ergon/schedules.py @@ -0,0 +1,328 @@ +# -*- coding: utf-8 -*- +# flake8: noqa: E501 +""" +Schedules for the database dump pipeline +""" + +from datetime import datetime, timedelta + +import pytz +from prefect.schedules import Schedule +from prefeitura_rio.pipelines_utils.io import untuple_clocks as untuple +from prefeitura_rio.pipelines_utils.prefect import generate_dump_db_schedules + +from pipelines.constants import constants + +##################################### +# +# Ergon Schedules +# +##################################### + +ergon_queries = { + "cargo": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_CARGOS_", + }, + "categoria": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_CATEGORIAS_", + }, + "empresa": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_EMPRESAS", + }, + "matricula": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_ERG_MATRICULAS", + }, + "fita_banco": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "partition_columns": "MES_ANO", + "dump_mode": "append", + "lower_bound_date": "current_month", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_FITA_BANCO", + }, + "folha_empresa": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "partition_columns": "MES_ANO", + "dump_mode": "append", + "lower_bound_date": "current_month", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_FOLHAS_EMP", + }, + "forma_provimento": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_FORMAS_PROV_", + }, + "funcionario": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_FUNCIONARIOS", + }, + "horario_trabalho": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_HORARIO_TRAB_", + }, + "setor": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_HSETOR_", + }, + "jornada": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_JORNADAS_", + }, + "orgaos_externos": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_ORGAOS_EXTERNOS", + }, + "orgaos_regime_juridico": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_ORGAOS_REGIMES_JUR_", + }, + "provimento": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_PROVIMENTOS_EV", + }, + "regime_juridico": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_REGIMES_JUR_", + }, + "tipo_folha": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_TIPO_FOLHA", + }, + "tipo_orgao": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_TIPO_ORGAO", + }, + "tipo_vinculo": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_TIPO_VINC_", + }, + "vinculo": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": "SELECT * FROM C_ERGON.VW_DLK_ERG_VINCULOS", + }, + "licenca_afastamento": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "partition_columns": "DTINI", + "dump_mode": "append", + "lower_bound_date": "current_month", + "execute_query": """ + SELECT NUMFUNC,NUMVINC,DTINI,DTFIM,TIPOFREQ,CODFREQ,MOTIVO,DTPREVFIM,FLEX_CAMPO_01, + FLEX_CAMPO_02,EMP_CODIGO,FLEX_CAMPO_07 + FROM ERGON.LIC_AFAST + """, + }, + "frequencia": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "partition_columns": "DTINI", + "dump_mode": "append", + "lower_bound_date": "current_month", + "execute_query": """ + SELECT NUMFUNC,NUMVINC,DTINI,DTFIM,TIPOFREQ,CODFREQ,OBS,EMP_CODIGO + FROM ERGON.FREQUENCIAS + """, + }, + "vantagens": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "partition_columns": "DTINI", + "dump_mode": "append", + "lower_bound_date": "current_month", + "execute_query": """ + SELECT NUMFUNC,NUMVINC,VANTAGEM,DTINI,DTFIM,VALOR,INFO,TIPO_INCORPORACAO,PERC_INC_FUNCAO, + INC_TABELAVENC,INC_REFERENCIA,OBS,VALOR2,INFO2,VALOR3,INFO3,VALOR4,INFO4,VALOR5,INFO5, + VALOR6,INFO6,FLEX_CAMPO_05,EMP_CODIGO,CHAVEVANT + FROM ERGON.VANTAGENS + """, + }, + "total_contagem": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": """ + SELECT CHAVE, NUMFUNC,NUMVINC,FINALIDADE,DIASTOT,DIASFPUB,DIASFPUBESP,TOTAL_PERIODOS, + TOTAL_ANOS,DATA_PROXIMO,NOME_PROXIMO,EMP_CODIGO + FROM ERGON.TOTAL_CONTA + """, + "interval": timedelta(days=15), + }, + "pre_contagem": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": """ + SELECT FINALIDADE,NUMFUNC,NUMVINC,PERIODOS,OFFSET,DTINI,EMP_CODIGO,FLEX_CAMPO_01 + FROM ERGON.PRE_CONTA + """, + }, + "averbacoes": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": """ + SELECT NUMFUNC,NUMVINC,CHAVE,DTINI,DTFIM,INSTITUICAO,TIPOTEMPO,DATA_A_CONTAR,TOTAL_DIAS, + MOTIVO,SOBREPOE,EMP_CODIGO,OBS,REGPREV + FROM ERGON.AVERBACOES_CONTA + """, + }, + "averbacoes_contagem": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": """ + SELECT NUMFUNC,NUMVINC,CHAVEAVERB,FINALIDADE,DIAS,EMP_CODIGO + FROM ERGON.AVERB_OQUE_CONTA + """, + }, + "frequencia_antigo": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": """ + SELECT M9, SF_OCORRENCIA, SF_DT_OC_Y2 + FROM C_ERGON.VW_SIMPA_SIRHU_FREQUENCIA_GBP + """, + }, + "afastamento_antigo": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": """ + SELECT M10, SA_DT_AFAS_Y2, SA_DT_PRER_Y2, SA_DT_RETR_Y2 + FROM C_ERGON.VW_SIMPA_SIRHU_AFASTAMENTO_GBP + """, + }, + "afastamento_antigo_nomes": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": """ + SELECT + EMP_CODIGO, AFAST_COD, AFAST_DESCR + FROM SIMPA.SIRHU_DBTABELAS_AFASTAMENTO + """, + }, + "tipo_tempo": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "overwrite", + "execute_query": """ + SELECT SIGLA, NOME, APOSENTADORIA, FERIAS, DIAS_FER, ADICTSERV, LICESP, DIAS_LICESP, + ADICTCHEFIA, PROGRESSAO + FROM ERGON.TIPO_TEMPO + """, + }, + "ficha_financeira": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "append", + "lower_bound_date": "current_month", + "partition_columns": "MES_ANO_FOLHA", + "execute_query": """ + SELECT MES_ANO_FOLHA,NUM_FOLHA,LANCAMENTO,NUMFUNC,NUMVINC,NUMPENS,MES_ANO_DIREITO, + RUBRICA,TIPO_RUBRICA,DESC_VANT,COMPLEMENTO,VALOR,CORRECAO,EXECUCAO,EMP_CODIGO + FROM ERGON.FICHAS_FINANCEIRAS + """, + }, + "ficha_financeira_contabil": { + "materialize_after_dump": True, + "biglake_table": True, + "materialization_mode": "prod", + "dump_mode": "append", + "lower_bound_date": "current_month", + "partition_columns": "MES_ANO_FOLHA", + "execute_query": """ + SELECT MES_ANO_FOLHA,NUM_FOLHA,NUMFUNC,NUMVINC,NUMPENS,SETOR,SECRETARIA,TIPO_FUNC, + ATI_INAT_PENS,DETALHA,RUBRICA,TIPO_RUBRICA,MES_ANO_DIREITO,DESC_VANT,VALOR,COMPLEMENTO, + TIPO_CLASSIF,CLASSIFICACAO,TIPO_CLASSIF_FR,CLASSIF_FR,ELEMDESP,TIPORUB,EMP_CODIGO + FROM ERGON.IPL_PT_FICHAS + """, + }, +} + +ergon_clocks = generate_dump_db_schedules( + interval=timedelta(days=1), + start_date=datetime(2022, 11, 9, 22, 30, tzinfo=pytz.timezone("America/Sao_Paulo")), + labels=[ + constants.RJ_SMFP_AGENT_LABEL.value, + ], + db_database="P01.PCRJ", + db_host="10.70.6.21", + db_port="1526", + db_type="oracle", + dataset_id="recursos_humanos_ergon", + infisical_secret_path="/db-ergon-prod", + table_parameters=ergon_queries, +) + +ergon_monthly_update_schedule = Schedule(clocks=untuple(ergon_clocks)) diff --git a/pipelines/ergon_comlurb/__init__.py b/pipelines/ergon_comlurb/__init__.py new file mode 100644 index 0000000..049efbe --- /dev/null +++ b/pipelines/ergon_comlurb/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from pipelines.ergon_comlurb.dump_db_ergon_comlurb.flows import * # noqa diff --git a/pipelines/ergon_comlurb/dump_db_ergon_comlurb/flows.py b/pipelines/ergon_comlurb/dump_db_ergon_comlurb/flows.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/ergon_comlurb/dump_db_ergon_comlurb/schedules.py b/pipelines/ergon_comlurb/dump_db_ergon_comlurb/schedules.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/flows.py b/pipelines/flows.py index 942c654..ee723fe 100644 --- a/pipelines/flows.py +++ b/pipelines/flows.py @@ -2,4 +2,10 @@ """ Imports all flows for every project so we can register all of them. """ +from pipelines.egpweb_metas import * # noqa +from pipelines.ergon import * # noqa +from pipelines.ergon_comlurb import * # noqa from pipelines.exemplo import * # noqa +from pipelines.iptu_inad import * # noqa +from pipelines.sigma import * # noqa +from pipelines.templates import * # noqa diff --git a/pipelines/iptu_inad/__init__.py b/pipelines/iptu_inad/__init__.py new file mode 100644 index 0000000..3b06400 --- /dev/null +++ b/pipelines/iptu_inad/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from pipelines.iptu_inad.dump_db_inadimplentes.flows import * # noqa diff --git a/pipelines/iptu_inad/dump_db_inadimplentes/flows.py b/pipelines/iptu_inad/dump_db_inadimplentes/flows.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/iptu_inad/dump_db_inadimplentes/schedules.py b/pipelines/iptu_inad/dump_db_inadimplentes/schedules.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/sigma/__init__.py b/pipelines/sigma/__init__.py new file mode 100644 index 0000000..4806cb8 --- /dev/null +++ b/pipelines/sigma/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +from pipelines.sigma.dump_db_compras_materiais.flows import * # noqa +from pipelines.sigma.dump_db_sancao_fornecedor.flows import * # noqa diff --git a/pipelines/sigma/dump_db_compras_materiais/flows.py b/pipelines/sigma/dump_db_compras_materiais/flows.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/sigma/dump_db_compras_materiais/schedules.py b/pipelines/sigma/dump_db_compras_materiais/schedules.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/sigma/dump_db_sancao_fornecedor/flows.py b/pipelines/sigma/dump_db_sancao_fornecedor/flows.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/sigma/dump_db_sancao_fornecedor/schedules.py b/pipelines/sigma/dump_db_sancao_fornecedor/schedules.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/templates/__init__.py b/pipelines/templates/__init__.py new file mode 100644 index 0000000..ef8b2db --- /dev/null +++ b/pipelines/templates/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from pipelines.templates.run_dbt_model.flows import * # noqa: F401, F403 diff --git a/pipelines/templates/run_dbt_model/__init__.py b/pipelines/templates/run_dbt_model/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pipelines/templates/run_dbt_model/flows.py b/pipelines/templates/run_dbt_model/flows.py new file mode 100644 index 0000000..c7281fb --- /dev/null +++ b/pipelines/templates/run_dbt_model/flows.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +""" +MATERIALIZA MODELOS DO DBT. +""" + +from copy import deepcopy + +from prefect.run_configs import KubernetesRun +from prefect.storage import GCS +from prefeitura_rio.pipelines_templates.run_dbt_model.flows import ( + templates__run_dbt_model__flow, +) +from prefeitura_rio.pipelines_utils.prefect import set_default_parameters +from prefeitura_rio.pipelines_utils.state_handlers import handler_inject_bd_credentials + +from pipelines.constants import constants + +templates__run_dbt_model_smas__flow = deepcopy(templates__run_dbt_model__flow) +templates__run_dbt_model_smas__flow.state_handlers = [handler_inject_bd_credentials] + +templates__run_dbt_model_smas__flow.storage = GCS(constants.GCS_FLOWS_BUCKET.value) +templates__run_dbt_model_smas__flow.run_config = KubernetesRun( + image=constants.DOCKER_IMAGE.value, + labels=[ + constants.RJ_SMFP_AGENT_LABEL.value, + ], +) + +templates_run_dbt_model_smas_default_parameters = { + "dataset_id": "dataset_id", + "table_id": "table_id", +} +templates__run_dbt_model_smas__flow = set_default_parameters( + templates__run_dbt_model_smas__flow, + default_parameters=templates_run_dbt_model_smas_default_parameters, +) diff --git a/poetry.lock b/poetry.lock index 19ceef2..8f3fcfc 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "agate" @@ -23,6 +23,17 @@ pytimeparse = ">=1.1.5" docs = ["Sphinx (>=1.2.2)", "sphinx-rtd-theme (>=0.1.6)"] test = ["PyICU (>=2.4.2)", "coverage (>=3.7.1)", "cssselect (>=0.9.1)", "lxml (>=3.6.0)", "pytest", "pytest-cov", "pytz (>=2015.4)"] +[[package]] +name = "async-timeout" +version = "4.0.3" +description = "Timeout context manager for asyncio programs" +optional = false +python-versions = ">=3.7" +files = [ + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, +] + [[package]] name = "attrs" version = "23.1.0" @@ -55,6 +66,49 @@ files = [ [package.extras] dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] +[[package]] +name = "backoff" +version = "2.2.1" +description = "Function decoration for backoff and retry" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, + {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, +] + +[[package]] +name = "basedosdados" +version = "2.0.0b15" +description = "Organizar e facilitar o acesso a dados brasileiros através de tabelas públicas no BigQuery." +optional = false +python-versions = ">=3.8.1,<4" +files = [ + {file = "basedosdados-2.0.0b15-py3-none-any.whl", hash = "sha256:2832cc2e93e6207ef4600516d90dc0858794e56d19674cc8493d77c2ae0a7e38"}, + {file = "basedosdados-2.0.0b15.tar.gz", hash = "sha256:4fb669a087e8d12e30978efaca375d6760324eb3da6635e7ab35ed761cfdaef3"}, +] + +[package.dependencies] +google-api-python-client = ">=2.86,<3.0" +google-cloud-bigquery = ">=3.10,<4.0" +google-cloud-bigquery-connection = ">=1.12,<2.0" +google-cloud-bigquery-storage = ">=2.19,<3.0" +google-cloud-storage = ">=2.9,<3.0" +gql = {version = ">=3.4,<4.0", optional = true, markers = "extra == \"all\" or extra == \"upload\""} +loguru = "0.7.0" +pandas = ">=2.0,<3.0" +pandas-gbq = ">=0.19,<0.20" +pydata-google-auth = ">=1.8,<2.0" +requests-toolbelt = {version = ">=1,<2", optional = true, markers = "extra == \"all\" or extra == \"upload\""} +tomlkit = ">=0.11,<0.12" +tqdm = ">=4,<5" + +[package.extras] +all = ["click (>=8.1,<9)", "gql (>=3.4,<4.0)", "pandavro (>=1.7,<2.0)", "requests-toolbelt (>=1,<2)"] +avro = ["pandavro (>=1.7,<2.0)"] +cli = ["click (>=8.1,<9)"] +upload = ["gql (>=3.4,<4.0)", "requests-toolbelt (>=1,<2)"] + [[package]] name = "black" version = "23.12.0" @@ -311,6 +365,40 @@ files = [ [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} +[[package]] +name = "click-plugins" +version = "1.1.1" +description = "An extension module for click to enable registering CLI commands via setuptools entry-points." +optional = false +python-versions = "*" +files = [ + {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"}, + {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"}, +] + +[package.dependencies] +click = ">=4.0" + +[package.extras] +dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"] + +[[package]] +name = "cligj" +version = "0.7.2" +description = "Click params for commmand line interfaces to GeoJSON" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4" +files = [ + {file = "cligj-0.7.2-py3-none-any.whl", hash = "sha256:c1ca117dbce1fe20a5809dc96f01e1c2840f6dcc939b3ddbb1111bf330ba82df"}, + {file = "cligj-0.7.2.tar.gz", hash = "sha256:a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27"}, +] + +[package.dependencies] +click = ">=4.0" + +[package.extras] +test = ["pytest-cov"] + [[package]] name = "cloudpickle" version = "3.0.0" @@ -348,6 +436,31 @@ files = [ python-dateutil = "*" pytz = ">2021.1" +[[package]] +name = "cx-oracle" +version = "8.3.0" +description = "Python interface to Oracle" +optional = false +python-versions = "*" +files = [ + {file = "cx_Oracle-8.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b6a23da225f03f50a81980c61dbd6a358c3575f212ca7f4c22bb65a9faf94f7f"}, + {file = "cx_Oracle-8.3.0-cp310-cp310-win32.whl", hash = "sha256:715a8bbda5982af484ded14d184304cc552c1096c82471dd2948298470e88a04"}, + {file = "cx_Oracle-8.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:07f01608dfb6603a8f2a868fc7c7bdc951480f187df8dbc50f4d48c884874e6a"}, + {file = "cx_Oracle-8.3.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4b3afe7a911cebaceda908228d36839f6441cbd38e5df491ec25960562bb01a0"}, + {file = "cx_Oracle-8.3.0-cp36-cp36m-win32.whl", hash = "sha256:076ffb71279d6b2dcbf7df028f62a01e18ce5bb73d8b01eab582bf14a62f4a61"}, + {file = "cx_Oracle-8.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:b82e4b165ffd807a2bd256259a6b81b0a2452883d39f987509e2292d494ea163"}, + {file = "cx_Oracle-8.3.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b902db61dcdcbbf8dd981f5a46d72fef40c5150c7fc0eb0f0698b462d6eb834e"}, + {file = "cx_Oracle-8.3.0-cp37-cp37m-win32.whl", hash = "sha256:4c82ca74442c298ceec56d207450c192e06ecf8ad52eb4aaad0812e147ceabf7"}, + {file = "cx_Oracle-8.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:54164974d526b76fdefb0b66a42b68e1fca5df78713d0eeb8c1d0047b83f6bcf"}, + {file = "cx_Oracle-8.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:410747d542e5f94727f5f0e42e9706c772cf9094fb348ce965ab88b3a9e4d2d8"}, + {file = "cx_Oracle-8.3.0-cp38-cp38-win32.whl", hash = "sha256:3baa878597c5fadb2c72f359f548431c7be001e722ce4a4ebdf3d2293a1bb70b"}, + {file = "cx_Oracle-8.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:de42bdc882abdc5cea54597da27a05593b44143728e5b629ad5d35decb1a2036"}, + {file = "cx_Oracle-8.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:df412238a9948340591beee9ec64fa62a2efacc0d91107034a7023e2991fba97"}, + {file = "cx_Oracle-8.3.0-cp39-cp39-win32.whl", hash = "sha256:70d3cf030aefd71f99b45beba77237b2af448adf5e26be0db3d0d3dee6ea4230"}, + {file = "cx_Oracle-8.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:bf01ce87edb4ef663b2e5bd604e1e0154d2cc2f12b60301f788b569d9db8a900"}, + {file = "cx_Oracle-8.3.0.tar.gz", hash = "sha256:3b2d215af4441463c97ea469b9cc307460739f89fdfa8ea222ea3518f1a424d9"}, +] + [[package]] name = "dask" version = "2023.12.0" @@ -377,6 +490,23 @@ diagnostics = ["bokeh (>=2.4.2)", "jinja2 (>=2.10.3)"] distributed = ["distributed (==2023.12.0)"] test = ["pandas[test]", "pre-commit", "pytest", "pytest-cov", "pytest-rerunfailures", "pytest-timeout", "pytest-xdist"] +[[package]] +name = "db-dtypes" +version = "1.2.0" +description = "Pandas Data Types for SQL systems (BigQuery, Spanner)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "db-dtypes-1.2.0.tar.gz", hash = "sha256:3531bb1fb8b5fbab33121fe243ccc2ade16ab2524f4c113b05cc702a1908e6ea"}, + {file = "db_dtypes-1.2.0-py2.py3-none-any.whl", hash = "sha256:6320bddd31d096447ef749224d64aab00972ed20e4392d86f7d8b81ad79f7ff0"}, +] + +[package.dependencies] +numpy = ">=1.16.6" +packaging = ">=17.0" +pandas = ">=0.24.2" +pyarrow = ">=3.0.0" + [[package]] name = "dbt-bigquery" version = "1.7.2" @@ -478,6 +608,20 @@ python-dateutil = ">=2.0,<3.0" pyyaml = ">=6.0,<7.0" typing-extensions = ">=4.4,<5.0" +[[package]] +name = "dill" +version = "0.3.7" +description = "serialize all of Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"}, + {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"}, +] + +[package.extras] +graph = ["objgraph (>=1.7.2)"] + [[package]] name = "distlib" version = "0.3.8" @@ -517,6 +661,25 @@ tornado = ">=6.0.4" urllib3 = ">=1.24.3" zict = ">=3.0.0" +[[package]] +name = "dnspython" +version = "2.4.2" +description = "DNS toolkit" +optional = false +python-versions = ">=3.8,<4.0" +files = [ + {file = "dnspython-2.4.2-py3-none-any.whl", hash = "sha256:57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8"}, + {file = "dnspython-2.4.2.tar.gz", hash = "sha256:8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"}, +] + +[package.extras] +dnssec = ["cryptography (>=2.6,<42.0)"] +doh = ["h2 (>=4.1.0)", "httpcore (>=0.17.3)", "httpx (>=0.24.1)"] +doq = ["aioquic (>=0.9.20)"] +idna = ["idna (>=2.1,<4.0)"] +trio = ["trio (>=0.14,<0.23)"] +wmi = ["wmi (>=1.5.1,<2.0.0)"] + [[package]] name = "docker" version = "7.0.0" @@ -538,6 +701,27 @@ urllib3 = ">=1.26.0" ssh = ["paramiko (>=2.4.3)"] websockets = ["websocket-client (>=1.3.0)"] +[[package]] +name = "earthengine-api" +version = "0.1.384" +description = "Earth Engine Python API" +optional = false +python-versions = ">=3.7" +files = [ + {file = "earthengine-api-0.1.384.tar.gz", hash = "sha256:b2ed22d5fa9a930f6b97c439b99e51fea75f4d8e911ead740d3bce540dabdf6b"}, +] + +[package.dependencies] +google-api-python-client = ">=1.12.1" +google-auth = ">=1.4.1" +google-auth-httplib2 = ">=0.0.3" +google-cloud-storage = "*" +httplib2 = ">=0.9.2,<1dev" +requests = "*" + +[package.extras] +tests = ["absl-py", "geopandas", "numpy"] + [[package]] name = "filelock" version = "3.13.1" @@ -554,6 +738,54 @@ docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1 testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] typing = ["typing-extensions (>=4.8)"] +[[package]] +name = "fiona" +version = "1.9.5" +description = "Fiona reads and writes spatial data files" +optional = false +python-versions = ">=3.7" +files = [ + {file = "fiona-1.9.5-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:5f40a40529ecfca5294260316cf987a0420c77a2f0cf0849f529d1afbccd093e"}, + {file = "fiona-1.9.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:374efe749143ecb5cfdd79b585d83917d2bf8ecfbfc6953c819586b336ce9c63"}, + {file = "fiona-1.9.5-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:35dae4b0308eb44617cdc4461ceb91f891d944fdebbcba5479efe524ec5db8de"}, + {file = "fiona-1.9.5-cp310-cp310-win_amd64.whl", hash = "sha256:5b4c6a3df53bee8f85bb46685562b21b43346be1fe96419f18f70fa1ab8c561c"}, + {file = "fiona-1.9.5-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:6ad04c1877b9fd742871b11965606c6a52f40706f56a48d66a87cc3073943828"}, + {file = "fiona-1.9.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9fb9a24a8046c724787719e20557141b33049466145fc3e665764ac7caf5748c"}, + {file = "fiona-1.9.5-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:d722d7f01a66f4ab6cd08d156df3fdb92f0669cf5f8708ddcb209352f416f241"}, + {file = "fiona-1.9.5-cp311-cp311-win_amd64.whl", hash = "sha256:7ede8ddc798f3d447536080c6db9a5fb73733ad8bdb190cb65eed4e289dd4c50"}, + {file = "fiona-1.9.5-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:8b098054a27c12afac4f819f98cb4d4bf2db9853f70b0c588d7d97d26e128c39"}, + {file = "fiona-1.9.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d9f29e9bcbb33232ff7fa98b4a3c2234db910c1dc6c4147fc36c0b8b930f2e0"}, + {file = "fiona-1.9.5-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:f1af08da4ecea5036cb81c9131946be4404245d1b434b5b24fd3871a1d4030d9"}, + {file = "fiona-1.9.5-cp312-cp312-win_amd64.whl", hash = "sha256:c521e1135c78dec0d7774303e5a1b4c62e0efb0e602bb8f167550ef95e0a2691"}, + {file = "fiona-1.9.5-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:fce4b1dd98810cabccdaa1828430c7402d283295c2ae31bea4f34188ea9e88d7"}, + {file = "fiona-1.9.5-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:3ea04ec2d8c57b5f81a31200fb352cb3242aa106fc3e328963f30ffbdf0ff7c8"}, + {file = "fiona-1.9.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4877cc745d9e82b12b3eafce3719db75759c27bd8a695521202135b36b58c2e7"}, + {file = "fiona-1.9.5-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:ac2c250f509ec19fad7959d75b531984776517ef3c1222d1cc5b4f962825880b"}, + {file = "fiona-1.9.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4df21906235928faad856c288cfea0298e9647f09c9a69a230535cbc8eadfa21"}, + {file = "fiona-1.9.5-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:81d502369493687746cb8d3cd77e5ada4447fb71d513721c9a1826e4fb32b23a"}, + {file = "fiona-1.9.5-cp38-cp38-win_amd64.whl", hash = "sha256:ce3b29230ef70947ead4e701f3f82be81082b7f37fd4899009b1445cc8fc276a"}, + {file = "fiona-1.9.5-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:8b53ce8de773fcd5e2e102e833c8c58479edd8796a522f3d83ef9e08b62bfeea"}, + {file = "fiona-1.9.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bd2355e859a1cd24a3e485c6dc5003129f27a2051629def70036535ffa7e16a4"}, + {file = "fiona-1.9.5-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:9a2da52f865db1aff0eaf41cdd4c87a7c079b3996514e8e7a1ca38457309e825"}, + {file = "fiona-1.9.5-cp39-cp39-win_amd64.whl", hash = "sha256:cfef6db5b779d463298b1113b50daa6c5b55f26f834dc9e37752116fa17277c1"}, + {file = "fiona-1.9.5.tar.gz", hash = "sha256:99e2604332caa7692855c2ae6ed91e1fffdf9b59449aa8032dd18e070e59a2f7"}, +] + +[package.dependencies] +attrs = ">=19.2.0" +certifi = "*" +click = ">=8.0,<9.0" +click-plugins = ">=1.0" +cligj = ">=0.5" +setuptools = "*" +six = "*" + +[package.extras] +all = ["Fiona[calc,s3,test]"] +calc = ["shapely"] +s3 = ["boto3 (>=1.3.1)"] +test = ["Fiona[s3]", "pytest (>=7)", "pytest-cov", "pytz"] + [[package]] name = "flake8" version = "6.1.0" @@ -605,6 +837,88 @@ smb = ["smbprotocol"] ssh = ["paramiko"] tqdm = ["tqdm"] +[[package]] +name = "geographiclib" +version = "2.0" +description = "The geodesic routines from GeographicLib" +optional = false +python-versions = ">=3.7" +files = [ + {file = "geographiclib-2.0-py3-none-any.whl", hash = "sha256:6b7225248e45ff7edcee32becc4e0a1504c606ac5ee163a5656d482e0cd38734"}, + {file = "geographiclib-2.0.tar.gz", hash = "sha256:f7f41c85dc3e1c2d3d935ec86660dc3b2c848c83e17f9a9e51ba9d5146a15859"}, +] + +[[package]] +name = "geojson" +version = "2.5.0" +description = "Python bindings and utilities for GeoJSON" +optional = false +python-versions = "*" +files = [ + {file = "geojson-2.5.0-py2.py3-none-any.whl", hash = "sha256:ccbd13368dd728f4e4f13ffe6aaf725b6e802c692ba0dde628be475040c534ba"}, + {file = "geojson-2.5.0.tar.gz", hash = "sha256:6e4bb7ace4226a45d9c8c8b1348b3fc43540658359f93c3f7e03efa9f15f658a"}, +] + +[[package]] +name = "geojsplit" +version = "0.1.2" +description = "A python implementation of the npm package geojsplit. Used to split GeoJSON files into smaller pieces." +optional = false +python-versions = ">=3.6,<4.0" +files = [ + {file = "geojsplit-0.1.2-py3-none-any.whl", hash = "sha256:31097c1f688cae9c12c634fd597e1f0dea3e2e4a8e38c67b017df9a993e95f30"}, + {file = "geojsplit-0.1.2.tar.gz", hash = "sha256:44d5721dbaf6e0045e0546cb6957a61d22991854304c65b5a7fe46dd9012385b"}, +] + +[package.dependencies] +geojson = ">=2.5,<3.0" +ijson = ">=2.4,<3.0" +simplejson = ">=3.16,<4.0" + +[package.extras] +docs = ["sphinx (>=2.2,<3.0)", "sphinx_rtd_theme (>=0.4.3,<0.5.0)"] + +[[package]] +name = "geopandas" +version = "0.14.1" +description = "Geographic pandas extensions" +optional = false +python-versions = ">=3.9" +files = [ + {file = "geopandas-0.14.1-py3-none-any.whl", hash = "sha256:ed5a7cae7874bfc3238fb05e0501cc1760e1b7b11e5b76ecad29da644ca305da"}, + {file = "geopandas-0.14.1.tar.gz", hash = "sha256:4853ff89ecb6d1cfc43e7b3671092c8160e8a46a3dd7368f25906283314e42bb"}, +] + +[package.dependencies] +fiona = ">=1.8.21" +packaging = "*" +pandas = ">=1.4.0" +pyproj = ">=3.3.0" +shapely = ">=1.8.0" + +[[package]] +name = "geopy" +version = "2.4.1" +description = "Python Geocoding Toolbox" +optional = false +python-versions = ">=3.7" +files = [ + {file = "geopy-2.4.1-py3-none-any.whl", hash = "sha256:ae8b4bc5c1131820f4d75fce9d4aaaca0c85189b3aa5d64c3dcaf5e3b7b882a7"}, + {file = "geopy-2.4.1.tar.gz", hash = "sha256:50283d8e7ad07d89be5cb027338c6365a32044df3ae2556ad3f52f4840b3d0d1"}, +] + +[package.dependencies] +geographiclib = ">=1.52,<3" + +[package.extras] +aiohttp = ["aiohttp"] +dev = ["coverage", "flake8 (>=5.0,<5.1)", "isort (>=5.10.0,<5.11.0)", "pytest (>=3.10)", "pytest-asyncio (>=0.17)", "readme-renderer", "sphinx (<=4.3.2)", "sphinx-issues", "sphinx-rtd-theme (>=0.5.0)"] +dev-docs = ["readme-renderer", "sphinx (<=4.3.2)", "sphinx-issues", "sphinx-rtd-theme (>=0.5.0)"] +dev-lint = ["flake8 (>=5.0,<5.1)", "isort (>=5.10.0,<5.11.0)"] +dev-test = ["coverage", "pytest (>=3.10)", "pytest-asyncio (>=0.17)", "sphinx (<=4.3.2)"] +requests = ["requests (>=2.16.2)", "urllib3 (>=1.24.2)"] +timezone = ["pytz"] + [[package]] name = "google-api-core" version = "2.15.0" @@ -629,6 +943,24 @@ grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "grpcio-status grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] +[[package]] +name = "google-api-python-client" +version = "2.111.0" +description = "Google API Client Library for Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google-api-python-client-2.111.0.tar.gz", hash = "sha256:3a45a53c031478d1c82c7162dd25c9a965247bca6bd438af0838a9d9b8219405"}, + {file = "google_api_python_client-2.111.0-py2.py3-none-any.whl", hash = "sha256:b605adee2d09a843b97a59925757802904679e44e5599708cedb8939900dfbc7"}, +] + +[package.dependencies] +google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0.dev0" +google-auth = ">=1.19.0,<3.0.0.dev0" +google-auth-httplib2 = ">=0.1.0" +httplib2 = ">=0.15.0,<1.dev0" +uritemplate = ">=3.0.1,<5" + [[package]] name = "google-auth" version = "2.25.2" @@ -652,6 +984,39 @@ pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] reauth = ["pyu2f (>=0.1.5)"] requests = ["requests (>=2.20.0,<3.0.0.dev0)"] +[[package]] +name = "google-auth-httplib2" +version = "0.2.0" +description = "Google Authentication Library: httplib2 transport" +optional = false +python-versions = "*" +files = [ + {file = "google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05"}, + {file = "google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d"}, +] + +[package.dependencies] +google-auth = "*" +httplib2 = ">=0.19.0" + +[[package]] +name = "google-auth-oauthlib" +version = "1.2.0" +description = "Google Authentication Library" +optional = false +python-versions = ">=3.6" +files = [ + {file = "google-auth-oauthlib-1.2.0.tar.gz", hash = "sha256:292d2d3783349f2b0734a0a0207b1e1e322ac193c2c09d8f7c613fb7cc501ea8"}, + {file = "google_auth_oauthlib-1.2.0-py2.py3-none-any.whl", hash = "sha256:297c1ce4cb13a99b5834c74a1fe03252e1e499716718b190f56bcb9c4abc4faf"}, +] + +[package.dependencies] +google-auth = ">=2.15.0" +requests-oauthlib = ">=0.7.0" + +[package.extras] +tool = ["click (>=6.0.0)"] + [[package]] name = "google-cloud-bigquery" version = "3.14.1" @@ -682,6 +1047,44 @@ opentelemetry = ["opentelemetry-api (>=1.1.0)", "opentelemetry-instrumentation ( pandas = ["db-dtypes (>=0.3.0,<2.0.0dev)", "importlib-metadata (>=1.0.0)", "pandas (>=1.1.0)", "pyarrow (>=3.0.0)"] tqdm = ["tqdm (>=4.7.4,<5.0.0dev)"] +[[package]] +name = "google-cloud-bigquery-connection" +version = "1.14.0" +description = "Google Cloud Bigquery Connection API client library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google-cloud-bigquery-connection-1.14.0.tar.gz", hash = "sha256:54a2173a6a81255eac46bdf6bb0ea2f4fb112ff03498c46a7a360eb629adbf0a"}, + {file = "google_cloud_bigquery_connection-1.14.0-py2.py3-none-any.whl", hash = "sha256:19733411c7b5e6bb2de3fcfd42067038dc768fb56116dd718dfed24be8a70389"}, +] + +[package.dependencies] +google-api-core = {version = ">=1.34.0,<2.0.dev0 || >=2.11.dev0,<3.0.0dev", extras = ["grpc"]} +grpc-google-iam-v1 = ">=0.12.4,<1.0.0dev" +proto-plus = ">=1.22.3,<2.0.0dev" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev" + +[[package]] +name = "google-cloud-bigquery-storage" +version = "2.24.0" +description = "Google Cloud Bigquery Storage API client library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google-cloud-bigquery-storage-2.24.0.tar.gz", hash = "sha256:b4af5b9aacd8396b8407d1b877601a376d8eea6d192823a8a7881bd2fdc076ce"}, + {file = "google_cloud_bigquery_storage-2.24.0-py2.py3-none-any.whl", hash = "sha256:7981eb2758cba56603058d11bb1eeeebf2e1c18097a7118a894510a16e02be52"}, +] + +[package.dependencies] +google-api-core = {version = ">=1.34.0,<2.0.dev0 || >=2.11.dev0,<3.0.0dev", extras = ["grpc"]} +proto-plus = ">=1.22.0,<2.0.0dev" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev" + +[package.extras] +fastavro = ["fastavro (>=0.21.2)"] +pandas = ["importlib-metadata (>=1.0.0)", "pandas (>=0.21.1)"] +pyarrow = ["pyarrow (>=0.15.0)"] + [[package]] name = "google-cloud-core" version = "2.4.1" @@ -855,6 +1258,43 @@ protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.1 || >4.21.1,<4 [package.extras] grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] +[[package]] +name = "gql" +version = "3.4.1" +description = "GraphQL client for Python" +optional = false +python-versions = "*" +files = [ + {file = "gql-3.4.1-py2.py3-none-any.whl", hash = "sha256:315624ca0f4d571ef149d455033ebd35e45c1a13f18a059596aeddcea99135cf"}, + {file = "gql-3.4.1.tar.gz", hash = "sha256:11dc5d8715a827f2c2899593439a4f36449db4f0eafa5b1ea63948f8a2f8c545"}, +] + +[package.dependencies] +backoff = ">=1.11.1,<3.0" +graphql-core = ">=3.2,<3.3" +yarl = ">=1.6,<2.0" + +[package.extras] +aiohttp = ["aiohttp (>=3.7.1,<3.9.0)"] +all = ["aiohttp (>=3.7.1,<3.9.0)", "botocore (>=1.21,<2)", "requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26,<2)", "websockets (>=10,<11)", "websockets (>=9,<10)"] +botocore = ["botocore (>=1.21,<2)"] +dev = ["aiofiles", "aiohttp (>=3.7.1,<3.9.0)", "black (==22.3.0)", "botocore (>=1.21,<2)", "check-manifest (>=0.42,<1)", "flake8 (==3.8.1)", "isort (==4.3.21)", "mock (==4.0.2)", "mypy (==0.910)", "parse (==1.15.0)", "pytest (==6.2.5)", "pytest-asyncio (==0.16.0)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "sphinx (>=3.0.0,<4)", "sphinx-argparse (==0.2.5)", "sphinx-rtd-theme (>=0.4,<1)", "types-aiofiles", "types-mock", "types-requests", "urllib3 (>=1.26,<2)", "vcrpy (==4.0.2)", "websockets (>=10,<11)", "websockets (>=9,<10)"] +requests = ["requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26,<2)"] +test = ["aiofiles", "aiohttp (>=3.7.1,<3.9.0)", "botocore (>=1.21,<2)", "mock (==4.0.2)", "parse (==1.15.0)", "pytest (==6.2.5)", "pytest-asyncio (==0.16.0)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26,<2)", "vcrpy (==4.0.2)", "websockets (>=10,<11)", "websockets (>=9,<10)"] +test-no-transport = ["aiofiles", "mock (==4.0.2)", "parse (==1.15.0)", "pytest (==6.2.5)", "pytest-asyncio (==0.16.0)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "vcrpy (==4.0.2)"] +websockets = ["websockets (>=10,<11)", "websockets (>=9,<10)"] + +[[package]] +name = "graphql-core" +version = "3.2.3" +description = "GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL." +optional = false +python-versions = ">=3.6,<4" +files = [ + {file = "graphql-core-3.2.3.tar.gz", hash = "sha256:06d2aad0ac723e35b1cb47885d3e5c45e956a53bc1b209a9fc5369007fe46676"}, + {file = "graphql_core-3.2.3-py3-none-any.whl", hash = "sha256:5766780452bd5ec8ba133f8bf287dc92713e3868ddd83aee4faab9fc3e303dc3"}, +] + [[package]] name = "grpc-google-iam-v1" version = "0.13.0" @@ -953,6 +1393,20 @@ googleapis-common-protos = ">=1.5.5" grpcio = ">=1.60.0" protobuf = ">=4.21.6" +[[package]] +name = "httplib2" +version = "0.22.0" +description = "A comprehensive HTTP client library." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc"}, + {file = "httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81"}, +] + +[package.dependencies] +pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0.2,<3.0.3 || >3.0.3,<4", markers = "python_version > \"3.0\""} + [[package]] name = "identify" version = "2.5.33" @@ -978,6 +1432,27 @@ files = [ {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, ] +[[package]] +name = "ijson" +version = "2.6.1" +description = "Iterative JSON parser with a standard Python iterator interface" +optional = false +python-versions = "*" +files = [ + {file = "ijson-2.6.1-cp27-cp27m-macosx_10_6_x86_64.whl", hash = "sha256:60393946d73792d5adeeaa25e82ff2f5bf19b17f6617a468743a4db4a07298a0"}, + {file = "ijson-2.6.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:d320dc1c1c9adbe404668b0fed6bfa0ac8693911159564f4655a5f2059746993"}, + {file = "ijson-2.6.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:a4cd7f8ecf035d0e23db1cc6d6036e6c563f31abacbceae88904bb8b7f88b1f6"}, + {file = "ijson-2.6.1-cp34-cp34m-macosx_10_6_x86_64.whl", hash = "sha256:9904bf55bc1f170353c32144861d8295f0bdc41034e5e6ae58cbf30610023ca6"}, + {file = "ijson-2.6.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:7bac04b23691e6ab122d8f9ff06b26dbbb6df01babbf6bf8856ccad1c505278b"}, + {file = "ijson-2.6.1-cp35-cp35m-macosx_10_6_x86_64.whl", hash = "sha256:ae9cc3ebbe8fa030b923b5dff912a61980edd03dc00b92f5c0223e44cbc51d9f"}, + {file = "ijson-2.6.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:8ce67b7d3435c3fc831d5c06f60b2d20a853b599cdf885478e575a3416fbf655"}, + {file = "ijson-2.6.1-cp36-cp36m-macosx_10_6_x86_64.whl", hash = "sha256:a8b486bdf24e389947e588f4021498f6cc56cafdfaec1c78e9952e0f338aef23"}, + {file = "ijson-2.6.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:c0042bb768fb890c177af923c0ead157cdc70c6dfa64827765c1a3676a879190"}, + {file = "ijson-2.6.1-cp37-cp37m-macosx_10_6_x86_64.whl", hash = "sha256:26978c02314233c87bddad8800b7b9a56a052334f495e2bce93b282397c6931d"}, + {file = "ijson-2.6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:25d4d159405f75a7443c1fe83b6d7be5a7da017b4aa9cc1bb5cda3feb74aaf32"}, + {file = "ijson-2.6.1.tar.gz", hash = "sha256:75ebc60b23abfb1c97f475ab5d07a5ed725ad4bd1f58513d8b258c21f02703d0"}, +] + [[package]] name = "importlib-metadata" version = "6.11.0" @@ -1012,6 +1487,27 @@ files = [ docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff", "zipp (>=3.17)"] +[[package]] +name = "infisical" +version = "1.5.0" +description = "Official Infisical SDK for Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "infisical-1.5.0-py3-none-any.whl", hash = "sha256:c69cf4c1875c9b417dee5c84dd7befd64f0b593a7939f35d9633a4a13820bdf5"}, + {file = "infisical-1.5.0.tar.gz", hash = "sha256:8d3eec128081cd4c4ab5260e78f66fc600bdffd795ec95f32f02041e32a23ced"}, +] + +[package.dependencies] +pycryptodomex = ">=3.17,<4.0.0" +pydantic = ">=1.6.2,<1.7 || >1.7,<1.7.1 || >1.7.1,<1.7.2 || >1.7.2,<1.7.3 || >1.7.3,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0" +pynacl = ">=1.5.0,<2.0.0" +requests = "2.31.0" + +[package.extras] +dev = ["black (==23.3.0)", "devtools[pygments] (==0.11.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==1.1.1)", "ruff (==0.0.261)", "types-requests (==2.28.11.17)"] +test = ["coverage[toml] (>=6.5.0,<8.0)", "pytest (>=7.1.3,<8.0.0)", "responses (==0.23.1)"] + [[package]] name = "isodate" version = "0.6.1" @@ -1148,13 +1644,13 @@ zmq = ["pyzmq"] [[package]] name = "loguru" -version = "0.7.2" +version = "0.7.0" description = "Python logging made (stupidly) simple" optional = false python-versions = ">=3.5" files = [ - {file = "loguru-0.7.2-py3-none-any.whl", hash = "sha256:003d71e3d3ed35f0f8984898359d65b79e5b21943f78af86aa5491210429b8eb"}, - {file = "loguru-0.7.2.tar.gz", hash = "sha256:e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac"}, + {file = "loguru-0.7.0-py3-none-any.whl", hash = "sha256:b93aa30099fa6860d4727f1b81f8718e965bb96253fa190fab2077aaad6d15d3"}, + {file = "loguru-0.7.0.tar.gz", hash = "sha256:1612053ced6ae84d7959dd7d5e431a0532642237ec21f7fd83ac73fe539e03e1"}, ] [package.dependencies] @@ -1162,7 +1658,7 @@ colorama = {version = ">=0.3.4", markers = "sys_platform == \"win32\""} win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""} [package.extras] -dev = ["Sphinx (==7.2.5)", "colorama (==0.4.5)", "colorama (==0.4.6)", "exceptiongroup (==1.1.3)", "freezegun (==1.1.0)", "freezegun (==1.2.2)", "mypy (==v0.910)", "mypy (==v0.971)", "mypy (==v1.4.1)", "mypy (==v1.5.1)", "pre-commit (==3.4.0)", "pytest (==6.1.2)", "pytest (==7.4.0)", "pytest-cov (==2.12.1)", "pytest-cov (==4.1.0)", "pytest-mypy-plugins (==1.9.3)", "pytest-mypy-plugins (==3.0.0)", "sphinx-autobuild (==2021.3.14)", "sphinx-rtd-theme (==1.3.0)", "tox (==3.27.1)", "tox (==4.11.0)"] +dev = ["Sphinx (==5.3.0)", "colorama (==0.4.5)", "colorama (==0.4.6)", "freezegun (==1.1.0)", "freezegun (==1.2.2)", "mypy (==v0.910)", "mypy (==v0.971)", "mypy (==v0.990)", "pre-commit (==3.2.1)", "pytest (==6.1.2)", "pytest (==7.2.1)", "pytest-cov (==2.12.1)", "pytest-cov (==4.0.0)", "pytest-mypy-plugins (==1.10.1)", "pytest-mypy-plugins (==1.9.3)", "sphinx-autobuild (==2021.3.14)", "sphinx-rtd-theme (==1.2.0)", "tox (==3.27.1)", "tox (==4.4.6)"] [[package]] name = "markupsafe" @@ -1395,6 +1891,89 @@ files = [ {file = "mslex-1.1.0.tar.gz", hash = "sha256:7fe305fbdc9721283875e0b737fdb344374b761338a7f41af91875de278568e4"}, ] +[[package]] +name = "multidict" +version = "6.0.4" +description = "multidict implementation" +optional = false +python-versions = ">=3.7" +files = [ + {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, + {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, + {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, + {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, + {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, + {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, + {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, + {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, + {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, + {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, + {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, + {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, + {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, + {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, + {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, +] + [[package]] name = "mypy-extensions" version = "1.0.0" @@ -1438,6 +2017,67 @@ files = [ [package.dependencies] setuptools = "*" +[[package]] +name = "numpy" +version = "1.26.2" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numpy-1.26.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3703fc9258a4a122d17043e57b35e5ef1c5a5837c3db8be396c82e04c1cf9b0f"}, + {file = "numpy-1.26.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cc392fdcbd21d4be6ae1bb4475a03ce3b025cd49a9be5345d76d7585aea69440"}, + {file = "numpy-1.26.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36340109af8da8805d8851ef1d74761b3b88e81a9bd80b290bbfed61bd2b4f75"}, + {file = "numpy-1.26.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc008217145b3d77abd3e4d5ef586e3bdfba8fe17940769f8aa09b99e856c00"}, + {file = "numpy-1.26.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3ced40d4e9e18242f70dd02d739e44698df3dcb010d31f495ff00a31ef6014fe"}, + {file = "numpy-1.26.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b272d4cecc32c9e19911891446b72e986157e6a1809b7b56518b4f3755267523"}, + {file = "numpy-1.26.2-cp310-cp310-win32.whl", hash = "sha256:22f8fc02fdbc829e7a8c578dd8d2e15a9074b630d4da29cda483337e300e3ee9"}, + {file = "numpy-1.26.2-cp310-cp310-win_amd64.whl", hash = "sha256:26c9d33f8e8b846d5a65dd068c14e04018d05533b348d9eaeef6c1bd787f9919"}, + {file = "numpy-1.26.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b96e7b9c624ef3ae2ae0e04fa9b460f6b9f17ad8b4bec6d7756510f1f6c0c841"}, + {file = "numpy-1.26.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:aa18428111fb9a591d7a9cc1b48150097ba6a7e8299fb56bdf574df650e7d1f1"}, + {file = "numpy-1.26.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06fa1ed84aa60ea6ef9f91ba57b5ed963c3729534e6e54055fc151fad0423f0a"}, + {file = "numpy-1.26.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96ca5482c3dbdd051bcd1fce8034603d6ebfc125a7bd59f55b40d8f5d246832b"}, + {file = "numpy-1.26.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:854ab91a2906ef29dc3925a064fcd365c7b4da743f84b123002f6139bcb3f8a7"}, + {file = "numpy-1.26.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f43740ab089277d403aa07567be138fc2a89d4d9892d113b76153e0e412409f8"}, + {file = "numpy-1.26.2-cp311-cp311-win32.whl", hash = "sha256:a2bbc29fcb1771cd7b7425f98b05307776a6baf43035d3b80c4b0f29e9545186"}, + {file = "numpy-1.26.2-cp311-cp311-win_amd64.whl", hash = "sha256:2b3fca8a5b00184828d12b073af4d0fc5fdd94b1632c2477526f6bd7842d700d"}, + {file = "numpy-1.26.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a4cd6ed4a339c21f1d1b0fdf13426cb3b284555c27ac2f156dfdaaa7e16bfab0"}, + {file = "numpy-1.26.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d5244aabd6ed7f312268b9247be47343a654ebea52a60f002dc70c769048e75"}, + {file = "numpy-1.26.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a3cdb4d9c70e6b8c0814239ead47da00934666f668426fc6e94cce869e13fd7"}, + {file = "numpy-1.26.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa317b2325f7aa0a9471663e6093c210cb2ae9c0ad824732b307d2c51983d5b6"}, + {file = "numpy-1.26.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:174a8880739c16c925799c018f3f55b8130c1f7c8e75ab0a6fa9d41cab092fd6"}, + {file = "numpy-1.26.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f79b231bf5c16b1f39c7f4875e1ded36abee1591e98742b05d8a0fb55d8a3eec"}, + {file = "numpy-1.26.2-cp312-cp312-win32.whl", hash = "sha256:4a06263321dfd3598cacb252f51e521a8cb4b6df471bb12a7ee5cbab20ea9167"}, + {file = "numpy-1.26.2-cp312-cp312-win_amd64.whl", hash = "sha256:b04f5dc6b3efdaab541f7857351aac359e6ae3c126e2edb376929bd3b7f92d7e"}, + {file = "numpy-1.26.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4eb8df4bf8d3d90d091e0146f6c28492b0be84da3e409ebef54349f71ed271ef"}, + {file = "numpy-1.26.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1a13860fdcd95de7cf58bd6f8bc5a5ef81c0b0625eb2c9a783948847abbef2c2"}, + {file = "numpy-1.26.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64308ebc366a8ed63fd0bf426b6a9468060962f1a4339ab1074c228fa6ade8e3"}, + {file = "numpy-1.26.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baf8aab04a2c0e859da118f0b38617e5ee65d75b83795055fb66c0d5e9e9b818"}, + {file = "numpy-1.26.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d73a3abcac238250091b11caef9ad12413dab01669511779bc9b29261dd50210"}, + {file = "numpy-1.26.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b361d369fc7e5e1714cf827b731ca32bff8d411212fccd29ad98ad622449cc36"}, + {file = "numpy-1.26.2-cp39-cp39-win32.whl", hash = "sha256:bd3f0091e845164a20bd5a326860c840fe2af79fa12e0469a12768a3ec578d80"}, + {file = "numpy-1.26.2-cp39-cp39-win_amd64.whl", hash = "sha256:2beef57fb031dcc0dc8fa4fe297a742027b954949cabb52a2a376c144e5e6060"}, + {file = "numpy-1.26.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1cc3d5029a30fb5f06704ad6b23b35e11309491c999838c31f124fee32107c79"}, + {file = "numpy-1.26.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94cc3c222bb9fb5a12e334d0479b97bb2df446fbe622b470928f5284ffca3f8d"}, + {file = "numpy-1.26.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe6b44fb8fcdf7eda4ef4461b97b3f63c466b27ab151bec2366db8b197387841"}, + {file = "numpy-1.26.2.tar.gz", hash = "sha256:f65738447676ab5777f11e6bbbdb8ce11b785e105f690bc45966574816b6d3ea"}, +] + +[[package]] +name = "oauthlib" +version = "3.2.2" +description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +optional = false +python-versions = ">=3.6" +files = [ + {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, + {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, +] + +[package.extras] +rsa = ["cryptography (>=3.0.0)"] +signals = ["blinker (>=1.4.0)"] +signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] + [[package]] name = "packaging" version = "23.2" @@ -1449,6 +2089,97 @@ files = [ {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, ] +[[package]] +name = "pandas" +version = "2.1.4" +description = "Powerful data structures for data analysis, time series, and statistics" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pandas-2.1.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bdec823dc6ec53f7a6339a0e34c68b144a7a1fd28d80c260534c39c62c5bf8c9"}, + {file = "pandas-2.1.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:294d96cfaf28d688f30c918a765ea2ae2e0e71d3536754f4b6de0ea4a496d034"}, + {file = "pandas-2.1.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b728fb8deba8905b319f96447a27033969f3ea1fea09d07d296c9030ab2ed1d"}, + {file = "pandas-2.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00028e6737c594feac3c2df15636d73ace46b8314d236100b57ed7e4b9ebe8d9"}, + {file = "pandas-2.1.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:426dc0f1b187523c4db06f96fb5c8d1a845e259c99bda74f7de97bd8a3bb3139"}, + {file = "pandas-2.1.4-cp310-cp310-win_amd64.whl", hash = "sha256:f237e6ca6421265643608813ce9793610ad09b40154a3344a088159590469e46"}, + {file = "pandas-2.1.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b7d852d16c270e4331f6f59b3e9aa23f935f5c4b0ed2d0bc77637a8890a5d092"}, + {file = "pandas-2.1.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7d5f2f54f78164b3d7a40f33bf79a74cdee72c31affec86bfcabe7e0789821"}, + {file = "pandas-2.1.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0aa6e92e639da0d6e2017d9ccff563222f4eb31e4b2c3cf32a2a392fc3103c0d"}, + {file = "pandas-2.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d797591b6846b9db79e65dc2d0d48e61f7db8d10b2a9480b4e3faaddc421a171"}, + {file = "pandas-2.1.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d2d3e7b00f703aea3945995ee63375c61b2e6aa5aa7871c5d622870e5e137623"}, + {file = "pandas-2.1.4-cp311-cp311-win_amd64.whl", hash = "sha256:dc9bf7ade01143cddc0074aa6995edd05323974e6e40d9dbde081021ded8510e"}, + {file = "pandas-2.1.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:482d5076e1791777e1571f2e2d789e940dedd927325cc3cb6d0800c6304082f6"}, + {file = "pandas-2.1.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8a706cfe7955c4ca59af8c7a0517370eafbd98593155b48f10f9811da440248b"}, + {file = "pandas-2.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0513a132a15977b4a5b89aabd304647919bc2169eac4c8536afb29c07c23540"}, + {file = "pandas-2.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9f17f2b6fc076b2a0078862547595d66244db0f41bf79fc5f64a5c4d635bead"}, + {file = "pandas-2.1.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:45d63d2a9b1b37fa6c84a68ba2422dc9ed018bdaa668c7f47566a01188ceeec1"}, + {file = "pandas-2.1.4-cp312-cp312-win_amd64.whl", hash = "sha256:f69b0c9bb174a2342818d3e2778584e18c740d56857fc5cdb944ec8bbe4082cf"}, + {file = "pandas-2.1.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3f06bda01a143020bad20f7a85dd5f4a1600112145f126bc9e3e42077c24ef34"}, + {file = "pandas-2.1.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab5796839eb1fd62a39eec2916d3e979ec3130509930fea17fe6f81e18108f6a"}, + {file = "pandas-2.1.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edbaf9e8d3a63a9276d707b4d25930a262341bca9874fcb22eff5e3da5394732"}, + {file = "pandas-2.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ebfd771110b50055712b3b711b51bee5d50135429364d0498e1213a7adc2be8"}, + {file = "pandas-2.1.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8ea107e0be2aba1da619cc6ba3f999b2bfc9669a83554b1904ce3dd9507f0860"}, + {file = "pandas-2.1.4-cp39-cp39-win_amd64.whl", hash = "sha256:d65148b14788b3758daf57bf42725caa536575da2b64df9964c563b015230984"}, + {file = "pandas-2.1.4.tar.gz", hash = "sha256:fcb68203c833cc735321512e13861358079a96c174a61f5116a1de89c58c0ef7"}, +] + +[package.dependencies] +numpy = {version = ">=1.22.4,<2", markers = "python_version < \"3.11\""} +python-dateutil = ">=2.8.2" +pytz = ">=2020.1" +tzdata = ">=2022.1" + +[package.extras] +all = ["PyQt5 (>=5.15.6)", "SQLAlchemy (>=1.4.36)", "beautifulsoup4 (>=4.11.1)", "bottleneck (>=1.3.4)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=0.8.1)", "fsspec (>=2022.05.0)", "gcsfs (>=2022.05.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.8.0)", "matplotlib (>=3.6.1)", "numba (>=0.55.2)", "numexpr (>=2.8.0)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.10)", "pandas-gbq (>=0.17.5)", "psycopg2 (>=2.9.3)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.5)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "pyxlsb (>=1.0.9)", "qtpy (>=2.2.0)", "s3fs (>=2022.05.0)", "scipy (>=1.8.1)", "tables (>=3.7.0)", "tabulate (>=0.8.10)", "xarray (>=2022.03.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.3)", "zstandard (>=0.17.0)"] +aws = ["s3fs (>=2022.05.0)"] +clipboard = ["PyQt5 (>=5.15.6)", "qtpy (>=2.2.0)"] +compression = ["zstandard (>=0.17.0)"] +computation = ["scipy (>=1.8.1)", "xarray (>=2022.03.0)"] +consortium-standard = ["dataframe-api-compat (>=0.1.7)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.10)", "pyxlsb (>=1.0.9)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.3)"] +feather = ["pyarrow (>=7.0.0)"] +fss = ["fsspec (>=2022.05.0)"] +gcp = ["gcsfs (>=2022.05.0)", "pandas-gbq (>=0.17.5)"] +hdf5 = ["tables (>=3.7.0)"] +html = ["beautifulsoup4 (>=4.11.1)", "html5lib (>=1.1)", "lxml (>=4.8.0)"] +mysql = ["SQLAlchemy (>=1.4.36)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.8.10)"] +parquet = ["pyarrow (>=7.0.0)"] +performance = ["bottleneck (>=1.3.4)", "numba (>=0.55.2)", "numexpr (>=2.8.0)"] +plot = ["matplotlib (>=3.6.1)"] +postgresql = ["SQLAlchemy (>=1.4.36)", "psycopg2 (>=2.9.3)"] +spss = ["pyreadstat (>=1.1.5)"] +sql-other = ["SQLAlchemy (>=1.4.36)"] +test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.8.0)"] + +[[package]] +name = "pandas-gbq" +version = "0.19.2" +description = "Google BigQuery connector for pandas" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pandas-gbq-0.19.2.tar.gz", hash = "sha256:b0f7fa84a2be0fe767e33a008ca7e4ad9a9e3ac67255fd0a41fc19b503138447"}, + {file = "pandas_gbq-0.19.2-py2.py3-none-any.whl", hash = "sha256:0ef8da3e4088053a2bea069ed688992a44b52af67dadb97eee494b32a2147563"}, +] + +[package.dependencies] +db-dtypes = ">=1.0.4,<2.0.0" +google-api-core = ">=2.10.2,<3.0.0dev" +google-auth = ">=2.13.0" +google-auth-oauthlib = ">=0.7.0" +google-cloud-bigquery = ">=3.3.5,<4.0.0dev" +google-cloud-bigquery-storage = ">=2.16.2,<3.0.0dev" +numpy = ">=1.16.6" +pandas = ">=1.1.4" +pyarrow = ">=3.0.0" +pydata-google-auth = ">=1.5.0" +setuptools = "*" + +[package.extras] +tqdm = ["tqdm (>=4.23.0)"] + [[package]] name = "parsedatetime" version = "2.6" @@ -1491,37 +2222,102 @@ files = [ [[package]] name = "pendulum" -version = "2.1.2" +version = "3.0.0" description = "Python datetimes made easy" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=3.8" files = [ - {file = "pendulum-2.1.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:b6c352f4bd32dff1ea7066bd31ad0f71f8d8100b9ff709fb343f3b86cee43efe"}, - {file = "pendulum-2.1.2-cp27-cp27m-win_amd64.whl", hash = "sha256:318f72f62e8e23cd6660dbafe1e346950281a9aed144b5c596b2ddabc1d19739"}, - {file = "pendulum-2.1.2-cp35-cp35m-macosx_10_15_x86_64.whl", hash = "sha256:0731f0c661a3cb779d398803655494893c9f581f6488048b3fb629c2342b5394"}, - {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:3481fad1dc3f6f6738bd575a951d3c15d4b4ce7c82dce37cf8ac1483fde6e8b0"}, - {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9702069c694306297ed362ce7e3c1ef8404ac8ede39f9b28b7c1a7ad8c3959e3"}, - {file = "pendulum-2.1.2-cp35-cp35m-win_amd64.whl", hash = "sha256:fb53ffa0085002ddd43b6ca61a7b34f2d4d7c3ed66f931fe599e1a531b42af9b"}, - {file = "pendulum-2.1.2-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:c501749fdd3d6f9e726086bf0cd4437281ed47e7bca132ddb522f86a1645d360"}, - {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c807a578a532eeb226150d5006f156632df2cc8c5693d778324b43ff8c515dd0"}, - {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2d1619a721df661e506eff8db8614016f0720ac171fe80dda1333ee44e684087"}, - {file = "pendulum-2.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f888f2d2909a414680a29ae74d0592758f2b9fcdee3549887779cd4055e975db"}, - {file = "pendulum-2.1.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:e95d329384717c7bf627bf27e204bc3b15c8238fa8d9d9781d93712776c14002"}, - {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4c9c689747f39d0d02a9f94fcee737b34a5773803a64a5fdb046ee9cac7442c5"}, - {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1245cd0075a3c6d889f581f6325dd8404aca5884dea7223a5566c38aab94642b"}, - {file = "pendulum-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:db0a40d8bcd27b4fb46676e8eb3c732c67a5a5e6bfab8927028224fbced0b40b"}, - {file = "pendulum-2.1.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f5e236e7730cab1644e1b87aca3d2ff3e375a608542e90fe25685dae46310116"}, - {file = "pendulum-2.1.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:de42ea3e2943171a9e95141f2eecf972480636e8e484ccffaf1e833929e9e052"}, - {file = "pendulum-2.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7c5ec650cb4bec4c63a89a0242cc8c3cebcec92fcfe937c417ba18277d8560be"}, - {file = "pendulum-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:33fb61601083f3eb1d15edeb45274f73c63b3c44a8524703dc143f4212bf3269"}, - {file = "pendulum-2.1.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:29c40a6f2942376185728c9a0347d7c0f07905638c83007e1d262781f1e6953a"}, - {file = "pendulum-2.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:94b1fc947bfe38579b28e1cccb36f7e28a15e841f30384b5ad6c5e31055c85d7"}, - {file = "pendulum-2.1.2.tar.gz", hash = "sha256:b06a0ca1bfe41c990bbf0c029f0b6501a7f2ec4e38bfec730712015e8860f207"}, -] - -[package.dependencies] -python-dateutil = ">=2.6,<3.0" -pytzdata = ">=2020.1" + {file = "pendulum-3.0.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2cf9e53ef11668e07f73190c805dbdf07a1939c3298b78d5a9203a86775d1bfd"}, + {file = "pendulum-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fb551b9b5e6059377889d2d878d940fd0bbb80ae4810543db18e6f77b02c5ef6"}, + {file = "pendulum-3.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c58227ac260d5b01fc1025176d7b31858c9f62595737f350d22124a9a3ad82d"}, + {file = "pendulum-3.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60fb6f415fea93a11c52578eaa10594568a6716602be8430b167eb0d730f3332"}, + {file = "pendulum-3.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b69f6b4dbcb86f2c2fe696ba991e67347bcf87fe601362a1aba6431454b46bde"}, + {file = "pendulum-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:138afa9c373ee450ede206db5a5e9004fd3011b3c6bbe1e57015395cd076a09f"}, + {file = "pendulum-3.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:83d9031f39c6da9677164241fd0d37fbfc9dc8ade7043b5d6d62f56e81af8ad2"}, + {file = "pendulum-3.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0c2308af4033fa534f089595bcd40a95a39988ce4059ccd3dc6acb9ef14ca44a"}, + {file = "pendulum-3.0.0-cp310-none-win_amd64.whl", hash = "sha256:9a59637cdb8462bdf2dbcb9d389518c0263799189d773ad5c11db6b13064fa79"}, + {file = "pendulum-3.0.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3725245c0352c95d6ca297193192020d1b0c0f83d5ee6bb09964edc2b5a2d508"}, + {file = "pendulum-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6c035f03a3e565ed132927e2c1b691de0dbf4eb53b02a5a3c5a97e1a64e17bec"}, + {file = "pendulum-3.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:597e66e63cbd68dd6d58ac46cb7a92363d2088d37ccde2dae4332ef23e95cd00"}, + {file = "pendulum-3.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99a0f8172e19f3f0c0e4ace0ad1595134d5243cf75985dc2233e8f9e8de263ca"}, + {file = "pendulum-3.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:77d8839e20f54706aed425bec82a83b4aec74db07f26acd039905d1237a5e1d4"}, + {file = "pendulum-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afde30e8146292b059020fbc8b6f8fd4a60ae7c5e6f0afef937bbb24880bdf01"}, + {file = "pendulum-3.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:660434a6fcf6303c4efd36713ca9212c753140107ee169a3fc6c49c4711c2a05"}, + {file = "pendulum-3.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dee9e5a48c6999dc1106eb7eea3e3a50e98a50651b72c08a87ee2154e544b33e"}, + {file = "pendulum-3.0.0-cp311-none-win_amd64.whl", hash = "sha256:d4cdecde90aec2d67cebe4042fd2a87a4441cc02152ed7ed8fb3ebb110b94ec4"}, + {file = "pendulum-3.0.0-cp311-none-win_arm64.whl", hash = "sha256:773c3bc4ddda2dda9f1b9d51fe06762f9200f3293d75c4660c19b2614b991d83"}, + {file = "pendulum-3.0.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:409e64e41418c49f973d43a28afe5df1df4f1dd87c41c7c90f1a63f61ae0f1f7"}, + {file = "pendulum-3.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a38ad2121c5ec7c4c190c7334e789c3b4624798859156b138fcc4d92295835dc"}, + {file = "pendulum-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fde4d0b2024b9785f66b7f30ed59281bd60d63d9213cda0eb0910ead777f6d37"}, + {file = "pendulum-3.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b2c5675769fb6d4c11238132962939b960fcb365436b6d623c5864287faa319"}, + {file = "pendulum-3.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8af95e03e066826f0f4c65811cbee1b3123d4a45a1c3a2b4fc23c4b0dff893b5"}, + {file = "pendulum-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2165a8f33cb15e06c67070b8afc87a62b85c5a273e3aaa6bc9d15c93a4920d6f"}, + {file = "pendulum-3.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ad5e65b874b5e56bd942546ea7ba9dd1d6a25121db1c517700f1c9de91b28518"}, + {file = "pendulum-3.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:17fe4b2c844bbf5f0ece69cfd959fa02957c61317b2161763950d88fed8e13b9"}, + {file = "pendulum-3.0.0-cp312-none-win_amd64.whl", hash = "sha256:78f8f4e7efe5066aca24a7a57511b9c2119f5c2b5eb81c46ff9222ce11e0a7a5"}, + {file = "pendulum-3.0.0-cp312-none-win_arm64.whl", hash = "sha256:28f49d8d1e32aae9c284a90b6bb3873eee15ec6e1d9042edd611b22a94ac462f"}, + {file = "pendulum-3.0.0-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:d4e2512f4e1a4670284a153b214db9719eb5d14ac55ada5b76cbdb8c5c00399d"}, + {file = "pendulum-3.0.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:3d897eb50883cc58d9b92f6405245f84b9286cd2de6e8694cb9ea5cb15195a32"}, + {file = "pendulum-3.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e169cc2ca419517f397811bbe4589cf3cd13fca6dc38bb352ba15ea90739ebb"}, + {file = "pendulum-3.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f17c3084a4524ebefd9255513692f7e7360e23c8853dc6f10c64cc184e1217ab"}, + {file = "pendulum-3.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:826d6e258052715f64d05ae0fc9040c0151e6a87aae7c109ba9a0ed930ce4000"}, + {file = "pendulum-3.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2aae97087872ef152a0c40e06100b3665d8cb86b59bc8471ca7c26132fccd0f"}, + {file = "pendulum-3.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ac65eeec2250d03106b5e81284ad47f0d417ca299a45e89ccc69e36130ca8bc7"}, + {file = "pendulum-3.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a5346d08f3f4a6e9e672187faa179c7bf9227897081d7121866358af369f44f9"}, + {file = "pendulum-3.0.0-cp37-none-win_amd64.whl", hash = "sha256:235d64e87946d8f95c796af34818c76e0f88c94d624c268693c85b723b698aa9"}, + {file = "pendulum-3.0.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:6a881d9c2a7f85bc9adafcfe671df5207f51f5715ae61f5d838b77a1356e8b7b"}, + {file = "pendulum-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d7762d2076b9b1cb718a6631ad6c16c23fc3fac76cbb8c454e81e80be98daa34"}, + {file = "pendulum-3.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e8e36a8130819d97a479a0e7bf379b66b3b1b520e5dc46bd7eb14634338df8c"}, + {file = "pendulum-3.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7dc843253ac373358ffc0711960e2dd5b94ab67530a3e204d85c6e8cb2c5fa10"}, + {file = "pendulum-3.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0a78ad3635d609ceb1e97d6aedef6a6a6f93433ddb2312888e668365908c7120"}, + {file = "pendulum-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b30a137e9e0d1f751e60e67d11fc67781a572db76b2296f7b4d44554761049d6"}, + {file = "pendulum-3.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c95984037987f4a457bb760455d9ca80467be792236b69d0084f228a8ada0162"}, + {file = "pendulum-3.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d29c6e578fe0f893766c0d286adbf0b3c726a4e2341eba0917ec79c50274ec16"}, + {file = "pendulum-3.0.0-cp38-none-win_amd64.whl", hash = "sha256:deaba8e16dbfcb3d7a6b5fabdd5a38b7c982809567479987b9c89572df62e027"}, + {file = "pendulum-3.0.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b11aceea5b20b4b5382962b321dbc354af0defe35daa84e9ff3aae3c230df694"}, + {file = "pendulum-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a90d4d504e82ad236afac9adca4d6a19e4865f717034fc69bafb112c320dcc8f"}, + {file = "pendulum-3.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:825799c6b66e3734227756fa746cc34b3549c48693325b8b9f823cb7d21b19ac"}, + {file = "pendulum-3.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad769e98dc07972e24afe0cff8d365cb6f0ebc7e65620aa1976fcfbcadc4c6f3"}, + {file = "pendulum-3.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6fc26907eb5fb8cc6188cc620bc2075a6c534d981a2f045daa5f79dfe50d512"}, + {file = "pendulum-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c717eab1b6d898c00a3e0fa7781d615b5c5136bbd40abe82be100bb06df7a56"}, + {file = "pendulum-3.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3ddd1d66d1a714ce43acfe337190be055cdc221d911fc886d5a3aae28e14b76d"}, + {file = "pendulum-3.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:822172853d7a9cf6da95d7b66a16c7160cb99ae6df55d44373888181d7a06edc"}, + {file = "pendulum-3.0.0-cp39-none-win_amd64.whl", hash = "sha256:840de1b49cf1ec54c225a2a6f4f0784d50bd47f68e41dc005b7f67c7d5b5f3ae"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3b1f74d1e6ffe5d01d6023870e2ce5c2191486928823196f8575dcc786e107b1"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:729e9f93756a2cdfa77d0fc82068346e9731c7e884097160603872686e570f07"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e586acc0b450cd21cbf0db6bae386237011b75260a3adceddc4be15334689a9a"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22e7944ffc1f0099a79ff468ee9630c73f8c7835cd76fdb57ef7320e6a409df4"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:fa30af36bd8e50686846bdace37cf6707bdd044e5cb6e1109acbad3277232e04"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:440215347b11914ae707981b9a57ab9c7b6983ab0babde07063c6ee75c0dc6e7"}, + {file = "pendulum-3.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:314c4038dc5e6a52991570f50edb2f08c339debdf8cea68ac355b32c4174e820"}, + {file = "pendulum-3.0.0-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5acb1d386337415f74f4d1955c4ce8d0201978c162927d07df8eb0692b2d8533"}, + {file = "pendulum-3.0.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a789e12fbdefaffb7b8ac67f9d8f22ba17a3050ceaaa635cd1cc4645773a4b1e"}, + {file = "pendulum-3.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:860aa9b8a888e5913bd70d819306749e5eb488e6b99cd6c47beb701b22bdecf5"}, + {file = "pendulum-3.0.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:5ebc65ea033ef0281368217fbf59f5cb05b338ac4dd23d60959c7afcd79a60a0"}, + {file = "pendulum-3.0.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d9fef18ab0386ef6a9ac7bad7e43ded42c83ff7ad412f950633854f90d59afa8"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:1c134ba2f0571d0b68b83f6972e2307a55a5a849e7dac8505c715c531d2a8795"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:385680812e7e18af200bb9b4a49777418c32422d05ad5a8eb85144c4a285907b"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9eec91cd87c59fb32ec49eb722f375bd58f4be790cae11c1b70fac3ee4f00da0"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4386bffeca23c4b69ad50a36211f75b35a4deb6210bdca112ac3043deb7e494a"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:dfbcf1661d7146d7698da4b86e7f04814221081e9fe154183e34f4c5f5fa3bf8"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:04a1094a5aa1daa34a6b57c865b25f691848c61583fb22722a4df5699f6bf74c"}, + {file = "pendulum-3.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5b0ec85b9045bd49dd3a3493a5e7ddfd31c36a2a60da387c419fa04abcaecb23"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:0a15b90129765b705eb2039062a6daf4d22c4e28d1a54fa260892e8c3ae6e157"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:bb8f6d7acd67a67d6fedd361ad2958ff0539445ef51cbe8cd288db4306503cd0"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd69b15374bef7e4b4440612915315cc42e8575fcda2a3d7586a0d88192d0c88"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc00f8110db6898360c53c812872662e077eaf9c75515d53ecc65d886eec209a"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:83a44e8b40655d0ba565a5c3d1365d27e3e6778ae2a05b69124db9e471255c4a"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1a3604e9fbc06b788041b2a8b78f75c243021e0f512447806a6d37ee5214905d"}, + {file = "pendulum-3.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:92c307ae7accebd06cbae4729f0ba9fa724df5f7d91a0964b1b972a22baa482b"}, + {file = "pendulum-3.0.0.tar.gz", hash = "sha256:5d034998dea404ec31fae27af6b22cff1708f830a1ed7353be4d1019bb9f584e"}, +] + +[package.dependencies] +python-dateutil = ">=2.6" +tzdata = ">=2020.1" + +[package.extras] +test = ["time-machine (>=2.6.0)"] [[package]] name = "platformdirs" @@ -1645,23 +2441,48 @@ viz = ["graphviz (>=0.8.3)"] [[package]] name = "prefeitura-rio" -version = "1.0.0rc1" +version = "1.1.3a1" description = "Pacote Python que implementa utilidades para nossos projetos!" optional = false python-versions = ">=3.9,<3.11" -files = [ - {file = "prefeitura_rio-1.0.0rc1-py3-none-any.whl", hash = "sha256:f7a6eb6e394f27dc3281450076fbaf2f076f8f26e7b8f067ea4393a6594ea885"}, - {file = "prefeitura_rio-1.0.0rc1.tar.gz", hash = "sha256:5ca8ae3a4f03f0551082aa7068e38675f5131c81fde2c31c0d3a74de3764e02f"}, -] +files = [] +develop = false [package.dependencies] -loguru = ">=0.7.0,<0.8.0" +basedosdados = {version = "2.0.0b15", extras = ["upload"]} +croniter = {version = "^2.0.1", optional = true} +cx-oracle = {version = "^8.3.0", optional = true} +dask = {version = "^2023.11.0", optional = true} +earthengine-api = {version = "^0.1.379", optional = true} +geojsplit = {version = "^0.1.2", optional = true} +geopandas = {version = "^0.14.1", optional = true} +geopy = {version = "^2.4.1", optional = true} +google-cloud-storage = {version = "^2.10.0", optional = true} +infisical = {version = "^1.4.2", optional = true} +jinja2 = "^3.1.2" +loguru = "^0.7.0" +pandas = {version = "^2.0.3", optional = true} +prefect = {version = "1.4.1", optional = true} +pymongo = {version = "^4.6.0", optional = true} +pymysql = {version = "^1.1.0", optional = true} +pyodbc = {version = "^5.0.1", optional = true} +redis-pal = {version = "^1.0.0", optional = true} +requests = {version = "^2.31.0", optional = true} +sentry-sdk = {version = "^1.29.2", optional = true} +shapely = {version = "^2.0.2", optional = true} [package.extras] -all = ["basedosdados[upload] (==2.0.0b13)", "google-cloud-storage (>=2.10.0,<3.0.0)", "infisical (>=1.4.2,<2.0.0)", "numpy (>=1.23.3,<2.0.0)", "pandas (>=2.0.3,<3.0.0)", "pendulum (>=2.1.2,<3.0.0)", "prefect (==1.4)", "pytz (>=2023.3,<2024.0)", "requests (>=2.31.0,<3.0.0)", "scikit-learn (>=1.1.2,<2.0.0)", "sentry-sdk (>=1.29.2,<2.0.0)"] +all = ["aiohttp (>=3.8.5,<4.0.0)", "basedosdados[upload] (==2.0.0b15)", "croniter (>=2.0.1,<3.0.0)", "cx-oracle (>=8.3.0,<9.0.0)", "dask (>=2023.11.0,<2024.0.0)", "earthengine-api (>=0.1.379,<0.2.0)", "geojsplit (>=0.1.2,<0.2.0)", "geopandas (>=0.14.1,<0.15.0)", "geopy (>=2.4.1,<3.0.0)", "google-cloud-storage (>=2.10.0,<3.0.0)", "infisical (>=1.4.2,<2.0.0)", "jinja2 (>=3.1.2,<4.0.0)", "numpy (>=1.23.3,<2.0.0)", "pandas (>=2.0.3,<3.0.0)", "pendulum (>=2.1.2,<3.0.0)", "prefect (==1.4.1)", "pymongo (>=4.6.0,<5.0.0)", "pymysql (>=1.1.0,<2.0.0)", "pyodbc (>=5.0.1,<6.0.0)", "pytz (>=2023.3,<2024.0)", "redis-pal (>=1.0.0,<2.0.0)", "requests (>=2.31.0,<3.0.0)", "scikit-learn (>=1.1.2,<2.0.0)", "sentry-sdk (>=1.29.2,<2.0.0)", "shapely (>=2.0.2,<3.0.0)"] metrics = ["numpy (>=1.23.3,<2.0.0)", "scikit-learn (>=1.1.2,<2.0.0)"] -pipelines = ["basedosdados[upload] (==2.0.0b13)", "google-cloud-storage (>=2.10.0,<3.0.0)", "infisical (>=1.4.2,<2.0.0)", "pandas (>=2.0.3,<3.0.0)", "prefect (==1.4)", "sentry-sdk (>=1.29.2,<2.0.0)"] -sgrc = ["pendulum (>=2.1.2,<3.0.0)", "pytz (>=2023.3,<2024.0)", "requests (>=2.31.0,<3.0.0)"] +pipelines = ["basedosdados[upload] (==2.0.0b15)", "dask (>=2023.11.0,<2024.0.0)", "google-cloud-storage (>=2.10.0,<3.0.0)", "infisical (>=1.4.2,<2.0.0)", "jinja2 (>=3.1.2,<4.0.0)", "pandas (>=2.0.3,<3.0.0)", "prefect (==1.4.1)", "sentry-sdk (>=1.29.2,<2.0.0)"] +pipelines-templates = ["croniter (>=2.0.1,<3.0.0)", "cx-oracle (>=8.3.0,<9.0.0)", "earthengine-api (>=0.1.379,<0.2.0)", "geojsplit (>=0.1.2,<0.2.0)", "geopandas (>=0.14.1,<0.15.0)", "geopy (>=2.4.1,<3.0.0)", "jinja2 (>=3.1.2,<4.0.0)", "pymongo (>=4.6.0,<5.0.0)", "pymysql (>=1.1.0,<2.0.0)", "pyodbc (>=5.0.1,<6.0.0)", "redis-pal (>=1.0.0,<2.0.0)", "requests (>=2.31.0,<3.0.0)", "shapely (>=2.0.2,<3.0.0)"] +sgrc = ["aiohttp (>=3.8.5,<4.0.0)", "pendulum (>=2.1.2,<3.0.0)", "pytz (>=2023.3,<2024.0)", "requests (>=2.31.0,<3.0.0)"] + +[package.source] +type = "git" +url = "https://github.com/prefeitura-rio/prefeitura-rio" +reference = "4c1e9e63a52270fa8c165717b63f71390a2d99ce" +resolved_reference = "4c1e9e63a52270fa8c165717b63f71390a2d99ce" [[package]] name = "proto-plus" @@ -1728,6 +2549,54 @@ files = [ [package.extras] test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] +[[package]] +name = "pyarrow" +version = "14.0.1" +description = "Python library for Apache Arrow" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyarrow-14.0.1-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:96d64e5ba7dceb519a955e5eeb5c9adcfd63f73a56aea4722e2cc81364fc567a"}, + {file = "pyarrow-14.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a8ae88c0038d1bc362a682320112ee6774f006134cd5afc291591ee4bc06505"}, + {file = "pyarrow-14.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f6f053cb66dc24091f5511e5920e45c83107f954a21032feadc7b9e3a8e7851"}, + {file = "pyarrow-14.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:906b0dc25f2be12e95975722f1e60e162437023f490dbd80d0deb7375baf3171"}, + {file = "pyarrow-14.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:78d4a77a46a7de9388b653af1c4ce539350726cd9af62e0831e4f2bd0c95a2f4"}, + {file = "pyarrow-14.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:06ca79080ef89d6529bb8e5074d4b4f6086143b2520494fcb7cf8a99079cde93"}, + {file = "pyarrow-14.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:32542164d905002c42dff896efdac79b3bdd7291b1b74aa292fac8450d0e4dcd"}, + {file = "pyarrow-14.0.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:c7331b4ed3401b7ee56f22c980608cf273f0380f77d0f73dd3c185f78f5a6220"}, + {file = "pyarrow-14.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:922e8b49b88da8633d6cac0e1b5a690311b6758d6f5d7c2be71acb0f1e14cd61"}, + {file = "pyarrow-14.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58c889851ca33f992ea916b48b8540735055201b177cb0dcf0596a495a667b00"}, + {file = "pyarrow-14.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30d8494870d9916bb53b2a4384948491444741cb9a38253c590e21f836b01222"}, + {file = "pyarrow-14.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:be28e1a07f20391bb0b15ea03dcac3aade29fc773c5eb4bee2838e9b2cdde0cb"}, + {file = "pyarrow-14.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:981670b4ce0110d8dcb3246410a4aabf5714db5d8ea63b15686bce1c914b1f83"}, + {file = "pyarrow-14.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:4756a2b373a28f6166c42711240643fb8bd6322467e9aacabd26b488fa41ec23"}, + {file = "pyarrow-14.0.1-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:cf87e2cec65dd5cf1aa4aba918d523ef56ef95597b545bbaad01e6433851aa10"}, + {file = "pyarrow-14.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:470ae0194fbfdfbf4a6b65b4f9e0f6e1fa0ea5b90c1ee6b65b38aecee53508c8"}, + {file = "pyarrow-14.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6263cffd0c3721c1e348062997babdf0151301f7353010c9c9a8ed47448f82ab"}, + {file = "pyarrow-14.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8089d7e77d1455d529dbd7cff08898bbb2666ee48bc4085203af1d826a33cc"}, + {file = "pyarrow-14.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fada8396bc739d958d0b81d291cfd201126ed5e7913cb73de6bc606befc30226"}, + {file = "pyarrow-14.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:2a145dab9ed7849fc1101bf03bcdc69913547f10513fdf70fc3ab6c0a50c7eee"}, + {file = "pyarrow-14.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:05fe7994745b634c5fb16ce5717e39a1ac1fac3e2b0795232841660aa76647cd"}, + {file = "pyarrow-14.0.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:a8eeef015ae69d104c4c3117a6011e7e3ecd1abec79dc87fd2fac6e442f666ee"}, + {file = "pyarrow-14.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3c76807540989fe8fcd02285dd15e4f2a3da0b09d27781abec3adc265ddbeba1"}, + {file = "pyarrow-14.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:450e4605e3c20e558485f9161a79280a61c55efe585d51513c014de9ae8d393f"}, + {file = "pyarrow-14.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:323cbe60210173ffd7db78bfd50b80bdd792c4c9daca8843ef3cd70b186649db"}, + {file = "pyarrow-14.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:0140c7e2b740e08c5a459439d87acd26b747fc408bde0a8806096ee0baaa0c15"}, + {file = "pyarrow-14.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:e592e482edd9f1ab32f18cd6a716c45b2c0f2403dc2af782f4e9674952e6dd27"}, + {file = "pyarrow-14.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:d264ad13605b61959f2ae7c1d25b1a5b8505b112715c961418c8396433f213ad"}, + {file = "pyarrow-14.0.1-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:01e44de9749cddc486169cb632f3c99962318e9dacac7778315a110f4bf8a450"}, + {file = "pyarrow-14.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d0351fecf0e26e152542bc164c22ea2a8e8c682726fce160ce4d459ea802d69c"}, + {file = "pyarrow-14.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33c1f6110c386464fd2e5e4ea3624466055bbe681ff185fd6c9daa98f30a3f9a"}, + {file = "pyarrow-14.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11e045dfa09855b6d3e7705a37c42e2dc2c71d608fab34d3c23df2e02df9aec3"}, + {file = "pyarrow-14.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:097828b55321897db0e1dbfc606e3ff8101ae5725673498cbfa7754ee0da80e4"}, + {file = "pyarrow-14.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:1daab52050a1c48506c029e6fa0944a7b2436334d7e44221c16f6f1b2cc9c510"}, + {file = "pyarrow-14.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:3f6d5faf4f1b0d5a7f97be987cf9e9f8cd39902611e818fe134588ee99bf0283"}, + {file = "pyarrow-14.0.1.tar.gz", hash = "sha256:b8b3f4fe8d4ec15e1ef9b599b94683c5216adaed78d5cb4c606180546d1e2ee1"}, +] + +[package.dependencies] +numpy = ">=1.16.6" + [[package]] name = "pyasn1" version = "0.5.1" @@ -1775,6 +2644,47 @@ files = [ {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, ] +[[package]] +name = "pycryptodomex" +version = "3.19.0" +description = "Cryptographic library for Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "pycryptodomex-3.19.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ff64fd720def623bf64d8776f8d0deada1cc1bf1ec3c1f9d6f5bb5bd098d034f"}, + {file = "pycryptodomex-3.19.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:61056a1fd3254f6f863de94c233b30dd33bc02f8c935b2000269705f1eeeffa4"}, + {file = "pycryptodomex-3.19.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:258c4233a3fe5a6341780306a36c6fb072ef38ce676a6d41eec3e591347919e8"}, + {file = "pycryptodomex-3.19.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e45bb4635b3c4e0a00ca9df75ef6295838c85c2ac44ad882410cb631ed1eeaa"}, + {file = "pycryptodomex-3.19.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:a12144d785518f6491ad334c75ccdc6ad52ea49230b4237f319dbb7cef26f464"}, + {file = "pycryptodomex-3.19.0-cp27-cp27m-win32.whl", hash = "sha256:1789d89f61f70a4cd5483d4dfa8df7032efab1118f8b9894faae03c967707865"}, + {file = "pycryptodomex-3.19.0-cp27-cp27m-win_amd64.whl", hash = "sha256:eb2fc0ec241bf5e5ef56c8fbec4a2634d631e4c4f616a59b567947a0f35ad83c"}, + {file = "pycryptodomex-3.19.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:c9a68a2f7bd091ccea54ad3be3e9d65eded813e6d79fdf4cc3604e26cdd6384f"}, + {file = "pycryptodomex-3.19.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:8df69e41f7e7015a90b94d1096ec3d8e0182e73449487306709ec27379fff761"}, + {file = "pycryptodomex-3.19.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:917033016ecc23c8933205585a0ab73e20020fdf671b7cd1be788a5c4039840b"}, + {file = "pycryptodomex-3.19.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:e8e5ecbd4da4157889fce8ba49da74764dd86c891410bfd6b24969fa46edda51"}, + {file = "pycryptodomex-3.19.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:a77b79852175064c822b047fee7cf5a1f434f06ad075cc9986aa1c19a0c53eb0"}, + {file = "pycryptodomex-3.19.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:5b883e1439ab63af976656446fb4839d566bb096f15fc3c06b5a99cde4927188"}, + {file = "pycryptodomex-3.19.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3866d68e2fc345162b1b9b83ef80686acfe5cec0d134337f3b03950a0a8bf56"}, + {file = "pycryptodomex-3.19.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c74eb1f73f788facece7979ce91594dc177e1a9b5d5e3e64697dd58299e5cb4d"}, + {file = "pycryptodomex-3.19.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7cb51096a6a8d400724104db8a7e4f2206041a1f23e58924aa3d8d96bcb48338"}, + {file = "pycryptodomex-3.19.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a588a1cb7781da9d5e1c84affd98c32aff9c89771eac8eaa659d2760666f7139"}, + {file = "pycryptodomex-3.19.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:d4dd3b381ff5a5907a3eb98f5f6d32c64d319a840278ceea1dcfcc65063856f3"}, + {file = "pycryptodomex-3.19.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:263de9a96d2fcbc9f5bd3a279f14ea0d5f072adb68ebd324987576ec25da084d"}, + {file = "pycryptodomex-3.19.0-cp35-abi3-win32.whl", hash = "sha256:67c8eb79ab33d0fbcb56842992298ddb56eb6505a72369c20f60bc1d2b6fb002"}, + {file = "pycryptodomex-3.19.0-cp35-abi3-win_amd64.whl", hash = "sha256:09c9401dc06fb3d94cb1ec23b4ea067a25d1f4c6b7b118ff5631d0b5daaab3cc"}, + {file = "pycryptodomex-3.19.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:edbe083c299835de7e02c8aa0885cb904a75087d35e7bab75ebe5ed336e8c3e2"}, + {file = "pycryptodomex-3.19.0-pp27-pypy_73-win32.whl", hash = "sha256:136b284e9246b4ccf4f752d435c80f2c44fc2321c198505de1d43a95a3453b3c"}, + {file = "pycryptodomex-3.19.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5d73e9fa3fe830e7b6b42afc49d8329b07a049a47d12e0ef9225f2fd220f19b2"}, + {file = "pycryptodomex-3.19.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b2f1982c5bc311f0aab8c293524b861b485d76f7c9ab2c3ac9a25b6f7655975"}, + {file = "pycryptodomex-3.19.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfb040b5dda1dff1e197d2ef71927bd6b8bfcb9793bc4dfe0bb6df1e691eaacb"}, + {file = "pycryptodomex-3.19.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:800a2b05cfb83654df80266692f7092eeefe2a314fa7901dcefab255934faeec"}, + {file = "pycryptodomex-3.19.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c01678aee8ac0c1a461cbc38ad496f953f9efcb1fa19f5637cbeba7544792a53"}, + {file = "pycryptodomex-3.19.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2126bc54beccbede6eade00e647106b4f4c21e5201d2b0a73e9e816a01c50905"}, + {file = "pycryptodomex-3.19.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b801216c48c0886742abf286a9a6b117e248ca144d8ceec1f931ce2dd0c9cb40"}, + {file = "pycryptodomex-3.19.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:50cb18d4dd87571006fd2447ccec85e6cec0136632a550aa29226ba075c80644"}, + {file = "pycryptodomex-3.19.0.tar.gz", hash = "sha256:af83a554b3f077564229865c45af0791be008ac6469ef0098152139e6bd4b5b6"}, +] + [[package]] name = "pydantic" version = "1.10.13" @@ -1827,6 +2737,22 @@ typing-extensions = ">=4.2.0" dotenv = ["python-dotenv (>=0.10.4)"] email = ["email-validator (>=1.0.3)"] +[[package]] +name = "pydata-google-auth" +version = "1.8.2" +description = "PyData helpers for authenticating to Google APIs" +optional = false +python-versions = "*" +files = [ + {file = "pydata-google-auth-1.8.2.tar.gz", hash = "sha256:547b6c0fbea657dcecd50887c5db8640ebec062a59a2b88e8ff8e53a04818303"}, + {file = "pydata_google_auth-1.8.2-py2.py3-none-any.whl", hash = "sha256:a9dce59af4a170ea60c4b2ebbc83ee1f74d34255a4f97b2469ae9a4a0dc98e99"}, +] + +[package.dependencies] +google-auth = {version = ">=1.25.0,<3.0dev", markers = "python_version >= \"3.6\""} +google-auth-oauthlib = {version = ">=0.4.0", markers = "python_version >= \"3.6\""} +setuptools = "*" + [[package]] name = "pyflakes" version = "3.1.0" @@ -1838,6 +2764,242 @@ files = [ {file = "pyflakes-3.1.0.tar.gz", hash = "sha256:a0aae034c444db0071aa077972ba4768d40c830d9539fd45bf4cd3f8f6992efc"}, ] +[[package]] +name = "pymongo" +version = "4.6.1" +description = "Python driver for MongoDB " +optional = false +python-versions = ">=3.7" +files = [ + {file = "pymongo-4.6.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4344c30025210b9fa80ec257b0e0aab5aa1d5cca91daa70d82ab97b482cc038e"}, + {file = "pymongo-4.6.1-cp310-cp310-manylinux1_i686.whl", hash = "sha256:1c5654bb8bb2bdb10e7a0bc3c193dd8b49a960b9eebc4381ff5a2043f4c3c441"}, + {file = "pymongo-4.6.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:eaf2f65190c506def2581219572b9c70b8250615dc918b3b7c218361a51ec42e"}, + {file = "pymongo-4.6.1-cp310-cp310-manylinux2014_i686.whl", hash = "sha256:262356ea5fcb13d35fb2ab6009d3927bafb9504ef02339338634fffd8a9f1ae4"}, + {file = "pymongo-4.6.1-cp310-cp310-manylinux2014_ppc64le.whl", hash = "sha256:2dd2f6960ee3c9360bed7fb3c678be0ca2d00f877068556785ec2eb6b73d2414"}, + {file = "pymongo-4.6.1-cp310-cp310-manylinux2014_s390x.whl", hash = "sha256:ff925f1cca42e933376d09ddc254598f8c5fcd36efc5cac0118bb36c36217c41"}, + {file = "pymongo-4.6.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:3cadf7f4c8e94d8a77874b54a63c80af01f4d48c4b669c8b6867f86a07ba994f"}, + {file = "pymongo-4.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55dac73316e7e8c2616ba2e6f62b750918e9e0ae0b2053699d66ca27a7790105"}, + {file = "pymongo-4.6.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:154b361dcb358ad377d5d40df41ee35f1cc14c8691b50511547c12404f89b5cb"}, + {file = "pymongo-4.6.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2940aa20e9cc328e8ddeacea8b9a6f5ddafe0b087fedad928912e787c65b4909"}, + {file = "pymongo-4.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:010bc9aa90fd06e5cc52c8fac2c2fd4ef1b5f990d9638548dde178005770a5e8"}, + {file = "pymongo-4.6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e470fa4bace5f50076c32f4b3cc182b31303b4fefb9b87f990144515d572820b"}, + {file = "pymongo-4.6.1-cp310-cp310-win32.whl", hash = "sha256:da08ea09eefa6b960c2dd9a68ec47949235485c623621eb1d6c02b46765322ac"}, + {file = "pymongo-4.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:13d613c866f9f07d51180f9a7da54ef491d130f169e999c27e7633abe8619ec9"}, + {file = "pymongo-4.6.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6a0ae7a48a6ef82ceb98a366948874834b86c84e288dbd55600c1abfc3ac1d88"}, + {file = "pymongo-4.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bd94c503271e79917b27c6e77f7c5474da6930b3fb9e70a12e68c2dff386b9a"}, + {file = "pymongo-4.6.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d4ccac3053b84a09251da8f5350bb684cbbf8c8c01eda6b5418417d0a8ab198"}, + {file = "pymongo-4.6.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:349093675a2d3759e4fb42b596afffa2b2518c890492563d7905fac503b20daa"}, + {file = "pymongo-4.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88beb444fb438385e53dc9110852910ec2a22f0eab7dd489e827038fdc19ed8d"}, + {file = "pymongo-4.6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8e62d06e90f60ea2a3d463ae51401475568b995bafaffd81767d208d84d7bb1"}, + {file = "pymongo-4.6.1-cp311-cp311-win32.whl", hash = "sha256:5556e306713e2522e460287615d26c0af0fe5ed9d4f431dad35c6624c5d277e9"}, + {file = "pymongo-4.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:b10d8cda9fc2fcdcfa4a000aa10413a2bf8b575852cd07cb8a595ed09689ca98"}, + {file = "pymongo-4.6.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b435b13bb8e36be11b75f7384a34eefe487fe87a6267172964628e2b14ecf0a7"}, + {file = "pymongo-4.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e438417ce1dc5b758742e12661d800482200b042d03512a8f31f6aaa9137ad40"}, + {file = "pymongo-4.6.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8b47ebd89e69fbf33d1c2df79759d7162fc80c7652dacfec136dae1c9b3afac7"}, + {file = "pymongo-4.6.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bbed8cccebe1169d45cedf00461b2842652d476d2897fd1c42cf41b635d88746"}, + {file = "pymongo-4.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c30a9e06041fbd7a7590693ec5e407aa8737ad91912a1e70176aff92e5c99d20"}, + {file = "pymongo-4.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8729dbf25eb32ad0dc0b9bd5e6a0d0b7e5c2dc8ec06ad171088e1896b522a74"}, + {file = "pymongo-4.6.1-cp312-cp312-win32.whl", hash = "sha256:3177f783ae7e08aaf7b2802e0df4e4b13903520e8380915e6337cdc7a6ff01d8"}, + {file = "pymongo-4.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:00c199e1c593e2c8b033136d7a08f0c376452bac8a896c923fcd6f419e07bdd2"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:13552ca505366df74e3e2f0a4f27c363928f3dff0eef9f281eb81af7f29bc3c5"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:77e0df59b1a4994ad30c6d746992ae887f9756a43fc25dec2db515d94cf0222d"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3a7f02a58a0c2912734105e05dedbee4f7507e6f1bd132ebad520be0b11d46fd"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:026a24a36394dc8930cbcb1d19d5eb35205ef3c838a7e619e04bd170713972e7"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:3b287e814a01deddb59b88549c1e0c87cefacd798d4afc0c8bd6042d1c3d48aa"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:9a710c184ba845afb05a6f876edac8f27783ba70e52d5eaf939f121fc13b2f59"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:30b2c9caf3e55c2e323565d1f3b7e7881ab87db16997dc0cbca7c52885ed2347"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ff62ba8ff70f01ab4fe0ae36b2cb0b5d1f42e73dfc81ddf0758cd9f77331ad25"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:547dc5d7f834b1deefda51aedb11a7af9c51c45e689e44e14aa85d44147c7657"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1de3c6faf948f3edd4e738abdb4b76572b4f4fdfc1fed4dad02427e70c5a6219"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2831e05ce0a4df10c4ac5399ef50b9a621f90894c2a4d2945dc5658765514ed"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:144a31391a39a390efce0c5ebcaf4bf112114af4384c90163f402cec5ede476b"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:33bb16a07d3cc4e0aea37b242097cd5f7a156312012455c2fa8ca396953b11c4"}, + {file = "pymongo-4.6.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b7b1a83ce514700276a46af3d9e481ec381f05b64939effc9065afe18456a6b9"}, + {file = "pymongo-4.6.1-cp37-cp37m-win32.whl", hash = "sha256:3071ec998cc3d7b4944377e5f1217c2c44b811fae16f9a495c7a1ce9b42fb038"}, + {file = "pymongo-4.6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:2346450a075625c4d6166b40a013b605a38b6b6168ce2232b192a37fb200d588"}, + {file = "pymongo-4.6.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:061598cbc6abe2f382ab64c9caa83faa2f4c51256f732cdd890bcc6e63bfb67e"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:d483793a384c550c2d12cb794ede294d303b42beff75f3b3081f57196660edaf"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:f9756f1d25454ba6a3c2f1ef8b7ddec23e5cdeae3dc3c3377243ae37a383db00"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:1ed23b0e2dac6f84f44c8494fbceefe6eb5c35db5c1099f56ab78fc0d94ab3af"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:3d18a9b9b858ee140c15c5bfcb3e66e47e2a70a03272c2e72adda2482f76a6ad"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:c258dbacfff1224f13576147df16ce3c02024a0d792fd0323ac01bed5d3c545d"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:f7acc03a4f1154ba2643edeb13658d08598fe6e490c3dd96a241b94f09801626"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:76013fef1c9cd1cd00d55efde516c154aa169f2bf059b197c263a255ba8a9ddf"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f0e6a6c807fa887a0c51cc24fe7ea51bb9e496fe88f00d7930063372c3664c3"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd1fa413f8b9ba30140de198e4f408ffbba6396864c7554e0867aa7363eb58b2"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d219b4508f71d762368caec1fc180960569766049bbc4d38174f05e8ef2fe5b"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27b81ecf18031998ad7db53b960d1347f8f29e8b7cb5ea7b4394726468e4295e"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:56816e43c92c2fa8c11dc2a686f0ca248bea7902f4a067fa6cbc77853b0f041e"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef801027629c5b511cf2ba13b9be29bfee36ae834b2d95d9877818479cdc99ea"}, + {file = "pymongo-4.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d4c2be9760b112b1caf649b4977b81b69893d75aa86caf4f0f398447be871f3c"}, + {file = "pymongo-4.6.1-cp38-cp38-win32.whl", hash = "sha256:39d77d8bbb392fa443831e6d4ae534237b1f4eee6aa186f0cdb4e334ba89536e"}, + {file = "pymongo-4.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:4497d49d785482cc1a44a0ddf8830b036a468c088e72a05217f5b60a9e025012"}, + {file = "pymongo-4.6.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:69247f7a2835fc0984bbf0892e6022e9a36aec70e187fcfe6cae6a373eb8c4de"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:7bb0e9049e81def6829d09558ad12d16d0454c26cabe6efc3658e544460688d9"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6a1810c2cbde714decf40f811d1edc0dae45506eb37298fd9d4247b8801509fe"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:e2aced6fb2f5261b47d267cb40060b73b6527e64afe54f6497844c9affed5fd0"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:d0355cff58a4ed6d5e5f6b9c3693f52de0784aa0c17119394e2a8e376ce489d4"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:3c74f4725485f0a7a3862cfd374cc1b740cebe4c133e0c1425984bcdcce0f4bb"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:9c79d597fb3a7c93d7c26924db7497eba06d58f88f58e586aa69b2ad89fee0f8"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8ec75f35f62571a43e31e7bd11749d974c1b5cd5ea4a8388725d579263c0fdf6"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5e641f931c5cd95b376fd3c59db52770e17bec2bf86ef16cc83b3906c054845"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9aafd036f6f2e5ad109aec92f8dbfcbe76cff16bad683eb6dd18013739c0b3ae"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f2b856518bfcfa316c8dae3d7b412aecacf2e8ba30b149f5eb3b63128d703b9"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec31adc2e988fd7db3ab509954791bbc5a452a03c85e45b804b4bfc31fa221d"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9167e735379ec43d8eafa3fd675bfbb12e2c0464f98960586e9447d2cf2c7a83"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1461199b07903fc1424709efafe379205bf5f738144b1a50a08b0396357b5abf"}, + {file = "pymongo-4.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3094c7d2f820eecabadae76bfec02669567bbdd1730eabce10a5764778564f7b"}, + {file = "pymongo-4.6.1-cp39-cp39-win32.whl", hash = "sha256:c91ea3915425bd4111cb1b74511cdc56d1d16a683a48bf2a5a96b6a6c0f297f7"}, + {file = "pymongo-4.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:ef102a67ede70e1721fe27f75073b5314911dbb9bc27cde0a1c402a11531e7bd"}, + {file = "pymongo-4.6.1.tar.gz", hash = "sha256:31dab1f3e1d0cdd57e8df01b645f52d43cc1b653ed3afd535d2891f4fc4f9712"}, +] + +[package.dependencies] +dnspython = ">=1.16.0,<3.0.0" + +[package.extras] +aws = ["pymongo-auth-aws (<2.0.0)"] +encryption = ["certifi", "pymongo[aws]", "pymongocrypt (>=1.6.0,<2.0.0)"] +gssapi = ["pykerberos", "winkerberos (>=0.5.0)"] +ocsp = ["certifi", "cryptography (>=2.5)", "pyopenssl (>=17.2.0)", "requests (<3.0.0)", "service-identity (>=18.1.0)"] +snappy = ["python-snappy"] +test = ["pytest (>=7)"] +zstd = ["zstandard"] + +[[package]] +name = "pymysql" +version = "1.1.0" +description = "Pure Python MySQL Driver" +optional = false +python-versions = ">=3.7" +files = [ + {file = "PyMySQL-1.1.0-py3-none-any.whl", hash = "sha256:8969ec6d763c856f7073c4c64662882675702efcb114b4bcbb955aea3a069fa7"}, + {file = "PyMySQL-1.1.0.tar.gz", hash = "sha256:4f13a7df8bf36a51e81dd9f3605fede45a4878fe02f9236349fd82a3f0612f96"}, +] + +[package.extras] +ed25519 = ["PyNaCl (>=1.4.0)"] +rsa = ["cryptography"] + +[[package]] +name = "pynacl" +version = "1.5.0" +description = "Python binding to the Networking and Cryptography (NaCl) library" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858"}, + {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b"}, + {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff"}, + {file = "PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543"}, + {file = "PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93"}, + {file = "PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"}, +] + +[package.dependencies] +cffi = ">=1.4.1" + +[package.extras] +docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"] +tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] + +[[package]] +name = "pyodbc" +version = "5.0.1" +description = "DB API module for ODBC" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyodbc-5.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9824b175db875a2dd116c7cf16dc3bdf14855404417afd145c5b839da222cb46"}, + {file = "pyodbc-5.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b4d41d0a10523862aac9e2f578bae0ec66003c76e0644d1b53d6ac110b73e5ed"}, + {file = "pyodbc-5.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd4a9ec6d0b31118f3c46020d9784923b99873585919d08e67d95bbf6ab99716"}, + {file = "pyodbc-5.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:654843036b714e4f3f4605fc359690738a3465d333f8297a74841e3990d3eabd"}, + {file = "pyodbc-5.0.1-cp310-cp310-win32.whl", hash = "sha256:c68b3dd0b86d45fdebc566a9596f27b216d25068728bb43a4c961f0fcb9bb970"}, + {file = "pyodbc-5.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:1d7dbef96ebb3eba8bc3f5431694d6e6969d50d0e21f6c4f3b0b2dc9fe8c4f25"}, + {file = "pyodbc-5.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:459a245ae5409dd2fe6eb8531b907da8d61f72d3b18a6276c82cafe2e4896acf"}, + {file = "pyodbc-5.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b3ea6ed0fb8a1b46e643cfaba935656b9abe023d4ab66a8f653bf0c5bc1ce74d"}, + {file = "pyodbc-5.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbfca542a528278a2c43a85d7a6bfde74854d0e7b3cd8c4ab31647bfe5a11069"}, + {file = "pyodbc-5.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8744c48f494bd365529935d3ac6ec15d3e3995e877587e293a3d3110ffcc0374"}, + {file = "pyodbc-5.0.1-cp311-cp311-win32.whl", hash = "sha256:b22474ede5b2841fe67658431f02a3ab9f16601c12a18c0286af435d742c2b71"}, + {file = "pyodbc-5.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:ccc04742bb2fee1f5d2a5b84462f62cd68c346aa274b89b5257e328d41f9d69d"}, + {file = "pyodbc-5.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9aef4f14f126ef607897245ff2742532ce0c299aee3c0e48d37bbdf1ff0b9532"}, + {file = "pyodbc-5.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dbf783d6cc923603de35a648db64c50f6699372188dc32b97a373c4b12694bd1"}, + {file = "pyodbc-5.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2f32d98f9522de54958e3478d03c1a85c1efc103f378913bc4d9a7b610a3d02"}, + {file = "pyodbc-5.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88d94c4fa53fc5440ce904c987e97316f271c21d3e968090f8fb76baf1a9be90"}, + {file = "pyodbc-5.0.1-cp312-cp312-win32.whl", hash = "sha256:17d25a51823a5c8631fd117c1d352425404cd2116fd75b55aac4cb79da2e8c85"}, + {file = "pyodbc-5.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:3a3204ba4d1374fe8c301a76e04c9e9207d71cc346ca8282a85c20260d135b5d"}, + {file = "pyodbc-5.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9ae1d8ba8cbf3680556f147f89948493d3f5bd1ed360bd5ce9807e62e573ed03"}, + {file = "pyodbc-5.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:51162fa1902657a555f5b661eb36516c12b6c11ec84db77c9da3aabc7325fa95"}, + {file = "pyodbc-5.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3cf639c73fb948fa2744e52de316b033b95f852960aae58b63c7dc32a88b4d2"}, + {file = "pyodbc-5.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:067015537a20cf893ae675384f99291eade66a7d59bc54f9dedee55ad4290b4c"}, + {file = "pyodbc-5.0.1-cp38-cp38-win32.whl", hash = "sha256:e7ef83973ba56f01e95579ce74c24b72bbd918daf417f33726e21cc01a5bf53c"}, + {file = "pyodbc-5.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:4e5e4e2b4d5dce80f18d58286f1e7a3e2a79eb49d2c514c56ab043ae00566303"}, + {file = "pyodbc-5.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:393e51ca84ba5a3983f859d50ef029d243cb2c7a5b1ef0ddc36479ff49780078"}, + {file = "pyodbc-5.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d109b7955864f11d5e0c813e6b886a2829422cd7b59c61870dc5e0fa7904f132"}, + {file = "pyodbc-5.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b704e481c5973155eebed3730b9769c349b0338ad6fa7b0d7191cc30f3303e0a"}, + {file = "pyodbc-5.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1b38d3adc4c9911b46cff3b1a8293e25c3a18c465d13483624a07bc1056c36a"}, + {file = "pyodbc-5.0.1-cp39-cp39-win32.whl", hash = "sha256:ce553cdf33663c6496175a11f32b684bb38cdffb9b185f3967037d369161715c"}, + {file = "pyodbc-5.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:87df79b524928d8c65475099b1cce3cfea66ef2c332ecb027fa6455c4916ad26"}, + {file = "pyodbc-5.0.1.tar.gz", hash = "sha256:03d7d0b04d5a9156099ce8d03e92f3956783746fa9234eb6f5b5cfc12b645011"}, +] + +[[package]] +name = "pyparsing" +version = "3.1.1" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.6.8" +files = [ + {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, + {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "pyproj" +version = "3.6.1" +description = "Python interface to PROJ (cartographic projections and coordinate transformations library)" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pyproj-3.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ab7aa4d9ff3c3acf60d4b285ccec134167a948df02347585fdd934ebad8811b4"}, + {file = "pyproj-3.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4bc0472302919e59114aa140fd7213c2370d848a7249d09704f10f5b062031fe"}, + {file = "pyproj-3.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5279586013b8d6582e22b6f9e30c49796966770389a9d5b85e25a4223286cd3f"}, + {file = "pyproj-3.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80fafd1f3eb421694857f254a9bdbacd1eb22fc6c24ca74b136679f376f97d35"}, + {file = "pyproj-3.6.1-cp310-cp310-win32.whl", hash = "sha256:c41e80ddee130450dcb8829af7118f1ab69eaf8169c4bf0ee8d52b72f098dc2f"}, + {file = "pyproj-3.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:db3aedd458e7f7f21d8176f0a1d924f1ae06d725228302b872885a1c34f3119e"}, + {file = "pyproj-3.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ebfbdbd0936e178091309f6cd4fcb4decd9eab12aa513cdd9add89efa3ec2882"}, + {file = "pyproj-3.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:447db19c7efad70ff161e5e46a54ab9cc2399acebb656b6ccf63e4bc4a04b97a"}, + {file = "pyproj-3.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7e13c40183884ec7f94eb8e0f622f08f1d5716150b8d7a134de48c6110fee85"}, + {file = "pyproj-3.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65ad699e0c830e2b8565afe42bd58cc972b47d829b2e0e48ad9638386d994915"}, + {file = "pyproj-3.6.1-cp311-cp311-win32.whl", hash = "sha256:8b8acc31fb8702c54625f4d5a2a6543557bec3c28a0ef638778b7ab1d1772132"}, + {file = "pyproj-3.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:38a3361941eb72b82bd9a18f60c78b0df8408416f9340521df442cebfc4306e2"}, + {file = "pyproj-3.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1e9fbaf920f0f9b4ee62aab832be3ae3968f33f24e2e3f7fbb8c6728ef1d9746"}, + {file = "pyproj-3.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d227a865356f225591b6732430b1d1781e946893789a609bb34f59d09b8b0f8"}, + {file = "pyproj-3.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83039e5ae04e5afc974f7d25ee0870a80a6bd6b7957c3aca5613ccbe0d3e72bf"}, + {file = "pyproj-3.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb059ba3bced6f6725961ba758649261d85ed6ce670d3e3b0a26e81cf1aa8d"}, + {file = "pyproj-3.6.1-cp312-cp312-win32.whl", hash = "sha256:2d6ff73cc6dbbce3766b6c0bce70ce070193105d8de17aa2470009463682a8eb"}, + {file = "pyproj-3.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:7a27151ddad8e1439ba70c9b4b2b617b290c39395fa9ddb7411ebb0eb86d6fb0"}, + {file = "pyproj-3.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4ba1f9b03d04d8cab24d6375609070580a26ce76eaed54631f03bab00a9c737b"}, + {file = "pyproj-3.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18faa54a3ca475bfe6255156f2f2874e9a1c8917b0004eee9f664b86ccc513d3"}, + {file = "pyproj-3.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd43bd9a9b9239805f406fd82ba6b106bf4838d9ef37c167d3ed70383943ade1"}, + {file = "pyproj-3.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50100b2726a3ca946906cbaa789dd0749f213abf0cbb877e6de72ca7aa50e1ae"}, + {file = "pyproj-3.6.1-cp39-cp39-win32.whl", hash = "sha256:9274880263256f6292ff644ca92c46d96aa7e57a75c6df3f11d636ce845a1877"}, + {file = "pyproj-3.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:36b64c2cb6ea1cc091f329c5bd34f9c01bb5da8c8e4492c709bda6a09f96808f"}, + {file = "pyproj-3.6.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd93c1a0c6c4aedc77c0fe275a9f2aba4d59b8acf88cebfc19fe3c430cfabf4f"}, + {file = "pyproj-3.6.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6420ea8e7d2a88cb148b124429fba8cd2e0fae700a2d96eab7083c0928a85110"}, + {file = "pyproj-3.6.1.tar.gz", hash = "sha256:44aa7c704c2b7d8fb3d483bbf75af6cb2350d30a63b144279a09b75fead501bf"}, +] + +[package.dependencies] +certifi = "*" + [[package]] name = "python-box" version = "7.1.1" @@ -1923,17 +3085,6 @@ files = [ {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, ] -[[package]] -name = "pytzdata" -version = "2020.1" -description = "The Olson timezone database for Python." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "pytzdata-2020.1-py2.py3-none-any.whl", hash = "sha256:e1e14750bcf95016381e4d472bad004eef710f2d6417240904070b3d6654485f"}, - {file = "pytzdata-2020.1.tar.gz", hash = "sha256:3efa13b335a00a8de1d345ae41ec78dd11c9f8807f522d39850f2dd828681540"}, -] - [[package]] name = "pywin32" version = "306" @@ -2006,6 +3157,39 @@ files = [ {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, ] +[[package]] +name = "redis" +version = "4.6.0" +description = "Python client for Redis database and key-value store" +optional = false +python-versions = ">=3.7" +files = [ + {file = "redis-4.6.0-py3-none-any.whl", hash = "sha256:e2b03db868160ee4591de3cb90d40ebb50a90dd302138775937f6a42b7ed183c"}, + {file = "redis-4.6.0.tar.gz", hash = "sha256:585dc516b9eb042a619ef0a39c3d7d55fe81bdb4df09a52c9cdde0d07bf1aa7d"}, +] + +[package.dependencies] +async-timeout = {version = ">=4.0.2", markers = "python_full_version <= \"3.11.2\""} + +[package.extras] +hiredis = ["hiredis (>=1.0.0)"] +ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"] + +[[package]] +name = "redis-pal" +version = "1.0.0" +description = "Store things in Redis without worrying about types or anything, just do it!" +optional = false +python-versions = ">=3.8,<4.0" +files = [ + {file = "redis-pal-1.0.0.tar.gz", hash = "sha256:8e20caf8127056a2d1208d6dd0873643efb8357602193e26c1ada8ed6737fa88"}, + {file = "redis_pal-1.0.0-py3-none-any.whl", hash = "sha256:8cbf55c926c761ce9d60803ed66ef2575f351b43c9554fd66f6458d323430bf0"}, +] + +[package.dependencies] +dill = ">=0.3.5,<0.4.0" +redis = ">=4.0,<5.0" + [[package]] name = "referencing" version = "0.32.0" @@ -2042,6 +3226,38 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] +[[package]] +name = "requests-oauthlib" +version = "1.3.1" +description = "OAuthlib authentication support for Requests." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "requests-oauthlib-1.3.1.tar.gz", hash = "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a"}, + {file = "requests_oauthlib-1.3.1-py2.py3-none-any.whl", hash = "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5"}, +] + +[package.dependencies] +oauthlib = ">=3.0.0" +requests = ">=2.0.0" + +[package.extras] +rsa = ["oauthlib[signedtoken] (>=3.0.0)"] + +[[package]] +name = "requests-toolbelt" +version = "1.0.0" +description = "A utility belt for advanced users of python-requests" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, + {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, +] + +[package.dependencies] +requests = ">=2.0.1,<3.0.0" + [[package]] name = "rpds-py" version = "0.13.2" @@ -2164,6 +3380,51 @@ files = [ [package.dependencies] pyasn1 = ">=0.1.3" +[[package]] +name = "sentry-sdk" +version = "1.39.1" +description = "Python client for Sentry (https://sentry.io)" +optional = false +python-versions = "*" +files = [ + {file = "sentry-sdk-1.39.1.tar.gz", hash = "sha256:320a55cdf9da9097a0bead239c35b7e61f53660ef9878861824fd6d9b2eaf3b5"}, + {file = "sentry_sdk-1.39.1-py2.py3-none-any.whl", hash = "sha256:81b5b9ffdd1a374e9eb0c053b5d2012155db9cbe76393a8585677b753bd5fdc1"}, +] + +[package.dependencies] +certifi = "*" +urllib3 = {version = ">=1.26.11", markers = "python_version >= \"3.6\""} + +[package.extras] +aiohttp = ["aiohttp (>=3.5)"] +arq = ["arq (>=0.23)"] +asyncpg = ["asyncpg (>=0.23)"] +beam = ["apache-beam (>=2.12)"] +bottle = ["bottle (>=0.12.13)"] +celery = ["celery (>=3)"] +chalice = ["chalice (>=1.16.0)"] +clickhouse-driver = ["clickhouse-driver (>=0.2.0)"] +django = ["django (>=1.8)"] +falcon = ["falcon (>=1.4)"] +fastapi = ["fastapi (>=0.79.0)"] +flask = ["blinker (>=1.1)", "flask (>=0.11)", "markupsafe"] +grpcio = ["grpcio (>=1.21.1)"] +httpx = ["httpx (>=0.16.0)"] +huey = ["huey (>=2)"] +loguru = ["loguru (>=0.5)"] +opentelemetry = ["opentelemetry-distro (>=0.35b0)"] +opentelemetry-experimental = ["opentelemetry-distro (>=0.40b0,<1.0)", "opentelemetry-instrumentation-aiohttp-client (>=0.40b0,<1.0)", "opentelemetry-instrumentation-django (>=0.40b0,<1.0)", "opentelemetry-instrumentation-fastapi (>=0.40b0,<1.0)", "opentelemetry-instrumentation-flask (>=0.40b0,<1.0)", "opentelemetry-instrumentation-requests (>=0.40b0,<1.0)", "opentelemetry-instrumentation-sqlite3 (>=0.40b0,<1.0)", "opentelemetry-instrumentation-urllib (>=0.40b0,<1.0)"] +pure-eval = ["asttokens", "executing", "pure-eval"] +pymongo = ["pymongo (>=3.1)"] +pyspark = ["pyspark (>=2.4.4)"] +quart = ["blinker (>=1.1)", "quart (>=0.16.1)"] +rq = ["rq (>=0.6)"] +sanic = ["sanic (>=0.8)"] +sqlalchemy = ["sqlalchemy (>=1.2)"] +starlette = ["starlette (>=0.19.1)"] +starlite = ["starlite (>=1.48)"] +tornado = ["tornado (>=5)"] + [[package]] name = "setuptools" version = "69.0.2" @@ -2180,6 +3441,170 @@ docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +[[package]] +name = "shapely" +version = "2.0.2" +description = "Manipulation and analysis of geometric objects" +optional = false +python-versions = ">=3.7" +files = [ + {file = "shapely-2.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6ca8cffbe84ddde8f52b297b53f8e0687bd31141abb2c373fd8a9f032df415d6"}, + {file = "shapely-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:baa14fc27771e180c06b499a0a7ba697c7988c7b2b6cba9a929a19a4d2762de3"}, + {file = "shapely-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:36480e32c434d168cdf2f5e9862c84aaf4d714a43a8465ae3ce8ff327f0affb7"}, + {file = "shapely-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ef753200cbffd4f652efb2c528c5474e5a14341a473994d90ad0606522a46a2"}, + {file = "shapely-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9a41ff4323fc9d6257759c26eb1cf3a61ebc7e611e024e6091f42977303fd3a"}, + {file = "shapely-2.0.2-cp310-cp310-win32.whl", hash = "sha256:72b5997272ae8c25f0fd5b3b967b3237e87fab7978b8d6cd5fa748770f0c5d68"}, + {file = "shapely-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:34eac2337cbd67650248761b140d2535855d21b969d76d76123317882d3a0c1a"}, + {file = "shapely-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5b0c052709c8a257c93b0d4943b0b7a3035f87e2d6a8ac9407b6a992d206422f"}, + {file = "shapely-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2d217e56ae067e87b4e1731d0dc62eebe887ced729ba5c2d4590e9e3e9fdbd88"}, + {file = "shapely-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94ac128ae2ab4edd0bffcd4e566411ea7bdc738aeaf92c32a8a836abad725f9f"}, + {file = "shapely-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa3ee28f5e63a130ec5af4dc3c4cb9c21c5788bb13c15e89190d163b14f9fb89"}, + {file = "shapely-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:737dba15011e5a9b54a8302f1748b62daa207c9bc06f820cd0ad32a041f1c6f2"}, + {file = "shapely-2.0.2-cp311-cp311-win32.whl", hash = "sha256:45ac6906cff0765455a7b49c1670af6e230c419507c13e2f75db638c8fc6f3bd"}, + {file = "shapely-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:dc9342fc82e374130db86a955c3c4525bfbf315a248af8277a913f30911bed9e"}, + {file = "shapely-2.0.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:06f193091a7c6112fc08dfd195a1e3846a64306f890b151fa8c63b3e3624202c"}, + {file = "shapely-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:eebe544df5c018134f3c23b6515877f7e4cd72851f88a8d0c18464f414d141a2"}, + {file = "shapely-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7e92e7c255f89f5cdf777690313311f422aa8ada9a3205b187113274e0135cd8"}, + {file = "shapely-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be46d5509b9251dd9087768eaf35a71360de6afac82ce87c636990a0871aa18b"}, + {file = "shapely-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5533a925d8e211d07636ffc2fdd9a7f9f13d54686d00577eeb11d16f00be9c4"}, + {file = "shapely-2.0.2-cp312-cp312-win32.whl", hash = "sha256:084b023dae8ad3d5b98acee9d3bf098fdf688eb0bb9b1401e8b075f6a627b611"}, + {file = "shapely-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:ea84d1cdbcf31e619d672b53c4532f06253894185ee7acb8ceb78f5f33cbe033"}, + {file = "shapely-2.0.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ed1e99702125e7baccf401830a3b94d810d5c70b329b765fe93451fe14cf565b"}, + {file = "shapely-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7d897e6bdc6bc64f7f65155dbbb30e49acaabbd0d9266b9b4041f87d6e52b3a"}, + {file = "shapely-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0521d76d1e8af01e712db71da9096b484f081e539d4f4a8c97342e7971d5e1b4"}, + {file = "shapely-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:5324be299d4c533ecfcfd43424dfd12f9428fd6f12cda38a4316da001d6ef0ea"}, + {file = "shapely-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:78128357a0cee573257a0c2c388d4b7bf13cb7dbe5b3fe5d26d45ebbe2a39e25"}, + {file = "shapely-2.0.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:87dc2be34ac3a3a4a319b963c507ac06682978a5e6c93d71917618b14f13066e"}, + {file = "shapely-2.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:42997ac806e4583dad51c80a32d38570fd9a3d4778f5e2c98f9090aa7db0fe91"}, + {file = "shapely-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ccfd5fa10a37e67dbafc601c1ddbcbbfef70d34c3f6b0efc866ddbdb55893a6c"}, + {file = "shapely-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7c95d3379ae3abb74058938a9fcbc478c6b2e28d20dace38f8b5c587dde90aa"}, + {file = "shapely-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a21353d28209fb0d8cc083e08ca53c52666e0d8a1f9bbe23b6063967d89ed24"}, + {file = "shapely-2.0.2-cp38-cp38-win32.whl", hash = "sha256:03e63a99dfe6bd3beb8d5f41ec2086585bb969991d603f9aeac335ad396a06d4"}, + {file = "shapely-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:c6fd29fbd9cd76350bd5cc14c49de394a31770aed02d74203e23b928f3d2f1aa"}, + {file = "shapely-2.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1f217d28ecb48e593beae20a0082a95bd9898d82d14b8fcb497edf6bff9a44d7"}, + {file = "shapely-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:394e5085b49334fd5b94fa89c086edfb39c3ecab7f669e8b2a4298b9d523b3a5"}, + {file = "shapely-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fd3ad17b64466a033848c26cb5b509625c87d07dcf39a1541461cacdb8f7e91c"}, + {file = "shapely-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d41a116fcad58048d7143ddb01285e1a8780df6dc1f56c3b1e1b7f12ed296651"}, + {file = "shapely-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dea9a0651333cf96ef5bb2035044e3ad6a54f87d90e50fe4c2636debf1b77abc"}, + {file = "shapely-2.0.2-cp39-cp39-win32.whl", hash = "sha256:b8eb0a92f7b8c74f9d8fdd1b40d395113f59bd8132ca1348ebcc1f5aece94b96"}, + {file = "shapely-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:794affd80ca0f2c536fc948a3afa90bd8fb61ebe37fe873483ae818e7f21def4"}, + {file = "shapely-2.0.2.tar.gz", hash = "sha256:1713cc04c171baffc5b259ba8531c58acc2a301707b7f021d88a15ed090649e7"}, +] + +[package.dependencies] +numpy = ">=1.14" + +[package.extras] +docs = ["matplotlib", "numpydoc (==1.1.*)", "sphinx", "sphinx-book-theme", "sphinx-remove-toctrees"] +test = ["pytest", "pytest-cov"] + +[[package]] +name = "simplejson" +version = "3.19.2" +description = "Simple, fast, extensible JSON encoder/decoder for Python" +optional = false +python-versions = ">=2.5, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "simplejson-3.19.2-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:3471e95110dcaf901db16063b2e40fb394f8a9e99b3fe9ee3acc6f6ef72183a2"}, + {file = "simplejson-3.19.2-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:3194cd0d2c959062b94094c0a9f8780ffd38417a5322450a0db0ca1a23e7fbd2"}, + {file = "simplejson-3.19.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:8a390e56a7963e3946ff2049ee1eb218380e87c8a0e7608f7f8790ba19390867"}, + {file = "simplejson-3.19.2-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:1537b3dd62d8aae644f3518c407aa8469e3fd0f179cdf86c5992792713ed717a"}, + {file = "simplejson-3.19.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a8617625369d2d03766413bff9e64310feafc9fc4f0ad2b902136f1a5cd8c6b0"}, + {file = "simplejson-3.19.2-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:2c433a412e96afb9a3ce36fa96c8e61a757af53e9c9192c97392f72871e18e69"}, + {file = "simplejson-3.19.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:f1c70249b15e4ce1a7d5340c97670a95f305ca79f376887759b43bb33288c973"}, + {file = "simplejson-3.19.2-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:287e39ba24e141b046812c880f4619d0ca9e617235d74abc27267194fc0c7835"}, + {file = "simplejson-3.19.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:6f0a0b41dd05eefab547576bed0cf066595f3b20b083956b1405a6f17d1be6ad"}, + {file = "simplejson-3.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2f98d918f7f3aaf4b91f2b08c0c92b1774aea113334f7cde4fe40e777114dbe6"}, + {file = "simplejson-3.19.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7d74beca677623481810c7052926365d5f07393c72cbf62d6cce29991b676402"}, + {file = "simplejson-3.19.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7f2398361508c560d0bf1773af19e9fe644e218f2a814a02210ac2c97ad70db0"}, + {file = "simplejson-3.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ad331349b0b9ca6da86064a3599c425c7a21cd41616e175ddba0866da32df48"}, + {file = "simplejson-3.19.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:332c848f02d71a649272b3f1feccacb7e4f7e6de4a2e6dc70a32645326f3d428"}, + {file = "simplejson-3.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25785d038281cd106c0d91a68b9930049b6464288cea59ba95b35ee37c2d23a5"}, + {file = "simplejson-3.19.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18955c1da6fc39d957adfa346f75226246b6569e096ac9e40f67d102278c3bcb"}, + {file = "simplejson-3.19.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:11cc3afd8160d44582543838b7e4f9aa5e97865322844b75d51bf4e0e413bb3e"}, + {file = "simplejson-3.19.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b01fda3e95d07a6148702a641e5e293b6da7863f8bc9b967f62db9461330562c"}, + {file = "simplejson-3.19.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:778331444917108fa8441f59af45886270d33ce8a23bfc4f9b192c0b2ecef1b3"}, + {file = "simplejson-3.19.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9eb117db8d7ed733a7317c4215c35993b815bf6aeab67523f1f11e108c040672"}, + {file = "simplejson-3.19.2-cp310-cp310-win32.whl", hash = "sha256:39b6d79f5cbfa3eb63a869639cfacf7c41d753c64f7801efc72692c1b2637ac7"}, + {file = "simplejson-3.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:5675e9d8eeef0aa06093c1ff898413ade042d73dc920a03e8cea2fb68f62445a"}, + {file = "simplejson-3.19.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ed628c1431100b0b65387419551e822987396bee3c088a15d68446d92f554e0c"}, + {file = "simplejson-3.19.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:adcb3332979cbc941b8fff07181f06d2b608625edc0a4d8bc3ffc0be414ad0c4"}, + {file = "simplejson-3.19.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:08889f2f597ae965284d7b52a5c3928653a9406d88c93e3161180f0abc2433ba"}, + {file = "simplejson-3.19.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef7938a78447174e2616be223f496ddccdbf7854f7bf2ce716dbccd958cc7d13"}, + {file = "simplejson-3.19.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a970a2e6d5281d56cacf3dc82081c95c1f4da5a559e52469287457811db6a79b"}, + {file = "simplejson-3.19.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:554313db34d63eac3b3f42986aa9efddd1a481169c12b7be1e7512edebff8eaf"}, + {file = "simplejson-3.19.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d36081c0b1c12ea0ed62c202046dca11438bee48dd5240b7c8de8da62c620e9"}, + {file = "simplejson-3.19.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a3cd18e03b0ee54ea4319cdcce48357719ea487b53f92a469ba8ca8e39df285e"}, + {file = "simplejson-3.19.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:66e5dc13bfb17cd6ee764fc96ccafd6e405daa846a42baab81f4c60e15650414"}, + {file = "simplejson-3.19.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:972a7833d4a1fcf7a711c939e315721a88b988553fc770a5b6a5a64bd6ebeba3"}, + {file = "simplejson-3.19.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3e74355cb47e0cd399ead3477e29e2f50e1540952c22fb3504dda0184fc9819f"}, + {file = "simplejson-3.19.2-cp311-cp311-win32.whl", hash = "sha256:1dd4f692304854352c3e396e9b5f0a9c9e666868dd0bdc784e2ac4c93092d87b"}, + {file = "simplejson-3.19.2-cp311-cp311-win_amd64.whl", hash = "sha256:9300aee2a8b5992d0f4293d88deb59c218989833e3396c824b69ba330d04a589"}, + {file = "simplejson-3.19.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b8d940fd28eb34a7084877747a60873956893e377f15a32ad445fe66c972c3b8"}, + {file = "simplejson-3.19.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4969d974d9db826a2c07671273e6b27bc48e940738d768fa8f33b577f0978378"}, + {file = "simplejson-3.19.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c594642d6b13d225e10df5c16ee15b3398e21a35ecd6aee824f107a625690374"}, + {file = "simplejson-3.19.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2f5a398b5e77bb01b23d92872255e1bcb3c0c719a3be40b8df146570fe7781a"}, + {file = "simplejson-3.19.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:176a1b524a3bd3314ed47029a86d02d5a95cc0bee15bd3063a1e1ec62b947de6"}, + {file = "simplejson-3.19.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3c7363a8cb8c5238878ec96c5eb0fc5ca2cb11fc0c7d2379863d342c6ee367a"}, + {file = "simplejson-3.19.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:346820ae96aa90c7d52653539a57766f10f33dd4be609206c001432b59ddf89f"}, + {file = "simplejson-3.19.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de9a2792612ec6def556d1dc621fd6b2073aff015d64fba9f3e53349ad292734"}, + {file = "simplejson-3.19.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:1c768e7584c45094dca4b334af361e43b0aaa4844c04945ac7d43379eeda9bc2"}, + {file = "simplejson-3.19.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:9652e59c022e62a5b58a6f9948b104e5bb96d3b06940c6482588176f40f4914b"}, + {file = "simplejson-3.19.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9c1a4393242e321e344213a90a1e3bf35d2f624aa8b8f6174d43e3c6b0e8f6eb"}, + {file = "simplejson-3.19.2-cp312-cp312-win32.whl", hash = "sha256:7cb98be113911cb0ad09e5523d0e2a926c09a465c9abb0784c9269efe4f95917"}, + {file = "simplejson-3.19.2-cp312-cp312-win_amd64.whl", hash = "sha256:6779105d2fcb7fcf794a6a2a233787f6bbd4731227333a072d8513b252ed374f"}, + {file = "simplejson-3.19.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:061e81ea2d62671fa9dea2c2bfbc1eec2617ae7651e366c7b4a2baf0a8c72cae"}, + {file = "simplejson-3.19.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4280e460e51f86ad76dc456acdbfa9513bdf329556ffc8c49e0200878ca57816"}, + {file = "simplejson-3.19.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11c39fbc4280d7420684494373b7c5904fa72a2b48ef543a56c2d412999c9e5d"}, + {file = "simplejson-3.19.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bccb3e88ec26ffa90f72229f983d3a5d1155e41a1171190fa723d4135523585b"}, + {file = "simplejson-3.19.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bb5b50dc6dd671eb46a605a3e2eb98deb4a9af787a08fcdddabe5d824bb9664"}, + {file = "simplejson-3.19.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:d94245caa3c61f760c4ce4953cfa76e7739b6f2cbfc94cc46fff6c050c2390c5"}, + {file = "simplejson-3.19.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:d0e5ffc763678d48ecc8da836f2ae2dd1b6eb2d27a48671066f91694e575173c"}, + {file = "simplejson-3.19.2-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:d222a9ed082cd9f38b58923775152003765016342a12f08f8c123bf893461f28"}, + {file = "simplejson-3.19.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:8434dcdd347459f9fd9c526117c01fe7ca7b016b6008dddc3c13471098f4f0dc"}, + {file = "simplejson-3.19.2-cp36-cp36m-win32.whl", hash = "sha256:c9ac1c2678abf9270e7228133e5b77c6c3c930ad33a3c1dfbdd76ff2c33b7b50"}, + {file = "simplejson-3.19.2-cp36-cp36m-win_amd64.whl", hash = "sha256:92c4a4a2b1f4846cd4364855cbac83efc48ff5a7d7c06ba014c792dd96483f6f"}, + {file = "simplejson-3.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0d551dc931638e2102b8549836a1632e6e7cf620af3d093a7456aa642bff601d"}, + {file = "simplejson-3.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73a8a4653f2e809049999d63530180d7b5a344b23a793502413ad1ecea9a0290"}, + {file = "simplejson-3.19.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:40847f617287a38623507d08cbcb75d51cf9d4f9551dd6321df40215128325a3"}, + {file = "simplejson-3.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be893258d5b68dd3a8cba8deb35dc6411db844a9d35268a8d3793b9d9a256f80"}, + {file = "simplejson-3.19.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9eb3cff1b7d71aa50c89a0536f469cb8d6dcdd585d8f14fb8500d822f3bdee4"}, + {file = "simplejson-3.19.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d0f402e787e6e7ee7876c8b05e2fe6464820d9f35ba3f172e95b5f8b699f6c7f"}, + {file = "simplejson-3.19.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:fbbcc6b0639aa09b9649f36f1bcb347b19403fe44109948392fbb5ea69e48c3e"}, + {file = "simplejson-3.19.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:2fc697be37585eded0c8581c4788fcfac0e3f84ca635b73a5bf360e28c8ea1a2"}, + {file = "simplejson-3.19.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b0a3eb6dd39cce23801a50c01a0976971498da49bc8a0590ce311492b82c44b"}, + {file = "simplejson-3.19.2-cp37-cp37m-win32.whl", hash = "sha256:49f9da0d6cd17b600a178439d7d2d57c5ef01f816b1e0e875e8e8b3b42db2693"}, + {file = "simplejson-3.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:c87c22bd6a987aca976e3d3e23806d17f65426191db36d40da4ae16a6a494cbc"}, + {file = "simplejson-3.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9e4c166f743bb42c5fcc60760fb1c3623e8fda94f6619534217b083e08644b46"}, + {file = "simplejson-3.19.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0a48679310e1dd5c9f03481799311a65d343748fe86850b7fb41df4e2c00c087"}, + {file = "simplejson-3.19.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c0521e0f07cb56415fdb3aae0bbd8701eb31a9dfef47bb57206075a0584ab2a2"}, + {file = "simplejson-3.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d2d5119b1d7a1ed286b8af37357116072fc96700bce3bec5bb81b2e7057ab41"}, + {file = "simplejson-3.19.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2c1467d939932901a97ba4f979e8f2642415fcf02ea12f53a4e3206c9c03bc17"}, + {file = "simplejson-3.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49aaf4546f6023c44d7e7136be84a03a4237f0b2b5fb2b17c3e3770a758fc1a0"}, + {file = "simplejson-3.19.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60848ab779195b72382841fc3fa4f71698a98d9589b0a081a9399904487b5832"}, + {file = "simplejson-3.19.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0436a70d8eb42bea4fe1a1c32d371d9bb3b62c637969cb33970ad624d5a3336a"}, + {file = "simplejson-3.19.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:49e0e3faf3070abdf71a5c80a97c1afc059b4f45a5aa62de0c2ca0444b51669b"}, + {file = "simplejson-3.19.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ff836cd4041e16003549449cc0a5e372f6b6f871eb89007ab0ee18fb2800fded"}, + {file = "simplejson-3.19.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3848427b65e31bea2c11f521b6fc7a3145d6e501a1038529da2391aff5970f2f"}, + {file = "simplejson-3.19.2-cp38-cp38-win32.whl", hash = "sha256:3f39bb1f6e620f3e158c8b2eaf1b3e3e54408baca96a02fe891794705e788637"}, + {file = "simplejson-3.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:0405984f3ec1d3f8777c4adc33eac7ab7a3e629f3b1c05fdded63acc7cf01137"}, + {file = "simplejson-3.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:445a96543948c011a3a47c8e0f9d61e9785df2544ea5be5ab3bc2be4bd8a2565"}, + {file = "simplejson-3.19.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4a8c3cc4f9dfc33220246760358c8265dad6e1104f25f0077bbca692d616d358"}, + {file = "simplejson-3.19.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af9c7e6669c4d0ad7362f79cb2ab6784d71147503e62b57e3d95c4a0f222c01c"}, + {file = "simplejson-3.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:064300a4ea17d1cd9ea1706aa0590dcb3be81112aac30233823ee494f02cb78a"}, + {file = "simplejson-3.19.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9453419ea2ab9b21d925d0fd7e3a132a178a191881fab4169b6f96e118cc25bb"}, + {file = "simplejson-3.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e038c615b3906df4c3be8db16b3e24821d26c55177638ea47b3f8f73615111c"}, + {file = "simplejson-3.19.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16ca9c90da4b1f50f089e14485db8c20cbfff2d55424062791a7392b5a9b3ff9"}, + {file = "simplejson-3.19.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1018bd0d70ce85f165185d2227c71e3b1e446186f9fa9f971b69eee223e1e3cd"}, + {file = "simplejson-3.19.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e8dd53a8706b15bc0e34f00e6150fbefb35d2fd9235d095b4f83b3c5ed4fa11d"}, + {file = "simplejson-3.19.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:2d022b14d7758bfb98405672953fe5c202ea8a9ccf9f6713c5bd0718eba286fd"}, + {file = "simplejson-3.19.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:febffa5b1eda6622d44b245b0685aff6fb555ce0ed734e2d7b1c3acd018a2cff"}, + {file = "simplejson-3.19.2-cp39-cp39-win32.whl", hash = "sha256:4edcd0bf70087b244ba77038db23cd98a1ace2f91b4a3ecef22036314d77ac23"}, + {file = "simplejson-3.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:aad7405c033d32c751d98d3a65801e2797ae77fac284a539f6c3a3e13005edc4"}, + {file = "simplejson-3.19.2-py3-none-any.whl", hash = "sha256:bcedf4cae0d47839fee7de344f96b5694ca53c786f28b5f773d4f0b265a159eb"}, + {file = "simplejson-3.19.2.tar.gz", hash = "sha256:9eb442a2442ce417801c912df68e1f6ccfcd41577ae7274953ab3ad24ef7d82c"}, +] + [[package]] name = "six" version = "1.16.0" @@ -2293,6 +3718,17 @@ files = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] +[[package]] +name = "tomlkit" +version = "0.11.8" +description = "Style preserving TOML library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomlkit-0.11.8-py3-none-any.whl", hash = "sha256:8c726c4c202bdb148667835f68d68780b9a003a9ec34167b6c673b38eff2a171"}, + {file = "tomlkit-0.11.8.tar.gz", hash = "sha256:9330fc7faa1db67b541b28e62018c17d20be733177d290a13b24c62d1614e0c3"}, +] + [[package]] name = "toolz" version = "0.12.0" @@ -2324,6 +3760,26 @@ files = [ {file = "tornado-6.4.tar.gz", hash = "sha256:72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee"}, ] +[[package]] +name = "tqdm" +version = "4.66.1" +description = "Fast, Extensible Progress Meter" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, + {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] +notebook = ["ipywidgets (>=6)"] +slack = ["slack-sdk"] +telegram = ["requests"] + [[package]] name = "typer" version = "0.9.0" @@ -2356,6 +3812,28 @@ files = [ {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, ] +[[package]] +name = "tzdata" +version = "2023.3" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ + {file = "tzdata-2023.3-py2.py3-none-any.whl", hash = "sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda"}, + {file = "tzdata-2023.3.tar.gz", hash = "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a"}, +] + +[[package]] +name = "uritemplate" +version = "4.1.1" +description = "Implementation of RFC 6570 URI Templates" +optional = false +python-versions = ">=3.6" +files = [ + {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, + {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, +] + [[package]] name = "urllib3" version = "1.26.18" @@ -2406,6 +3884,109 @@ files = [ [package.extras] dev = ["black (>=19.3b0)", "pytest (>=4.6.2)"] +[[package]] +name = "yarl" +version = "1.9.4" +description = "Yet another URL library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a8c1df72eb746f4136fe9a2e72b0c9dc1da1cbd23b5372f94b5820ff8ae30e0e"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9e09c9d74f4566e905a0b8fa668c58109f7624db96a2171f21747abc7524234"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8477c1ee4bd47c57d49621a062121c3023609f7a13b8a46953eb6c9716ca392"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5ff2c858f5f6a42c2a8e751100f237c5e869cbde669a724f2062d4c4ef93551"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54525ae423d7b7a8ee81ba189f131054defdb122cde31ff17477951464c1691c"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:801e9264d19643548651b9db361ce3287176671fb0117f96b5ac0ee1c3530d53"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e516dc8baf7b380e6c1c26792610230f37147bb754d6426462ab115a02944385"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7d5aaac37d19b2904bb9dfe12cdb08c8443e7ba7d2852894ad448d4b8f442863"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:54beabb809ffcacbd9d28ac57b0db46e42a6e341a030293fb3185c409e626b8b"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bac8d525a8dbc2a1507ec731d2867025d11ceadcb4dd421423a5d42c56818541"}, + {file = "yarl-1.9.4-cp310-cp310-win32.whl", hash = "sha256:7855426dfbddac81896b6e533ebefc0af2f132d4a47340cee6d22cac7190022d"}, + {file = "yarl-1.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:848cd2a1df56ddbffeb375535fb62c9d1645dde33ca4d51341378b3f5954429b"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:35a2b9396879ce32754bd457d31a51ff0a9d426fd9e0e3c33394bf4b9036b099"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c7d56b293cc071e82532f70adcbd8b61909eec973ae9d2d1f9b233f3d943f2c"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8a1c6c0be645c745a081c192e747c5de06e944a0d21245f4cf7c05e457c36e0"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3c1ffe10069f655ea2d731808e76e0f452fc6c749bea04781daf18e6039525"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:549d19c84c55d11687ddbd47eeb348a89df9cb30e1993f1b128f4685cd0ebbf8"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7409f968456111140c1c95301cadf071bd30a81cbd7ab829169fb9e3d72eae9"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8b889777de69897406c9fb0b76cdf2fd0f31267861ae7501d93003d55f54fbe"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:03caa9507d3d3c83bca08650678e25364e1843b484f19986a527630ca376ecce"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e9035df8d0880b2f1c7f5031f33f69e071dfe72ee9310cfc76f7b605958ceb9"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c0ec0ed476f77db9fb29bca17f0a8fcc7bc97ad4c6c1d8959c507decb22e8572"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:ee04010f26d5102399bd17f8df8bc38dc7ccd7701dc77f4a68c5b8d733406958"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49a180c2e0743d5d6e0b4d1a9e5f633c62eca3f8a86ba5dd3c471060e352ca98"}, + {file = "yarl-1.9.4-cp311-cp311-win32.whl", hash = "sha256:81eb57278deb6098a5b62e88ad8281b2ba09f2f1147c4767522353eaa6260b31"}, + {file = "yarl-1.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:d1d2532b340b692880261c15aee4dc94dd22ca5d61b9db9a8a361953d36410b1"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d2454f0aef65ea81037759be5ca9947539667eecebca092733b2eb43c965a81"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:44d8ffbb9c06e5a7f529f38f53eda23e50d1ed33c6c869e01481d3fafa6b8142"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aaaea1e536f98754a6e5c56091baa1b6ce2f2700cc4a00b0d49eca8dea471074"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3777ce5536d17989c91696db1d459574e9a9bd37660ea7ee4d3344579bb6f129"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fc5fc1eeb029757349ad26bbc5880557389a03fa6ada41703db5e068881e5f2"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea65804b5dc88dacd4a40279af0cdadcfe74b3e5b4c897aa0d81cf86927fee78"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa102d6d280a5455ad6a0f9e6d769989638718e938a6a0a2ff3f4a7ff8c62cc4"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09efe4615ada057ba2d30df871d2f668af661e971dfeedf0c159927d48bbeff0"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:008d3e808d03ef28542372d01057fd09168419cdc8f848efe2804f894ae03e51"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6f5cb257bc2ec58f437da2b37a8cd48f666db96d47b8a3115c29f316313654ff"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:992f18e0ea248ee03b5a6e8b3b4738850ae7dbb172cc41c966462801cbf62cf7"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0e9d124c191d5b881060a9e5060627694c3bdd1fe24c5eecc8d5d7d0eb6faabc"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3986b6f41ad22988e53d5778f91855dc0399b043fc8946d4f2e68af22ee9ff10"}, + {file = "yarl-1.9.4-cp312-cp312-win32.whl", hash = "sha256:4b21516d181cd77ebd06ce160ef8cc2a5e9ad35fb1c5930882baff5ac865eee7"}, + {file = "yarl-1.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984"}, + {file = "yarl-1.9.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63b20738b5aac74e239622d2fe30df4fca4942a86e31bf47a81a0e94c14df94f"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d7f7de27b8944f1fee2c26a88b4dabc2409d2fea7a9ed3df79b67277644e17"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c74018551e31269d56fab81a728f683667e7c28c04e807ba08f8c9e3bba32f14"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca06675212f94e7a610e85ca36948bb8fc023e458dd6c63ef71abfd482481aa5"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aef935237d60a51a62b86249839b51345f47564208c6ee615ed2a40878dccdd"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b134fd795e2322b7684155b7855cc99409d10b2e408056db2b93b51a52accc7"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d25039a474c4c72a5ad4b52495056f843a7ff07b632c1b92ea9043a3d9950f6e"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f7d6b36dd2e029b6bcb8a13cf19664c7b8e19ab3a58e0fefbb5b8461447ed5ec"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:957b4774373cf6f709359e5c8c4a0af9f6d7875db657adb0feaf8d6cb3c3964c"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d7eeb6d22331e2fd42fce928a81c697c9ee2d51400bd1a28803965883e13cead"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6a962e04b8f91f8c4e5917e518d17958e3bdee71fd1d8b88cdce74dd0ebbf434"}, + {file = "yarl-1.9.4-cp37-cp37m-win32.whl", hash = "sha256:f3bc6af6e2b8f92eced34ef6a96ffb248e863af20ef4fde9448cc8c9b858b749"}, + {file = "yarl-1.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4d7a90a92e528aadf4965d685c17dacff3df282db1121136c382dc0b6014d2"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ec61d826d80fc293ed46c9dd26995921e3a82146feacd952ef0757236fc137be"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8be9e837ea9113676e5754b43b940b50cce76d9ed7d2461df1af39a8ee674d9f"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bef596fdaa8f26e3d66af846bbe77057237cb6e8efff8cd7cc8dff9a62278bbf"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d47552b6e52c3319fede1b60b3de120fe83bde9b7bddad11a69fb0af7db32f1"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84fc30f71689d7fc9168b92788abc977dc8cefa806909565fc2951d02f6b7d57"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4aa9741085f635934f3a2583e16fcf62ba835719a8b2b28fb2917bb0537c1dfa"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:206a55215e6d05dbc6c98ce598a59e6fbd0c493e2de4ea6cc2f4934d5a18d130"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07574b007ee20e5c375a8fe4a0789fad26db905f9813be0f9fef5a68080de559"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5a2e2433eb9344a163aced6a5f6c9222c0786e5a9e9cac2c89f0b28433f56e23"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6ad6d10ed9b67a382b45f29ea028f92d25bc0bc1daf6c5b801b90b5aa70fb9ec"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:6fe79f998a4052d79e1c30eeb7d6c1c1056ad33300f682465e1b4e9b5a188b78"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a825ec844298c791fd28ed14ed1bffc56a98d15b8c58a20e0e08c1f5f2bea1be"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8619d6915b3b0b34420cf9b2bb6d81ef59d984cb0fde7544e9ece32b4b3043c3"}, + {file = "yarl-1.9.4-cp38-cp38-win32.whl", hash = "sha256:686a0c2f85f83463272ddffd4deb5e591c98aac1897d65e92319f729c320eece"}, + {file = "yarl-1.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:a00862fb23195b6b8322f7d781b0dc1d82cb3bcac346d1e38689370cc1cc398b"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:604f31d97fa493083ea21bd9b92c419012531c4e17ea6da0f65cacdcf5d0bd27"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a854227cf581330ffa2c4824d96e52ee621dd571078a252c25e3a3b3d94a1b1"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ba6f52cbc7809cd8d74604cce9c14868306ae4aa0282016b641c661f981a6e91"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6327976c7c2f4ee6816eff196e25385ccc02cb81427952414a64811037bbc8b"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8397a3817d7dcdd14bb266283cd1d6fc7264a48c186b986f32e86d86d35fbac5"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0381b4ce23ff92f8170080c97678040fc5b08da85e9e292292aba67fdac6c34"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23d32a2594cb5d565d358a92e151315d1b2268bc10f4610d098f96b147370136"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddb2a5c08a4eaaba605340fdee8fc08e406c56617566d9643ad8bf6852778fc7"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:26a1dc6285e03f3cc9e839a2da83bcbf31dcb0d004c72d0730e755b33466c30e"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:18580f672e44ce1238b82f7fb87d727c4a131f3a9d33a5e0e82b793362bf18b4"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:29e0f83f37610f173eb7e7b5562dd71467993495e568e708d99e9d1944f561ec"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:1f23e4fe1e8794f74b6027d7cf19dc25f8b63af1483d91d595d4a07eca1fb26c"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db8e58b9d79200c76956cefd14d5c90af54416ff5353c5bfd7cbe58818e26ef0"}, + {file = "yarl-1.9.4-cp39-cp39-win32.whl", hash = "sha256:c7224cab95645c7ab53791022ae77a4509472613e839dab722a72abe5a684575"}, + {file = "yarl-1.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:824d6c50492add5da9374875ce72db7a0733b29c2394890aef23d533106e2b15"}, + {file = "yarl-1.9.4-py3-none-any.whl", hash = "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad"}, + {file = "yarl-1.9.4.tar.gz", hash = "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf"}, +] + +[package.dependencies] +idna = ">=2.0" +multidict = ">=4.0" + [[package]] name = "zict" version = "3.0.0" @@ -2435,4 +4016,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.11" -content-hash = "baa346bf2212df2e5976eb7613bbee9fe1c299e42bb18c2fd0b18a0766edcd8a" +content-hash = "8dbb699a027aff6c1f5ba04d674573575d2ce7f037bea171f50debf46199f5f4" diff --git a/pyproject.toml b/pyproject.toml index 12eefc3..d9ea9d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,11 @@ python = ">=3.10,<3.11" dbt-bigquery = "^1.6.1" google-cloud-storage = "^2.10.0" prefect = "1.4.1" -prefeitura-rio = "1.0.0rc1" +prefeitura-rio = { git = "https://github.com/prefeitura-rio/prefeitura-rio", rev = "4c1e9e63a52270fa8c165717b63f71390a2d99ce", extras = [ + "pipelines", + "pipelines-templates", +] } +pendulum = "^3.0.0" [tool.poetry.group.dev] diff --git a/queries/dbt_project.yml b/queries/dbt_project.yml index f4c3ea3..2b68408 100644 --- a/queries/dbt_project.yml +++ b/queries/dbt_project.yml @@ -24,3 +24,21 @@ models: example: +materialized: view +schema: example + recursos_humanos_ergon: + +materialized: table + +schema: recursos_humanos_ergon + recursos_humanos_ergon_comlurb: + +materialized: table + +schema: recursos_humanos_ergon_comlurb + planejamento_gestao_acordo_resultados: + +materialized: table + +schema: planejamento_gestao_acordo_resultados + planejamento_gestao_dashboard_metas: + +materialized: table + +schema: planejamento_gestao_dashboard_metas + iptu_inadimplentes: + +materialized: table + +schema: iptu_inadimplentes + adm_orcamento_sigma: + +materialized: table + +schema: adm_orcamento_sigma \ No newline at end of file diff --git a/queries/macros/generate_schema_name.sql b/queries/macros/generate_schema_name.sql index 8b13789..2c7e7bc 100644 --- a/queries/macros/generate_schema_name.sql +++ b/queries/macros/generate_schema_name.sql @@ -1 +1,15 @@ +{% macro generate_schema_name(custom_schema_name, node) -%} + + {%- set default_schema = target.schema -%} + {%- if custom_schema_name is none -%} + + {{ default_schema }} + + {%- else -%} + + {{ custom_schema_name | trim }} + + {%- endif -%} + +{%- endmacro %} \ No newline at end of file diff --git a/queries/models/adm_orcamento_sigma/sancao_fornecedor.sql b/queries/models/adm_orcamento_sigma/sancao_fornecedor.sql new file mode 100644 index 0000000..d4a4b00 --- /dev/null +++ b/queries/models/adm_orcamento_sigma/sancao_fornecedor.sql @@ -0,0 +1,42 @@ +SELECT + SAFE_CAST(SAFE.PARSE_DATE("%Y%m%d",dt_sancao) AS DATE) AS data_sancao, + SAFE_CAST(SAFE.PARSE_DATE("%Y%m%d",REGEXP_REPLACE(dt_extincao_sancao, r'\.0$', '')) AS DATE) AS data_extincao_sancao, + CASE + WHEN LENGTH(cpf_cnpj) = 11 THEN 'CPF' + WHEN LENGTH(cpf_cnpj) = 14 THEN 'CNPJ' + ELSE NULL + END AS tipo_documento, + SAFE_CAST(cpf_cnpj AS STRING) AS cpf_cnpj, + CASE + WHEN LENGTH(cpf_cnpj) = 11 THEN + CONCAT( + SUBSTR(cpf_cnpj, 1, 3), + '.', + SUBSTR(cpf_cnpj, 4, 3), + '.', + SUBSTR(cpf_cnpj, 7, 3), + '-', + SUBSTR(cpf_cnpj, 10, 2) + ) + WHEN LENGTH(cpf_cnpj) = 14 THEN + CONCAT( + LEFT(cpf_cnpj, 2), + '.', + SUBSTR(cpf_cnpj, 3, 3), + '.', + SUBSTR(cpf_cnpj, 6, 3), + '/', + SUBSTR(cpf_cnpj, 9, 4), + '-', + RIGHT(cpf_cnpj, 2) + ) + ELSE cpf_cnpj + END AS cpf_cnpj_formatado, + SAFE_CAST(razao_social AS STRING) AS razao_social, + SAFE_CAST(REGEXP_REPLACE(nr_ordem, r'\.0$', '') AS STRING) AS id_ordem, + SAFE_CAST(REGEXP_REPLACE(processo_origem, r'\.0$', '') AS STRING) AS id_processo_origem, + SAFE_CAST(REGEXP_REPLACE(processo_instrutivo, r'\.0$', '') AS STRING) AS id_processo_instrutivo, + SAFE_CAST(REGEXP_REPLACE(processo_fatura, r'\.0$', '') AS STRING) AS id_processo_fatura, + SAFE_CAST(REGEXP_REPLACE(cd_sancao, r'\.0$', '') AS STRING) AS id_sancao, + SAFE_CAST(REGEXP_REPLACE(ds_sancao, r'\.0$', '') AS STRING) AS descricao_sancao, +FROM `rj-smfp.adm_orcamento_sigma_staging.sancao_fornecedor` diff --git a/queries/models/adm_orcamento_sigma/schema.yml b/queries/models/adm_orcamento_sigma/schema.yml new file mode 100644 index 0000000..df9176a --- /dev/null +++ b/queries/models/adm_orcamento_sigma/schema.yml @@ -0,0 +1,45 @@ +version: 2 +models : + - name: sancao_fornecedor + description: "**Descrição**: Sanções administrativas aplicadas por não cumprimento + de contrato a fornecedores contratados pelo município do Rio de Janeiro.\n**Frequência + de atualização**: Nunca\n**Cobertura temporal**: A partir de 15/01/2007 até + o momento\n**Órgão gestor dos dados**: SMFP\n**Publicado por**: Fabio Barbosa + Baptista\n**Publicado por (email)**: fabio.baptista@rio.rj.gov.br\n" + columns: + - name: cpf_cnpj + description: CPF/CNPJ do fornecedor que recebeu a sanção. + - name: razao_social + description: Razão social ou nome do fornecedor que recebeu a sanção. + - name: id_ordem + description: Sequencial começado por 1 e é incrementado sempre que há uma + nova sanção aplicada pelo mesmo órgão e com o mesmo número de processo administrativo + descrito no atributo processo_fatura. + - name: id_processo_origem + description: É o número do processo administrativo correspondente à licitação + ou sua dispensa ou inexigibilidade relacionada a contratação do fornecedor. + A sanção está sendo aplicada por causa de descumprimento de contrato ligado + a este processo administrativo. + - name: id_processo_instrutivo + description: É o número do processo administrativo relacionado à contratação + do fornecedor por um órgão. Está sempre relacionado a um processo descrito + no atributo em Processo_Origem. + - name: id_sancao + description: Código do tipo da sanção aplicada ao fornecedor. + - name: id_processo_fatura + description: É o número do processo administrativo relacionado ao pagamento + do serviço ou produto solicitado pelo processo instrutivo. Caso não haja + um processo fatura é copiado o número do processo instrutivo para este atributo. + - name: descricao_sancao + description: Descrição do tipo da sanção aplicado ao fornecedor. Ex. Multa, + suspensão, inidoneidade etc. + - name: data_sancao + description: Data de Início da sanção aplicada ao fornecedor. Ex. Data do + início da suspensão, data da aplicação da multa etc. + - name: data_extincao_sancao + description: Data de extinção da sanção aplicada ao fornecedor Ex. Data do + fim da suspensão, data da confirmação do pagamento da multa etc. + - name: tipo_documento + description: Indica se o documento é CPF ou CNPJ + - name: cpf_cnpj_formatado + description: CPF ou CNPJ na versão formatada diff --git a/queries/models/iptu_inadimplentes/perfil_inadimplente.sql b/queries/models/iptu_inadimplentes/perfil_inadimplente.sql new file mode 100644 index 0000000..8d0dadc --- /dev/null +++ b/queries/models/iptu_inadimplentes/perfil_inadimplente.sql @@ -0,0 +1,64 @@ +WITH first_level_treatment AS ( + SELECT + SAFE_CAST(SAFE_CAST(SAFE_CAST(exercicio AS INT64) AS STRING) AS DATE FORMAT 'YYYY') ano_competencia, + SAFE_CAST(valor_lancado AS FLOAT64) valor_lancado, + SAFE_CAST(valor_pago AS FLOAT64) valor_pago, + SAFE_CAST(valor_devido AS FLOAT64) valor_devido, + SAFE_CAST(tipoguia AS STRING) tipo_guia, + `rj-smfp.iptu_inadimplentes_staging`.tradutor_bairro(SAFE_CAST(bairro AS STRING)) bairro, + SAFE_CAST(statuslancamentoiptu AS STRING) status_lancamento_iptu, + SAFE_CAST(areaplanejamento AS STRING) area_planejamento, + SAFE_CAST(geo_zona AS STRING) zona_cidade, + SAFE_CAST(geo_regiaoadmin AS STRING) regiao_administrativa, + SAFE_CAST(geo_regiaofiscal AS STRING) regiao_fiscal, + SAFE_CAST(idadeano AS INT64) ano_construcao_imovel, + `rj-smfp.iptu_inadimplentes_staging`.tradutor_situacao_terreno(SAFE_CAST(situacaoterreno AS STRING)) situacao_terreno, + SAFE_CAST(tipologia AS STRING) tipologia, + SAFE_CAST(utilizacaoprincipal AS STRING) utilizacao_principal, + SAFE_CAST(areatributadanaoresidencial AS FLOAT64) area_tributada_nao_residencial, + SAFE_CAST(areatributadaresidencial AS FLOAT64) area_tributada_residencial, + SAFE_CAST(areatributadaterritorial AS FLOAT64) area_tributada_territorial, + SAFE_CAST(areaterreno AS FLOAT64) area_terreno, + SAFE_CAST(val_isentoiptu_isencao AS FLOAT64) valor_isento_iptu, + SAFE_CAST(tributacao AS STRING) tributacao, + SAFE_CAST(arearesidencial AS FLOAT64) area_residencial, + SAFE_CAST(areanaoresidencial AS FLOAT64) area_nao_residencial, + SAFE_CAST(inscimobiliaria AS STRING) inscricao_imobiliaria, + FROM `rj-smfp.iptu_inadimplentes_staging.perfil_inadimplente` +) + +SELECT + iptu.ano_competencia, + iptu.valor_lancado, + iptu.valor_pago, + iptu.valor_devido, + iptu.tipo_guia, + b.id_bairro, + iptu.bairro, + b.geometry as bairro_geometria, + b.id_area_planejamento, + b.id_regiao_planejamento, + b.id_regiao_administrativa, + b.nome_regiao_administrativa, + -- b.subprefeitura, + iptu.status_lancamento_iptu, + iptu.area_planejamento, + iptu.zona_cidade, + iptu.regiao_administrativa, + iptu.regiao_fiscal, + iptu.ano_construcao_imovel, + iptu.situacao_terreno, + iptu.tipologia, + iptu.utilizacao_principal, + iptu.area_tributada_nao_residencial, + iptu.area_tributada_residencial, + iptu.area_tributada_territorial, + iptu.area_terreno, + iptu.valor_isento_iptu, + iptu.tributacao, + iptu.area_residencial, + iptu.area_nao_residencial, + iptu.inscricao_imobiliaria, +FROM first_level_treatment as iptu +LEFT JOIN `datario.dados_mestres.bairro` as b + ON LOWER(TRIM(iptu.bairro)) = `rj-smfp.iptu_inadimplentes_staging`.remove_accents(LOWER(TRIM(b.nome))) \ No newline at end of file diff --git a/queries/models/iptu_inadimplentes/perfil_inadimplente_v2.sql b/queries/models/iptu_inadimplentes/perfil_inadimplente_v2.sql new file mode 100644 index 0000000..355b606 --- /dev/null +++ b/queries/models/iptu_inadimplentes/perfil_inadimplente_v2.sql @@ -0,0 +1,70 @@ +WITH first_level_treatment AS ( + SELECT + SAFE_CAST(SAFE_CAST(SAFE_CAST(exercicio AS INT64) AS STRING) AS DATE FORMAT 'YYYY') ano_competencia, + SAFE_CAST(valor_lancado AS FLOAT64) valor_lancado, + SAFE_CAST(valor_pago AS FLOAT64) valor_pago, + SAFE_CAST(valor_desconto AS FLOAT64) valor_desconto, + SAFE_CAST(valor_devido AS FLOAT64) valor_devido, + SAFE_CAST(valor_multa AS FLOAT64) valor_multa, + SAFE_CAST(cota AS STRING) cota, + `rj-smfp.iptu_inadimplentes_staging`.tradutor_bairro(SAFE_CAST(bairro AS STRING)) bairro, + SAFE_CAST(statuslancamentoiptu AS STRING) status_lancamento_iptu, + SAFE_CAST(areaplanejamento AS STRING) area_planejamento, + SAFE_CAST(geo_zona AS STRING) zona_cidade, + SAFE_CAST(geo_regiaoadmin AS STRING) regiao_administrativa, + SAFE_CAST(geo_regiaofiscal AS STRING) regiao_fiscal, + SAFE_CAST(idadeano AS INT64) ano_construcao_imovel, + `rj-smfp.iptu_inadimplentes_staging`.tradutor_situacao_terreno(SAFE_CAST(situacaoterreno AS STRING)) situacao_terreno, + SAFE_CAST(tipologia AS STRING) tipologia, + SAFE_CAST(utilizacaoprincipal AS STRING) utilizacao_principal, + SAFE_CAST(areatributadanaoresidencial AS FLOAT64) area_tributada_nao_residencial, + SAFE_CAST(areatributadaresidencial AS FLOAT64) area_tributada_residencial, + SAFE_CAST(areatributadaterritorial AS FLOAT64) area_tributada_territorial, + SAFE_CAST(areaterreno AS FLOAT64) area_terreno, + SAFE_CAST(val_isentoiptu_isencao AS FLOAT64) valor_isento_iptu, + SAFE_CAST(tributacao AS STRING) tributacao, + SAFE_CAST(arearesidencial AS FLOAT64) area_residencial, + SAFE_CAST(areanaoresidencial AS FLOAT64) area_nao_residencial, + SAFE_CAST(inscimobiliaria AS STRING) inscricao_imobiliaria, + -- SAFE_CAST(tipoguia AS STRING) tipo_guia, + FROM `rj-smfp.iptu_inadimplentes_staging.perfil_inadimplente_v2` +) + +SELECT + iptu.ano_competencia, + iptu.valor_lancado, + iptu.valor_pago, + iptu.valor_desconto, + iptu.valor_devido, + iptu.valor_multa, + iptu.cota, + b.id_bairro, + iptu.bairro, + b.geometry as bairro_geometria, + b.id_area_planejamento, + b.id_regiao_planejamento, + b.id_regiao_administrativa, + b.nome_regiao_administrativa, + b.subprefeitura, + iptu.status_lancamento_iptu, + iptu.area_planejamento, + iptu.zona_cidade, + iptu.regiao_administrativa, + iptu.regiao_fiscal, + iptu.ano_construcao_imovel, + iptu.situacao_terreno, + iptu.tipologia, + iptu.utilizacao_principal, + iptu.area_tributada_nao_residencial, + iptu.area_tributada_residencial, + iptu.area_tributada_territorial, + iptu.area_terreno, + iptu.valor_isento_iptu, + iptu.tributacao, + iptu.area_residencial, + iptu.area_nao_residencial, + iptu.inscricao_imobiliaria, + -- iptu.tipo_guia, +FROM first_level_treatment as iptu +LEFT JOIN `datario.dados_mestres.bairro` as b + ON LOWER(TRIM(iptu.bairro)) = `rj-smfp.iptu_inadimplentes_staging`.remove_accents(LOWER(TRIM(b.nome))) \ No newline at end of file diff --git a/queries/models/iptu_inadimplentes/schema.yml b/queries/models/iptu_inadimplentes/schema.yml new file mode 100644 index 0000000..f4d5e92 --- /dev/null +++ b/queries/models/iptu_inadimplentes/schema.yml @@ -0,0 +1,56 @@ +version: 2 +models : + - name: perfil_inadimplente + description: "**Descrição**: Perfil de inadimplentes do IPTU\n**Frequência de + atualização**: Semanal\n**Cobertura temporal**: Indefinido\n**Órgão gestor dos + dados**: Indefinido\n**Publicado por**: Indefinido\n**Publicado por (email)**: + indefinido@mail.com\n" + columns: + - name: ano_competencia + description: Ano da competência + - name: valor_lancado + description: Valor de IPTU lançado para a inscrição imobiliária + - name: valor_pago + description: Valor de IPTU pago para a inscrição imobiliária + - name: valor_devido + description: Valor de IPTU devido para a inscrição imobiliária + - name: tipo_guia + description: Tipo de guia da inscrição imobiliária + - name: bairro + description: Bairro da inscrição imobiliária + - name: status_lancamento_iptu + description: Situação do lançamento do IPTU + - name: area_planejamento + description: Área de planejamento da cidade + - name: zona_cidade + description: Zona da cidade + - name: regiao_administrativa + description: Região administrativa da cidade + - name: regiao_fiscal + description: Região fiscal da cidade + - name: ano_construcao_imovel + description: Ano de construção do imóvel + - name: situacao_terreno + description: Situação do terreno + - name: tipologia + description: Tipologia do terreno + - name: utilizacao_principal + description: Utilização principal do imóvel + - name: area_tributada_nao_residencial + description: Área tributada não residencial do imóvel + - name: area_tributada_residencial + description: Área tributada residencial do imóvel + - name: area_tributada_territorial + description: Área tributada territorial do imóvel + - name: area_terreno + description: Área total do terreno + - name: valor_isento_iptu + description: Valor isento de IPTU + - name: tributacao + description: Tributação da inscrição imobiliária + - name: area_residencial + description: Área residencial do imóvel + - name: area_nao_residencial + description: Área não residencial do imóvel + - name: inscricao_imobiliaria + description: Inscrição imobiliária do imóvel diff --git a/queries/models/planejamento_gestao_acordo_resultados/acordo_resultado.sql b/queries/models/planejamento_gestao_acordo_resultados/acordo_resultado.sql new file mode 100644 index 0000000..fa6a444 --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/acordo_resultado.sql @@ -0,0 +1,19 @@ +SELECT + SAFE_CAST(ano AS INT64) as ano, + SAFE_CAST(orgao AS STRING) as orgao, + SAFE_CAST(orgaoegpweb AS STRING) as orgao_egpweb, + SAFE_CAST(tipo_acordo AS STRING) as tipo_acordo, + SAFE_CAST(SAFE_CAST(data_publicacao AS STRING) AS DATE FORMAT 'DD/MM/YYYY') as data_publicacao, + SAFE_CAST(data_assinatura AS DATE) as data_assinatura, + SAFE_CAST(data_resultado AS DATE FORMAT 'DD/MM/YYYY') as data_resultado, + CASE + WHEN bateu_acordo = "TRUE" THEN TRUE + WHEN bateu_acordo = "FALSE" THEN FALSE + WHEN bateu_acordo = "VERDADEIRO" THEN TRUE + WHEN bateu_acordo = "FALSO" THEN FALSE + ELSE NULL + END as indicador_cumprimento_acordo, + SAFE_CAST(REPLACE(nota_final, ",", ".") AS FLOAT64) as nota_final, + SAFE_CAST(bonus_final AS FLOAT64) as bonus_final, + SAFE_CAST(valor_estimado_bonus AS FLOAT64) valor_estimado_bonus +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.acordo_resultado` \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/auditoria.sql b/queries/models/planejamento_gestao_acordo_resultados/auditoria.sql new file mode 100644 index 0000000..aa77071 --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/auditoria.sql @@ -0,0 +1,28 @@ +SELECT + SAFE_CAST(cod_auditoria AS STRING) as id_auditoria, + SAFE_CAST(ano_base AS INT64) as ano, + SAFE_CAST(orgao_auditado AS STRING) as orgao, + SAFE_CAST(cod_meta AS STRING) as codigo_meta, + SAFE_CAST(orgao_acordo_egpweb AS STRING) as orgao_egpweb, + SAFE_CAST(relatorio_da_auditoria_geral_rag AS STRING) as rag, + SAFE_CAST(ordem_de_servico AS STRING) as ordem_servico, + SAFE_CAST(SAFE_CAST(data_do_inicio_da_auditoria AS STRING) AS DATE FORMAT 'DD/MM/YYYY') as data_inicio_auditoria, + SAFE_CAST(SAFE_CAST(data_do_final_da_auditoria AS STRING) AS DATE FORMAT 'DD/MM/YYYY') as data_final_auditoria, + SAFE_CAST(SAFE_CAST(data_do_relatorio AS STRING) AS DATE FORMAT 'DD/MM/YYYY') as data_relatorio, + SAFE_CAST(meta_auditada AS STRING) as descricao_meta, + SAFE_CAST(resumo_da_auditoria AS STRING) as resumo_auditoria, + SAFE_CAST(numero_de_testes AS INT64) as quantidade_testes, + SAFE_CAST(numero_de_fragilidades AS INT64) as quantidade_fragilidades, + CASE + WHEN penalidade = "TRUE" THEN TRUE + WHEN penalidade = "FALSE" THEN FALSE + WHEN penalidade = "VERDADEIRO" THEN TRUE + WHEN penalidade = "FALSO" THEN FALSE + ELSE NULL + END as indicador_penalidade, + SAFE_CAST(REPLACE(SAFE_CAST(penalidade_nota AS STRING), ',', '.') AS FLOAT64) as penalidade_nota, + SAFE_CAST(REPLACE(SAFE_CAST(penalidade_bonus AS STRING), ',', '.') AS FLOAT64) as penalidade_bonus, + SAFE_CAST(SAFE_CAST(inicio_do_periodo_apurado AS STRING) AS DATE FORMAT 'DD/MM/YYYY') as inicio_periodo_apurado, + SAFE_CAST(SAFE_CAST(final_do_periodo_apurado AS STRING) AS DATE FORMAT 'DD/MM/YYYY') as final_periodo_apurado, + SAFE_CAST(numero_de_recomendacoes AS INT64) as quantidade_recomendacoes +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.auditoria` \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/avaliacao_meta.sql b/queries/models/planejamento_gestao_acordo_resultados/avaliacao_meta.sql new file mode 100644 index 0000000..11f0fad --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/avaliacao_meta.sql @@ -0,0 +1,8 @@ +SELECT + SAFE_CAST(ano AS INT64) as ano, + SAFE_CAST(codchance AS INT64) as codigo_chance, + SAFE_CAST(corchance AS STRING) as cor_chance, + SAFE_CAST(descricao_ar AS STRING) as legenda_chance_ar, + SAFE_CAST(descricao_unificada_pe_ar AS STRING) as legenda_chance_unificada, + SAFE_CAST(caso AS INT64) as caso +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.avaliacao_meta` \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/chance.sql b/queries/models/planejamento_gestao_acordo_resultados/chance.sql new file mode 100644 index 0000000..a1e7cba --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/chance.sql @@ -0,0 +1,7 @@ +SELECT + SAFE_CAST(chaveCamada AS STRING) as id_camada, + SAFE_CAST(camadaMetaEnum AS STRING) as indice_camada, + SAFE_CAST(ano AS INT64) as ano, + SAFE_CAST(mes AS INT64) as mes, + SAFE_CAST(corChance AS STRING) as cor_chance +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.chance` \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/comentario.sql b/queries/models/planejamento_gestao_acordo_resultados/comentario.sql new file mode 100644 index 0000000..f835c72 --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/comentario.sql @@ -0,0 +1,9 @@ +SELECT + SAFE_CAST(chaveCamada AS STRING) as id_camada, + SAFE_CAST(camadaMetaEnum AS STRING) as indice_camada, + SAFE_CAST(ano AS INT64) as ano, + SAFE_CAST(mes AS INT64) as mes, + SAFE_CAST(comentario AS STRING) as comentario, + SAFE_CAST(usuarioRegistroID AS STRING) as numero_analista, + SAFE_CAST(ordem as STRING) as ordem +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.comentario` \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/estimativa_premiacao.sql b/queries/models/planejamento_gestao_acordo_resultados/estimativa_premiacao.sql new file mode 100644 index 0000000..299aea5 --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/estimativa_premiacao.sql @@ -0,0 +1,7 @@ +SELECT + SAFE_CAST(ano AS INT64) as ano, + SAFE_CAST(orgao AS STRING) as orgao, + SAFE_CAST(REPLACE(estimativa, ',', '.') AS FLOAT64) as estimativa_premiacao, + SAFE_CAST(anofolha AS INT64) as ano_referencia, + SAFE_CAST(dataestimativa AS DATE FORMAT 'DD/MM/YYYY') as data_estimativa +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.estimativa_premiacao` \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/formato_acordo.sql b/queries/models/planejamento_gestao_acordo_resultados/formato_acordo.sql new file mode 100644 index 0000000..62ef7a0 --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/formato_acordo.sql @@ -0,0 +1,16 @@ +SELECT + SAFE_CAST(ano AS INT64) as ano, + SAFE_CAST(formato_acordo AS STRING) as formato, + CASE + WHEN performance = "TRUE" THEN TRUE + WHEN performance = "FALSE" THEN FALSE + WHEN performance = "VERDADEIRO" THEN TRUE + WHEN performance = "FALSO" THEN FALSE + ELSE NULL + END as indicador_performance, + SAFE_CAST(SAFE_CAST(ano_pagamento AS FLOAT64) AS INT64) as ano_pagamento, + SAFE_CAST(justificativa_da_falta_de_pagamento AS STRING) as justificativa_pagamento, + SAFE_CAST(REPLACE(nota_minima_para_bonificacao, ",", ".") AS FLOAT64) as nota_minima_bonificacao, + SAFE_CAST(REPLACE(bonificacao_minima_sem_auditoria, ",", ".") AS FLOAT64) as bonificacao_minima, + SAFE_CAST(REPLACE(bonificacao_maxima_sem_auditoria, ",", ".") AS FLOAT64) as bonificacao_maxima +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.formato_acordo` \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/indicador.sql b/queries/models/planejamento_gestao_acordo_resultados/indicador.sql new file mode 100644 index 0000000..3f680a2 --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/indicador.sql @@ -0,0 +1,6 @@ +SELECT + SAFE_CAST(metaID AS STRING) as id_meta, + SAFE_CAST(ano AS INT64) as ano, + SAFE_CAST(mes AS INT64) as mes, + SAFE_CAST(valorRealizado AS FLOAT64) as valor +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.indicador` \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/meta.sql b/queries/models/planejamento_gestao_acordo_resultados/meta.sql new file mode 100644 index 0000000..642a9c5 --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/meta.sql @@ -0,0 +1,35 @@ +SELECT + SAFE_CAST(metaID AS STRING) id_meta, + SAFE_CAST(descricao AS STRING) descricao, + SAFE_CAST(observacao AS STRING) observacao, + SAFE_CAST(ordemOrgao AS INT64) ordem, + SAFE_CAST(valorReferencia AS FLOAT64) referencia, + SAFE_CAST(dataReferencia AS DATE) data_referencia, + SAFE_CAST(ano AS INT64) ano, + SAFE_CAST(fonte AS STRING) fonte, + SAFE_CAST(formula AS STRING) formula, + SAFE_CAST(TipoAcompanhamento AS STRING) tipo_acompanhamento, + SAFE_CAST(TipoGestao AS STRING) tipo_gestao, + SAFE_CAST(orgaoID AS STRING) id_orgao, + SAFE_CAST(orgao AS STRING) orgao, + SAFE_CAST(SiglaOrgao AS STRING) sigla_orgao, + SAFE_CAST(unidade_de_medida AS STRING) unidade_medida, + SAFE_CAST(metaMaeID AS STRING) numero_meta_mae, + SAFE_CAST(AreaResultado AS STRING) area_resultado, + SAFE_CAST(TipoMeta AS STRING) tipo, + SAFE_CAST(recurso AS STRING) indicador_recurso, + SAFE_CAST(auditoria AS STRING) indicador_auditoria, + SAFE_CAST(janeiro AS FLOAT64) janeiro, + SAFE_CAST(fevereiro AS FLOAT64) fevereiro, + SAFE_CAST(marco AS FLOAT64) marco, + SAFE_CAST(abril AS FLOAT64) abril, + SAFE_CAST(maio AS FLOAT64) maio, + SAFE_CAST(junho AS FLOAT64) junho, + SAFE_CAST(julho AS FLOAT64) julho, + SAFE_CAST(agosto AS FLOAT64) agosto, + SAFE_CAST(setembro AS FLOAT64) setembro, + SAFE_CAST(outubro AS FLOAT64) outubro, + SAFE_CAST(novembro AS FLOAT64) novembro, + SAFE_CAST(dezembro AS FLOAT64) dezembro +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.meta` + WHERE painel = 'EGPRio' \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/meta_desdobrada.sql b/queries/models/planejamento_gestao_acordo_resultados/meta_desdobrada.sql new file mode 100644 index 0000000..ce13956 --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/meta_desdobrada.sql @@ -0,0 +1,53 @@ +SELECT +SAFE_CAST(codigo_egpweb AS STRING) as codigo_meta_egpweb, +SAFE_CAST(SAFE_CAST(ano AS FLOAT64) AS INT64) as ano, +SAFE_CAST(orgao_ar AS STRING) as orgao_egpweb, +SAFE_CAST(orgao_resp AS STRING) as orgao_responsavel, +SAFE_CAST(cod_meta AS STRING) as codigo_meta, +SAFE_CAST(cod_meta_d AS STRING) as codigo_meta_desdobrada, +SAFE_CAST(e_c AS STRING) as tipo_meta, +SAFE_CAST(descricao_meta_ar AS STRING) as descricao_meta, +SAFE_CAST(descricao_meta_ar_desdobrada AS STRING) as descricao_meta_desdobrada, +SAFE_CAST(fonte AS STRING) as fonte, +SAFE_CAST(valor_de_referencia AS STRING) as valor_referencia, +SAFE_CAST(data_de_referencia AS STRING) as data_referencia, +SAFE_CAST(meta AS STRING) as meta, +SAFE_CAST(relacionada_a_meta_estrategica AS STRING) as relacao_estrategia, +SAFE_CAST(indicacao_para_auditoria_pela_cgm AS STRING) as indicacao_auditoria, +SAFE_CAST(gerencia AS STRING) as gerencia, +SAFE_CAST(chave_meta_ar AS STRING) as chave_meta, +SAFE_CAST(codigo_metaar AS STRING) as codigo_meta_ar, +SAFE_CAST(SAFE_CAST(ref_resultado AS FLOAT64) AS INT64) as referencia_resultado, +SAFE_CAST(resultado AS STRING) as resultado, +SAFE_CAST(SAFE_CAST(ref_chance_meta_desdobrada AS FLOAT64) AS INT64) as referencia_chance_meta_desdobrada, +SAFE_CAST(SAFE_CAST(chance_meta_desdobrada AS FLOAT64) AS INT64) as chance_meta_desdobrada, +SAFE_CAST(SAFE_CAST(ref_resultado2_performance AS FLOAT64) AS INT64) as referencia_resultado_orgao_2, +SAFE_CAST(resultado2_performance AS STRING) as resultado_orgao_2, +SAFE_CAST(SAFE_CAST(ref_chance2_performance AS FLOAT64) AS INT64) as referencia_chance_meta_desdobrada_orgao_2, +SAFE_CAST(SAFE_CAST(chance2_performance AS FLOAT64) AS INT64) as chance_meta_desdobrada_orgao_2, +SAFE_CAST(resultado_orgao1 AS STRING) as resultado_completo_orgao_1, +SAFE_CAST(resultado_orgao2_performance AS STRING) as resultado_completo_orgao_2, +SAFE_CAST(SAFE_CAST(caso_chance AS FLOAT64) AS INT64) as caso_chance_orgao_1, +SAFE_CAST(SAFE_CAST(caso_chance_orgao_2_performance AS FLOAT64) AS INT64) as caso_chance_orgao_2, +SAFE_CAST(SAFE_CAST(pior_caso_chance AS FLOAT64) AS INT64) as pior_caso_chance, +SAFE_CAST(SAFE_CAST(cor_chance_meta AS FLOAT64) AS INT64) as chance_meta_orgao_1, +SAFE_CAST(SAFE_CAST(cor_chance_meta_orgao_2 AS FLOAT64) AS INT64) as chance_meta_orgao_2, +CASE + WHEN resultado_performance_prefeito = "TRUE" THEN TRUE + WHEN resultado_performance_prefeito = "FALSE" THEN FALSE + WHEN resultado_performance_prefeito = "VERDADEIRO" THEN TRUE + WHEN resultado_performance_prefeito = "FALSO" THEN FALSE + WHEN resultado_performance_prefeito = "Sim" THEN TRUE + WHEN resultado_performance_prefeito = "Não" THEN FALSE + ELSE NULL +END as indicador_resultado_peformance_orgao_1, +CASE + WHEN resultado_performance2_prefeito = "TRUE" THEN TRUE + WHEN resultado_performance2_prefeito = "FALSE" THEN FALSE + WHEN resultado_performance2_prefeito = "VERDADEIRO" THEN TRUE + WHEN resultado_performance2_prefeito = "FALSO" THEN FALSE + WHEN resultado_performance2_prefeito = "Sim" THEN TRUE + WHEN resultado_performance2_prefeito = "Não" THEN FALSE + ELSE NULL +END as indicador_resultado_peformance_orgao_2 +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.meta_desdobrada` \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/nota_meta.sql b/queries/models/planejamento_gestao_acordo_resultados/nota_meta.sql new file mode 100644 index 0000000..60decb0 --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/nota_meta.sql @@ -0,0 +1,6 @@ +SELECT + SAFE_CAST(metaID AS STRING) as id_meta, + SAFE_CAST(ano AS INT64) as ano, + SAFE_CAST(mes AS INT64) as mes, + SAFE_CAST(valor AS INT64) as valor +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.nota_meta` \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/recurso.sql b/queries/models/planejamento_gestao_acordo_resultados/recurso.sql new file mode 100644 index 0000000..94f6304 --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/recurso.sql @@ -0,0 +1,16 @@ +SELECT + SAFE_CAST(cod_recurso AS STRING) as id_recurso, + SAFE_CAST(ano_do_acordo_a_que_se_refere_o_recurso AS INT64) as ano, + SAFE_CAST(orgao_solicitante AS STRING) as orgao, + SAFE_CAST(cod_meta AS STRING) as codigo_meta, + SAFE_CAST(orgao_acordo_egpweb AS STRING) as orgao_egpweb, + SAFE_CAST(oficio AS STRING) as oficio, + SAFE_CAST(codigo_processorio AS STRING) as codigo_processorio, + SAFE_CAST(data_solicitacao AS DATE FORMAT 'DD/MM/YYYY') as data_solicitacao, + SAFE_CAST(meta AS STRING) as descricao_meta, + SAFE_CAST(pedido AS STRING) as pedido_recurso, + SAFE_CAST(recomendacao_egp AS STRING) as recomendacao_egp, + SAFE_CAST(avaliacao_egp AS BOOL) as avaliacao_egp, + SAFE_CAST(SAFE_CAST(tipo_do_recurso AS FLOAT64) AS INT64) as tipo_recurso, + SAFE_CAST(decisao_do_prefeito AS BOOL) as indicador_decisao_recurso +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.recurso` \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/regra.sql b/queries/models/planejamento_gestao_acordo_resultados/regra.sql new file mode 100644 index 0000000..b82fabf --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/regra.sql @@ -0,0 +1,9 @@ +SELECT + SAFE_CAST(ano AS INT64) as ano, + SAFE_CAST(orgaoid AS STRING) as id_orgao, + SAFE_CAST(tipolinha AS STRING) as tipo_regra, + SAFE_CAST(tipometaemun AS STRING) as tipo_meta, + SAFE_CAST(SAFE_CAST(qtdmeta AS FLOAT64) AS INT64) as quantidade_meta, + SAFE_CAST(nota AS FLOAT64) as nota, + SAFE_CAST(bonus AS FLOAT64) as bonus +FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.regra` \ No newline at end of file diff --git a/queries/models/planejamento_gestao_acordo_resultados/schema.yml b/queries/models/planejamento_gestao_acordo_resultados/schema.yml new file mode 100644 index 0000000..212c413 --- /dev/null +++ b/queries/models/planejamento_gestao_acordo_resultados/schema.yml @@ -0,0 +1,188 @@ +version: 2 +models : + - name: comentario + description: "**Descrição**: Comentários feitos pelos analistas de gerenciamento + de projetos e metas sobre as apurações mensais do desempenho dos órgãos para + se alcançar a meta. Pode haver mais de um comentário sobre uma meta, feitos + pelo mesmo analista ou por vários.\n**Frequência de atualização**: Mensal\n + **Cobertura temporal**: Desde 2013 até a data corrente.\n**Órgão gestor dos + dados**: Secretaria Municipal de Fazenda e Planejamento (SMFP)\n**Publicado + por**: Bruno Almeida\n**Publicado por (email)**: brunodepauloalmeida@gmail.com\n" + columns: + - name: id_camada + description: Código identificador da meta, do órgão ou da área de resultado + dependendo do atributo indice_camada. + - name: indice_camada + description: Nos diz a quem está associado o comentário. 1 - Uma meta, 2 - + Todas as metas de um órgão. + - name: ano + description: Ano referente à meta comentada. + - name: mes + description: Mês referente à meta comentada. + - name: comentario + description: Comentário feito pelo analista. + - name: numero_analista + description: Código identificador do analista que fez o comentário. + - name: ordem + description: Ordem do comentário. Pode haver mais de um comentário para uma + mesma meta em um mesmo período (ano e mês). + - name: chance + description: "**Descrição**: Chance, avaliada pelo analista de gestão de projetos, + em determinado mês, de atingimento de meta de Acordo de Resultados.\n**Frequência + de atualização**: Mensal\n**Cobertura temporal**: Desde 2013 até a data corrente.\n + **Órgão gestor dos dados**: Secretaria Municipal de Fazenda e Planejamento (SMFP)\n + **Publicado por**: Bruno Almeida\n**Publicado por (email)**: brunodepauloalmeida@gmail.com\n" + columns: + - name: id_camada + description: Código identificador da meta, do órgão ou da área de resultado + dependendo do atributo indice_camada. + - name: indice_camada + description: Nos diz a quem está associada a chance. 1 - Uma meta, 2 - Todas + as metas de um órgão. + - name: ano + description: Ano do indicador para o qual foi avaliada a chance. + - name: mes + description: Mês do indicador para o qual foi avaliada a chance. + - name: cor_chance + description: "Diz qual a tendência de cumprimento da meta, de acordo com a + seguinte tradução:\r\nse ch.cor_chance = '1' então 'Indefinida\"', \r\n + se ch.cor_chance = '2' então 'Não cumprida',\r\nse ch.cor_chance = '3' então + 'Atraso grave',\r\nse ch.cor_chance = '4' então 'Atraso Recuperável',\r\n + se ch.cor_chance = '5' então 'Andamento Satisfatório',\r\nse ch.cor_chance + = '6' então 'Cumprida'." + - name: nota_meta + description: "**Descrição**: Nota dada pela prefeitura para o que foi alcançado + por um órgão para determinado identificador de meta. Uma meta pode ter vários + identificadores, um para cada indicador associado a ela.\n**Frequência de atualização**: + Mensal\n**Cobertura temporal**: Desde 2022 até a data corrente.\n**Órgão gestor + dos dados**: Secretaria Municipal de Fazenda e Planejamento (SMFP)\n**Publicado + por**: Bruno Almeida\n**Publicado por (email)**: brunodepauloalmeida@gmail.com\n" + columns: + - name: id_meta + description: Identificador da meta para a qual a nota foi dada. Existe um + identificador para cada meta, por órgão e por indicador. + - name: ano + description: Ano para o qual a nota foi dada. + - name: mes + description: Mês para o qual a nota foi dada. + - name: valor + description: Valor da nota. + - name: indicador + description: "**Descrição**: Indicadores, apurados mensalmente, que servem para + medir o quanto foi alcançado das metas dos acordos de resultados.\n**Frequência + de atualização**: Mensal\n**Cobertura temporal**: Desde 2022 até a data corrente.\n + **Órgão gestor dos dados**: Secretaria Municipal de Fazenda e Planejamento (SMFP)\n + **Publicado por**: Bruno Almeida\n**Publicado por (email)**: brunodepauloalmeida@gmail.com\n" + columns: + - name: id_meta + description: Código identificador da meta medida pelo indicador. + - name: ano + description: Ano de aferição do indicador. + - name: mes + description: Mês de aferição do indicador. + - name: valor + description: Valor alcançado pelo indicador no mês. Pode ser um dado número, + um percentual ou uma sinalização indicando que foi entregue ou não. + - name: meta + description: "**Descrição**: Metas, por indicador e por órgão, dos Acordos de + Resultados. Se uma meta tiver dois indicadores ela aparecerá duas vezes. Uma + mesma meta que inclua mais de um órgão também aparecerá mais de uma vez.\n**Frequência + de atualização**: Mensal\n**Cobertura temporal**: Desde 2013 até a data corrente.\n + **Órgão gestor dos dados**: Secretaria Municipal de Fazenda e Planejamento (SMFP)\n + **Publicado por**: Bruno Almeida\n**Publicado por (email)**: brunodepauloalmeida@gmail.com\n" + columns: + - name: id_meta + description: Código identificador da meta por indicador e por órgão. + - name: descricao + description: Descrição da meta. + - name: observacao + description: Observação sobre a meta. Registra detalhes como divergência entre + os indicadores do PE e AR, metas que são desdobradas por ter mais de 1 indicador, + detalhes que ajudam na medição do indicador e que estarão no Anexo 2, etc.. + - name: ordem + description: Ordem da meta no Acordo de Resultados no órgão. Metas Estratégicas + são as primeiras, depois vêm as Complementares e depois a Meta de Performance + - name: referencia + description: Valor usado como referência para comparação com o valor desejado + para o indicador usado para medir a meta. + - name: data_referencia + description: Data que diz respeito ao valor de referência. + - name: ano + description: Ano do acordo de resultados relacionado à meta. + - name: fonte + description: Órgão interno ou órgão externo que nos dá o valor indicador. + - name: formula + description: Fórmula de cálculo do indicador. + - name: tipo_acompanhamento + description: Indica se a meta é acumulada ou se é uma média dos valores. + - name: tipo_gestao + description: Indica se a meta é estratégica ou complementar. + - name: id_orgao + description: Código identificador do órgão associado a meta. + - name: orgao + description: Nome do órgão associado a meta. + - name: sigla_orgao + description: Sigla do órgão associado a meta. + - name: unidade_medida + description: Unidade de medida do indicador. + - name: numero_meta_mae + description: Identificador da meta mãe. Meta de ano anterior usada como referência, + para aproveitamento de informações, para a meta atual. + - name: area_resultado + description: Área de resultado do plano estratégico referente a meta. + - name: tipo + description: Indica se a meta é estratégica, complementar ou de performance. + Metas Estratégicas são as mais relevantes e é preciso atingir um número + mínimo de metas estratégicas para que sejam consideradas as metas complementares + e a meta performance. Metas complementares são metas de menor peso na nota + final do órgão e a meta performance registra o desempenho do órgão avaliado + por diferentes órgãos. + - name: indicador_recurso + description: Identifica se o órgão apresentou recurso para a meta. Um órgão + pode fazer o recurso para retirar a meta do seu acordo de resultado ou ter + seu resultado aceito. + - name: indicador_auditoria + description: Identifica se a meta foi selecionada para auditoria pela CGM. + - name: janeiro + description: Desdobramento da meta no mês de janeiro. Objetiva registrar o + valor planejado, do indicador, no mês para fins de acompanhamento mensal + da mesma. + - name: fevereiro + description: Desdobramento da meta no mês de fevereiro. Objetiva registrar + o valor planejado, do indicador, no mês para fins de acompanhamento mensal + da mesma. + - name: marco + description: Desdobramento da meta no mês de março. Objetiva registrar o valor + planejado, do indicador, no mês para fins de acompanhamento mensal da mesma. + - name: abril + description: Desdobramento da meta no mês de abril. Objetiva registrar o valor + planejado, do indicador, no mês para fins de acompanhamento mensal da mesma. + - name: maio + description: Desdobramento da meta no mês de maio. Objetiva registrar o valor + planejado, do indicador, no mês para fins de acompanhamento mensal da mesma. + - name: junho + description: Desdobramento da meta no mês de junho. Objetiva registrar o valor + planejado, do indicador, no mês para fins de acompanhamento mensal da mesma. + - name: julho + description: Desdobramento da meta no mês de julho. Objetiva registrar o valor + planejado, do indicador, no mês para fins de acompanhamento mensal da mesma. + - name: agosto + description: Desdobramento da meta no mês de agosto. Objetiva registrar o + valor planejado, do indicador, no mês para fins de acompanhamento mensal + da mesma. + - name: setembro + description: Desdobramento da meta no mês de setembro. Objetiva registrar + o valor planejado, do indicador, no mês para fins de acompanhamento mensal + da mesma. + - name: outubro + description: Desdobramento da meta no mês de outubro. Objetiva registrar o + valor planejado, do indicador, no mês para fins de acompanhamento mensal + da mesma. + - name: novembro + description: Desdobramento da meta no mês de novembro. Objetiva registrar + o valor planejado, do indicador, no mês para fins de acompanhamento mensal + da mesma. + - name: dezembro + description: Desdobramento da meta no mês de dezembro. Objetiva registrar + o valor planejado, do indicador, no mês para fins de acompanhamento mensal + da mesma. diff --git a/queries/models/planejamento_gestao_dashboard_metas/ar_detalhes.sql b/queries/models/planejamento_gestao_dashboard_metas/ar_detalhes.sql new file mode 100644 index 0000000..cd72b95 --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/ar_detalhes.sql @@ -0,0 +1,215 @@ +with chance_com_comentario as ( + SELECT + COALESCE(ch.id_camada, com.id_camada) as id_meta, + COALESCE(ch.ano, com.ano) as ano, + COALESCE(ch.mes, com.mes) as mes, + SAFE_CAST(CONCAT(COALESCE(ch.ano, com.ano), "-", LPAD(CAST(COALESCE(ch.mes, com.mes) AS STRING), 2, "0")) AS DATE FORMAT "YYYY-MM") data_valor, + ch.cor_chance as chance_cor, + CASE + WHEN ch.cor_chance = "1" then "Indefinida" + WHEN ch.cor_chance = "2" then "Não cumprida" + WHEN ch.cor_chance = "3" then "Atraso grave" + WHEN ch.cor_chance = "4" then "Atraso Recuperável" + WHEN ch.cor_chance = "5" then "Andamento Satisfatório" + WHEN ch.cor_chance = "6" then "Cumprida" + else "Sem informações/Não se aplica" END + as tendencia_ar, + CASE + WHEN ch.cor_chance = "1" then 3 + WHEN ch.cor_chance = "2" then 1 + WHEN ch.cor_chance = "3" then 4 + WHEN ch.cor_chance = "4" then 5 + WHEN ch.cor_chance = "5" then 6 + WHEN ch.cor_chance = "6" then 8 + else 7 END + as tendencia_numero_ar, + com.id_camada as ordem_comentario, + com.comentario as comentario, + CONCAT(COALESCE(ch.ano, com.ano), "-", LPAD(CAST(COALESCE(ch.mes, com.mes) AS STRING), 2, "0"), ": ", com.comentario) as comentario_datado + FROM (SELECT * FROM `rj-smfp.planejamento_gestao_acordo_resultados.comentario`) as com + FULL JOIN (SELECT * FROM `rj-smfp.planejamento_gestao_acordo_resultados.chance` WHERE indice_camada = "1") as ch + ON com.id_camada = ch.id_camada AND com.ano = ch.ano AND com.mes = ch.mes +) + +, indicador_com_nota as ( + SELECT + COALESCE(i.id_meta, nm.id_meta) as id_meta, + COALESCE(i.ano, nm.ano) as ano, + COALESCE(i.mes, nm.mes) as mes, + SAFE_CAST(CONCAT(COALESCE(i.ano, nm.ano), "-", LPAD(CAST(COALESCE(i.mes, nm.mes) AS STRING), 2, "0")) AS DATE FORMAT "YYYY-MM") data_valor, + i.valor, + nm.valor as nota, + FROM `rj-smfp.planejamento_gestao_acordo_resultados.indicador` as i + FULL JOIN `rj-smfp.planejamento_gestao_acordo_resultados.nota_meta` as nm + ON i.id_meta = nm.id_meta AND i.ano = nm.ano AND i.mes = nm.mes +) + +, ar_valores as ( + SELECT + COALESCE(icn.id_meta, cc.id_meta) as id_meta, + "Acordo de Resultados" as origem, + COALESCE(icn.ano, cc.ano) as ano, + COALESCE(icn.mes, cc.mes) as mes, + COALESCE(icn.data_valor, cc.data_valor) as data_valor, + icn.valor, + icn.valor as nota, + cc.chance_cor, + cc.tendencia_ar, + cc.tendencia_numero_ar, + cc.ordem_comentario, + cc.comentario, + cc.comentario_datado + FROM indicador_com_nota as icn + FULL JOIN chance_com_comentario as cc + ON icn.id_meta = cc.id_meta AND icn.ano = cc.ano AND icn.mes = cc.mes + ORDER BY id_meta, ano, mes +) + +, ultimo_valor AS ( + SELECT DISTINCT + ar.origem, + ar.id_meta, + ar.data_valor as ar_data_referencia_ultimo_resultado, + ar.valor as ar_ultimo_resultado + FROM ar_valores as ar + INNER JOIN (SELECT id_meta, MAX(data_valor) data_valor FROM ar_valores WHERE data_valor <= CURRENT_DATE() AND valor IS NOT NULL GROUP BY id_meta) as max_date + ON ar.id_meta = max_date.id_meta AND ar.data_valor = max_date.data_valor +) + +, ultima_tendencia AS ( + SELECT DISTINCT + ar.origem, + ar.id_meta, + ar.data_valor as ar_data_referencia_ultima_tendencia, + ar.tendencia_numero_ar, + ar.tendencia_ar, + FROM ar_valores as ar + INNER JOIN (SELECT id_meta, MAX(data_valor) data_valor FROM ar_valores + WHERE data_valor <= CURRENT_DATE() AND tendencia_ar != "Sem informações/Não se aplica" AND tendencia_ar IS NOT NULL + GROUP BY id_meta) as max_date + ON ar.id_meta = max_date.id_meta AND ar.data_valor = max_date.data_valor +) + +, ar_tendencia_1 AS ( + SELECT DISTINCT + COALESCE(uv.origem, ut.origem) as origem, + COALESCE(uv.id_meta, ut.id_meta) as id_meta, + ut.tendencia_numero_ar, + ut.tendencia_ar, + -- GREATEST(uv.ar_data_referencia_ultimo_resultado, ut.ar_data_referencia_ultima_tendencia) as ar_data_referencia_ultimo_resultado, + ut.ar_data_referencia_ultima_tendencia, + uv.ar_data_referencia_ultimo_resultado, + uv.ar_ultimo_resultado as ar_ultimo_resultado + FROM ultimo_valor as uv + FULL JOIN ultima_tendencia as ut + ON uv.origem = ut.origem AND uv.id_meta = ut.id_meta +) + +, ar_detalhes as ( + SELECT + meta.id_meta, + CASE + WHEN arp.codigo_metaar IS NULL THEN meta.id_meta + ELSE arp.codigo_metaar + END id_meta_mae, + "Acordo de Resultados" origem, + CASE + WHEN arp.orgao_resp IS NULL AND CONTAINS_SUBSTR(meta.sigla_orgao, "/") THEN meta.sigla_orgao + ELSE arp.orgao_resp + END orgao_sigla, + `rj-smfp.planejamento_gestao_dashboard_metas_staging`.tradutor_unidade_medida(meta.unidade_medida) ar_unidade_medida, + meta.orgao, + arp.chave_meta_ar, + arp.descricao_meta_ar_desdobrada as descricao_planilha, + meta.descricao, + meta.observacao, + meta.ordem, + meta.referencia, + meta.data_referencia, + meta.ano, + meta.fonte, + meta.formula, + meta.tipo_acompanhamento, + meta.tipo_gestao, + meta.unidade_medida, + meta.numero_meta_mae, + meta.area_resultado, + meta.tipo, + meta.indicador_recurso, + meta.indicador_auditoria, + meta.janeiro, + meta.fevereiro, + meta.marco, + meta.abril, + meta.maio, + meta.junho, + meta.julho, + meta.agosto, + meta.setembro, + meta.outubro, + meta.novembro, + meta.dezembro + FROM `rj-smfp.planejamento_gestao_acordo_resultados.meta` as meta + LEFT JOIN (SELECT * FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.meta_desdobrada` WHERE ano = '2023') as arp + ON meta.id_meta = CAST(CAST(arp.codigo_egpweb AS FLOAT64) AS STRING) + WHERE meta.ano = 2023 +) + +, info_tendencia as ( +SELECT + art1.origem, + ard.orgao_sigla, + ard.id_meta, + ard.id_meta_mae, + ar_data_referencia_ultima_tendencia, + ar_data_referencia_ultimo_resultado, + ar_ultimo_resultado, + art1.tendencia_numero_ar, + art1.tendencia_ar +FROM ar_tendencia_1 art1 +INNER JOIN ar_detalhes as ard + ON art1.id_meta = ard.id_meta) + +, tendencia_por_meta_mae as ( + SELECT + it.id_meta_mae, + it.tendencia_ar + FROM info_tendencia as it + INNER JOIN (SELECT id_meta_mae, MIN(tendencia_numero_ar) pior_numero_ar FROM info_tendencia GROUP BY id_meta_mae) as min_status + ON it.id_meta_mae = min_status.id_meta_mae AND it.tendencia_numero_ar = min_status.pior_numero_ar +) + +, comentarios_sumarizados as ( + SELECT + id_meta, + STRING_AGG(comentario_datado, "\n" ORDER BY data_valor DESC, ordem_comentario ASC LIMIT 5) resumo_comentarios + FROM ar_valores + GROUP BY id_meta +) + +, ar_detalhes_1 as ( + +SELECT distinct + CASE + WHEN ard.tipo != "Performance" THEN it.ar_data_referencia_ultimo_resultado + ELSE it.ar_data_referencia_ultima_tendencia + END ar_data_referencia_ultimo_resultado, + it.ar_ultimo_resultado, + CASE + WHEN it.tendencia_ar IS NULL THEN "Sem informações/Não se aplica" + ELSE it.tendencia_ar + END tendencia_ar, + cs.resumo_comentarios, + tmm.tendencia_ar as pior_tendencia_meta_mae, + ard.* +FROM ar_detalhes as ard +LEFT JOIN info_tendencia as it + ON ard.id_meta = it.id_meta AND it.id_meta_mae = ard.id_meta_mae +LEFT JOIN comentarios_sumarizados as cs + ON it.id_meta = cs.id_meta +LEFT JOIN tendencia_por_meta_mae as tmm + ON ard.id_meta_mae = tmm.id_meta_mae +) + +SELECT * FROM ar_detalhes_1 +--WHERE id_meta != id_meta_mae --retirando metas que deveriam ter sido excluidas diff --git a/queries/models/planejamento_gestao_dashboard_metas/ar_valores.sql b/queries/models/planejamento_gestao_dashboard_metas/ar_valores.sql new file mode 100644 index 0000000..583e76f --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/ar_valores.sql @@ -0,0 +1,49 @@ +with ar_valores as ( + SELECT + i.id_meta, + "Acordo de Resultados" as origem, + CASE + WHEN detalhes.unidade_medida IS NOT NULL THEN `rj-smfp.planejamento_gestao_dashboard_metas_staging`.tradutor_unidade_medida(detalhes.unidade_medida) + ELSE detalhes.unidade_medida + END ar_unidade_medida, + detalhes.tipo ar_tipo_meta, + i.ano, + i.mes, + SAFE_CAST(CONCAT(i.ano, "-", LPAD(CAST(i.mes AS STRING), 2, "0")) AS DATE FORMAT "YYYY-MM") data_valor, + i.valor, + nm.valor as nota, + ch.cor_chance as chance_cor, + CASE + WHEN ch.cor_chance = "1" then "Indefinida" + WHEN ch.cor_chance = "2" then "Não cumprida" + WHEN ch.cor_chance = "3" then "Atraso grave" + WHEN ch.cor_chance = "4" then "Atraso Recuperável" + WHEN ch.cor_chance = "5" then "Andamento Satisfatório" + WHEN ch.cor_chance = "6" then "Cumprida" + else "Sem informações/Não se aplica" END + as tendencia_ar, + CASE + WHEN ch.cor_chance = "1" then 3 + WHEN ch.cor_chance = "2" then 1 + WHEN ch.cor_chance = "3" then 4 + WHEN ch.cor_chance = "4" then 5 + WHEN ch.cor_chance = "5" then 6 + WHEN ch.cor_chance = "6" then 8 + else 7 END + as tendencia_numero_ar, + com.id_camada as ordem_comentario, + com.comentario as comentario, + CONCAT(i.ano, "-", LPAD(CAST(i.mes AS STRING), 2, "0"), ": ", com.comentario) as comentario_datado + FROM `rj-smfp.planejamento_gestao_acordo_resultados.indicador` as i + FULL JOIN `rj-smfp.planejamento_gestao_acordo_resultados.nota_meta` as nm + ON i.id_meta = nm.id_meta AND i.ano = nm.ano AND i.mes = nm.mes + FULL JOIN (SELECT * FROM `rj-smfp.planejamento_gestao_acordo_resultados.comentario`) as com + ON i.id_meta = com.id_camada AND i.ano = com.ano AND i.mes = com.mes + FULL JOIN (SELECT * FROM `rj-smfp.planejamento_gestao_acordo_resultados.chance` WHERE indice_camada = "1") as ch + ON i.id_meta = ch.id_camada AND i.ano = ch.ano AND i.mes = ch.mes + INNER JOIN {{ ref('ar_detalhes') }} as detalhes + ON i.id_meta = detalhes.id_meta + ORDER BY i.id_meta, ano, mes +) + +SELECT * FROM ar_valores \ No newline at end of file diff --git a/queries/models/planejamento_gestao_dashboard_metas/orgaos.sql b/queries/models/planejamento_gestao_dashboard_metas/orgaos.sql new file mode 100644 index 0000000..6806095 --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/orgaos.sql @@ -0,0 +1,29 @@ +WITH orgao_ar AS ( + SELECT DISTINCT + id_orgao, + orgao_sigla + FROM `rj-smfp.planejamento_gestao_acordo_resultados.meta` + CROSS JOIN UNNEST(SPLIT(sigla_orgao, '/')) AS orgao_sigla +), + +orgao_pe AS ( + SELECT + * + FROM `rj-smfp.planejamento_gestao_dashboard_metas_staging.orgaos` +) + +, orgao_todos AS ( +SELECT + CASE WHEN orgao_sigla IS NULL THEN sigla ELSE orgao_sigla END orgao_sigla, + orgao, + CAST(CAST(ordem_secretariado_e_relatorios AS FLOAT64) AS INT64) ordem_secretariado_e_relatorios, + CAST(CAST(ordem_ar2021 AS FLOAT64) AS INT64) ordem_ar2021, + CAST(CAST(ordem_ar2022 AS FLOAT64) AS INT64) ordem_ar2022, + CAST(CAST(coluna_antiga_ordem AS FLOAT64) AS INT64) coluna_antiga_ordem, +FROM orgao_pe +FULL OUTER JOIN orgao_ar + ON orgao_sigla = sigla +ORDER BY orgao_sigla +) + +SELECT DISTINCT * FROM orgao_todos --orgaos \ No newline at end of file diff --git a/queries/models/planejamento_gestao_dashboard_metas/pe_detalhes.sql b/queries/models/planejamento_gestao_dashboard_metas/pe_detalhes.sql new file mode 100644 index 0000000..70014be --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/pe_detalhes.sql @@ -0,0 +1,408 @@ +WITH pe_geral AS ( + SELECT + CONCAT(_meta, "-", orgao_responsavel) AS id_meta_secretaria, + SAFE_CAST(_metas AS STRING) id_numerico_meta_pe, + SAFE_CAST(_meta AS STRING) id_meta_pe, + "Plano Estratégico" as origem, + -- CASE lembrar de apagar + -- WHEN LOWER(tendencia_cumprimento_meta_2023) = "cumprida" or LOWER(tendencia_cumprimento_meta_2023) = "tendência de cumprir" then "Cumprir" + -- WHEN LOWER(tendencia_cumprimento_meta_2023) = "cumprida parcialmente" or LOWER(tendencia_cumprimento_meta_2023) = "tendência de cumprir parcialmente" then "Cumprir parcialmente" + -- WHEN LOWER(tendencia_cumprimento_meta_2023) = "não cumprida" or LOWER(tendencia_cumprimento_meta_2023) = "tendência de não cumprir" then "Não cumprir" + -- ELSE tendencia_cumprimento_meta_2023 END + -- AS tendencia_subdivisao, + SAFE_CAST(codigo_tema AS STRING) codigo_tema, + SAFE_CAST(tema_transversal AS STRING) tema_transversal, + SAFE_CAST(inciativa_estrategica__nome_de_trabalho AS STRING) iniciativa_estrategica_nome_de_trabalho, + SAFE_CAST(codigo_meta_desdobrada AS STRING) codigo_meta_desdobrada, + SAFE_CAST(palavras_chave_meta AS STRING) palavras_chave_meta, + SAFE_CAST(chave_da_meta_pe AS STRING) codigo_meta, + SAFE_CAST(meta AS STRING) meta, + SAFE_CAST(orgao_responsavel AS STRING) orgao_responsavel, + SAFE_CAST(descricao_do_indicador AS STRING) descricao_do_indicador, + SAFE_CAST(unidade_de_medida AS STRING) unidade_de_medida, + SAFE_CAST(fonte_dos_dados AS STRING) fonte_dos_dados, + SAFE_CAST(frequencia_de_medicao AS STRING) frequencia_de_medicao, + SAFE_CAST(formula_de_calculo AS STRING) formula_de_calculo, + SAFE_CAST(valor_referencia AS STRING) valor_referencia, + SAFE_CAST(data_referencia AS STRING) data_referencia, + SAFE_CAST(regionalizavel AS STRING) regionalizavel, + REPLACE(REPLACE(SAFE_CAST(_2021 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2021, + REPLACE(REPLACE(SAFE_CAST(_2022 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2022, + REPLACE(REPLACE(SAFE_CAST(_2023 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2023, + REPLACE(REPLACE(SAFE_CAST(_2024 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2024, + REPLACE(REPLACE(SAFE_CAST(_2025 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2025, + SAFE_CAST(meta_validada_pelo_prefeito AS STRING) meta_validada_pelo_prefeito, + SAFE_CAST(meta_global_alinhada_com_mais_de_um_tema_transversal AS STRING) meta_global_alinhada_com_mais_de_um_tema_transversal, + SAFE_CAST(se_a_resposta_for_sim_na_coluna_anterior____qualis_temas AS STRING) se_a_resposta_for_sim_na_coluna_anterior_qualis_temas, + SAFE_CAST(meta_alinhada_com_contribuicoes_da_participacao_social AS STRING) meta_alinhada_com_contribuicoes_da_participacao_social, + SAFE_CAST(meta_alinhada_com_meta_do_pds AS STRING) meta_alinhada_com_meta_do_pds, + SAFE_CAST(palavra_chave_estrategia_pds AS STRING) palavra_chave_estrategia_pds, + SAFE_CAST(codigo_meta_pds AS STRING) codigo_meta_pds, + SAFE_CAST(se_a_resposta_for_sim_na_coluna_anterior____qual_meta_do_pds AS STRING) se_a_resposta_for_sim_na_coluna_anterior_qual_meta_do_pds, + SAFE_CAST(se_a_resposta_for_alinhada_na_coluna_anterior_mas_com_ponto_de_atencao AS STRING) se_a_resposta_for_alinhada_na_coluna_anterior_mas_com_ponto_de_atencao, + SAFE_CAST(se_a_resposta_for_desalinhada_na_coluna_anterior____qual_meta_do_pds AS STRING) se_a_resposta_for_desalinhada_na_coluna_anterior_qual_meta_do_pds, + SAFE_CAST(selo_participacao___esta_entre_as_mais_pedidas_de_participacao_social AS STRING) selo_participacao_esta_entre_as_mais_pedidas_de_participacao_social, + SAFE_CAST(preenchimento_atualizado_em AS STRING) preenchimento_atualizado_em, + SAFE_CAST(observacoes AS STRING) observacoes, + SAFE_CAST(ultimo_resultado AS STRING) ultimo_resultado, + SAFE_CAST(`rj-smfp.planejamento_gestao_dashboard_metas_staging`.tradutor_data(LOWER(data_referencia_resultado)) AS DATE FORMAT 'MON-YY') data_referencia_resultado, + SAFE_CAST(comentarios_da_meta AS STRING) comentarios_da_meta, + SAFE_CAST(resumo_executivo AS STRING) resumo_executivo, + SAFE_CAST(tendencia_cumprimento_meta_2021 AS STRING) tendencia_cumprimento_meta_2021, + SAFE_CAST(tendencia_cumprimento_meta_2022 AS STRING) tendencia_cumprimento_meta_2022, + SAFE_CAST(tendencia_cumprimento_meta_2023 AS STRING) tendencia_cumprimento_meta_2023, + SAFE_CAST(tendencia_cumprimento_meta_2024 AS STRING) tendencia_cumprimento_meta_2024, + SAFE_CAST(jan_21 AS STRING) jan_21, + SAFE_CAST(fev_21 AS STRING) fev_21, + SAFE_CAST(mar_21 AS STRING) mar_21, + SAFE_CAST(abr_21 AS STRING) abr_21, + SAFE_CAST(mai_21 AS STRING) mai_21, + SAFE_CAST(jun_21 AS STRING) jun_21, + SAFE_CAST(jul_21 AS STRING) jul_21, + SAFE_CAST(ago_21 AS STRING) ago_21, + SAFE_CAST(set_21 AS STRING) set_21, + SAFE_CAST(out_21 AS STRING) out_21, + SAFE_CAST(nov_21 AS STRING) nov_21, + SAFE_CAST(dez_21 AS STRING) dez_21, + SAFE_CAST(final_2021 AS STRING) final_2021, + SAFE_CAST(jan_22 AS STRING) jan_22, + SAFE_CAST(fev_22 AS STRING) fev_22, + SAFE_CAST(mar_22 AS STRING) mar_22, + SAFE_CAST(abr_22 AS STRING) abr_22, + SAFE_CAST(mai_22 AS STRING) mai_22, + SAFE_CAST(jun_22 AS STRING) jun_22, + SAFE_CAST(jul_22 AS STRING) jul_22, + SAFE_CAST(ago_22 AS STRING) ago_22, + SAFE_CAST(set_22 AS STRING) set_22, + SAFE_CAST(out_22 AS STRING) out_22, + SAFE_CAST(nov_22 AS STRING) nov_22, + SAFE_CAST(dez_22 AS STRING) dez_22, + SAFE_CAST(final_2022 AS STRING) final_2022, + SAFE_CAST(final_acumulado_2022 AS STRING) final_acumulado_2022, + SAFE_CAST(jan_23 AS STRING) jan_23, + SAFE_CAST(fev_23 AS STRING) fev_23, + SAFE_CAST(mar_23 AS STRING) mar_23, + SAFE_CAST(abr_23 AS STRING) abr_23, + SAFE_CAST(mai_23 AS STRING) mai_23, + SAFE_CAST(jun_23 AS STRING) jun_23, + SAFE_CAST(jul_23 AS STRING) jul_23, + SAFE_CAST(ago_23 AS STRING) ago_23, + SAFE_CAST(set_23 AS STRING) set_23, + SAFE_CAST(out_23 AS STRING) out_23, + SAFE_CAST(nov_23 AS STRING) nov_23, + SAFE_CAST(dez_23 AS STRING) dez_23, + SAFE_CAST(final_2023 AS STRING) final_2023, + SAFE_CAST(final_acumulado_2023 AS STRING) final_acumulado_2023, + SAFE_CAST(jan_24 AS STRING) jan_24, + SAFE_CAST(fev_24 AS STRING) fev_24, + SAFE_CAST(mar_24 AS STRING) mar_24, + SAFE_CAST(abr_24 AS STRING) abr_24, + SAFE_CAST(mai_24 AS STRING) mai_24, + SAFE_CAST(jun_24 AS STRING) jun_24, + SAFE_CAST(jul_24 AS STRING) jul_24, + SAFE_CAST(ago_24 AS STRING) ago_24, + SAFE_CAST(set_24 AS STRING) set_24, + SAFE_CAST(out_24 AS STRING) out_24, + SAFE_CAST(nov_24 AS STRING) nov_24, + SAFE_CAST(dez_24 AS STRING) dez_24, + SAFE_CAST(final_2024 AS STRING) final_2024, + SAFE_CAST(final_acumulado_2024 AS STRING) final_acumulado_2024, + SAFE_CAST(chaves_projetos_associados AS STRING) chaves_projetos_associados, + SAFE_CAST(nome_dos_projetos AS STRING) nome_dos_projetos, + SAFE_CAST(gerencia_egp_rio AS STRING) gerencia_egp_rio, + SAFE_CAST(quantidade_de_indicadores_na_meta AS INT64) quantidade_de_indicadores_na_meta, + SAFE_CAST(meta_de_resultado AS STRING) meta_de_resultado, + SAFE_CAST(medicao_em_2021 AS STRING) medicao_em_2021, + SAFE_CAST(quantidade_de_projetos_associados AS INT64) quantidade_de_projetos_associados, + SAFE_CAST(tipo_compromisso AS STRING) tipo_compromisso, + SAFE_CAST(texto_compromisso AS STRING) texto_compromisso, + SAFE_CAST(o_globo AS STRING) o_globo, + SAFE_CAST(g1 AS STRING) g1, + SAFE_CAST(folha AS STRING) folha, + SAFE_CAST(texto_o_globo AS STRING) texto_o_globo, + SAFE_CAST(descricao_meta_desdobrada AS STRING) descricao_meta_desdobrada, + SAFE_CAST(indicador_dashboard_prefeito AS STRING) indicador_dashboard_prefeito, + SAFE_CAST(tipo_meta AS STRING) tipo_meta, + SAFE_CAST(SAFE_CAST(casas_decimais AS FLOAT64) AS INT64) casas_decimais, + SAFE_CAST(meta1 AS STRING) valor_meta_final, + SAFE_CAST(ano_meta_desdobrada AS INT64) ano_meta_desdobrada, + SAFE_CAST(usa_valor_de_referencia_para_calculo_do_resultado_celula_dn AS STRING) usa_valor_de_referencia_para_calculo_do_resultado_celula_dn, + SAFE_CAST(resultado_alcancado_para_2024 AS STRING) resultado_alcancado_para_2024, + SAFE_CAST(ordem_da_meta_no_dashboard_do_prefeito AS STRING) ordem_da_meta_no_dashboard_do_prefeito, + SAFE_CAST(problemas_encontrados___orientacoes AS STRING) problemas_encontrados_orientacoes, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_1 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_1, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_2 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_2, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_3 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_3, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_4 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_4, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_5 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_5, + FROM `rj-smfp.planejamento_gestao_dashboard_metas_staging.metas_planejamento_estrategico` + CROSS JOIN UNNEST(SPLIT(orgao_responsavel, '\n')) AS orgao_responsavel +) + +, pe_detalhes as ( +SELECT + id_meta_secretaria, + id_numerico_meta_pe, + id_meta_pe, + origem, + --tendencia_subdivisao, + CASE + WHEN LOWER(tendencia_cumprimento_meta_2023) = "tendência de cumprir" or LOWER(tendencia_cumprimento_meta_2023) = "cumprida" then "#005A38" + WHEN LOWER(tendencia_cumprimento_meta_2023) = "tendência de cumprir parcialmente" or LOWER(tendencia_cumprimento_meta_2023) = "cumprida parcialmente" then "#ABAD67" + WHEN LOWER(tendencia_cumprimento_meta_2023) = "tendência de não cumprir" or LOWER(tendencia_cumprimento_meta_2023) = "não cumprida" then "#DE9B89" + WHEN LOWER(tendencia_cumprimento_meta_2023) = "descontinuada" then "#8B0000" + ELSE "#4F4F4F" END + AS cor_fonte, + CASE + WHEN LOWER(tendencia_cumprimento_meta_2023) = "cumprida" then "Cumprida" + WHEN LOWER(tendencia_cumprimento_meta_2023) = "cumprida parcialmente" then "Cumprida parcialmente" + WHEN LOWER(tendencia_cumprimento_meta_2023) = "não cumprida" then "Não cumprida" + WHEN LOWER(tendencia_cumprimento_meta_2023) = "tendência de cumprir" then "Andamento Satisfatório" + WHEN LOWER(tendencia_cumprimento_meta_2023) = "tendência de cumprir parcialmente" then "Atraso Recuperável" + WHEN LOWER(tendencia_cumprimento_meta_2023) = "tendência de não cumprir" then "Atraso grave" + WHEN LOWER(tendencia_cumprimento_meta_2023) = "indefinida" then "Indefinida" + WHEN LOWER(tendencia_cumprimento_meta_2023) = "não se aplica" then "Sem informações/Não se aplica" + WHEN LOWER(tendencia_cumprimento_meta_2023) = "descontinuada" then "Descontinuada" + ELSE "VALOR NÃO ENCONTRADO" END + AS pe_tendencia_normalizada, + codigo_tema, + tema_transversal, + iniciativa_estrategica_nome_de_trabalho, + codigo_meta_desdobrada, + palavras_chave_meta, + codigo_meta, + meta, + orgao_responsavel, + descricao_do_indicador, + unidade_de_medida, + fonte_dos_dados, + frequencia_de_medicao, + formula_de_calculo, + valor_referencia, + data_referencia, + regionalizavel, + CASE + WHEN CONTAINS_SUBSTR(_2021, "Sem valor alvo") AND _2021 != "Sem valor alvo" THEN REPLACE(_2021, "Sem valor alvo", "") + ELSE _2021 + END _2021, + CASE + WHEN CONTAINS_SUBSTR(_2021, "Sem valor alvo") AND _2022 != "Sem valor alvo" THEN REPLACE(_2022, "Sem valor alvo", "") + ELSE _2022 + END _2022, + CASE + WHEN CONTAINS_SUBSTR(_2023, "Sem valor alvo") AND _2023 != "Sem valor alvo" THEN REPLACE(_2023, "Sem valor alvo", "") + ELSE _2023 + END _2023, + CASE + WHEN CONTAINS_SUBSTR(_2021, "Sem valor alvo") AND _2024 != "Sem valor alvo" THEN REPLACE(_2024, "Sem valor alvo", "") + ELSE _2024 + END _2024, + CASE + WHEN CONTAINS_SUBSTR(_2025, "Sem valor alvo") AND _2025 != "Sem valor alvo" THEN REPLACE(_2025, "Sem valor alvo", "") + ELSE _2025 + END _2025, + meta_validada_pelo_prefeito, + meta_global_alinhada_com_mais_de_um_tema_transversal, + se_a_resposta_for_sim_na_coluna_anterior_qualis_temas, + meta_alinhada_com_contribuicoes_da_participacao_social, + meta_alinhada_com_meta_do_pds, + palavra_chave_estrategia_pds, + codigo_meta_pds, + se_a_resposta_for_sim_na_coluna_anterior_qual_meta_do_pds, + se_a_resposta_for_alinhada_na_coluna_anterior_mas_com_ponto_de_atencao, + se_a_resposta_for_desalinhada_na_coluna_anterior_qual_meta_do_pds, + selo_participacao_esta_entre_as_mais_pedidas_de_participacao_social, + preenchimento_atualizado_em, + observacoes, + CASE WHEN + REPLACE(REPLACE(REPLACE(ultimo_resultado, "\n-", ""), "-", ""), "\n", "") = "" OR REPLACE(REPLACE(REPLACE(ultimo_resultado, "\n-", ""), "-", ""), "\n", "") = "nan" THEN NULL + ELSE REPLACE(REPLACE(REPLACE(ultimo_resultado, "\n-", ""), "-", ""), "\n", "") END + as ultimo_resultado, + data_referencia_resultado, + comentarios_da_meta, + resumo_executivo, + tendencia_cumprimento_meta_2021, + tendencia_cumprimento_meta_2022, + tendencia_cumprimento_meta_2023, + tendencia_cumprimento_meta_2024, + final_2021, + final_2022, + final_acumulado_2022, + final_2023, + final_acumulado_2023, + final_2024, + final_acumulado_2024, + chaves_projetos_associados, + nome_dos_projetos, + gerencia_egp_rio, + quantidade_de_indicadores_na_meta, + meta_de_resultado, + medicao_em_2021, + quantidade_de_projetos_associados, + tipo_compromisso, + texto_compromisso, + o_globo, + g1 + folha, + texto_o_globo, + descricao_meta_desdobrada, + indicador_dashboard_prefeito, + tipo_meta, + casas_decimais, + valor_meta_final, + ano_meta_desdobrada, + usa_valor_de_referencia_para_calculo_do_resultado_celula_dn, + resultado_alcancado_para_2024, + ordem_da_meta_no_dashboard_do_prefeito, + problemas_encontrados_orientacoes, + andamento_de_projetos_prioritarios_ligados_a_meta_projeto_1, + andamento_de_projetos_prioritarios_ligados_a_meta_projeto_2, + andamento_de_projetos_prioritarios_ligados_a_meta_projeto_3, + andamento_de_projetos_prioritarios_ligados_a_meta_projeto_4, + andamento_de_projetos_prioritarios_ligados_a_meta_projeto_5 +FROM pe_geral +WHERE codigo_meta IS NOT NULL) + +,pe_tendencia_0 as ( +SELECT + origem, + --orgao_responsavel, + codigo_meta, + MIN(CASE + WHEN LOWER(tendencia_cumprimento_meta_2023) = "não cumprida" then 0 + WHEN LOWER(tendencia_cumprimento_meta_2023) = "descontinuada" then 1 + WHEN LOWER(tendencia_cumprimento_meta_2023) = "indefinida" then 2 + WHEN LOWER(tendencia_cumprimento_meta_2023) = "tendência de não cumprir" then 3 + WHEN LOWER(tendencia_cumprimento_meta_2023) = "cumprida parcialmente" then 4 + WHEN LOWER(tendencia_cumprimento_meta_2023) = "tendência de cumprir parcialmente" then 5 + WHEN LOWER(tendencia_cumprimento_meta_2023) = "tendência de cumprir" then 6 + WHEN LOWER(tendencia_cumprimento_meta_2023) = "não se aplica" or LOWER(tendencia_cumprimento_meta_2023) = "não" then 7 + WHEN LOWER(tendencia_cumprimento_meta_2023) = "cumprida" then 8 + + ELSE 999 END) tendencia_numero_pe, +FROM pe_geral +WHERE codigo_meta != "nan" +GROUP BY origem, codigo_meta +ORDER BY tendencia_numero_pe DESC +) + +, pe_detalhes_final AS ( +SELECT + pd.*, + tendencia_numero_pe, + CASE + WHEN tendencia_numero_pe = 0 THEN "Não cumprida" + WHEN tendencia_numero_pe = 1 THEN "Descontinuada" + WHEN tendencia_numero_pe = 2 THEN "Indefinida" + WHEN tendencia_numero_pe = 3 THEN "Atraso grave" + WHEN tendencia_numero_pe = 4 THEN "Cumprida parcialmente" + WHEN tendencia_numero_pe = 5 THEN "Atraso Recuperável" + WHEN tendencia_numero_pe = 6 THEN "Andamento Satisfatório" + WHEN tendencia_numero_pe = 7 THEN "Sem informações/Não se aplica" + WHEN tendencia_numero_pe = 8 THEN "Cumprida" + ELSE "VALOR NÃO ENCONTRADO" END tendencia_pe +FROM pe_detalhes as pd +LEFT JOIN pe_tendencia_0 as pt + ON pd.codigo_meta = pt.codigo_meta --AND pd.orgao_responsavel = pt.orgao_responsavel +WHERE id_meta_secretaria != "nan-nan" --AND id_meta_secretaria != 'M56-SEOP' + +UNION ALL + +SELECT + NULL AS id_meta_secretaria, + NULL AS id_numerico_meta_pe, + NULL AS id_meta_pe, + NULL AS origem, + --NULL AS tendencia_subdivisao, + NULL AS cor_fonte, + NULL AS pe_tendencia_normalizada, + NULL AS codigo_tema, + NULL AS tema_transversal, + NULL AS iniciativa_estrategica_nome_de_trabalho, + NULL AS codigo_meta_desdobrada, + NULL AS palavras_chave_meta, + NULL AS codigo_meta, + NULL AS meta, + NULL AS orgao_responsavel, + NULL AS descricao_do_indicador, + NULL AS unidade_de_medida, + NULL AS fonte_dos_dados, + NULL AS frequencia_de_medicao, + NULL AS formula_de_calculo, + NULL AS valor_referencia, + NULL AS data_referencia, + NULL AS regionalizavel, + NULL AS _2021, + NULL AS _2022, + NULL AS _2023, + NULL AS _2024, + NULL AS _2025, + NULL AS meta_validada_pelo_prefeito, + NULL AS meta_global_alinhada_com_mais_de_um_tema_transversal, + NULL AS se_a_resposta_for_sim_na_coluna_anterior_qualis_temas, + NULL AS meta_alinhada_com_contribuicoes_da_participacao_social, + NULL AS meta_alinhada_com_meta_do_pds, + NULL AS palavra_chave_estrategia_pds, + NULL AS codigo_meta_pds, + NULL AS se_a_resposta_for_sim_na_coluna_anterior_qual_meta_do_pds, + NULL AS se_a_resposta_for_alinhada_na_coluna_anterior_mas_com_ponto_de_atencao, + NULL AS se_a_resposta_for_desalinhada_na_coluna_anterior_qual_meta_do_pds, + NULL AS selo_participacao_esta_entre_as_mais_pedidas_de_participacao_social, + NULL AS preenchimento_atualizado_em, + NULL AS observacoes, + NULL AS ultimo_resultado, + NULL AS data_referencia_resultado, + NULL AS comentarios_da_meta, + NULL AS resumo_executivo, + NULL AS tendencia_cumprimento_meta_2021, + NULL AS tendencia_cumprimento_meta_2022, + NULL AS tendencia_cumprimento_meta_2023, + NULL AS tendencia_cumprimento_meta_2024, + NULL AS final_2021, + NULL AS final_2022, + NULL AS final_acumulado_2022, + NULL AS final_2023, + NULL AS final_acumulado_2023, + NULL AS final_2024, + NULL AS final_acumulado_2024, + NULL AS chaves_projetos_associados, + NULL AS nome_dos_projetos, + NULL AS gerencia_egp_rio, + NULL AS quantidade_de_indicadores_na_meta, + NULL AS meta_de_resultado, + NULL AS medicao_em_2021, + NULL AS quantidade_de_projetos_associados, + NULL AS tipo_compromisso, + NULL AS texto_compromisso, + NULL AS o_globo, + NULL AS folha, + NULL AS texto_o_globo, + NULL AS descricao_meta_desdobrada, + NULL AS indicador_dashboard_prefeito, + NULL AS tipo_meta, + NULL AS casas_decimais, + NULL AS valor_meta_final, + NULL AS ano_meta_desdobrada, + NULL AS usa_valor_de_referencia_para_calculo_do_resultado_celula_dn, + NULL AS resultado_alcancado_para_2024, + NULL AS ordem_da_meta_no_dashboard_do_prefeito, + NULL AS problemas_encontrados_orientacoes, + NULL AS andamento_de_projetos_prioritarios_ligados_a_meta_projeto_1, + NULL AS andamento_de_projetos_prioritarios_ligados_a_meta_projeto_2, + NULL AS andamento_de_projetos_prioritarios_ligados_a_meta_projeto_3, + NULL AS andamento_de_projetos_prioritarios_ligados_a_meta_projeto_4, + NULL AS andamento_de_projetos_prioritarios_ligados_a_meta_projeto_5, + NULL AS tendencia_numero_pe, + "Cumprida parcialmente" AS tendencia_pe +) + +SELECT + *, + CONCAT( + "Meta para 2021: ", _2021, "\n", + "Meta para 2022: ", _2022, "\n", + "Meta para 2023: ", _2023, "\n", + "Meta para 2024: ", _2024 + ) pe_desdobramento_anual_da_meta +FROM pe_detalhes_final +ORDER BY origem, orgao_responsavel, codigo_meta \ No newline at end of file diff --git a/queries/models/planejamento_gestao_dashboard_metas/pe_numerico.sql b/queries/models/planejamento_gestao_dashboard_metas/pe_numerico.sql new file mode 100644 index 0000000..2fcd8e3 --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/pe_numerico.sql @@ -0,0 +1,237 @@ +WITH pe_geral AS ( + SELECT + CONCAT(_meta, "-", orgao_responsavel) AS id_meta_secretaria, + SAFE_CAST(_metas AS STRING) id_numerico_meta_pe, + SAFE_CAST(_meta AS STRING) id_meta_pe, + "Plano Estratégico" as origem, + -- CASE + -- WHEN tendencia_cumprimento_meta_2023 = "Cumprida" or tendencia_cumprimento_meta_2023 = "Tendência de cumprir" then "Cumprir" + -- WHEN tendencia_cumprimento_meta_2023 = "Cumprida parcialmente" or tendencia_cumprimento_meta_2023 = "Tendência de cumprir parcialmente" then "Cumprir parcialmente" + -- WHEN tendencia_cumprimento_meta_2023 = "Não cumprida" or tendencia_cumprimento_meta_2023 = "Tendência de não cumprir" then "Cumprir" + -- ELSE tendencia_cumprimento_meta_2023 END + -- AS tendencia_subdivisao, + SAFE_CAST(codigo_tema AS STRING) codigo_tema, + SAFE_CAST(tema_transversal AS STRING) tema_transversal, + SAFE_CAST(inciativa_estrategica__nome_de_trabalho AS STRING) iniciativa_estrategica_nome_de_trabalho, + SAFE_CAST(codigo_meta_desdobrada AS STRING) codigo_meta_desdobrada, + SAFE_CAST(palavras_chave_meta AS STRING) palavras_chave_meta, + SAFE_CAST(chave_da_meta_pe AS STRING) codigo_meta, + SAFE_CAST(meta AS STRING) meta, + SAFE_CAST(orgao_responsavel AS STRING) orgao_responsavel, + SAFE_CAST(descricao_do_indicador AS STRING) descricao_do_indicador, + SAFE_CAST(unidade_de_medida AS STRING) unidade_de_medida, + SAFE_CAST(fonte_dos_dados AS STRING) fonte_dos_dados, + SAFE_CAST(frequencia_de_medicao AS STRING) frequencia_de_medicao, + SAFE_CAST(formula_de_calculo AS STRING) formula_de_calculo, + SAFE_CAST(valor_referencia AS STRING) valor_referencia, + SAFE_CAST(data_referencia AS STRING) data_referencia, + SAFE_CAST(regionalizavel AS STRING) regionalizavel, + REPLACE(REPLACE(SAFE_CAST(_2021 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2021, + REPLACE(REPLACE(SAFE_CAST(_2022 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2022, + REPLACE(REPLACE(SAFE_CAST(_2023 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2023, + REPLACE(REPLACE(SAFE_CAST(_2024 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2024, + REPLACE(REPLACE(SAFE_CAST(_2025 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2025, + SAFE_CAST(meta_validada_pelo_prefeito AS STRING) meta_validada_pelo_prefeito, + SAFE_CAST(meta_global_alinhada_com_mais_de_um_tema_transversal AS STRING) meta_global_alinhada_com_mais_de_um_tema_transversal, + SAFE_CAST(se_a_resposta_for_sim_na_coluna_anterior____qualis_temas AS STRING) se_a_resposta_for_sim_na_coluna_anterior_qualis_temas, + SAFE_CAST(meta_alinhada_com_contribuicoes_da_participacao_social AS STRING) meta_alinhada_com_contribuicoes_da_participacao_social, + SAFE_CAST(meta_alinhada_com_meta_do_pds AS STRING) meta_alinhada_com_meta_do_pds, + SAFE_CAST(palavra_chave_estrategia_pds AS STRING) palavra_chave_estrategia_pds, + SAFE_CAST(codigo_meta_pds AS STRING) codigo_meta_pds, + SAFE_CAST(se_a_resposta_for_sim_na_coluna_anterior____qual_meta_do_pds AS STRING) se_a_resposta_for_sim_na_coluna_anterior_qual_meta_do_pds, + SAFE_CAST(se_a_resposta_for_alinhada_na_coluna_anterior_mas_com_ponto_de_atencao AS STRING) se_a_resposta_for_alinhada_na_coluna_anterior_mas_com_ponto_de_atencao, + SAFE_CAST(se_a_resposta_for_desalinhada_na_coluna_anterior____qual_meta_do_pds AS STRING) se_a_resposta_for_desalinhada_na_coluna_anterior_qual_meta_do_pds, + SAFE_CAST(selo_participacao___esta_entre_as_mais_pedidas_de_participacao_social AS STRING) selo_participacao_esta_entre_as_mais_pedidas_de_participacao_social, + SAFE_CAST(preenchimento_atualizado_em AS STRING) preenchimento_atualizado_em, + SAFE_CAST(observacoes AS STRING) observacoes, + SAFE_CAST(ultimo_resultado AS STRING) ultimo_resultado, + SAFE_CAST(data_referencia_resultado AS DATE) data_referencia_resultado, + SAFE_CAST(comentarios_da_meta AS STRING) comentarios_da_meta, + SAFE_CAST(resumo_executivo AS STRING) resumo_executivo, + SAFE_CAST(tendencia_cumprimento_meta_2021 AS STRING) tendencia_cumprimento_meta_2021, + SAFE_CAST(tendencia_cumprimento_meta_2022 AS STRING) tendencia_cumprimento_meta_2022, + SAFE_CAST(tendencia_cumprimento_meta_2023 AS STRING) tendencia_cumprimento_meta_2023, + SAFE_CAST(tendencia_cumprimento_meta_2024 AS STRING) tendencia_cumprimento_meta_2024, + SAFE_CAST(jan_21 AS STRING) jan_21, + SAFE_CAST(fev_21 AS STRING) fev_21, + SAFE_CAST(mar_21 AS STRING) mar_21, + SAFE_CAST(abr_21 AS STRING) abr_21, + SAFE_CAST(mai_21 AS STRING) mai_21, + SAFE_CAST(jun_21 AS STRING) jun_21, + SAFE_CAST(jul_21 AS STRING) jul_21, + SAFE_CAST(ago_21 AS STRING) ago_21, + SAFE_CAST(set_21 AS STRING) set_21, + SAFE_CAST(out_21 AS STRING) out_21, + SAFE_CAST(nov_21 AS STRING) nov_21, + SAFE_CAST(dez_21 AS STRING) dez_21, + SAFE_CAST(final_2021 AS STRING) final_2021, + SAFE_CAST(jan_22 AS STRING) jan_22, + SAFE_CAST(fev_22 AS STRING) fev_22, + SAFE_CAST(mar_22 AS STRING) mar_22, + SAFE_CAST(abr_22 AS STRING) abr_22, + SAFE_CAST(mai_22 AS STRING) mai_22, + SAFE_CAST(jun_22 AS STRING) jun_22, + SAFE_CAST(jul_22 AS STRING) jul_22, + SAFE_CAST(ago_22 AS STRING) ago_22, + SAFE_CAST(set_22 AS STRING) set_22, + SAFE_CAST(out_22 AS STRING) out_22, + SAFE_CAST(nov_22 AS STRING) nov_22, + SAFE_CAST(dez_22 AS STRING) dez_22, + SAFE_CAST(final_2022 AS STRING) final_2022, + SAFE_CAST(final_acumulado_2022 AS STRING) final_acumulado_2022, + SAFE_CAST(jan_23 AS STRING) jan_23, + SAFE_CAST(fev_23 AS STRING) fev_23, + SAFE_CAST(mar_23 AS STRING) mar_23, + SAFE_CAST(abr_23 AS STRING) abr_23, + SAFE_CAST(mai_23 AS STRING) mai_23, + SAFE_CAST(jun_23 AS STRING) jun_23, + SAFE_CAST(jul_23 AS STRING) jul_23, + SAFE_CAST(ago_23 AS STRING) ago_23, + SAFE_CAST(set_23 AS STRING) set_23, + SAFE_CAST(out_23 AS STRING) out_23, + SAFE_CAST(nov_23 AS STRING) nov_23, + SAFE_CAST(dez_23 AS STRING) dez_23, + SAFE_CAST(final_2023 AS STRING) final_2023, + SAFE_CAST(final_acumulado_2023 AS STRING) final_acumulado_2023, + SAFE_CAST(jan_24 AS STRING) jan_24, + SAFE_CAST(fev_24 AS STRING) fev_24, + SAFE_CAST(mar_24 AS STRING) mar_24, + SAFE_CAST(abr_24 AS STRING) abr_24, + SAFE_CAST(mai_24 AS STRING) mai_24, + SAFE_CAST(jun_24 AS STRING) jun_24, + SAFE_CAST(jul_24 AS STRING) jul_24, + SAFE_CAST(ago_24 AS STRING) ago_24, + SAFE_CAST(set_24 AS STRING) set_24, + SAFE_CAST(out_24 AS STRING) out_24, + SAFE_CAST(nov_24 AS STRING) nov_24, + SAFE_CAST(dez_24 AS STRING) dez_24, + SAFE_CAST(final_2024 AS STRING) final_2024, + SAFE_CAST(final_acumulado_2024 AS STRING) final_acumulado_2024, + SAFE_CAST(chaves_projetos_associados AS STRING) chaves_projetos_associados, + SAFE_CAST(nome_dos_projetos AS STRING) nome_dos_projetos, + SAFE_CAST(gerencia_egp_rio AS STRING) gerencia_egp_rio, + SAFE_CAST(SAFE_CAST(quantidade_de_indicadores_na_meta AS FLOAT64) AS INT64) quantidade_de_indicadores_na_meta, + SAFE_CAST(meta_de_resultado AS STRING) meta_de_resultado, + SAFE_CAST(medicao_em_2021 AS STRING) medicao_em_2021, + SAFE_CAST(SAFE_CAST(quantidade_de_projetos_associados AS FLOAT64) AS INT64) quantidade_de_projetos_associados, + SAFE_CAST(tipo_compromisso AS STRING) tipo_compromisso, + SAFE_CAST(texto_compromisso AS STRING) texto_compromisso, + SAFE_CAST(o_globo AS STRING) o_globo, + SAFE_CAST(g1 AS STRING) g1, + SAFE_CAST(folha AS STRING) folha, + SAFE_CAST(texto_o_globo AS STRING) texto_o_globo, + CASE WHEN ar = "S" then TRUE ELSE FALSE END ar, + SAFE_CAST(descricao_meta_desdobrada AS STRING) descricao_meta_desdobrada, + SAFE_CAST(indicador_dashboard_prefeito AS STRING) indicador_dashboard_prefeito, + SAFE_CAST(tipo_meta AS STRING) tipo_meta, + SAFE_CAST(SAFE_CAST(casas_decimais AS FLOAT64) AS INT64) casas_decimais, + SAFE_CAST(meta1 AS STRING) valor_meta_final, + SAFE_CAST(SAFE_CAST(ano_meta_desdobrada AS FLOAT64) AS INT64) ano_meta_desdobrada, + SAFE_CAST(usa_valor_de_referencia_para_calculo_do_resultado_celula_dn AS STRING) usa_valor_de_referencia_para_calculo_do_resultado_celula_dn, + SAFE_CAST(resultado_alcancado_para_2024 AS STRING) resultado_alcancado_para_2024, + SAFE_CAST(ordem_da_meta_no_dashboard_do_prefeito AS STRING) ordem_da_meta_no_dashboard_do_prefeito, + SAFE_CAST(problemas_encontrados___orientacoes AS STRING) problemas_encontrados_orientacoes, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_1 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_1, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_2 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_2, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_3 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_3, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_4 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_4, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_5 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_5, + FROM `rj-smfp.planejamento_gestao_dashboard_metas_staging.metas_planejamento_estrategico` + CROSS JOIN UNNEST(SPLIT(orgao_responsavel, '\n')) AS orgao_responsavel +), + +pe_valores as ( +SELECT + id_meta_secretaria, + origem, + tendencia_cumprimento_meta_2023, + -- tendencia_subdivisao, + tipo_meta, + casas_decimais, + valor_meta_final, + ano_meta_desdobrada, + resultado_alcancado_para_2024, + ordem_da_meta_no_dashboard_do_prefeito, + _2021, + _2022, + _2023, + _2024, + _2025, + data_valor, + valor +FROM pe_geral +UNPIVOT(valor FOR data_valor IN ( + jan_21, + fev_21, + mar_21, + abr_21, + mai_21, + jun_21, + jul_21, + ago_21, + set_21, + out_21, + nov_21, + dez_21, + jan_22, + fev_22, + mar_22, + abr_22, + mai_22, + jun_22, + jul_22, + ago_22, + set_22, + out_22, + nov_22, + dez_22, + jan_23, + fev_23, + mar_23, + abr_23, + mai_23, + jun_23, + jul_23, + ago_23, + set_23, + out_23, + nov_23, + dez_23, + jan_24, + fev_24, + mar_24, + abr_24, + mai_24, + jun_24, + jul_24, + ago_24, + set_24, + out_24, + nov_24, + dez_24) + ) +), + +pe_numerico as ( + SELECT + id_meta_secretaria, + origem, + tendencia_cumprimento_meta_2023, + -- tendencia_subdivisao, + tipo_meta, + casas_decimais, + ROUND(SAFE_CAST(REPLACE(REPLACE(valor_meta_final, ".", ""), ",", ".") AS FLOAT64), casas_decimais) valor_meta_final, + ano_meta_desdobrada, + resultado_alcancado_para_2024, + ROUND(SAFE_CAST(REPLACE(REPLACE(_2021, ".", ""), ",", ".") AS FLOAT64), casas_decimais) _2021, + ROUND(SAFE_CAST(REPLACE(REPLACE(_2022, ".", ""), ",", ".") AS FLOAT64), casas_decimais) _2022, + ROUND(SAFE_CAST(REPLACE(REPLACE(_2023, ".", ""), ",", ".") AS FLOAT64), casas_decimais) _2023, + ROUND(SAFE_CAST(REPLACE(REPLACE(_2024, ".", ""), ",", ".") AS FLOAT64), casas_decimais) _2024, + ROUND(SAFE_CAST(REPLACE(REPLACE(_2025, ".", ""), ",", ".") AS FLOAT64), casas_decimais) _2025, + SAFE_CAST(REPLACE(`rj-smfp.planejamento_gestao_dashboard_metas_staging`.tradutor_data(data_valor), "_", "-") AS DATE FORMAT 'MON-YY') data_valor, + ROUND(SAFE_CAST(REPLACE(REPLACE(valor, ".", ""), ",", ".") as FLOAT64), casas_decimais) valor + FROM pe_valores + WHERE tipo_meta = "Numérico" OR tipo_meta = "Monetário" +) + +SELECT * FROM pe_numerico diff --git a/queries/models/planejamento_gestao_dashboard_metas/pe_porcentagem.sql b/queries/models/planejamento_gestao_dashboard_metas/pe_porcentagem.sql new file mode 100644 index 0000000..2c10392 --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/pe_porcentagem.sql @@ -0,0 +1,237 @@ +WITH pe_geral AS ( + SELECT + CONCAT(_meta, "-", orgao_responsavel) AS id_meta_secretaria, + SAFE_CAST(_metas AS STRING) id_numerico_meta_pe, + SAFE_CAST(_meta AS STRING) id_meta_pe, + "Plano Estratégico" as origem, + -- CASE + -- WHEN tendencia_cumprimento_meta_2022 = "Cumprida" or tendencia_cumprimento_meta_2022 = "Tendência de cumprir" then "Cumprir" + -- WHEN tendencia_cumprimento_meta_2022 = "Cumprida parcialmente" or tendencia_cumprimento_meta_2022 = "Tendência de cumprir parcialmente" then "Cumprir parcialmente" + -- WHEN tendencia_cumprimento_meta_2022 = "Não cumprida" or tendencia_cumprimento_meta_2022 = "Tendência de não cumprir" then "Cumprir" + -- ELSE tendencia_cumprimento_meta_2022 END + -- AS tendencia_subdivisao, + SAFE_CAST(codigo_tema AS STRING) codigo_tema, + SAFE_CAST(tema_transversal AS STRING) tema_transversal, + SAFE_CAST(inciativa_estrategica__nome_de_trabalho AS STRING) iniciativa_estrategica_nome_de_trabalho, + SAFE_CAST(codigo_meta_desdobrada AS STRING) codigo_meta_desdobrada, + SAFE_CAST(palavras_chave_meta AS STRING) palavras_chave_meta, + SAFE_CAST(chave_da_meta_pe AS STRING) codigo_meta, + SAFE_CAST(meta AS STRING) meta, + SAFE_CAST(orgao_responsavel AS STRING) orgao_responsavel, + SAFE_CAST(descricao_do_indicador AS STRING) descricao_do_indicador, + SAFE_CAST(unidade_de_medida AS STRING) unidade_de_medida, + SAFE_CAST(fonte_dos_dados AS STRING) fonte_dos_dados, + SAFE_CAST(frequencia_de_medicao AS STRING) frequencia_de_medicao, + SAFE_CAST(formula_de_calculo AS STRING) formula_de_calculo, + SAFE_CAST(valor_referencia AS STRING) valor_referencia, + SAFE_CAST(data_referencia AS STRING) data_referencia, + SAFE_CAST(regionalizavel AS STRING) regionalizavel, + REPLACE(REPLACE(SAFE_CAST(_2021 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2021, + REPLACE(REPLACE(SAFE_CAST(_2022 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2022, + REPLACE(REPLACE(SAFE_CAST(_2023 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2023, + REPLACE(REPLACE(SAFE_CAST(_2024 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2024, + REPLACE(REPLACE(SAFE_CAST(_2025 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2025, + SAFE_CAST(meta_validada_pelo_prefeito AS STRING) meta_validada_pelo_prefeito, + SAFE_CAST(meta_global_alinhada_com_mais_de_um_tema_transversal AS STRING) meta_global_alinhada_com_mais_de_um_tema_transversal, + SAFE_CAST(se_a_resposta_for_sim_na_coluna_anterior____qualis_temas AS STRING) se_a_resposta_for_sim_na_coluna_anterior_qualis_temas, + SAFE_CAST(meta_alinhada_com_contribuicoes_da_participacao_social AS STRING) meta_alinhada_com_contribuicoes_da_participacao_social, + SAFE_CAST(meta_alinhada_com_meta_do_pds AS STRING) meta_alinhada_com_meta_do_pds, + SAFE_CAST(palavra_chave_estrategia_pds AS STRING) palavra_chave_estrategia_pds, + SAFE_CAST(codigo_meta_pds AS STRING) codigo_meta_pds, + SAFE_CAST(se_a_resposta_for_sim_na_coluna_anterior____qual_meta_do_pds AS STRING) se_a_resposta_for_sim_na_coluna_anterior_qual_meta_do_pds, + SAFE_CAST(se_a_resposta_for_alinhada_na_coluna_anterior_mas_com_ponto_de_atencao AS STRING) se_a_resposta_for_alinhada_na_coluna_anterior_mas_com_ponto_de_atencao, + SAFE_CAST(se_a_resposta_for_desalinhada_na_coluna_anterior____qual_meta_do_pds AS STRING) se_a_resposta_for_desalinhada_na_coluna_anterior_qual_meta_do_pds, + SAFE_CAST(selo_participacao___esta_entre_as_mais_pedidas_de_participacao_social AS STRING) selo_participacao_esta_entre_as_mais_pedidas_de_participacao_social, + SAFE_CAST(preenchimento_atualizado_em AS STRING) preenchimento_atualizado_em, + SAFE_CAST(observacoes AS STRING) observacoes, + SAFE_CAST(ultimo_resultado AS STRING) ultimo_resultado, + SAFE_CAST(data_referencia_resultado AS DATE) data_referencia_resultado, + SAFE_CAST(comentarios_da_meta AS STRING) comentarios_da_meta, + SAFE_CAST(resumo_executivo AS STRING) resumo_executivo, + SAFE_CAST(tendencia_cumprimento_meta_2021 AS STRING) tendencia_cumprimento_meta_2021, + SAFE_CAST(tendencia_cumprimento_meta_2022 AS STRING) tendencia_cumprimento_meta_2022, + SAFE_CAST(tendencia_cumprimento_meta_2023 AS STRING) tendencia_cumprimento_meta_2023, + SAFE_CAST(tendencia_cumprimento_meta_2024 AS STRING) tendencia_cumprimento_meta_2024, + SAFE_CAST(jan_21 AS STRING) jan_21, + SAFE_CAST(fev_21 AS STRING) fev_21, + SAFE_CAST(mar_21 AS STRING) mar_21, + SAFE_CAST(abr_21 AS STRING) abr_21, + SAFE_CAST(mai_21 AS STRING) mai_21, + SAFE_CAST(jun_21 AS STRING) jun_21, + SAFE_CAST(jul_21 AS STRING) jul_21, + SAFE_CAST(ago_21 AS STRING) ago_21, + SAFE_CAST(set_21 AS STRING) set_21, + SAFE_CAST(out_21 AS STRING) out_21, + SAFE_CAST(nov_21 AS STRING) nov_21, + SAFE_CAST(dez_21 AS STRING) dez_21, + SAFE_CAST(final_2021 AS STRING) final_2021, + SAFE_CAST(jan_22 AS STRING) jan_22, + SAFE_CAST(fev_22 AS STRING) fev_22, + SAFE_CAST(mar_22 AS STRING) mar_22, + SAFE_CAST(abr_22 AS STRING) abr_22, + SAFE_CAST(mai_22 AS STRING) mai_22, + SAFE_CAST(jun_22 AS STRING) jun_22, + SAFE_CAST(jul_22 AS STRING) jul_22, + SAFE_CAST(ago_22 AS STRING) ago_22, + SAFE_CAST(set_22 AS STRING) set_22, + SAFE_CAST(out_22 AS STRING) out_22, + SAFE_CAST(nov_22 AS STRING) nov_22, + SAFE_CAST(dez_22 AS STRING) dez_22, + SAFE_CAST(final_2022 AS STRING) final_2022, + SAFE_CAST(final_acumulado_2022 AS STRING) final_acumulado_2022, + SAFE_CAST(jan_23 AS STRING) jan_23, + SAFE_CAST(fev_23 AS STRING) fev_23, + SAFE_CAST(mar_23 AS STRING) mar_23, + SAFE_CAST(abr_23 AS STRING) abr_23, + SAFE_CAST(mai_23 AS STRING) mai_23, + SAFE_CAST(jun_23 AS STRING) jun_23, + SAFE_CAST(jul_23 AS STRING) jul_23, + SAFE_CAST(ago_23 AS STRING) ago_23, + SAFE_CAST(set_23 AS STRING) set_23, + SAFE_CAST(out_23 AS STRING) out_23, + SAFE_CAST(nov_23 AS STRING) nov_23, + SAFE_CAST(dez_23 AS STRING) dez_23, + SAFE_CAST(final_2023 AS STRING) final_2023, + SAFE_CAST(final_acumulado_2023 AS STRING) final_acumulado_2023, + SAFE_CAST(jan_24 AS STRING) jan_24, + SAFE_CAST(fev_24 AS STRING) fev_24, + SAFE_CAST(mar_24 AS STRING) mar_24, + SAFE_CAST(abr_24 AS STRING) abr_24, + SAFE_CAST(mai_24 AS STRING) mai_24, + SAFE_CAST(jun_24 AS STRING) jun_24, + SAFE_CAST(jul_24 AS STRING) jul_24, + SAFE_CAST(ago_24 AS STRING) ago_24, + SAFE_CAST(set_24 AS STRING) set_24, + SAFE_CAST(out_24 AS STRING) out_24, + SAFE_CAST(nov_24 AS STRING) nov_24, + SAFE_CAST(dez_24 AS STRING) dez_24, + SAFE_CAST(final_2024 AS STRING) final_2024, + SAFE_CAST(final_acumulado_2024 AS STRING) final_acumulado_2024, + SAFE_CAST(chaves_projetos_associados AS STRING) chaves_projetos_associados, + SAFE_CAST(nome_dos_projetos AS STRING) nome_dos_projetos, + SAFE_CAST(gerencia_egp_rio AS STRING) gerencia_egp_rio, + SAFE_CAST(SAFE_CAST(quantidade_de_indicadores_na_meta AS FLOAT64) AS INT64) quantidade_de_indicadores_na_meta, + SAFE_CAST(meta_de_resultado AS STRING) meta_de_resultado, + SAFE_CAST(medicao_em_2021 AS STRING) medicao_em_2021, + SAFE_CAST(SAFE_CAST(quantidade_de_projetos_associados AS FLOAT64) AS INT64) quantidade_de_projetos_associados, + SAFE_CAST(tipo_compromisso AS STRING) tipo_compromisso, + SAFE_CAST(texto_compromisso AS STRING) texto_compromisso, + SAFE_CAST(o_globo AS STRING) o_globo, + SAFE_CAST(g1 AS STRING) g1, + SAFE_CAST(folha AS STRING) folha, + SAFE_CAST(texto_o_globo AS STRING) texto_o_globo, + CASE WHEN ar = "S" then TRUE ELSE FALSE END ar, + SAFE_CAST(descricao_meta_desdobrada AS STRING) descricao_meta_desdobrada, + SAFE_CAST(indicador_dashboard_prefeito AS STRING) indicador_dashboard_prefeito, + SAFE_CAST(tipo_meta AS STRING) tipo_meta, + SAFE_CAST(SAFE_CAST(casas_decimais AS FLOAT64) AS INT64) casas_decimais, + SAFE_CAST(meta1 AS STRING) valor_meta_final, + SAFE_CAST(SAFE_CAST(ano_meta_desdobrada AS FLOAT64) AS INT64) ano_meta_desdobrada, + SAFE_CAST(usa_valor_de_referencia_para_calculo_do_resultado_celula_dn AS STRING) usa_valor_de_referencia_para_calculo_do_resultado_celula_dn, + SAFE_CAST(resultado_alcancado_para_2024 AS STRING) resultado_alcancado_para_2024, + SAFE_CAST(ordem_da_meta_no_dashboard_do_prefeito AS STRING) ordem_da_meta_no_dashboard_do_prefeito, + SAFE_CAST(problemas_encontrados___orientacoes AS STRING) problemas_encontrados_orientacoes, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_1 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_1, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_2 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_2, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_3 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_3, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_4 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_4, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_5 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_5, + FROM `rj-smfp.planejamento_gestao_dashboard_metas_staging.metas_planejamento_estrategico` + CROSS JOIN UNNEST(SPLIT(orgao_responsavel, '\n')) AS orgao_responsavel +), + +pe_valores as ( +SELECT + id_meta_secretaria, + origem, + tendencia_cumprimento_meta_2023, + -- tendencia_subdivisao, + tipo_meta, + casas_decimais, + valor_meta_final, + ano_meta_desdobrada, + resultado_alcancado_para_2024, + ordem_da_meta_no_dashboard_do_prefeito, + _2021, + _2022, + _2023, + _2024, + _2025, + data_valor, + valor +FROM pe_geral +UNPIVOT(valor FOR data_valor IN ( + jan_21, + fev_21, + mar_21, + abr_21, + mai_21, + jun_21, + jul_21, + ago_21, + set_21, + out_21, + nov_21, + dez_21, + jan_22, + fev_22, + mar_22, + abr_22, + mai_22, + jun_22, + jul_22, + ago_22, + set_22, + out_22, + nov_22, + dez_22, + jan_23, + fev_23, + mar_23, + abr_23, + mai_23, + jun_23, + jul_23, + ago_23, + set_23, + out_23, + nov_23, + dez_23, + jan_24, + fev_24, + mar_24, + abr_24, + mai_24, + jun_24, + jul_24, + ago_24, + set_24, + out_24, + nov_24, + dez_24) + ) +), + +pe_porcentagem as ( + SELECT + id_meta_secretaria, + origem, + tendencia_cumprimento_meta_2023, + -- tendencia_subdivisao, + tipo_meta, + casas_decimais, + ROUND(SAFE_CAST(REPLACE(REPLACE(REPLACE(valor_meta_final, ".", ""), ",", "."), "%", "") AS FLOAT64)/100, casas_decimais) valor_meta_final, + ano_meta_desdobrada, + resultado_alcancado_para_2024, + ROUND(SAFE_CAST(REPLACE(REPLACE(REPLACE(_2021, ".", ""), ",", "."), "%", "") AS FLOAT64)/100, casas_decimais) _2021, + ROUND(SAFE_CAST(REPLACE(REPLACE(REPLACE(_2022, ".", ""), ",", "."), "%", "") AS FLOAT64)/100, casas_decimais) _2022, + ROUND(SAFE_CAST(REPLACE(REPLACE(REPLACE(_2023, ".", ""), ",", "."), "%", "") AS FLOAT64)/100, casas_decimais) _2023, + ROUND(SAFE_CAST(REPLACE(REPLACE(REPLACE(_2024, ".", ""), ",", "."), "%", "") AS FLOAT64)/100, casas_decimais) _2024, + ROUND(SAFE_CAST(REPLACE(REPLACE(REPLACE(_2025, ".", ""), ",", "."), "%", "") AS FLOAT64)/100, casas_decimais) _2025, + SAFE_CAST(REPLACE(`rj-smfp.planejamento_gestao_dashboard_metas_staging`.tradutor_data(data_valor), "_", "-") AS DATE FORMAT 'MON-YY') data_valor, + ROUND(SAFE_CAST(REPLACE(REPLACE(REPLACE(valor, ".", ""), ",", "."), "%", "") AS FLOAT64)/100, casas_decimais+2) valor, + FROM pe_valores + WHERE tipo_meta = 'Percentual' +) + +SELECT * FROM pe_porcentagem diff --git a/queries/models/planejamento_gestao_dashboard_metas/pe_ranking.sql b/queries/models/planejamento_gestao_dashboard_metas/pe_ranking.sql new file mode 100644 index 0000000..329eb71 --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/pe_ranking.sql @@ -0,0 +1,238 @@ +WITH pe_geral AS ( + SELECT + CONCAT(_meta, "-", orgao_responsavel) AS id_meta_secretaria, + SAFE_CAST(_metas AS STRING) id_numerico_meta_pe, + SAFE_CAST(_meta AS STRING) id_meta_pe, + "Plano Estratégico" as origem, + -- CASE WHEN tendencia_cumprimento_meta_2022 = "Cumprida" or tendencia_cumprimento_meta_2022 = "Tendência de cumprir" then "Cumprir" + -- WHEN tendencia_cumprimento_meta_2022 = "Cumprida parcialmente" or tendencia_cumprimento_meta_2022 = "Tendência de cumprir parcialmente" then "Cumprir parcialmente" + -- WHEN tendencia_cumprimento_meta_2022 = "Não cumprida" or tendencia_cumprimento_meta_2022 = "Tendência de não cumprir" then "Cumprir" + -- ELSE tendencia_cumprimento_meta_2022 END + -- AS tendencia_subdivisao, + SAFE_CAST(codigo_tema AS STRING) codigo_tema, + SAFE_CAST(tema_transversal AS STRING) tema_transversal, + SAFE_CAST(inciativa_estrategica__nome_de_trabalho AS STRING) iniciativa_estrategica_nome_de_trabalho, + SAFE_CAST(codigo_meta_desdobrada AS STRING) codigo_meta_desdobrada, + SAFE_CAST(palavras_chave_meta AS STRING) palavras_chave_meta, + SAFE_CAST(chave_da_meta_pe AS STRING) codigo_meta, + SAFE_CAST(meta AS STRING) meta, + SAFE_CAST(orgao_responsavel AS STRING) orgao_responsavel, + SAFE_CAST(descricao_do_indicador AS STRING) descricao_do_indicador, + SAFE_CAST(unidade_de_medida AS STRING) unidade_de_medida, + SAFE_CAST(fonte_dos_dados AS STRING) fonte_dos_dados, + SAFE_CAST(frequencia_de_medicao AS STRING) frequencia_de_medicao, + SAFE_CAST(formula_de_calculo AS STRING) formula_de_calculo, + SAFE_CAST(valor_referencia AS STRING) valor_referencia, + SAFE_CAST(data_referencia AS STRING) data_referencia, + SAFE_CAST(regionalizavel AS STRING) regionalizavel, + REPLACE(REPLACE(SAFE_CAST(_2021 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2021, + REPLACE(REPLACE(SAFE_CAST(_2022 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2022, + REPLACE(REPLACE(SAFE_CAST(_2023 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2023, + REPLACE(REPLACE(SAFE_CAST(_2024 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2024, + REPLACE(REPLACE(SAFE_CAST(_2025 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2025, + SAFE_CAST(meta_validada_pelo_prefeito AS STRING) meta_validada_pelo_prefeito, + SAFE_CAST(meta_global_alinhada_com_mais_de_um_tema_transversal AS STRING) meta_global_alinhada_com_mais_de_um_tema_transversal, + SAFE_CAST(se_a_resposta_for_sim_na_coluna_anterior____qualis_temas AS STRING) se_a_resposta_for_sim_na_coluna_anterior_qualis_temas, + SAFE_CAST(meta_alinhada_com_contribuicoes_da_participacao_social AS STRING) meta_alinhada_com_contribuicoes_da_participacao_social, + SAFE_CAST(meta_alinhada_com_meta_do_pds AS STRING) meta_alinhada_com_meta_do_pds, + SAFE_CAST(palavra_chave_estrategia_pds AS STRING) palavra_chave_estrategia_pds, + SAFE_CAST(codigo_meta_pds AS STRING) codigo_meta_pds, + SAFE_CAST(se_a_resposta_for_sim_na_coluna_anterior____qual_meta_do_pds AS STRING) se_a_resposta_for_sim_na_coluna_anterior_qual_meta_do_pds, + SAFE_CAST(se_a_resposta_for_alinhada_na_coluna_anterior_mas_com_ponto_de_atencao AS STRING) se_a_resposta_for_alinhada_na_coluna_anterior_mas_com_ponto_de_atencao, + SAFE_CAST(se_a_resposta_for_desalinhada_na_coluna_anterior____qual_meta_do_pds AS STRING) se_a_resposta_for_desalinhada_na_coluna_anterior_qual_meta_do_pds, + SAFE_CAST(selo_participacao___esta_entre_as_mais_pedidas_de_participacao_social AS STRING) selo_participacao_esta_entre_as_mais_pedidas_de_participacao_social, + SAFE_CAST(preenchimento_atualizado_em AS STRING) preenchimento_atualizado_em, + SAFE_CAST(observacoes AS STRING) observacoes, + SAFE_CAST(ultimo_resultado AS STRING) ultimo_resultado, + SAFE_CAST(data_referencia_resultado AS DATE) data_referencia_resultado, + SAFE_CAST(comentarios_da_meta AS STRING) comentarios_da_meta, + SAFE_CAST(resumo_executivo AS STRING) resumo_executivo, + SAFE_CAST(tendencia_cumprimento_meta_2021 AS STRING) tendencia_cumprimento_meta_2021, + SAFE_CAST(tendencia_cumprimento_meta_2022 AS STRING) tendencia_cumprimento_meta_2022, + SAFE_CAST(tendencia_cumprimento_meta_2023 AS STRING) tendencia_cumprimento_meta_2023, + SAFE_CAST(tendencia_cumprimento_meta_2024 AS STRING) tendencia_cumprimento_meta_2024, + SAFE_CAST(jan_21 AS STRING) jan_21, + SAFE_CAST(fev_21 AS STRING) fev_21, + SAFE_CAST(mar_21 AS STRING) mar_21, + SAFE_CAST(abr_21 AS STRING) abr_21, + SAFE_CAST(mai_21 AS STRING) mai_21, + SAFE_CAST(jun_21 AS STRING) jun_21, + SAFE_CAST(jul_21 AS STRING) jul_21, + SAFE_CAST(ago_21 AS STRING) ago_21, + SAFE_CAST(set_21 AS STRING) set_21, + SAFE_CAST(out_21 AS STRING) out_21, + SAFE_CAST(nov_21 AS STRING) nov_21, + SAFE_CAST(dez_21 AS STRING) dez_21, + SAFE_CAST(final_2021 AS STRING) final_2021, + SAFE_CAST(jan_22 AS STRING) jan_22, + SAFE_CAST(fev_22 AS STRING) fev_22, + SAFE_CAST(mar_22 AS STRING) mar_22, + SAFE_CAST(abr_22 AS STRING) abr_22, + SAFE_CAST(mai_22 AS STRING) mai_22, + SAFE_CAST(jun_22 AS STRING) jun_22, + SAFE_CAST(jul_22 AS STRING) jul_22, + SAFE_CAST(ago_22 AS STRING) ago_22, + SAFE_CAST(set_22 AS STRING) set_22, + SAFE_CAST(out_22 AS STRING) out_22, + SAFE_CAST(nov_22 AS STRING) nov_22, + SAFE_CAST(dez_22 AS STRING) dez_22, + SAFE_CAST(final_2022 AS STRING) final_2022, + SAFE_CAST(final_acumulado_2022 AS STRING) final_acumulado_2022, + SAFE_CAST(jan_23 AS STRING) jan_23, + SAFE_CAST(fev_23 AS STRING) fev_23, + SAFE_CAST(mar_23 AS STRING) mar_23, + SAFE_CAST(abr_23 AS STRING) abr_23, + SAFE_CAST(mai_23 AS STRING) mai_23, + SAFE_CAST(jun_23 AS STRING) jun_23, + SAFE_CAST(jul_23 AS STRING) jul_23, + SAFE_CAST(ago_23 AS STRING) ago_23, + SAFE_CAST(set_23 AS STRING) set_23, + SAFE_CAST(out_23 AS STRING) out_23, + SAFE_CAST(nov_23 AS STRING) nov_23, + SAFE_CAST(dez_23 AS STRING) dez_23, + SAFE_CAST(final_2023 AS STRING) final_2023, + SAFE_CAST(final_acumulado_2023 AS STRING) final_acumulado_2023, + SAFE_CAST(jan_24 AS STRING) jan_24, + SAFE_CAST(fev_24 AS STRING) fev_24, + SAFE_CAST(mar_24 AS STRING) mar_24, + SAFE_CAST(abr_24 AS STRING) abr_24, + SAFE_CAST(mai_24 AS STRING) mai_24, + SAFE_CAST(jun_24 AS STRING) jun_24, + SAFE_CAST(jul_24 AS STRING) jul_24, + SAFE_CAST(ago_24 AS STRING) ago_24, + SAFE_CAST(set_24 AS STRING) set_24, + SAFE_CAST(out_24 AS STRING) out_24, + SAFE_CAST(nov_24 AS STRING) nov_24, + SAFE_CAST(dez_24 AS STRING) dez_24, + SAFE_CAST(final_2024 AS STRING) final_2024, + SAFE_CAST(final_acumulado_2024 AS STRING) final_acumulado_2024, + SAFE_CAST(chaves_projetos_associados AS STRING) chaves_projetos_associados, + SAFE_CAST(nome_dos_projetos AS STRING) nome_dos_projetos, + SAFE_CAST(gerencia_egp_rio AS STRING) gerencia_egp_rio, + SAFE_CAST(SAFE_CAST(quantidade_de_indicadores_na_meta AS FLOAT64) AS INT64) quantidade_de_indicadores_na_meta, + SAFE_CAST(meta_de_resultado AS STRING) meta_de_resultado, + SAFE_CAST(medicao_em_2021 AS STRING) medicao_em_2021, + SAFE_CAST(SAFE_CAST(quantidade_de_projetos_associados AS FLOAT64) AS INT64) quantidade_de_projetos_associados, + SAFE_CAST(tipo_compromisso AS STRING) tipo_compromisso, + SAFE_CAST(texto_compromisso AS STRING) texto_compromisso, + SAFE_CAST(o_globo AS STRING) o_globo, + SAFE_CAST(g1 AS STRING) g1, + SAFE_CAST(folha AS STRING) folha, + SAFE_CAST(texto_o_globo AS STRING) texto_o_globo, + CASE WHEN ar = "S" then TRUE ELSE FALSE END ar, + SAFE_CAST(descricao_meta_desdobrada AS STRING) descricao_meta_desdobrada, + SAFE_CAST(indicador_dashboard_prefeito AS STRING) indicador_dashboard_prefeito, + SAFE_CAST(tipo_meta AS STRING) tipo_meta, + SAFE_CAST(SAFE_CAST(casas_decimais AS FLOAT64) AS INT64) casas_decimais, + SAFE_CAST(meta1 AS STRING) valor_meta_final, + SAFE_CAST(SAFE_CAST(ano_meta_desdobrada AS FLOAT64) AS INT64) ano_meta_desdobrada, + SAFE_CAST(usa_valor_de_referencia_para_calculo_do_resultado_celula_dn AS STRING) usa_valor_de_referencia_para_calculo_do_resultado_celula_dn, + SAFE_CAST(resultado_alcancado_para_2024 AS STRING) resultado_alcancado_para_2024, + SAFE_CAST(ordem_da_meta_no_dashboard_do_prefeito AS STRING) ordem_da_meta_no_dashboard_do_prefeito, + SAFE_CAST(problemas_encontrados___orientacoes AS STRING) problemas_encontrados_orientacoes, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_1 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_1, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_2 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_2, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_3 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_3, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_4 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_4, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_5 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_5, + FROM `rj-smfp.planejamento_gestao_dashboard_metas_staging.metas_planejamento_estrategico` + CROSS JOIN UNNEST(SPLIT(orgao_responsavel, '\n')) AS orgao_responsavel +), + +pe_valores as ( +SELECT + id_meta_secretaria, + origem, + tendencia_cumprimento_meta_2023, + -- tendencia_subdivisao, + tipo_meta, + casas_decimais, + valor_meta_final, + ano_meta_desdobrada, + resultado_alcancado_para_2024, + ordem_da_meta_no_dashboard_do_prefeito, + _2021, + _2022, + _2023, + _2024, + _2025, + data_valor, + valor +FROM pe_geral +UNPIVOT(valor FOR data_valor IN ( + jan_21, + fev_21, + mar_21, + abr_21, + mai_21, + jun_21, + jul_21, + ago_21, + set_21, + out_21, + nov_21, + dez_21, + jan_22, + fev_22, + mar_22, + abr_22, + mai_22, + jun_22, + jul_22, + ago_22, + set_22, + out_22, + nov_22, + dez_22, + jan_23, + fev_23, + mar_23, + abr_23, + mai_23, + jun_23, + jul_23, + ago_23, + set_23, + out_23, + nov_23, + dez_23, + jan_24, + fev_24, + mar_24, + abr_24, + mai_24, + jun_24, + jul_24, + ago_24, + set_24, + out_24, + nov_24, + dez_24) + ) +), + +pe_ranking as ( + SELECT + id_meta_secretaria, + origem, + tendencia_cumprimento_meta_2023, + -- tendencia_subdivisao, + tipo_meta, + casas_decimais, + valor_meta_final, + ano_meta_desdobrada, + resultado_alcancado_para_2024, + _2021, + _2022, + _2023, + _2024, + _2025, + SAFE_CAST(REPLACE(`rj-smfp.planejamento_gestao_dashboard_metas_staging`.tradutor_data(data_valor), "_", "-") AS DATE FORMAT 'MON-YY') data_valor, + SAFE_CAST(REPLACE(REPLACE(valor, "º", ""), "ª", "") AS INT64) valor + FROM pe_valores + WHERE tipo_meta = 'Ranking' +) + +select * from pe_ranking + + diff --git a/queries/models/planejamento_gestao_dashboard_metas/pe_textual.sql b/queries/models/planejamento_gestao_dashboard_metas/pe_textual.sql new file mode 100644 index 0000000..78e91ab --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/pe_textual.sql @@ -0,0 +1,236 @@ +WITH pe_geral AS ( + SELECT + CONCAT(_meta, "-", orgao_responsavel) AS id_meta_secretaria, + SAFE_CAST(_metas AS STRING) id_numerico_meta_pe, + SAFE_CAST(_meta AS STRING) id_meta_pe, + "Plano Estratégico" as origem, + -- CASE WHEN tendencia_cumprimento_meta_2022 = "Cumprida" or tendencia_cumprimento_meta_2022 = "Tendência de cumprir" then "Cumprir" + -- WHEN tendencia_cumprimento_meta_2022 = "Cumprida parcialmente" or tendencia_cumprimento_meta_2022 = "Tendência de cumprir parcialmente" then "Cumprir parcialmente" + -- WHEN tendencia_cumprimento_meta_2022 = "Não cumprida" or tendencia_cumprimento_meta_2022 = "Tendência de não cumprir" then "Cumprir" + -- ELSE tendencia_cumprimento_meta_2022 END + -- AS tendencia_subdivisao, + SAFE_CAST(codigo_tema AS STRING) codigo_tema, + SAFE_CAST(tema_transversal AS STRING) tema_transversal, + SAFE_CAST(inciativa_estrategica__nome_de_trabalho AS STRING) iniciativa_estrategica_nome_de_trabalho, + SAFE_CAST(codigo_meta_desdobrada AS STRING) codigo_meta_desdobrada, + SAFE_CAST(palavras_chave_meta AS STRING) palavras_chave_meta, + SAFE_CAST(chave_da_meta_pe AS STRING) codigo_meta, + SAFE_CAST(meta AS STRING) meta, + SAFE_CAST(orgao_responsavel AS STRING) orgao_responsavel, + SAFE_CAST(descricao_do_indicador AS STRING) descricao_do_indicador, + SAFE_CAST(unidade_de_medida AS STRING) unidade_de_medida, + SAFE_CAST(fonte_dos_dados AS STRING) fonte_dos_dados, + SAFE_CAST(frequencia_de_medicao AS STRING) frequencia_de_medicao, + SAFE_CAST(formula_de_calculo AS STRING) formula_de_calculo, + SAFE_CAST(valor_referencia AS STRING) valor_referencia, + SAFE_CAST(data_referencia AS STRING) data_referencia, + SAFE_CAST(regionalizavel AS STRING) regionalizavel, + REPLACE(REPLACE(SAFE_CAST(_2021 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2021, + REPLACE(REPLACE(SAFE_CAST(_2022 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2022, + REPLACE(REPLACE(SAFE_CAST(_2023 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2023, + REPLACE(REPLACE(SAFE_CAST(_2024 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2024, + REPLACE(REPLACE(SAFE_CAST(_2025 AS STRING), "\n-", "Sem valor alvo"), "-", "Sem valor alvo") _2025, + SAFE_CAST(meta_validada_pelo_prefeito AS STRING) meta_validada_pelo_prefeito, + SAFE_CAST(meta_global_alinhada_com_mais_de_um_tema_transversal AS STRING) meta_global_alinhada_com_mais_de_um_tema_transversal, + SAFE_CAST(se_a_resposta_for_sim_na_coluna_anterior____qualis_temas AS STRING) se_a_resposta_for_sim_na_coluna_anterior_qualis_temas, + SAFE_CAST(meta_alinhada_com_contribuicoes_da_participacao_social AS STRING) meta_alinhada_com_contribuicoes_da_participacao_social, + SAFE_CAST(meta_alinhada_com_meta_do_pds AS STRING) meta_alinhada_com_meta_do_pds, + SAFE_CAST(palavra_chave_estrategia_pds AS STRING) palavra_chave_estrategia_pds, + SAFE_CAST(codigo_meta_pds AS STRING) codigo_meta_pds, + SAFE_CAST(se_a_resposta_for_sim_na_coluna_anterior____qual_meta_do_pds AS STRING) se_a_resposta_for_sim_na_coluna_anterior_qual_meta_do_pds, + SAFE_CAST(se_a_resposta_for_alinhada_na_coluna_anterior_mas_com_ponto_de_atencao AS STRING) se_a_resposta_for_alinhada_na_coluna_anterior_mas_com_ponto_de_atencao, + SAFE_CAST(se_a_resposta_for_desalinhada_na_coluna_anterior____qual_meta_do_pds AS STRING) se_a_resposta_for_desalinhada_na_coluna_anterior_qual_meta_do_pds, + SAFE_CAST(selo_participacao___esta_entre_as_mais_pedidas_de_participacao_social AS STRING) selo_participacao_esta_entre_as_mais_pedidas_de_participacao_social, + SAFE_CAST(preenchimento_atualizado_em AS STRING) preenchimento_atualizado_em, + SAFE_CAST(observacoes AS STRING) observacoes, + SAFE_CAST(ultimo_resultado AS STRING) ultimo_resultado, + SAFE_CAST(data_referencia_resultado AS DATE) data_referencia_resultado, + SAFE_CAST(comentarios_da_meta AS STRING) comentarios_da_meta, + SAFE_CAST(resumo_executivo AS STRING) resumo_executivo, + SAFE_CAST(tendencia_cumprimento_meta_2021 AS STRING) tendencia_cumprimento_meta_2021, + SAFE_CAST(tendencia_cumprimento_meta_2022 AS STRING) tendencia_cumprimento_meta_2022, + SAFE_CAST(tendencia_cumprimento_meta_2023 AS STRING) tendencia_cumprimento_meta_2023, + SAFE_CAST(tendencia_cumprimento_meta_2024 AS STRING) tendencia_cumprimento_meta_2024, + SAFE_CAST(jan_21 AS STRING) jan_21, + SAFE_CAST(fev_21 AS STRING) fev_21, + SAFE_CAST(mar_21 AS STRING) mar_21, + SAFE_CAST(abr_21 AS STRING) abr_21, + SAFE_CAST(mai_21 AS STRING) mai_21, + SAFE_CAST(jun_21 AS STRING) jun_21, + SAFE_CAST(jul_21 AS STRING) jul_21, + SAFE_CAST(ago_21 AS STRING) ago_21, + SAFE_CAST(set_21 AS STRING) set_21, + SAFE_CAST(out_21 AS STRING) out_21, + SAFE_CAST(nov_21 AS STRING) nov_21, + SAFE_CAST(dez_21 AS STRING) dez_21, + SAFE_CAST(final_2021 AS STRING) final_2021, + SAFE_CAST(jan_22 AS STRING) jan_22, + SAFE_CAST(fev_22 AS STRING) fev_22, + SAFE_CAST(mar_22 AS STRING) mar_22, + SAFE_CAST(abr_22 AS STRING) abr_22, + SAFE_CAST(mai_22 AS STRING) mai_22, + SAFE_CAST(jun_22 AS STRING) jun_22, + SAFE_CAST(jul_22 AS STRING) jul_22, + SAFE_CAST(ago_22 AS STRING) ago_22, + SAFE_CAST(set_22 AS STRING) set_22, + SAFE_CAST(out_22 AS STRING) out_22, + SAFE_CAST(nov_22 AS STRING) nov_22, + SAFE_CAST(dez_22 AS STRING) dez_22, + SAFE_CAST(final_2022 AS STRING) final_2022, + SAFE_CAST(final_acumulado_2022 AS STRING) final_acumulado_2022, + SAFE_CAST(jan_23 AS STRING) jan_23, + SAFE_CAST(fev_23 AS STRING) fev_23, + SAFE_CAST(mar_23 AS STRING) mar_23, + SAFE_CAST(abr_23 AS STRING) abr_23, + SAFE_CAST(mai_23 AS STRING) mai_23, + SAFE_CAST(jun_23 AS STRING) jun_23, + SAFE_CAST(jul_23 AS STRING) jul_23, + SAFE_CAST(ago_23 AS STRING) ago_23, + SAFE_CAST(set_23 AS STRING) set_23, + SAFE_CAST(out_23 AS STRING) out_23, + SAFE_CAST(nov_23 AS STRING) nov_23, + SAFE_CAST(dez_23 AS STRING) dez_23, + SAFE_CAST(final_2023 AS STRING) final_2023, + SAFE_CAST(final_acumulado_2023 AS STRING) final_acumulado_2023, + SAFE_CAST(jan_24 AS STRING) jan_24, + SAFE_CAST(fev_24 AS STRING) fev_24, + SAFE_CAST(mar_24 AS STRING) mar_24, + SAFE_CAST(abr_24 AS STRING) abr_24, + SAFE_CAST(mai_24 AS STRING) mai_24, + SAFE_CAST(jun_24 AS STRING) jun_24, + SAFE_CAST(jul_24 AS STRING) jul_24, + SAFE_CAST(ago_24 AS STRING) ago_24, + SAFE_CAST(set_24 AS STRING) set_24, + SAFE_CAST(out_24 AS STRING) out_24, + SAFE_CAST(nov_24 AS STRING) nov_24, + SAFE_CAST(dez_24 AS STRING) dez_24, + SAFE_CAST(final_2024 AS STRING) final_2024, + SAFE_CAST(final_acumulado_2024 AS STRING) final_acumulado_2024, + SAFE_CAST(chaves_projetos_associados AS STRING) chaves_projetos_associados, + SAFE_CAST(nome_dos_projetos AS STRING) nome_dos_projetos, + SAFE_CAST(gerencia_egp_rio AS STRING) gerencia_egp_rio, + SAFE_CAST(SAFE_CAST(quantidade_de_indicadores_na_meta AS FLOAT64) AS INT64) quantidade_de_indicadores_na_meta, + SAFE_CAST(meta_de_resultado AS STRING) meta_de_resultado, + SAFE_CAST(medicao_em_2021 AS STRING) medicao_em_2021, + SAFE_CAST(SAFE_CAST(quantidade_de_projetos_associados AS FLOAT64) AS INT64) quantidade_de_projetos_associados, + SAFE_CAST(tipo_compromisso AS STRING) tipo_compromisso, + SAFE_CAST(texto_compromisso AS STRING) texto_compromisso, + SAFE_CAST(o_globo AS STRING) o_globo, + SAFE_CAST(g1 AS STRING) g1, + SAFE_CAST(folha AS STRING) folha, + SAFE_CAST(texto_o_globo AS STRING) texto_o_globo, + CASE WHEN ar = "S" then TRUE ELSE FALSE END ar, + SAFE_CAST(descricao_meta_desdobrada AS STRING) descricao_meta_desdobrada, + SAFE_CAST(indicador_dashboard_prefeito AS STRING) indicador_dashboard_prefeito, + SAFE_CAST(tipo_meta AS STRING) tipo_meta, + SAFE_CAST(SAFE_CAST(casas_decimais AS FLOAT64) AS INT64) casas_decimais, + SAFE_CAST(meta1 AS STRING) valor_meta_final, + SAFE_CAST(SAFE_CAST(ano_meta_desdobrada AS FLOAT64) AS INT64) ano_meta_desdobrada, + SAFE_CAST(usa_valor_de_referencia_para_calculo_do_resultado_celula_dn AS STRING) usa_valor_de_referencia_para_calculo_do_resultado_celula_dn, + SAFE_CAST(resultado_alcancado_para_2024 AS STRING) resultado_alcancado_para_2024, + SAFE_CAST(ordem_da_meta_no_dashboard_do_prefeito AS STRING) ordem_da_meta_no_dashboard_do_prefeito, + SAFE_CAST(problemas_encontrados___orientacoes AS STRING) problemas_encontrados_orientacoes, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_1 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_1, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_2 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_2, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_3 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_3, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_4 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_4, + SAFE_CAST(andamento_de_projetos_prioritarios_ligados_a_meta___projeto_5 AS STRING) andamento_de_projetos_prioritarios_ligados_a_meta_projeto_5, + FROM `rj-smfp.planejamento_gestao_dashboard_metas_staging.metas_planejamento_estrategico` + CROSS JOIN UNNEST(SPLIT(orgao_responsavel, '\n')) AS orgao_responsavel +), + +pe_valores as ( +SELECT + id_meta_secretaria, + origem, + tendencia_cumprimento_meta_2023, + -- tendencia_subdivisao, + tipo_meta, + casas_decimais, + valor_meta_final, + ano_meta_desdobrada, + resultado_alcancado_para_2024, + ordem_da_meta_no_dashboard_do_prefeito, + _2021, + _2022, + _2023, + _2024, + _2025, + data_valor, + valor +FROM pe_geral +UNPIVOT(valor FOR data_valor IN ( + jan_21, + fev_21, + mar_21, + abr_21, + mai_21, + jun_21, + jul_21, + ago_21, + set_21, + out_21, + nov_21, + dez_21, + jan_22, + fev_22, + mar_22, + abr_22, + mai_22, + jun_22, + jul_22, + ago_22, + set_22, + out_22, + nov_22, + dez_22, + jan_23, + fev_23, + mar_23, + abr_23, + mai_23, + jun_23, + jul_23, + ago_23, + set_23, + out_23, + nov_23, + dez_23, + jan_24, + fev_24, + mar_24, + abr_24, + mai_24, + jun_24, + jul_24, + ago_24, + set_24, + out_24, + nov_24, + dez_24) + ) +), + +pe_textual as ( + SELECT + id_meta_secretaria, + origem, + tendencia_cumprimento_meta_2023, + -- tendencia_subdivisao, + tipo_meta, + casas_decimais, + valor_meta_final, + ano_meta_desdobrada, + resultado_alcancado_para_2024, + _2021, + _2022, + _2023, + _2024, + _2025, + SAFE_CAST(REPLACE(`rj-smfp.planejamento_gestao_dashboard_metas_staging`.tradutor_data(data_valor), "_", "-") AS DATE FORMAT 'MON-YY') data_valor, + valor, + FROM pe_valores + WHERE tipo_meta = 'Textual' +) + +select * from pe_textual diff --git a/queries/models/planejamento_gestao_dashboard_metas/schema.yml b/queries/models/planejamento_gestao_dashboard_metas/schema.yml new file mode 100644 index 0000000..802a35d --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/schema.yml @@ -0,0 +1,81 @@ +version: 2 +models : + - name: pe_textual + description: "**Descrição**: .\n**Frequência de atualização**: Diário\n**Cobertura + temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal de Fazenda e + Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado por (email)**: + brunodepauloalmeida@gmail.com\n" + columns: [] + - name: pe_detalhes + description: "**Descrição**: .\n**Frequência de atualização**: Diário\n**Cobertura + temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal de Fazenda e + Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado por (email)**: + brunodepauloalmeida@gmail.com\n" + columns: [] + - name: todos_detalhes + description: "**Descrição**: .\n**Frequência de atualização**: Diário\n**Cobertura + temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal de Fazenda e + Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado por (email)**: + brunodepauloalmeida@gmail.com\n" + columns: [] + - name: todos_numerico + description: "**Descrição**: .\n**Frequência de atualização**: Diário\n**Cobertura + temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal de Fazenda e + Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado por (email)**: + brunodepauloalmeida@gmail.com\n" + columns: [] + - name: todos_percentual + description: "**Descrição**: .\n**Frequência de atualização**: Diário\n**Cobertura + temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal de Fazenda e + Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado por (email)**: + brunodepauloalmeida@gmail.com\n" + columns: [] + - name: orgaos + description: "**Descrição**: Tabela com todos os órgãos que possuem metas do Acordo + de Resultados ou do Plano Estratégico.\n**Frequência de atualização**: Diário\n + **Cobertura temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal + de Fazenda e Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado + por (email)**: brunodepauloalmeida@gmail.com\n" + columns: [] + - name: ar_detalhes + description: "**Descrição**: .\n**Frequência de atualização**: Diário\n**Cobertura + temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal de Fazenda e + Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado por (email)**: + brunodepauloalmeida@gmail.com\n" + columns: [] + - name: todos_textual + description: "**Descrição**: .\n**Frequência de atualização**: Diário\n**Cobertura + temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal de Fazenda e + Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado por (email)**: + brunodepauloalmeida@gmail.com\n" + columns: [] + - name: pe_porcentagem + description: "**Descrição**: .\n**Frequência de atualização**: Diário\n**Cobertura + temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal de Fazenda e + Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado por (email)**: + brunodepauloalmeida@gmail.com\n" + columns: [] + - name: pe_numerico + description: "**Descrição**: .\n**Frequência de atualização**: Diário\n**Cobertura + temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal de Fazenda e + Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado por (email)**: + brunodepauloalmeida@gmail.com\n" + columns: [] + - name: ar_valores + description: "**Descrição**: .\n**Frequência de atualização**: Diário\n**Cobertura + temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal de Fazenda e + Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado por (email)**: + brunodepauloalmeida@gmail.com\n" + columns: [] + - name: pe_ranking + description: "**Descrição**: .\n**Frequência de atualização**: Diário\n**Cobertura + temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal de Fazenda e + Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado por (email)**: + brunodepauloalmeida@gmail.com\n" + columns: [] + - name: todos_ranking + description: "**Descrição**: .\n**Frequência de atualização**: Diário\n**Cobertura + temporal**: .\n**Órgão gestor dos dados**: Secretaria Municipal de Fazenda e + Planejamento (SMFP)\n**Publicado por**: Bruno Almeida\n**Publicado por (email)**: + brunodepauloalmeida@gmail.com\n" + columns: [] diff --git a/queries/models/planejamento_gestao_dashboard_metas/todos_detalhes.sql b/queries/models/planejamento_gestao_dashboard_metas/todos_detalhes.sql new file mode 100644 index 0000000..b84cc51 --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/todos_detalhes.sql @@ -0,0 +1,341 @@ +WITH ar_com_pe AS ( +SELECT + chave_meta_pe, + ard.id_meta as ar_id_meta, + ard.id_meta_mae, + CASE + WHEN ard.pior_tendencia_meta_mae IS NULL THEN "Sem informações/Não se aplica" + ELSE ard.pior_tendencia_meta_mae + END pior_tendencia_meta_mae, + ard.ar_data_referencia_ultimo_resultado, + CASE + WHEN ar_unidade_medida = "Numérico" THEN REPLACE(FORMAT("%'d", CAST(ar_ultimo_resultado AS int64)), ",", ".") + WHEN ar_unidade_medida = "Percentual" THEN REPLACE(CONCAT(FORMAT("%'d", CAST(FLOOR(ar_ultimo_resultado) AS int64)), SUBSTR(FORMAT("%.2f", CAST(ar_ultimo_resultado AS float64)), -3), "%"), ".", ",") + WHEN ar_unidade_medida = "Textual" AND ar_ultimo_resultado = 1 THEN "Entregue" + WHEN ar_unidade_medida = "Textual" AND ar_ultimo_resultado != 1 THEN "Não Entregue" + ELSE SAFE_CAST(ar_ultimo_resultado AS STRING) + END AS ar_ultimo_resultado, + ard.tendencia_ar as ar_tendencia, + ard.resumo_comentarios as ar_resumo_comentarios, + ard.origem as ar_origem, + ard.orgao_sigla as ar_orgao, + ard.ar_unidade_medida as ar_tipo_meta, + ard.descricao_planilha as ar_nome_meta, + CASE + WHEN ar_unidade_medida = "Numérico" THEN REPLACE(FORMAT("%'d", CAST(dezembro AS int64)), ",", ".") + WHEN ar_unidade_medida = "Percentual" THEN REPLACE(CONCAT(FORMAT("%'d", CAST(FLOOR(dezembro) AS int64)), SUBSTR(FORMAT("%.2f", CAST(dezembro AS float64)), -3), "%"), ".", ",") + WHEN ar_unidade_medida = "Textual" THEN "Meta entregue" + ELSE SAFE_CAST(dezembro AS STRING) + END as ar_objetivo_2023, + ped.id_meta_secretaria as pe_id_meta_secretaria, + ped.codigo_meta, + ped.tendencia_pe, + ped.origem as pe_origem, + ped.orgao_responsavel as pe_orgao, + ped.tipo_meta as pe_tipo_meta, + ped.casas_decimais as pe_casas_decimais, + ped.valor_meta_final AS pe_objetivo_2024, + ped._2023 as pe_objetivo_2023, + ped.ultimo_resultado as pe_ultimo_resultado, + ped.data_referencia_resultado as pe_data_referencia_ultimo_resultado, + ped.descricao_meta_desdobrada as pe_nome_meta, + ped.cor_fonte as pe_cor_fonte, + ped.pe_tendencia_normalizada as pe_tendencia_meta_desdobrada, + ped.tema_transversal as pe_tema_transversal, + ped.meta as pe_descricao_meta, + ped.comentarios_da_meta as pe_comentarios_da_meta, + ped.resumo_executivo as pe_resumo_executivo, + ped.pe_desdobramento_anual_da_meta, + ped.codigo_meta_desdobrada as pe_codigo_meta_desdobrada, +FROM {{ ref('ar_detalhes') }} as ard +--FROM rj-smfp.planejamento_gestao_dashboard_metas.ar_detalhes as ard +LEFT JOIN ( + SELECT + chave_meta_pe, + MIN(chave_meta_ar_egpweb) chave_meta_ar_egpweb + FROM `rj-smfp.planejamento_gestao_dashboard_metas_staging.relacao_metas` + WHERE relacao_entre_indicadores = '1 - Direta (Mesmo indicador)' + AND chave_meta_ar like '2023%' + GROUP BY chave_meta_pe + ) as rm + ON ard.id_meta = rm.chave_meta_ar_egpweb +LEFT JOIN {{ ref('pe_detalhes') }} as ped +--LEFT JOIN rj-smfp.planejamento_gestao_dashboard_metas.pe_detalhes as ped + ON rm.chave_meta_pe = ped.codigo_meta_desdobrada AND ard.orgao_sigla = ped.orgao_responsavel +ORDER BY pe_tipo_meta DESC +) + +, pe_com_ar AS ( + SELECT + chave_meta_ar_egpweb, + ped.id_meta_secretaria, + ped.codigo_meta, + ped.tendencia_pe, + ped.origem as pe_origem, + ped.orgao_responsavel as pe_orgao, + ped.tipo_meta as pe_tipo_meta, + ped.casas_decimais as pe_casas_decimais, + ped.valor_meta_final AS pe_objetivo_2024, + ped._2023 as pe_objetivo_2023, + ped.ultimo_resultado as pe_ultimo_resultado, + ped.data_referencia_resultado as pe_data_referencia_ultimo_resultado, + ped.descricao_meta_desdobrada as pe_nome_meta, + ped.cor_fonte as pe_cor_fonte, + ped.pe_tendencia_normalizada as pe_tendencia_meta_desdobrada, + ped.meta as pe_descricao_meta, + ped.tema_transversal as pe_tema_transversal, + ped.comentarios_da_meta as pe_comentarios_da_meta, + ped.resumo_executivo as pe_resumo_executivo, + ped.pe_desdobramento_anual_da_meta, + ped.codigo_meta_desdobrada as pe_codigo_meta_desdobrada, + ard.id_meta_mae, + ard.pior_tendencia_meta_mae, + ard.ar_data_referencia_ultimo_resultado, + CASE + WHEN ar_unidade_medida = "Numérico" THEN REPLACE(FORMAT("%'d", CAST(ar_ultimo_resultado AS int64)), ",", ".") + WHEN ar_unidade_medida = "Percentual" THEN REPLACE(CONCAT(FORMAT("%'d", CAST(FLOOR(ar_ultimo_resultado) AS int64)), SUBSTR(FORMAT("%.2f", CAST(ar_ultimo_resultado AS float64)), -3), "%"), ".", ",") + WHEN ar_unidade_medida = "Textual" AND ar_ultimo_resultado = 1 THEN "Entregue" + WHEN ar_unidade_medida = "Textual" AND ar_ultimo_resultado != 1 THEN "Não Entregue" + ELSE SAFE_CAST(ar_ultimo_resultado AS STRING) + END AS ar_ultimo_resultado, + ard.tendencia_ar as ar_tendencia, + ard.resumo_comentarios as ar_resumo_comentarios, + ard.origem as ar_origem, + ard.orgao_sigla as ar_orgao, + ard.ar_unidade_medida as ar_tipo_meta, + ard.descricao_planilha as ar_nome_meta, + CASE + WHEN ar_unidade_medida = "Numérico" THEN REPLACE(FORMAT("%'d", CAST(dezembro AS int64)), ",", ".") + WHEN ar_unidade_medida = "Percentual" THEN REPLACE(CONCAT(FORMAT("%'d", CAST(FLOOR(dezembro) AS int64)), SUBSTR(FORMAT("%.2f", CAST(dezembro AS float64)), -3), "%"), ".", ",") + WHEN ar_unidade_medida = "Textual" THEN "Meta entregue" + ELSE SAFE_CAST(dezembro AS STRING) + END as ar_objetivo_2023 + FROM {{ ref('pe_detalhes') }} as ped + --FROM rj-smfp.planejamento_gestao_dashboard_metas.pe_detalhes as ped + LEFT JOIN ( + SELECT + chave_meta_pe, + MIN(chave_meta_ar_egpweb) chave_meta_ar_egpweb + FROM `rj-smfp.planejamento_gestao_dashboard_metas_staging.relacao_metas` + WHERE relacao_entre_indicadores = '1 - Direta (Mesmo indicador)' + AND chave_meta_ar like '2023%' + GROUP BY chave_meta_pe + ) as rm + ON rm.chave_meta_pe = ped.codigo_meta_desdobrada + LEFT JOIN {{ ref('ar_detalhes') }} as ard + --LEFT JOIN rj-smfp.planejamento_gestao_dashboard_metas.ar_detalhes as ard + ON rm.chave_meta_ar_egpweb = ard.id_meta AND ard.orgao_sigla = ped.orgao_responsavel +) + +, todos_juntos AS ( +SELECT + ar_id_meta as id_meta_principal, + pe_id_meta_secretaria as id_meta_relacionada, + id_meta_mae as id_meta_mae, + pior_tendencia_meta_mae as tendencia_meta_mae, + ar_origem as origem_meta, + ar_orgao as orgao_sigla, + ar_nome_meta as dashboard_nome, + pe_objetivo_2023 as dashboard_objetivo_pe, + ar_objetivo_2023 as dashboard_objetivo_ar, + CASE + WHEN ar_data_referencia_ultimo_resultado IS NULL and pe_data_referencia_ultimo_resultado IS NULL THEN NULL + WHEN ar_data_referencia_ultimo_resultado IS NULL THEN pe_ultimo_resultado + WHEN pe_data_referencia_ultimo_resultado IS NULL THEN ar_ultimo_resultado + WHEN ar_data_referencia_ultimo_resultado > pe_data_referencia_ultimo_resultado + THEN ar_ultimo_resultado + ELSE pe_ultimo_resultado + END as dashboard_ultimo_resultado, + CASE + WHEN ar_data_referencia_ultimo_resultado IS NULL and pe_data_referencia_ultimo_resultado IS NULL THEN NULL + WHEN ar_data_referencia_ultimo_resultado IS NULL THEN pe_data_referencia_ultimo_resultado + WHEN pe_data_referencia_ultimo_resultado IS NULL THEN ar_data_referencia_ultimo_resultado + WHEN ar_data_referencia_ultimo_resultado > pe_data_referencia_ultimo_resultado + THEN ar_data_referencia_ultimo_resultado + ELSE pe_data_referencia_ultimo_resultado + END as dashboard_data_referencia_ultimo_resultado, + pe_tendencia_meta_desdobrada as dashboard_status_pe, + ar_tendencia as dashboard_status_ar, + CASE + WHEN ar_tendencia = "Cumprida" then "#005A38" + WHEN ar_tendencia = "Andamento Satisfatório" then "#62C26A" + WHEN ar_tendencia = "Atraso Recuperável" then "#E9CE56" + WHEN ar_tendencia = "Cumprida parcialmente" then "#ABAD67" + WHEN ar_tendencia = "Atraso grave" then "#E2843C" + WHEN ar_tendencia = "Não cumprida" then "#BD443F" + ELSE "#4F4F4F" + END as dashboard_cor_fonte_ar, + CASE + WHEN pe_tendencia_meta_desdobrada = "Cumprida" then "#005A38" + WHEN pe_tendencia_meta_desdobrada = "Andamento Satisfatório" then "#62C26A" + WHEN pe_tendencia_meta_desdobrada = "Atraso Recuperável" then "#E9CE56" + WHEN pe_tendencia_meta_desdobrada = "Cumprida parcialmente" then "#ABAD67" + WHEN pe_tendencia_meta_desdobrada = "Atraso grave" then "#E2843C" + WHEN pe_tendencia_meta_desdobrada = "Não cumprida" then "#BD443F" + WHEN pe_tendencia_meta_desdobrada = "Descontinuada" then "#8B0000" + ELSE "#4F4F4F" + END as dashboard_cor_fonte_pe, + ar_nome_meta as dashboard_descricao, + ar_resumo_comentarios as dashboard_resumo, + ar_resumo_comentarios as dashboard_comentarios, + "ACORDO DE RESULTADOS" as dashboard_tema, + ar_objetivo_2023 as dashboard_detalhamento_objetivo, + ar_tipo_meta as tipo_meta, + NULL as desdobramento_anual_da_meta, + pe_codigo_meta_desdobrada as pe_codigo_meta_desdobrada +FROM ar_com_pe + +UNION ALL + +SELECT + id_meta_secretaria as id_meta_principal, + chave_meta_ar_egpweb as id_meta_relacionada, + codigo_meta as id_meta_mae, + tendencia_pe as tendencia_meta_mae, + pe_origem as origem_meta, + pe_orgao as orgao_sigla, + pe_nome_meta as dashboard_nome, + pe_objetivo_2023 as dashboard_objetivo_pe, + ar_objetivo_2023 as dashboard_objetivo_ar, + CASE + WHEN ar_data_referencia_ultimo_resultado IS NULL and pe_data_referencia_ultimo_resultado IS NULL THEN NULL + WHEN ar_data_referencia_ultimo_resultado IS NULL THEN pe_ultimo_resultado + WHEN pe_data_referencia_ultimo_resultado IS NULL THEN ar_ultimo_resultado + WHEN ar_data_referencia_ultimo_resultado >= pe_data_referencia_ultimo_resultado + THEN ar_ultimo_resultado + ELSE pe_ultimo_resultado + END as dashboard_ultimo_resultado, + CASE + WHEN ar_data_referencia_ultimo_resultado IS NULL and pe_data_referencia_ultimo_resultado IS NULL THEN NULL + WHEN ar_data_referencia_ultimo_resultado IS NULL THEN pe_data_referencia_ultimo_resultado + WHEN pe_data_referencia_ultimo_resultado IS NULL THEN ar_data_referencia_ultimo_resultado + WHEN ar_data_referencia_ultimo_resultado >= pe_data_referencia_ultimo_resultado + THEN ar_data_referencia_ultimo_resultado + ELSE pe_data_referencia_ultimo_resultado + END as dashboard_data_referencia_ultimo_resultado, + pe_tendencia_meta_desdobrada as dashboard_status_pe, + ar_tendencia as dashboard_status_ar, + CASE + WHEN ar_tendencia = "Cumprida" then "#005A38" + WHEN ar_tendencia = "Andamento Satisfatório" then "#62C26A" + WHEN ar_tendencia = "Atraso Recuperável" then "#E9CE56" + WHEN ar_tendencia = "Cumprida parcialmente" then "#ABAD67" + WHEN ar_tendencia = "Atraso grave" then "#E2843C" + WHEN ar_tendencia = "Não cumprida" then "#BD443F" + ELSE "#4F4F4F" + END as dashboard_cor_fonte_ar, + CASE + WHEN pe_tendencia_meta_desdobrada = "Cumprida" then "#005A38" + WHEN pe_tendencia_meta_desdobrada = "Andamento Satisfatório" then "#62C26A" + WHEN pe_tendencia_meta_desdobrada = "Atraso Recuperável" then "#E9CE56" + WHEN pe_tendencia_meta_desdobrada = "Cumprida parcialmente" then "#ABAD67" + WHEN pe_tendencia_meta_desdobrada = "Atraso grave" then "#E2843C" + WHEN pe_tendencia_meta_desdobrada = "Não cumprida" then "#BD443F" + WHEN pe_tendencia_meta_desdobrada = "Descontinuada" then "#8B0000" + ELSE "#4F4F4F" + END as dashboard_cor_fonte_pe, + CASE + WHEN pe_descricao_meta = "nan" THEN pe_nome_meta + ELSE pe_descricao_meta + END as dashboard_descricao, + pe_resumo_executivo as dashboard_resumo, + pe_comentarios_da_meta as dashboard_comentarios, + pe_tema_transversal as dashboard_tema, + pe_objetivo_2023 as dashboard_detalhamento_objetivo, + pe_tipo_meta as tipo_meta, + pe_desdobramento_anual_da_meta as desdobramento_anual_da_meta, + pe_codigo_meta_desdobrada as pe_codigo_meta_desdobrada +FROM pe_com_ar +) + +, todos_ordenados AS ( +SELECT + tj.*, + CASE + WHEN tj.origem_meta = "Plano Estratégico" AND tj.id_meta_relacionada IS NULL THEN "PE" + WHEN tj.origem_meta = "Plano Estratégico" AND tj.id_meta_relacionada IS NOT NULL THEN "PE/AR" + ELSE "AR" + END dashboard_origem_meta, + oo.ordenacao_orgaos, + CASE + WHEN tj.origem_meta = "Plano Estratégico" THEN 1 + -- WHEN rel_ind.colocar_logo_abaixo IS TRUE THEN 1 + ELSE 2 + END ordenacao_origem, + rel_ind.colocar_logo_abaixo, + rel_ind.chave_meta_pe as codigo_pe_relacao_indireta, + CASE + WHEN rm.ordem_meta_ar IS NULL THEN "9999" + ELSE rm.ordem_meta_ar + END ordem_meta_ar +FROM todos_juntos as tj +LEFT JOIN ( + SELECT DISTINCT + orgao_sigla, + CASE WHEN ordem_secretariado_e_relatorios IS NULL THEN 999 ELSE CAST(CAST(ordem_secretariado_e_relatorios AS FLOAT64) AS INT64) END ordenacao_orgaos + FROM {{ ref('orgaos') }} + --FROM rj-smfp.planejamento_gestao_dashboard_metas.orgaos +) AS oo + ON tj.orgao_sigla = oo.orgao_sigla +LEFT JOIN (SELECT + chave_meta_ar_egpweb, + chave_meta_pe, + LEFT(chave_meta_ar,4) as ano, + CASE + WHEN relacao_entre_indicadores = "2 - Direta (Outro indicador)" THEN TRUE + ELSE FALSE + END as colocar_logo_abaixo + FROM `rj-smfp.planejamento_gestao_dashboard_metas_staging.relacao_metas` + WHERE chave_meta_ar like '2023%') as rel_ind + ON tj.id_meta_principal = rel_ind.chave_meta_ar_egpweb +LEFT JOIN (SELECT codigo_egpweb, MIN(cod_meta_d) as ordem_meta_ar FROM `rj-smfp.planejamento_gestao_acordo_resultados_staging.meta_desdobrada` group by codigo_egpweb) as rm + ON tj.id_meta_principal = SAFE_CAST(SAFE_CAST(rm.codigo_egpweb AS FLOAT64) AS STRING) +) + +SELECT + id_meta_principal, + id_meta_relacionada, + CASE + WHEN id_meta_relacionada IS NULL THEN id_meta_principal + WHEN origem_meta = "Plano Estratégico" THEN CONCAT(id_meta_principal, " - ", id_meta_relacionada) + WHEN origem_meta = "Acordo de Resultados" THEN CONCAT(id_meta_relacionada, " - ", id_meta_principal) + END id_detalhamento, + id_meta_mae, + tendencia_meta_mae, + origem_meta, + orgao_sigla, + dashboard_nome, + dashboard_objetivo_pe, + dashboard_objetivo_ar, + dashboard_ultimo_resultado, + dashboard_data_referencia_ultimo_resultado, + dashboard_status_pe, + dashboard_status_ar, + dashboard_cor_fonte_ar, + dashboard_cor_fonte_pe, + dashboard_origem_meta, + dashboard_descricao, + dashboard_resumo, + dashboard_comentarios, + dashboard_tema, + dashboard_detalhamento_objetivo, + tipo_meta, + desdobramento_anual_da_meta, + (ROW_NUMBER() OVER (ORDER BY + ordenacao_orgaos, + ordenacao_origem, + CASE WHEN origem_meta = "Plano Estratégico" THEN id_meta_principal + ELSE ordem_meta_ar END)) ordenacao_final + -- CASE + -- WHEN origem_meta = "Plano Estratégico" THEN pe_codigo_meta_desdobrada + -- WHEN colocar_logo_abaixo IS TRUE THEN CONCAT(codigo_pe_relacao_indireta, "1") + -- ELSE ordem_meta_ar END ordem_codigos, + -- (ROW_NUMBER() OVER (ORDER BY + -- ordenacao_orgaos, + -- ordenacao_origem, + -- CASE + -- WHEN origem_meta = "Plano Estratégico" THEN pe_codigo_meta_desdobrada + -- WHEN colocar_logo_abaixo IS TRUE THEN CONCAT(codigo_pe_relacao_indireta, "1") + -- ELSE ordem_meta_ar END)) ordenacao_final +FROM todos_ordenados +ORDER BY ordenacao_final diff --git a/queries/models/planejamento_gestao_dashboard_metas/todos_numerico.sql b/queries/models/planejamento_gestao_dashboard_metas/todos_numerico.sql new file mode 100644 index 0000000..9727d84 --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/todos_numerico.sql @@ -0,0 +1,62 @@ + with pe_numerico AS ( + SELECT + origem, + id_meta_secretaria, + tipo_meta, + data_valor, + valor + FROM {{ ref('pe_numerico') }} + ORDER BY id_meta_secretaria, data_valor + ) + + , ar_numerico AS ( + SELECT DISTINCT + origem, + id_meta, + ar_unidade_medida, + data_valor, + valor + FROM {{ ref('ar_valores') }} + WHERE ar_unidade_medida = 'Numérico' + ) + + , todos_numerico AS ( + SELECT + origem, + id_meta_secretaria as id_meta, + tipo_meta, + data_valor, + valor + FROM pe_numerico + + UNION ALL + + SELECT + origem, + id_meta, + ar_unidade_medida as tipo_meta, + data_valor, + valor + FROM ar_numerico) + + SELECT + tv.*, + td.id_detalhamento, + td.dashboard_detalhamento_objetivo, + td.dashboard_descricao, + td.dashboard_resumo, + td.dashboard_tema, + CASE + WHEN tv.origem = "Acordo de Resultados" THEN td.dashboard_status_ar + WHEN tv.origem = "Plano Estratégico" THEN dashboard_status_pe + ELSE NULL + END status_detalhamento, + CASE + WHEN tv.origem = "Acordo de Resultados" THEN td.dashboard_cor_fonte_ar + WHEN tv.origem = "Plano Estratégico" THEN td.dashboard_cor_fonte_pe + ELSE NULL + END cor_status_detalhamento + FROM todos_numerico as tv + LEFT JOIN {{ ref('todos_detalhes') }} as td + ON tv.id_meta = td.id_meta_principal + ORDER BY origem, id_meta, data_valor \ No newline at end of file diff --git a/queries/models/planejamento_gestao_dashboard_metas/todos_percentual.sql b/queries/models/planejamento_gestao_dashboard_metas/todos_percentual.sql new file mode 100644 index 0000000..dbf3a74 --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/todos_percentual.sql @@ -0,0 +1,65 @@ + with pe_percentual AS ( + SELECT + origem, + id_meta_secretaria, + tipo_meta, + data_valor, + CASE + WHEN IS_NAN(valor) THEN NULL + ELSE valor + END valor + FROM {{ ref('pe_porcentagem') }} + ORDER BY id_meta_secretaria, data_valor + ) + + , ar_percentual AS ( + SELECT DISTINCT + origem, + id_meta, + ar_unidade_medida, + data_valor, + ROUND(valor/100,4) as valor + FROM {{ ref('ar_valores') }} + WHERE ar_unidade_medida = 'Percentual' + ) + + , todos_percentual AS ( + SELECT + origem, + id_meta_secretaria as id_meta, + tipo_meta, + data_valor, + valor + FROM pe_percentual + + UNION ALL + + SELECT + origem, + id_meta, + ar_unidade_medida as tipo_meta, + data_valor, + valor + FROM ar_percentual) + + SELECT + tv.*, + td.id_detalhamento, + td.dashboard_detalhamento_objetivo, + td.dashboard_descricao, + td.dashboard_resumo, + td.dashboard_tema, + CASE + WHEN tv.origem = "Acordo de Resultados" THEN td.dashboard_status_ar + WHEN tv.origem = "Plano Estratégico" THEN dashboard_status_pe + ELSE NULL + END status_detalhamento, + CASE + WHEN tv.origem = "Acordo de Resultados" THEN td.dashboard_cor_fonte_ar + WHEN tv.origem = "Plano Estratégico" THEN td.dashboard_cor_fonte_pe + ELSE NULL + END cor_status_detalhamento + FROM todos_percentual as tv + LEFT JOIN {{ ref('todos_detalhes') }} as td + ON tv.id_meta = td.id_meta_principal + ORDER BY origem, id_meta, data_valor \ No newline at end of file diff --git a/queries/models/planejamento_gestao_dashboard_metas/todos_ranking.sql b/queries/models/planejamento_gestao_dashboard_metas/todos_ranking.sql new file mode 100644 index 0000000..d0aed75 --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/todos_ranking.sql @@ -0,0 +1,62 @@ + with pe_ranking AS ( + SELECT + origem, + id_meta_secretaria, + tipo_meta, + data_valor, + valor + FROM {{ ref('pe_ranking') }} + ORDER BY id_meta_secretaria, data_valor + ) + + , ar_ranking AS ( + SELECT DISTINCT + origem, + id_meta, + ar_unidade_medida, + data_valor, + valor + FROM {{ ref('ar_valores') }} + WHERE ar_unidade_medida = 'Ranking' + ) + + , todos_ranking AS ( + SELECT + origem, + id_meta_secretaria as id_meta, + tipo_meta, + data_valor, + valor + FROM pe_ranking + + UNION ALL + + SELECT + origem, + id_meta, + ar_unidade_medida as tipo_meta, + data_valor, + valor + FROM ar_ranking) + + SELECT + tv.*, + td.id_detalhamento, + td.dashboard_detalhamento_objetivo, + td.dashboard_descricao, + td.dashboard_resumo, + td.dashboard_tema, + CASE + WHEN tv.origem = "Acordo de Resultados" THEN td.dashboard_status_ar + WHEN tv.origem = "Plano Estratégico" THEN dashboard_status_pe + ELSE NULL + END status_detalhamento, + CASE + WHEN tv.origem = "Acordo de Resultados" THEN td.dashboard_cor_fonte_ar + WHEN tv.origem = "Plano Estratégico" THEN td.dashboard_cor_fonte_pe + ELSE NULL + END cor_status_detalhamento + FROM todos_ranking as tv + LEFT JOIN {{ ref('todos_detalhes') }} as td + ON tv.id_meta = td.id_meta_principal + ORDER BY origem, id_meta, data_valor \ No newline at end of file diff --git a/queries/models/planejamento_gestao_dashboard_metas/todos_textual.sql b/queries/models/planejamento_gestao_dashboard_metas/todos_textual.sql new file mode 100644 index 0000000..d89b423 --- /dev/null +++ b/queries/models/planejamento_gestao_dashboard_metas/todos_textual.sql @@ -0,0 +1,66 @@ + with pe_textual AS ( + SELECT + origem, + id_meta_secretaria, + tipo_meta, + data_valor, + valor + FROM {{ ref('pe_textual') }} + ORDER BY id_meta_secretaria, data_valor + ) + + , ar_textual AS ( + SELECT DISTINCT + origem, + id_meta, + ar_unidade_medida, + data_valor, + CASE + WHEN valor = 1 THEN "Entregue" + WHEN valor = 0 THEN "Não Entregue" + ELSE "Não identificado" + END valor + FROM {{ ref('ar_valores') }} + WHERE ar_unidade_medida = 'Textual' AND data_valor <= CURRENT_DATE() + ) + + , todos_textual AS ( + SELECT + origem, + id_meta_secretaria as id_meta, + tipo_meta, + data_valor, + valor + FROM pe_textual + + UNION ALL + + SELECT + origem, + id_meta, + ar_unidade_medida as tipo_meta, + data_valor, + valor + FROM ar_textual) + + SELECT + tv.*, + td.id_detalhamento, + td.dashboard_detalhamento_objetivo, + td.dashboard_descricao, + td.dashboard_resumo, + td.dashboard_tema, + CASE + WHEN tv.origem = "Acordo de Resultados" THEN td.dashboard_status_ar + WHEN tv.origem = "Plano Estratégico" THEN dashboard_status_pe + ELSE NULL + END status_detalhamento, + CASE + WHEN tv.origem = "Acordo de Resultados" THEN td.dashboard_cor_fonte_ar + WHEN tv.origem = "Plano Estratégico" THEN td.dashboard_cor_fonte_pe + ELSE NULL + END cor_status_detalhamento + FROM todos_textual as tv + LEFT JOIN {{ ref('todos_detalhes') }} as td + ON tv.id_meta = td.id_meta_principal + ORDER BY origem, id_meta, data_valor \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/afastamento_antigo.sql b/queries/models/recursos_humanos_ergon/afastamento_antigo.sql new file mode 100644 index 0000000..b2063d2 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/afastamento_antigo.sql @@ -0,0 +1,6 @@ +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(m10), r'\.0$', '') AS STRING) AS id_matricula_vinculo, + SAFE_CAST(TRIM(sa_dt_afas_y2) AS STRING) AS data_inicio, + SAFE_CAST(TRIM(sa_dt_prer_y2) AS STRING) AS data_previsao_retorno, + SAFE_CAST(TRIM(sa_dt_retr_y2) AS STRING) AS data_fim, +FROM rj-smfp.recursos_humanos_ergon_staging.afastamento_antigo AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/afastamento_antigo_nomes.sql b/queries/models/recursos_humanos_ergon/afastamento_antigo_nomes.sql new file mode 100644 index 0000000..a2c7c04 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/afastamento_antigo_nomes.sql @@ -0,0 +1,5 @@ +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(REGEXP_REPLACE(TRIM(afast_cod), r'\.0$', '') AS STRING) AS id_afastamento, + SAFE_CAST(TRIM(afast_descr) AS STRING) AS nome_afastamento, +FROM rj-smfp.recursos_humanos_ergon_staging.afastamento_antigo_nomes AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/averbacoes.sql b/queries/models/recursos_humanos_ergon/averbacoes.sql new file mode 100644 index 0000000..0ea3983 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/averbacoes.sql @@ -0,0 +1,16 @@ +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(REGEXP_REPLACE(TRIM(chave), r'\.0$', '') AS STRING) AS id_averbacao, + SAFE_CAST(TRIM(dtini) AS STRING) AS data_inicio, + SAFE_CAST(TRIM(dtfim) AS STRING) AS data_final, + SAFE_CAST(TRIM(instituicao) AS STRING) AS instituicao, + SAFE_CAST(REGEXP_REPLACE(TRIM(tipotempo), r'\.0$', '') AS STRING) AS id_tipo_tempo, + SAFE_CAST(TRIM(data_a_contar) AS STRING) AS data_validade, + SAFE_CAST(TRIM(total_dias) AS STRING) AS total_dias_averbados, + SAFE_CAST(TRIM(motivo) AS STRING) AS motivo, + SAFE_CAST(TRIM(sobrepoe) AS STRING) AS sobrepoe, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(TRIM(obs) AS STRING) AS obs, + SAFE_CAST(TRIM(regprev) AS STRING) AS regime_previdenciario, +FROM rj-smfp.recursos_humanos_ergon_staging.averbacoes AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/averbacoes_contagem.sql b/queries/models/recursos_humanos_ergon/averbacoes_contagem.sql new file mode 100644 index 0000000..db3832d --- /dev/null +++ b/queries/models/recursos_humanos_ergon/averbacoes_contagem.sql @@ -0,0 +1,7 @@ +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(REGEXP_REPLACE(TRIM(chaveaverb), r'\.0$', '') AS STRING) AS id_averbacao, + SAFE_CAST(TRIM(finalidade) AS STRING) AS finalidade, + SAFE_CAST(TRIM(dias) AS STRING) AS dias, +FROM rj-smfp.recursos_humanos_ergon_staging.averbacoes_contagem AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/cargo.sql b/queries/models/recursos_humanos_ergon/cargo.sql new file mode 100644 index 0000000..9eff573 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/cargo.sql @@ -0,0 +1,15 @@ +{{ + config( + alias='cargo', + schema='recursos_humanos_ergon' + ) +}} +SELECT + SAFE_CAST(REGEXP_REPLACE(cargo, r'\.0$', '') AS STRING) AS id_cargo, + SAFE_CAST(nome AS STRING) AS nome, + SAFE_CAST(categoria AS STRING) AS categoria, + SAFE_CAST(subcategoria AS STRING) AS subcategoria, + SAFE_CAST(controle_vaga AS STRING) AS tipo_controle_vaga, + SAFE_CAST(REGEXP_REPLACE(escolaridade, r'\.0$', '') AS STRING) AS escolaridade, + SAFE_CAST(e_aglutinador AS STRING) AS aglutinador, +FROM rj-smfp.recursos_humanos_ergon_staging.cargo AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/ficha_financeira.sql b/queries/models/recursos_humanos_ergon/ficha_financeira.sql new file mode 100644 index 0000000..0a792ff --- /dev/null +++ b/queries/models/recursos_humanos_ergon/ficha_financeira.sql @@ -0,0 +1,38 @@ +{{ + config( + materialized='table', + partition_by={ + "field": "data_particao", + "data_type": "date", + "granularity": "month", + } + ) +}} + +SELECT + SAFE_CAST(DATE(mes_ano_folha) AS DATE) AS mes_ano_folha, + SAFE_CAST(REGEXP_REPLACE(TRIM(num_folha), r'\.0$', '') AS INT64) AS num_folha, + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS numfunc, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS numvinc, + SAFE_CAST(REGEXP_REPLACE(TRIM(numpens), r'\.0$', '') AS INT64) AS numpens, + SAFE_CAST(TRIM(mes_ano_direito) AS STRING) AS mes_ano_direito, + SAFE_CAST(TRIM(rubrica) AS STRING) AS rubrica, + SAFE_CAST(TRIM(tipo_rubrica) AS STRING) AS tipo_rubrica, + SAFE_CAST(TRIM(desc_vant) AS STRING) AS desc_vant, + SAFE_CAST(TRIM(complemento) AS STRING) AS complemento, + SAFE_CAST(REGEXP_REPLACE(valor, r',', '.') AS FLOAT64) AS valor, + SAFE_CAST(REGEXP_REPLACE(correcao, r',', '.') AS FLOAT64) AS correcao, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS emp_codigo, + SAFE_CAST(data_particao AS DATE) data_particao, +FROM rj-smfp.recursos_humanos_ergon_staging.ficha_financeira AS t +-- WHERE +-- SAFE_CAST(data_particao AS DATE) < CURRENT_DATE('America/Sao_Paulo') + +-- {% if is_incremental() %} + +-- {% set max_partition = run_query("SELECT gr FROM (SELECT IF(max(data_particao) > CURRENT_DATE('America/Sao_Paulo'), CURRENT_DATE('America/Sao_Paulo'), max(data_particao)) as gr FROM " ~ this ~ ")").columns[0].values()[0] %} + +-- AND +-- SAFE_CAST(data_particao AS DATE) > ("{{ max_partition }}") + +-- {% endif %} \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/ficha_financeira_contabil.sql b/queries/models/recursos_humanos_ergon/ficha_financeira_contabil.sql new file mode 100644 index 0000000..c3ac7a6 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/ficha_financeira_contabil.sql @@ -0,0 +1,43 @@ +{{ + config( + materialized='table', + partition_by={ + "field": "data_particao", + "data_type": "date", + "granularity": "month", + } + ) +}} + +SELECT + SAFE_CAST(DATE(mes_ano_folha) AS DATE) AS mes_ano_folha, + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'.0$', '') AS STRING) AS numfunc, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'.0$', '') AS STRING) AS numvinc, + SAFE_CAST(REGEXP_REPLACE(TRIM(numpens), r'.0$', '') AS INT64) AS numpens, + SAFE_CAST(TRIM(num_folha) AS INT64) AS num_folha, + SAFE_CAST(REGEXP_REPLACE(TRIM(setor), r'.0$', '') AS STRING) AS setor, + SAFE_CAST(TRIM(secretaria) AS STRING) AS secretaria, + SAFE_CAST(TRIM(tipo_func) AS STRING) AS tipo_func, + SAFE_CAST(TRIM(detalha) AS STRING) AS detalha, + SAFE_CAST(TRIM(rubrica) AS STRING) AS rubrica, + SAFE_CAST(TRIM(tipo_rubrica) AS STRING) AS tipo_rubrica, + SAFE_CAST(TRIM(mes_ano_direito) AS STRING) AS mes_ano_direito, + SAFE_CAST(TRIM(desc_vant) AS STRING) AS desc_vant, + SAFE_CAST(REGEXP_REPLACE(valor, r',', '.') AS FLOAT64) AS valor, + SAFE_CAST(TRIM(complemento) AS STRING) AS complemento, + SAFE_CAST(TRIM(tipo_classif) AS STRING) AS tipo_classif, + SAFE_CAST(TRIM(classificacao) AS STRING) AS classificacao, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'.0$', '') AS STRING) AS emp_codigo, + SAFE_CAST(data_particao AS DATE) data_particao, +FROM rj-smfp.recursos_humanos_ergon_staging.ficha_financeira_contabil AS t +-- WHERE +-- SAFE_CAST(data_particao AS DATE) < CURRENT_DATE('America/Sao_Paulo') + +-- {% if is_incremental() %} + +-- {% set max_partition = run_query("SELECT gr FROM (SELECT IF(max(data_particao) > CURRENT_DATE('America/Sao_Paulo'), CURRENT_DATE('America/Sao_Paulo'), max(data_particao)) as gr FROM " ~ this ~ ")").columns[0].values()[0] %} + +-- AND +-- SAFE_CAST(data_particao AS DATE) > ("{{ max_partition }}") + +-- {% endif %} diff --git a/queries/models/recursos_humanos_ergon/fita_banco.sql b/queries/models/recursos_humanos_ergon/fita_banco.sql new file mode 100644 index 0000000..613a72a --- /dev/null +++ b/queries/models/recursos_humanos_ergon/fita_banco.sql @@ -0,0 +1,56 @@ +{{ + config( + materialized='table', + partition_by={ + "field": "data_particao", + "data_type": "date", + "granularity": "month", + } + ) +}} +SELECT + SAFE_CAST(REGEXP_REPLACE(lancamento, r'\.0$', '') AS STRING) AS lancamento, + SAFE_CAST(mes_ano AS DATE) AS mes_ano, + SAFE_CAST(dtexerc AS DATE) AS dtexerc, + SAFE_CAST(dtaposent AS DATE) AS dtaposent, + SAFE_CAST(dtvac AS DATE) AS dtvac, + SAFE_CAST(data_credito AS DATE) AS data_credito, + SAFE_CAST(REGEXP_REPLACE(numfunc, r'\.0$', '') AS STRING) AS numfunc, + SAFE_CAST(REGEXP_REPLACE(numvinc, r'\.0$', '') AS STRING) AS numvinc, + SAFE_CAST(REGEXP_REPLACE(numero, r'\.0$', '') AS INT64) AS numero, + SAFE_CAST(rubrica AS STRING) AS rubrica, + SAFE_CAST(setor AS STRING) AS setor, + SAFE_CAST(REGEXP_REPLACE(valorvan, r',', '.') AS FLOAT64) AS valorvan, + SAFE_CAST(REGEXP_REPLACE(valordes, r',', '.') AS FLOAT64) AS valordes, + SAFE_CAST(REGEXP_REPLACE(valorliq, r'\.0$', '') AS FLOAT64) AS valorliq, + SAFE_CAST(REGEXP_REPLACE(numpens, r'\.0$', '') AS INT64) AS numpens, + SAFE_CAST(REGEXP_REPLACE(numdepen, r'\.0$', '') AS INT64) AS numdepen, + SAFE_CAST(REGEXP_REPLACE(agencia, r'\.0$', '') AS INT64) AS agencia, + SAFE_CAST(REGEXP_REPLACE(banco, r'\.0$', '') AS INT64) AS banco, + SAFE_CAST(REGEXP_REPLACE(conta, r'\.0$', '') AS INT64) AS conta_banco, + SAFE_CAST(REGEXP_REPLACE(cargo, r'\.0$', '') AS STRING) AS cargo, + SAFE_CAST(subcategoria AS STRING) AS subcategoria, + SAFE_CAST(REGEXP_REPLACE(referencia, r'\.0$', '') AS STRING) AS referencia, + SAFE_CAST(funcao AS STRING) AS funcao, + SAFE_CAST(nome AS STRING) AS nome, + SAFE_CAST(REGEXP_REPLACE(emp_codigo, r'\.0$', '') AS STRING) AS emp_codigo, + SAFE_CAST(REGEXP_REPLACE(ficha, r'\.0$', '') AS STRING) AS ficha, + SAFE_CAST(REGEXP_REPLACE(regimejur, r'\.0$', '') AS STRING) AS regimejur, + SAFE_CAST(tipovinc AS STRING) AS tipovinc, + SAFE_CAST(categoria AS STRING) AS categoria, + SAFE_CAST(cpf AS STRING) AS cpf, + SAFE_CAST(REGEXP_REPLACE(flex_campo_05, r'\.0$', '') AS STRING) AS flex_campo_05, + SAFE_CAST(REGEXP_REPLACE(jornada, r'\.0$', '') AS STRING) AS jornada, + SAFE_CAST(data_particao AS DATE) data_particao, +FROM rj-smfp.recursos_humanos_ergon_staging.fita_banco AS t +-- WHERE +-- SAFE_CAST(data_particao AS DATE) < CURRENT_DATE('America/Sao_Paulo') + +-- {% if is_incremental() %} + +-- {% set max_partition = run_query("SELECT gr FROM (SELECT IF(max(data_particao) > CURRENT_DATE('America/Sao_Paulo'), CURRENT_DATE('America/Sao_Paulo'), max(data_particao)) as gr FROM " ~ this ~ ")").columns[0].values()[0] %} + +-- AND +-- SAFE_CAST(data_particao AS DATE) > ("{{ max_partition }}") + +-- {% endif %} \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/forma_provimento.sql b/queries/models/recursos_humanos_ergon/forma_provimento.sql new file mode 100644 index 0000000..bbe1fa6 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/forma_provimento.sql @@ -0,0 +1,7 @@ +SELECT + SAFE_CAST(sigla AS STRING) AS sigla, + SAFE_CAST(nome AS STRING) AS nome, + SAFE_CAST(inativo AS STRING) AS inativo, + SAFE_CAST(primeiro_prov AS STRING) AS primeiro_provimento, + SAFE_CAST(ativo AS STRING) AS ativo, +FROM rj-smfp.recursos_humanos_ergon_staging.forma_provimento AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/frequencia.sql b/queries/models/recursos_humanos_ergon/frequencia.sql new file mode 100644 index 0000000..b9005bb --- /dev/null +++ b/queries/models/recursos_humanos_ergon/frequencia.sql @@ -0,0 +1,34 @@ + +{{ + config( + materialized='incremental', + partition_by={ + "field": "data_particao", + "data_type": "date", + "granularity": "month", + } + ) +}} + +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(TRIM(dtini) AS STRING) AS data_inicio, + SAFE_CAST(TRIM(dtfim) AS STRING) AS data_final, + SAFE_CAST(TRIM(tipofreq) AS STRING) AS tipo_frequencia, + SAFE_CAST(REGEXP_REPLACE(TRIM(codfreq), r'\.0$', '') AS STRING) AS id_frequencia, + SAFE_CAST(TRIM(obs) AS STRING) AS observacoes, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(data_particao AS DATE) data_particao, +FROM rj-smfp.recursos_humanos_ergon_staging.frequencia AS t +WHERE + SAFE_CAST(data_particao AS DATE) < CURRENT_DATE('America/Sao_Paulo') + +{% if is_incremental() %} + +{% set max_partition = run_query("SELECT gr FROM (SELECT IF(max(data_particao) > CURRENT_DATE('America/Sao_Paulo'), CURRENT_DATE('America/Sao_Paulo'), max(data_particao)) as gr FROM " ~ this ~ ")").columns[0].values()[0] %} + +AND + SAFE_CAST(data_particao AS DATE) > ("{{ max_partition }}") + +{% endif %} \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/frequencia_antigo.sql b/queries/models/recursos_humanos_ergon/frequencia_antigo.sql new file mode 100644 index 0000000..5521d2e --- /dev/null +++ b/queries/models/recursos_humanos_ergon/frequencia_antigo.sql @@ -0,0 +1,5 @@ +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(m9), r'\.0$', '') AS STRING) AS id_matricula_vinculo, + SAFE_CAST(REGEXP_REPLACE(TRIM(sf_ocorrencia), r'\.0$', '') AS STRING) AS id_frequencia, + SAFE_CAST(TRIM(sf_dt_oc_y2) AS STRING) AS data_frequencia, +FROM rj-smfp.recursos_humanos_ergon_staging.frequencia_antigo AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/funcionario.sql b/queries/models/recursos_humanos_ergon/funcionario.sql new file mode 100644 index 0000000..52d4e15 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/funcionario.sql @@ -0,0 +1,122 @@ +{{ + config( + alias='funcionario', + schema='recursos_humanos_ergon' + ) +}} +SELECT + SAFE_CAST(REGEXP_REPLACE(numero, r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(nome AS STRING) AS nome, + SAFE_CAST(flex_campo_03 AS STRING) AS nome_social, + SAFE_CAST(tratamento AS STRING) AS nome_tratamento, + SAFE_CAST(sexo AS STRING) AS sexo, + SAFE_CAST(raca AS STRING) AS raca_cor, + SAFE_CAST(deficiente AS STRING) AS deficiente, + SAFE_CAST(tipodefic AS STRING) AS tipo_deficiencia, + SAFE_CAST(dtnasc AS DATE) AS data_nascimento, + SAFE_CAST(flex_campo_69 AS STRING) AS pais_nascimento, + SAFE_CAST(cidnasc AS STRING) AS municipio_nascimento, + SAFE_CAST(cidadeender_cod AS STRING) AS municipio_moradia, + SAFE_CAST(ufnasc AS STRING) AS sigla_uf_nascimento, + SAFE_CAST(g_sanguineo AS STRING) AS grupo_sanguineo, + SAFE_CAST(pai AS STRING) AS nome_pai, + SAFE_CAST(mae AS STRING) AS nome_mae, + SAFE_CAST(estcivil AS STRING) AS estado_civil, + SAFE_CAST(REGEXP_REPLACE(escolaridade, r'\.0$', '') AS STRING) AS escolaridade, + SAFE_CAST(REGEXP_REPLACE(nacionalidade, r'\.0$', '') AS STRING) AS nacionalidade, + SAFE_CAST(tipologender AS STRING) AS tipo_logradouro, + SAFE_CAST(nomelogender AS STRING) AS logradouro, + SAFE_CAST(numender AS STRING) AS numero_porta, + SAFE_CAST(complender AS STRING) AS complemento_numero_porta, + SAFE_CAST(bairroender AS STRING) AS bairro, + SAFE_CAST(cidadeender AS STRING) AS municipio, + SAFE_CAST(ufender AS STRING) AS sigla_uf, + SAFE_CAST(cepender AS STRING) AS cep, + SAFE_CAST(flex_campo_89 AS STRING) AS cep_exterior, + SAFE_CAST(numtel_celular AS STRING) AS celular, + SAFE_CAST(telefone AS STRING) AS telefone, + SAFE_CAST(ramal AS STRING) AS ramal, + SAFE_CAST(e_mail AS STRING) AS email, + SAFE_CAST(flex_campo_90 AS STRING) AS email_alternativo, + SAFE_CAST(anoprimemp AS STRING) AS ano_primeiro_emprego, + SAFE_CAST(flex_campo_70 AS DATE) AS data_primeiro_emprego, + SAFE_CAST(ufempant AS STRING) AS sigla_uf_emprego_anterior, + SAFE_CAST(flex_campo_80 AS DATE) AS data_primeira_habitacao, + SAFE_CAST(flex_campo_51 AS STRING) AS deficiente_fisico, + SAFE_CAST(flex_campo_52 AS STRING) AS deficiente_visual, + SAFE_CAST(flex_campo_53 AS STRING) AS deficiente_auditivo, + SAFE_CAST(flex_campo_54 AS STRING) AS deficiente_mental, + SAFE_CAST(flex_campo_55 AS STRING) AS deficiente_intelectual, + SAFE_CAST(REGEXP_REPLACE(numrg, r'\.0$', '') AS STRING) AS id_rg, + SAFE_CAST(tiporg AS STRING) AS tipo_rg, + SAFE_CAST(orgaorg AS STRING) AS emissor_rg, + SAFE_CAST(ufrg AS STRING) AS sigla_uf_rg, + SAFE_CAST(expedrg AS DATE) AS data_expedicao_rg, + SAFE_CAST(REGEXP_REPLACE(cpf, r'\.0$', '') AS STRING) AS id_cpf, + SAFE_CAST(REGEXP_REPLACE(numcartpro, r'\.0$', '') AS STRING) AS id_ctps, + SAFE_CAST(sercartpro AS STRING) AS serie_ctps, + SAFE_CAST(ufcartpro AS STRING) AS sigla_uf_ctps, + SAFE_CAST(REGEXP_REPLACE(numtitel, r'\.0$', '') AS STRING) AS id_titulo_eleitor, + SAFE_CAST(zonatitel AS STRING) AS zona_eleitoral, + SAFE_CAST(sectitel AS STRING) AS secao_eleitoral, + SAFE_CAST(uftitel AS STRING) AS sigla_uf_titulo_eleitor, + SAFE_CAST(REGEXP_REPLACE(numdocmili, r'\.0$', '') AS STRING) AS id_documento_militar, + SAFE_CAST(serdocmili AS STRING) AS serie_documento_militar, + SAFE_CAST(catmili AS STRING) AS categoria_militar, + SAFE_CAST(orgaomili AS STRING) AS emissor_documento_militar, + SAFE_CAST(ufdocmili AS STRING) AS sigla_uf_documento_militar, + SAFE_CAST(REGEXP_REPLACE(cnh, r'\.0$', '') AS STRING) AS id_cnh, + SAFE_CAST(catcnh AS STRING) AS categoria_cnh, + SAFE_CAST(REGEXP_REPLACE(validcnh, r'\.0$', '') AS STRING) AS validade_cnh, + SAFE_CAST(ufcnh AS STRING) AS sigla_uf_cnh, + SAFE_CAST(flex_campo_26 AS STRING) AS orgao_emissor_cnh, + SAFE_CAST(flex_campo_27 AS DATE) AS data_expedicao_cnh, + SAFE_CAST(REGEXP_REPLACE(pispasep, r'\.0$', '') AS STRING) AS id_pispasep, + SAFE_CAST(datapis AS DATE) AS data_inicio_pis, + SAFE_CAST(REGEXP_REPLACE(flex_campo_40, r'\.0$', '') AS STRING) AS id_nis, + SAFE_CAST(bancopis AS STRING) AS numero_banco_nis, + SAFE_CAST(REGEXP_REPLACE(identprof, r'\.0$', '') AS STRING) AS id_identidade_profissional, + SAFE_CAST(REGEXP_REPLACE(tipoidprof, r'\.0$', '') AS STRING) AS tipo_identidade_profissional, + SAFE_CAST(REGEXP_REPLACE(flex_campo_06, r'\.0$', '') AS STRING) AS id_ric, + SAFE_CAST(flex_campo_07 AS STRING) AS emissor_ric, + SAFE_CAST(flex_campo_08 AS DATE) AS data_emissao_ric, + SAFE_CAST(flex_campo_28 AS STRING) AS expedicao_documento_orgao_classe, + SAFE_CAST(flex_campo_30 AS STRING) AS emissor_documento_orgao_classe, + SAFE_CAST(uf_identprof AS STRING) AS sigla_uf_documento_orgoao_classe, + SAFE_CAST(flex_campo_02 AS STRING) AS possui_impedimento, + SAFE_CAST(banco AS STRING) AS numero_banco, + SAFE_CAST(agencia AS STRING) AS agencia_banco, + SAFE_CAST(conta AS STRING) AS conta_banco, + SAFE_CAST(flex_campo_36 AS DATE) AS data_ultima_atualizacao_bancaria, + SAFE_CAST(REGEXP_REPLACE(tipodoc_cert, r'\.0$', '') AS STRING) AS tipo_certidao, + SAFE_CAST(REGEXP_REPLACE(num_cert, r'\.0$', '') AS STRING) AS numero_certidao, + SAFE_CAST(REGEXP_REPLACE(livro_a_cert, r'\.0$', '') AS STRING) AS livro_certidao, + SAFE_CAST(REGEXP_REPLACE(folha_cert, r'\.0$', '') AS STRING) AS folha_certidao, + SAFE_CAST(REGEXP_REPLACE(cartorio_cert, r'\.0$', '') AS STRING) AS cartorio_ceridao, + SAFE_CAST(REGEXP_REPLACE(uf_cart, r'\.0$', '') AS STRING) AS sigla_uf_cartorio_certidao, + SAFE_CAST(REGEXP_REPLACE(municipio_cart_cod, r'\.0$', '') AS STRING) AS municipio_emissor_certidao, + SAFE_CAST(municipio_cart AS STRING) AS municipio_cartorio_emissor_certudai, + SAFE_CAST(REGEXP_REPLACE(matricula_cert, r'\.0$', '') AS STRING) AS matricula_certidao, + SAFE_CAST(flex_campo_16 AS STRING) AS trabalho_voluntario, + SAFE_CAST(flex_campo_17 AS STRING) AS interesse_trabalho_voluntario, + SAFE_CAST(flex_campo_18 AS STRING) AS interesse_projeto_olimpico, + SAFE_CAST(flex_campo_19 AS STRING) AS interesse_projeto_sociais, + SAFE_CAST(REGEXP_REPLACE(flex_campo_56, r'\.0$', '') AS STRING) AS recebe_beneficio_previdenciario, + SAFE_CAST(flex_campo_58 AS STRING) AS nome_posse_alteracao_sexo, + SAFE_CAST(flex_campo_59 AS STRING) AS sexo_posse_alteracao_sexo, + SAFE_CAST(flex_campo_60 AS DATE) AS data_alteracao_sexo, + SAFE_CAST(REGEXP_REPLACE(flex_campo_09, r'\.0$', '') AS STRING) AS id_rne, + SAFE_CAST(chegbrasil AS STRING) AS ano_chegada_brasil, + SAFE_CAST(flex_campo_10 AS STRING) AS emissor_rne, + SAFE_CAST(flex_campo_11 AS DATE) AS data_expedicao_rne, + SAFE_CAST(flex_campo_12 AS DATE) AS data_chegada_estrangeiro, + SAFE_CAST(flex_campo_13 AS DATE) AS data_naturalizacao, + SAFE_CAST(flex_campo_14 AS STRING) AS estrangeiro_casado_brasileiro, + SAFE_CAST(flex_campo_15 AS STRING) AS estrangeiro_filho_brasileiro, + SAFE_CAST(flex_campo_20 AS STRING) AS login_facebook, + SAFE_CAST(flex_campo_21 AS STRING) AS login_twitter, + SAFE_CAST(flex_campo_22 AS STRING) AS login_google_plus, + SAFE_CAST(flex_campo_23 AS STRING) AS login_instagram, + SAFE_CAST(flex_campo_24 AS STRING) AS login_linkedin, + SAFE_CAST(flex_campo_25 AS STRING) AS login_myspace, +FROM rj-smfp.recursos_humanos_ergon_staging.funcionario AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/horario_trabalho.sql b/queries/models/recursos_humanos_ergon/horario_trabalho.sql new file mode 100644 index 0000000..2257afb --- /dev/null +++ b/queries/models/recursos_humanos_ergon/horario_trabalho.sql @@ -0,0 +1,9 @@ +SELECT + SAFE_CAST(REGEXP_REPLACE(codigo, r'\.0$', '') AS STRING) AS id_horario, + SAFE_CAST(descricao AS STRING) AS descricao, + SAFE_CAST(pontlei AS STRING) AS publicacao_diario_oficial, + SAFE_CAST(carga_hr_mes AS STRING) AS carga_horaria_mes, + SAFE_CAST(carga_hr_semana AS STRING) AS carga_horaria_semana, + SAFE_CAST(carga_hr_dia AS STRING) AS carga_horaria_dia, + SAFE_CAST(REGEXP_REPLACE(id_reg, r'\.0$', '') AS STRING) AS id_registro, +FROM rj-smfp.recursos_humanos_ergon_staging.horario_trabalho AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/jornada.sql b/queries/models/recursos_humanos_ergon/jornada.sql new file mode 100644 index 0000000..2335e89 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/jornada.sql @@ -0,0 +1,6 @@ +SELECT + SAFE_CAST(sigla AS STRING) AS sigla, + SAFE_CAST(nome AS STRING) AS nome, + SAFE_CAST(horassem AS STRING) AS horas_semana, + SAFE_CAST(horasmen AS STRING) AS horas_mes, +FROM rj-smfp.recursos_humanos_ergon_staging.jornada AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/licenca_afastamento.sql b/queries/models/recursos_humanos_ergon/licenca_afastamento.sql new file mode 100644 index 0000000..371da93 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/licenca_afastamento.sql @@ -0,0 +1,38 @@ + + +{{ + config( + materialized='incremental', + partition_by={ + "field": "data_particao", + "data_type": "date", + "granularity": "month", + } + ) +}} +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(TRIM(dtini) AS STRING) AS data_inicio, + SAFE_CAST(TRIM(dtfim) AS STRING) AS data_final, + SAFE_CAST(TRIM(tipofreq) AS STRING) AS tipo_afastamento, + SAFE_CAST(REGEXP_REPLACE(TRIM(codfreq), r'\.0$', '') AS STRING) AS id_afastamento, + SAFE_CAST(TRIM(motivo) AS STRING) AS motivo, + SAFE_CAST(TRIM(dtprevfim) AS STRING) AS data_previsao_retorno, + SAFE_CAST(TRIM(flex_campo_01) AS STRING) AS parecer, + SAFE_CAST(TRIM(flex_campo_02) AS STRING) AS data_atendimento, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(TRIM(flex_campo_07) AS STRING) AS crm, + SAFE_CAST(data_particao AS DATE) data_particao, +FROM rj-smfp.recursos_humanos_ergon_staging.licenca_afastamento AS t +WHERE + SAFE_CAST(data_particao AS DATE) < CURRENT_DATE('America/Sao_Paulo') + +{% if is_incremental() %} + +{% set max_partition = run_query("SELECT gr FROM (SELECT IF(max(data_particao) > CURRENT_DATE('America/Sao_Paulo'), CURRENT_DATE('America/Sao_Paulo'), max(data_particao)) as gr FROM " ~ this ~ ")").columns[0].values()[0] %} + +AND + SAFE_CAST(data_particao AS DATE) > ("{{ max_partition }}") + +{% endif %} \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/matricula.sql b/queries/models/recursos_humanos_ergon/matricula.sql new file mode 100644 index 0000000..b29884c --- /dev/null +++ b/queries/models/recursos_humanos_ergon/matricula.sql @@ -0,0 +1,4 @@ +SELECT + SAFE_CAST(REGEXP_REPLACE(numfunc, r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(matric, r'\.0$', '') AS STRING) AS id_matricula, +FROM rj-smfp.recursos_humanos_ergon_staging.matricula AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/orgaos_externos.sql b/queries/models/recursos_humanos_ergon/orgaos_externos.sql new file mode 100644 index 0000000..38df75e --- /dev/null +++ b/queries/models/recursos_humanos_ergon/orgaos_externos.sql @@ -0,0 +1,5 @@ +SELECT + SAFE_CAST(orgao AS STRING) AS nome, + SAFE_CAST(descr AS STRING) AS nome_completo, + SAFE_CAST(tipo_orgao AS STRING) AS tipo, +FROM rj-smfp.recursos_humanos_ergon_staging.orgaos_externos AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/orgaos_regime_juridico.sql b/queries/models/recursos_humanos_ergon/orgaos_regime_juridico.sql new file mode 100644 index 0000000..a323c3d --- /dev/null +++ b/queries/models/recursos_humanos_ergon/orgaos_regime_juridico.sql @@ -0,0 +1,4 @@ +SELECT + SAFE_CAST(sigla AS STRING) AS sigla, + SAFE_CAST(nome AS STRING) AS nome, +FROM rj-smfp.recursos_humanos_ergon_staging.orgaos_regime_juridico AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/pre_contagem.sql b/queries/models/recursos_humanos_ergon/pre_contagem.sql new file mode 100644 index 0000000..f58cb51 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/pre_contagem.sql @@ -0,0 +1,10 @@ +SELECT + SAFE_CAST(TRIM(finalidade) AS STRING) AS finalidade, + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(TRIM(periodos) AS STRING) AS periodos, + SAFE_CAST(TRIM(offset) AS STRING) AS dias, + SAFE_CAST(TRIM(dtini) AS STRING) AS data_validade, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(TRIM(flex_campo_01) AS STRING) AS observacoes, +FROM rj-smfp.recursos_humanos_ergon_staging.pre_contagem AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/provimento.sql b/queries/models/recursos_humanos_ergon/provimento.sql new file mode 100644 index 0000000..e48e743 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/provimento.sql @@ -0,0 +1,14 @@ +SELECT + SAFE_CAST(REGEXP_REPLACE(numfunc, r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(numvinc, r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(dtini AS DATE) AS data_inicio, + SAFE_CAST(dtfim AS DATE) AS data_fim, + SAFE_CAST(REGEXP_REPLACE(setor, r'\.0$', '') AS STRING) AS id_setor, + SAFE_CAST(REGEXP_REPLACE(cargo, r'\.0$', '') AS STRING) AS id_cargo, + SAFE_CAST(REGEXP_REPLACE(referencia, r'\.0$', '') AS STRING) AS id_referencia, + SAFE_CAST(REGEXP_REPLACE(jornada, r'\.0$', '') AS STRING) AS id_jornada, + SAFE_CAST(formaprov AS STRING) AS forma, + SAFE_CAST(obs AS STRING) AS observacoes, + SAFE_CAST(flex_campo_03 AS STRING) AS regime_horas, + SAFE_CAST(emp_codigo AS STRING) AS empresa_vinculo, +FROM rj-smfp.recursos_humanos_ergon_staging.provimento AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/regime_juridico.sql b/queries/models/recursos_humanos_ergon/regime_juridico.sql new file mode 100644 index 0000000..266adb1 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/regime_juridico.sql @@ -0,0 +1,4 @@ +SELECT + SAFE_CAST(sigla AS STRING) AS sigla, + SAFE_CAST(nome AS STRING) AS nome, +FROM rj-smfp.recursos_humanos_ergon_staging.regime_juridico AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/schema.yml b/queries/models/recursos_humanos_ergon/schema.yml new file mode 100644 index 0000000..3297e50 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/schema.yml @@ -0,0 +1,1278 @@ +version: 2 +models : + - name: categoria + description: "**Descrição**: Categorias existentes na administração direta ou + indireta da Prefeitura do Rio de Janeiro. \r\nExemplo: Educação, saúde etc. + Categoria é um conjunto de cargos.\n**Frequência de atualização**: Anual\n**Cobertura + temporal**: Até data corrente\n**Órgão gestor dos dados**: SMFP/SUBGCC/CGRH\n + **Publicado por**: Anderson Ferraz Carneiro\n**Publicado por (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: sigla + description: Sigla da categoria. Ex. EDUCACAO. + - name: nome + description: Nome da categoria. Ex. Educação. + - name: frequencias + description: "**Descrição**: Tabela que armazena as ocorrências de frequência + do servidor municipal.\n**Frequência de atualização**: Nunca\n**Cobertura temporal**: + Não informado\n**Órgão gestor dos dados**: Não informado\n**Publicado por**: + Não informado\n**Publicado por (email)**: naoinformado@naoinformado.com\n" + columns: + - name: id_funcionario + description: Número do funcionário gerado pelo ERGON. + - name: id_vinculo + description: Número do vínculo relativo ao pagamento. + - name: data_inicio + description: Data início da ocorrência de frequência. + - name: data_final + description: Data final da ocorrência de frequência. + - name: tipo_frequencia + description: Tipo da frequência. + - name: id_frequencia + description: Código da frequência. + - name: observacoes + description: Observções referentes à frequência do servidor. + - name: id_empresa + description: Código da empresa. + - name: vinculo + description: "**Descrição**: Vínculos de pagamento ( em geral empregatícios ), + tanto antigos como atuais, da administração direta e indireta da prefeitura + do Rio de Janeiro. Um vínculo, em geral, está associado a uma matrícula. Uma + pessoa pode ter vários vínculos com a prefeitura.\n**Frequência de atualização**: + Mensal\n**Cobertura temporal**: Até data corrente\n**Órgão gestor dos dados**: + SMFP/SUBGCC/CGRH\n**Publicado por**: Anderson Ferraz Carneiro\n**Publicado por + (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: id_vinculo + description: Número do vínculo da pessoa. O número é dado sequencialmente, + com 1 para o primeiro vínculo, 2 para o segundo e assim por diante. Ex. + Uma pessoa que é professora, e funcionária do IPLANRIO, tem dois vínculos. + - name: tipo + description: 'Detalhamento do regime jurídico. Exemplo: CLT - Contrato indeterminado, + CLT - Contrato determinado.' + - name: data_nomeacao + description: Data de nomeação do funcionário relativa ao vínculo. + - name: data_posse + description: Data da posse do funcionário relativo a este vínculo. + - name: data_exercicio + description: Data do início do exercício do funcionário relativo a este vínculo. + - name: regime_juridico + description: 'Regime jurídico do vínculo. Ex.: Estatutário, celetista, aposentado + etc' + - name: categoria + description: 'Categoria do vínculo. Exemplo: Educação, saúde etc. Categoria + é um conjunto de cargos.' + - name: desconta_ir + description: Booleano indicando se o vínculo desconta IR ou não. Valores N + ou S. + - name: descricao_provimento + description: Descrição do provimento. Campo livre. + - name: classificacao_concurso + description: Classificação no concurso relativo a este vínculo, caso tenha + sido feito concurso. Em branco caso não tenha feito. + - name: data_inicio_cessao + description: Data de inicio da cessão, quanto o servidor é cedido. Quando + o servidor não é cedido o atributo fica em branco. Cessão é o emprestimo + de funcionário de órgão externo à prefeitura (ou da administração indireta) + para a administração direta da prefeitura do Rio de Janeiro. + - name: data_fim_cessao + description: Data do fim da cessão, quanto o servidor é cedido. Quando o servidor + não é cedido ou não foi devolvido fica em branco. + - name: data_concurso + description: Data do concurso relativo ao vínculo. Caso não tenha havido concurso + fica em branco. + - name: data_fgts + description: Data em que o funcionário optou pelo FGTS, caso o funcionário + seja celetista. Caso não fica em branco. + - name: data_inicio_contrato + description: Data de início do contrato por tempo determinado, caso o vínculo + esteja relacionado a um contrato. Caso não fica em branco. + - name: data_fim_contrato + description: Data de fim do contrato por tempo determinado, caso o vínculo + esteja relacionado a um contrato. Caso não fica em branco. + - name: data_prorrogacao_contrato + description: Data da prorrogação do contrato relacionado ao vínculo, caso + tenha sido assinado um contrato por tempo determinado. Caso não fica em + branco + - name: data_aposentadoria + description: Data de aposentadoria relacionada ao vínculo. Caso não tenha + havido ainda aposentadoria fica em branco. + - name: tipo_aposentadoria + description: 'Tipo da aposentadoria relativa ao vínculo. Exemplo: 47 - integral + art 3' + - name: data_vacancia + description: Data de vacância relativa ao vínculo. A vacância ocorre quando + se encerra o vínculo. + - name: id_vinculo_anterior + description: Número do vínculo anterior, caso haja algum. Se não fica em branco. + - name: id_vinculo_posterior + description: Número do vínculo posterior, caso haja algum. Se não fica em + branco. + - name: tipo_orgao_origem + description: 'Tipo do órgão da origem do funcionário ( em caso do funcionário + ser cedido para a prefeitura do Rio de Janeiro). Exemplo: DIR.EST. (Direta + estatual)' + - name: funcao_origem_requisicao + description: Função, na origem, da pessoa requisitada. Atributo de preenchimento + livre. Em branco caso não tenha havido requisição. + - name: telefone_requisicao + description: Telefone de onde o funcionário foi requisitado. Em branco caso + não tenha havido requisição. + - name: id_matricula_vinculo + description: Matricula do funcionário relativa a este vínculo. + - name: orgao_origem_requisicao + description: Órgão de origem do funcionário que foi requisitado. Caso a pessoa + associada ao vínculo tenha sido requisitada pela prefeitura. Caso não tenha + sido requisitado fica em branco. + - name: tipo_onus_requisicao + description: 'Tipo de ônus da requisição. Exemplo: Com ônus, sem ônus, não + se aplica.' + - name: tipo_ressarcimento_requisicao + description: Tipo de ressarcimento da requisição. Exemplo Sim ou não. Está + associado ao atributo TIPO_ONUS_REQ. + - name: tipo_requisicao + description: 'Tipo da requisição. Exemplo: Externo, interna, permuta.' + - name: data_pagamento_requisicao + description: Data de pagamento da rescisão do vínculo, caso tenha havido rescisão. + - name: origem_servidor_cedido + description: Origem do servidor cedido. Ex direta estadual, indireta estatual. + - name: id_processo_origem + description: Número do processo que deu origem da vaga associada ao vínculo. + - name: contrato_suspenso + description: Booleana que indica se o contrato do empregado público cedido + encontra-se suspenso. + - name: professor + description: Caso o vínculo seja de professor contém a disciplina que ele + leciona. Caso não seja professor fica em branco. + - name: cota + description: Indica se o vínculo foi preenchido por cota. Em branco, não entrou + por cota. Caso esteja preenchido o vínculo foi preenchido por cota. Valores + possíveis Lei 2.111/1994 para DEFICIENTE, LEi 5.401/2012 para Raça, lei + 5.695/2014 para Raça. + - name: id_empresa + description: Codigo da empresa onde se tem o vínculo, caso o vínculo seja + associado a uma empresa. Caso não fica em branco. + - name: data_homologacao_aposentadoria + description: Data da homologação da aposentadoria. A homologação é feita pelo + TCM, para verificar a legalidade da aposentadoria. + - name: id_funcionario + description: Número do funcionário, pode estar repetido nesta visão, caso + o funcionário tenha ou tenha tido outros vínculos. Existe um para cada pessoa, + independente do número de vínculos. + - name: id_vacancia + description: Código de vacância relativa ao vínculo. + - name: motivo_vacancia + description: Motivo da vacância. O que encerrou o vínculo, caso ele tenha + sido encerrado. Caso não o atributo está em branco. Campo livre para preenchimento. + - name: licenca_afastamento + description: "**Descrição**: Tabela contendo o início e fim dos afastamentos, + seu motivo e o tipo de afastamento.\n**Frequência de atualização**: Nunca\n + **Cobertura temporal**: Não informado\n**Órgão gestor dos dados**: Não informado\n + **Publicado por**: Não informado\n**Publicado por (email)**: nao.informado@gmail.com\n" + columns: + - name: id_funcionario + description: Não informado + - name: id_vinculo + description: Não informado + - name: data_inicio + description: Não informado + - name: data_final + description: Não informado + - name: tipo_afastamento + description: Não informado + - name: id_afastamento + description: Não informado + - name: motivo + description: Não informado + - name: data_previsao_retorno + description: Não informado + - name: parecer + description: Não informado + - name: data_atendimento + description: Não informado + - name: id_empresa + description: Não informado + - name: crm + description: Não informado + - name: setor + description: "**Descrição**: Setores existentes tanto na administração direta + como indireta da prefeitura do Rio de Janeiro.\r\nOs setores são os mesmos do + SICI.\n**Frequência de atualização**: Anual\n**Cobertura temporal**: Até data + corrente\n**Órgão gestor dos dados**: SMFP/SUBGCC/CGRH\n**Publicado por**: Anderson + Ferraz Carneiro\n**Publicado por (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: data_inicio + description: Data em que o setor foi colocado no presente organograma. + - name: data_fim + description: Data em que o setor saiu do organograma. + - name: id_setor_pai + description: Código, dado pelo SICI, do setor que está acima. + - name: id_setor + description: Código, dado pelo SICI, do setor. + - name: nome + description: Nome do setor, possivelmente abreviado pelo tamanho do atributo. + - name: nome_completo + description: Nome completo setor. + - name: sigla + description: Sigla do setor. Ex. FP/SUBGGC. + - name: id_empresa + description: Código, dado pelo SICI, da empresa onde está localizada o setor. + - name: id_empresa_prevrio + description: Código da empresa na PREVRIO. + - name: id_secretaria + description: Código, dado pelo SICI. da secretaria onde está o setor. + - name: extinto + description: Booleano que indica que o setor foi extinto. + - name: regime_juridico + description: "**Descrição**: Tipos de regimes jurídicos existentes entre os vínculos + de funcionários e a administração direta ou indireta da prefeitura do Rio de + Janeiro.\n**Frequência de atualização**: Nunca\n**Cobertura temporal**: Até + data corrente\n**Órgão gestor dos dados**: SMFP/SUBGCC/CGRH\n**Publicado por**: + Anderson Ferraz Carneiro\n**Publicado por (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: sigla + description: Sigla do regime jurídico. Ex. CLT, EFETIVO etc + - name: nome + description: Nome do regime jurídico. Ex. Celetista, estatutário. + - name: vantagens + description: "**Descrição**: Tabela que armazena informações sobre atributos cadastrados + que representam vantagens dos servidores. Os atributos podem se referir a situações + funcionais que não geram repercursão financeira e apenas existem para fins de + cadastro.\n**Frequência de atualização**: Nunca\n**Cobertura temporal**: Não + informado\n**Órgão gestor dos dados**: Não informado\n**Publicado por**: Não + informado\n**Publicado por (email)**: naoinformado@naoinformado.com\n" + columns: + - name: id_funcionario + description: Não informado + - name: id_vinculo + description: Não informado + - name: nome_vantagem + description: Não informado + - name: valor_vantagem + description: Não informado + - name: informacao_atributo + description: Não informado + - name: tipo_incorporacao_cargo_fiducia + description: Não informado + - name: percentual_incorporacao_cargo_fiducia + description: Não informado + - name: incide_tabela_vencimentos + description: Não informado + - name: incide_tabela_simbolo + description: Não informado + - name: observacoes + description: Não informado + - name: valor_complementar + description: Não informado + - name: informacao_complementar + description: Não informado + - name: valor_complementar_2 + description: Não informado + - name: informacao_complementar_2 + description: Não informado + - name: valor_coplementar_3 + description: Não informado + - name: informacao_complementar_3 + description: Não informado + - name: valor_complementar_4 + description: Não informado + - name: informacao_complementar_4 + description: Não informado + - name: valor_complementar_5 + description: Não informado + - name: informacao_complementar_5 + description: Não informado + - name: valor_incorporado + description: Não informado + - name: id_empresa + description: Não informado + - name: id_vantagem + description: Não informado + - name: data_inicio + description: Não informado + - name: data_final + description: Não informado + - name: data_particao + description: Não informado + - name: ficha_financeira_contabil + description: "**Descrição**: Valores de rubricas de fichas financeiras dos funcionários + da Prefeitura da Cidade do Rio de Janeiro. Constam fichas desde o início do + ERGON. Uma ficha financeira é um resumo do contracheque do servidor. Nesta tabela + estão incluídas informações sobre a natureza da despesa e o plano trabalho.\n + **Frequência de atualização**: Nunca\n**Cobertura temporal**: Não informado\n + **Órgão gestor dos dados**: SUBGGC\n**Publicado por**: Não informado\n**Publicado + por (email)**: nao.informado@gmail.com\n" + columns: + - name: data_folha + description: Mês e ano da folha da ficha financeira. + - name: id_funcionario + description: Número do funcionário gerado pelo ERGON. + - name: id_vinculo + description: Número do vínculo relativo ao pagamento. + - name: numero_pensionista + description: Número do pensionista, caso o pagamento seja relativo a um pensionista. + - name: numero_folha + description: Número da folha da ficha financeira. + - name: id_setor + description: Não informado + - name: secretaria + description: Não informado + - name: tipo_funcionario + description: Não informado + - name: detalhamento + description: Não informado + - name: rubrica + description: Não informado + - name: tipo_rubrica + description: Não informado + - name: competencia_direito + description: Não informado + - name: descricao_vantagem + description: Não informado + - name: valor + description: Não informado + - name: complemento + description: Não informado + - name: tipo_classificacao + description: Não informado + - name: classificacao + description: Não informado + - name: id_empresa + description: Não informado + - name: fita_banco + description: "**Descrição**: Fitas enviadas para o tesouro municipal contendo + informações sobre pagamentos a serem feitos a funcionários tanto pela administração + direta quanto indireta.\n**Frequência de atualização**: Mensal\n**Cobertura + temporal**: Até data corrente\n**Órgão gestor dos dados**: SMFP/SUBGCC/CGRH\n + **Publicado por**: Anderson Ferraz Carneiro\n**Publicado por (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: id_lancamento + description: Chave gerada pelo banco para a fitabanco para cada numfunc + - name: data_folha + description: Mês e ano da folha de pagamentos. + - name: data_exercicio + description: Data do início do exercício do funcionário relativo a este vínculo. + - name: data_aposentadoria + description: Data de aposentadoria relacionada ao vínculo. Caso não tenha + havido ainda aposentadoria fica em branco. + - name: data_vacancia + description: Data de vacância relativa ao vínculo. A vacância ocorre quando + se encerra o vínculo. + - name: data_credito + description: Data em que vai ser creditado o valor na conta corrente. + - name: id_vinculo + description: Identificador no banco de dados do vínculo da pessoa que vai + receber o pagamento. + - name: numero_folha + description: Número da Folha + - name: rubrica + description: Rubrica relativa ao pagamento a ser feito à pessoa que vai receber + o pagamento. Caso haja rubricas diferentes haverá um registro para cada + rubrica na fita_banco. + - name: setor + description: Setor onde trabalha o funcionário. Caso não trabalhe o setor + é a EGM. + - name: valor_bruto + description: Remuneração bruta. + - name: valor_descontos + description: Total de descontos. + - name: valor_liquido + description: Valor liquido a ser deposito para a pessoa que vai receber o + pagamento. + - name: pensionistas + description: Número do pensionista associado ao funcionário, usado somente + para a empresa 04 (Pensionistas da PREVIRIO). + - name: dependente + description: Número do dependente associado ao funcionário, quando dependente + for cotista (pr ex. pensão alimentícia). Quando há mais de um dependente, + há um registro por dependente. + - name: banco + description: Número do banco onde está a conta corrente da pessoa que vai + receber o pagamento, onde será depositado o pagamento. + - name: conta_banco + description: Número da conta corrente da pessoa que vai receber o pagamento, + onde será depositado o pagamento. + - name: cargo + description: Cargo do funcionário associado ao pagamento. + - name: cargo_subcategoria + description: Subcategoria do cargo. É uma subdivisão da categoria. Ex. Apoio, + Geral, lotados na saúde. + - name: id_referencia + description: Código do nível/posicionamento após o provimento. Ex PROFESSOR + II, MM1, MM2, MM3, MM4, MM5, MM6, MM7, 999990 - ESPECIAL o valor do vencimento + é zero. + - name: funcao + description: Função do funcionário que vai receber o pagamento, caso seja + um funcionário. Caso a pessoa não tenha funcão, fica em branco. + - name: nome_fita_banco + description: Nome da fita banco. + - name: id_empresa + description: Código da empresa onde trabalha a pessoa que vai receber o pagamento. + - name: id_ficha + description: Identificador único no banco de dados da ficha financeira da + pessoa que vai receber o pagamento. + - name: regime_juridico + description: Nome do regime jurídico da pessoa que vai receber o pagamento. + Ex. Celetista, estatutário. + - name: tipo_vinculo + description: 'Detalhamento do regime jurídico. Exemplo: CLT - Contrato indeterminado, + CLT - Contrato determinado.' + - name: categoria + description: 'Categoria do vínculo. Exemplo: Educação, saúde etc. Categoria + é um conjunto de cargos.' + - name: cpf + description: CPF da pessoa que vai receber o pagamento. + - name: id_lotacao + description: Órgão de Lotação. Código Numérico que indica a Secretaria em + que o servidor está lotado. 1800 - SMS, 1600 - SME, etc. Ver tabela hsetor_. + - name: id_funcao + description: Identificador no banco de dados da pessoa, cadastrada na tabela + de funcionários, que vai receber o pagamento. + - name: agencia_banco + description: Número da agência onde está a conta corrente da pessoa que vai + receber o pagamento, onde será depositado o pagamento. + - name: id_jornada + description: Código dado pela prefeitura do Rio de Janeiro para a jornada + semanal do cargo/emprego associado ao vínculo. + - name: horario_trabalho + description: "**Descrição**: Horários possíveis para funcionários da administração + direta da prefeitura do Rio de Janeiro (ainda não tem dados disponibilizados) + (esperado colocação também da administração indireta).\n**Frequência de atualização**: + Nunca\n**Cobertura temporal**: Até data corrente\n**Órgão gestor dos dados**: + SMFP/SUBGCC/CGRH\n**Publicado por**: Anderson Ferraz Carneiro\n**Publicado por + (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: id_horario + description: Identificador do horário na base de dados. + - name: descricao + description: Descrição do horário. Neste atributo deve constar o horário de + entrada, de almoço e de saída relativos a todos os dias da semana. + - name: publicacao_diario_oficial + description: Publicação em diário oficial autorizando o horário. + - name: carga_horaria_mes + description: Carga mensal em horas do horário. + - name: carga_horaria_semana + description: Carga semanal em horas do horário. + - name: carga_horaria_dia + description: Carga diária em horas do horário. + - name: id_registro + description: Identificação do Registro + - name: averbacoes_contagem + description: "**Descrição**: Nesta tabela são armazenadas informações referentes + sobre finalidade de contagem e total do tempo de contagem referentes a períodos + averbados pelos servidores.\n**Frequência de atualização**: Nunca\n**Cobertura + temporal**: Não informado\n**Órgão gestor dos dados**: Não informado\n**Publicado + por**: Não informado\n**Publicado por (email)**: naoinformado@naoinformado.com\n" + columns: + - name: id_funcionario + description: Número do funcionário gerado pelo ERGON. + - name: id_vinculo + description: Número do vínculo relativo ao pagamento. + - name: id_averbacao + description: Chave gerada pelo banco para registro de averbação. + - name: finalidade + description: Tipo da finalidade da averbação. + - name: dias + description: Total de dias averbados para determinada finalidade. + - name: vinculo_pagamento + description: "**Descrição**: Vínculos de pagamento ( em geral empregatícios ), + tanto antigos como atuais, da administração direta e indireta da prefeitura + do Rio de Janeiro. Um vínculo, em geral, está associado a uma matrícula. Uma + pessoa pode ter vários vínculos com a prefeitura.\n**Frequência de atualização**: + Mensal\n**Cobertura temporal**: Até data corrente\n**Órgão gestor dos dados**: + SMFP/SUBGCC/CGRH\n**Publicado por**: Anderson Ferraz Carneiro\n**Publicado por + (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: id_vinculo + description: Número do vínculo da pessoa. O número é dado sequencialmente, + com 1 para o primeiro vínculo, 2 para o segundo e assim por diante. Ex. + Uma pessoa que é professora, e funcionária do IPLANRIO, tem dois vínculos. + - name: tipo + description: 'Detalhamento do regime jurídico. Exemplo: CLT - Contrato indeterminado, + CLT - Contrato determinado.' + - name: data_nomeacao + description: Data de nomeação do funcionário relativa ao vínculo. + - name: data_posse + description: Data da posse do funcionário relativo a este vínculo. + - name: data_exercicio + description: Data do início do exercício do funcionário relativo a este vínculo. + - name: regime_juridico + description: 'Regime jurídico do vínculo. Ex.: Estatutário, celetista, aposentado + etc' + - name: categoria + description: 'Categoria do vínculo. Exemplo: Educação, saúde etc. Categoria + é um conjunto de cargos.' + - name: desconta_ir + description: Booleano indicando se o vínculo desconta IR ou não. Valores N + ou S. + - name: descricao_provimento + description: Descrição do provimento. Campo livre. + - name: classificacao_concurso + description: Classificação no concurso relativo a este vínculo, caso tenha + sido feito concurso. Em branco caso não tenha feito. + - name: data_inicio_cessao + description: Data de inicio da cessão, quanto o servidor é cedido. Quando + o servidor não é cedido o atributo fica em branco. Cessão é o emprestimo + de funcionário de órgão externo à prefeitura (ou da administração indireta) + para a administração direta da prefeitura do Rio de Janeiro. + - name: data_fim_cessao + description: Data do fim da cessão, quanto o servidor é cedido. Quando o servidor + não é cedido ou não foi devolvido fica em branco. + - name: data_concurso + description: Data do concurso relativo ao vínculo. Caso não tenha havido concurso + fica em branco. + - name: data_fgts + description: Data em que o funcionário optou pelo FGTS, caso o funcionário + seja celetista. Caso não fica em branco. + - name: data_inicio_contrato + description: Data de início do contrato por tempo determinado, caso o vínculo + esteja relacionado a um contrato. Caso não fica em branco. + - name: data_fim_contrato + description: Data de fim do contrato por tempo determinado, caso o vínculo + esteja relacionado a um contrato. Caso não fica em branco. + - name: data_prorrogacao_contrato + description: Data da prorrogação do contrato relacionado ao vínculo, caso + tenha sido assinado um contrato por tempo determinado. Caso não fica em + branco + - name: data_aposentadoria + description: Data de aposentadoria relacionada ao vínculo. Caso não tenha + havido ainda aposentadoria fica em branco. + - name: tipo_aposentadoria + description: 'Tipo da aposentadoria relativa ao vínculo. Exemplo: 47 - integral + art 3' + - name: data_vacancia + description: Data de vacância relativa ao vínculo. A vacância ocorre quando + se encerra o vínculo. + - name: id_vinculo_anterior + description: Número do vínculo anterior, caso haja algum. Se não fica em branco. + - name: id_vinculo_posterior + description: Número do vínculo posterior, caso haja algum. Se não fica em + branco. + - name: tipo_orgao_origem + description: 'Tipo do órgão da origem do funcionário ( em caso do funcionário + ser cedido para a prefeitura do Rio de Janeiro). Exemplo: DIR.EST. (Direta + estatual)' + - name: funcao_origem_requisicao + description: Função, na origem, da pessoa requisitada. Atributo de preenchimento + livre. Em branco caso não tenha havido requisição. + - name: telefone_requisicao + description: Telefone de onde o funcionário foi requisitado. Em branco caso + não tenha havido requisição. + - name: id_matricula_vinculo + description: Matricula do funcionário relativa a este vínculo. + - name: orgao_origem_requisicao + description: Órgão de origem do funcionário que foi requisitado. Caso a pessoa + associada ao vínculo tenha sido requisitada pela prefeitura. Caso não tenha + sido requisitado fica em branco. + - name: tipo_onus_requisicao + description: 'Tipo de ônus da requisição. Exemplo: Com ônus, sem ônus, não + se aplica.' + - name: tipo_ressarcimento_requisicao + description: Tipo de ressarcimento da requisição. Exemplo Sim ou não. Está + associado ao atributo TIPO_ONUS_REQ. + - name: tipo_requisicao + description: 'Tipo da requisição. Exemplo: Externo, interna, permuta.' + - name: data_pagamento_requisicao + description: Data de pagamento da rescisão do vínculo, caso tenha havido rescisão. + - name: origem_servidor_cedido + description: Origem do servidor cedido. Ex direta estadual, indireta estatual. + - name: id_processo_origem + description: Número do processo que deu origem da vaga associada ao vínculo. + - name: contrato_suspenso + description: Booleana que indica se o contrato do empregado público cedido + encontra-se suspenso. + - name: professor + description: Caso o vínculo seja de professor contém a disciplina que ele + leciona. Caso não seja professor fica em branco. + - name: cota + description: Indica se o vínculo foi preenchido por cota. Em branco, não entrou + por cota. Caso esteja preenchido o vínculo foi preenchido por cota. Valores + possíveis Lei 2.111/1994 para DEFICIENTE, LEi 5.401/2012 para Raça, lei + 5.695/2014 para Raça. + - name: id_empresa + description: Codigo da empresa onde se tem o vínculo, caso o vínculo seja + associado a uma empresa. Caso não fica em branco. + - name: data_homologacao_aposentadoria + description: Data da homologação da aposentadoria. A homologação é feita pelo + TCM, para verificar a legalidade da aposentadoria. + - name: id_funcionario + description: Número do funcionário, pode estar repetido nesta visão, caso + o funcionário tenha ou tenha tido outros vínculos. Existe um para cada pessoa, + independente do número de vínculos. + - name: id_vacancia + description: Código de vacância relativa ao vínculo. + - name: motivo_vacancia + description: Motivo da vacância. O que encerrou o vínculo, caso ele tenha + sido encerrado. Caso não o atributo está em branco. Campo livre para preenchimento. + - name: tipo_tempo + description: "**Descrição**: Esta tabela armazena os tipos de tempo utilizados + para contagem de benefícios categorizados como finalidades. Nesta tabela se + encontram os nomes dos tipos de tempo.\n**Frequência de atualização**: Nunca\n + **Cobertura temporal**: Não informado\n**Órgão gestor dos dados**: SUBGGC\n + **Publicado por**: Não informado\n**Publicado por (email)**: naoinformado@naoinformado.com\n" + columns: + - name: id_tipo_tempo + description: Coluna que armazena o código numérico referente ao tipo de tempo. + - name: nome_tipo_tempo + description: Campo que armazena o nome do tipo de tempo. + - name: aposentadoria + description: Booleano que informa se aquele tempo é computado para fins de + aposentadoria. + - name: ferias + description: Booleano que informa se aquele tempo é computado para fins de + contagem de período aquisitivo de férias. + - name: dias_de_ferias + description: Booleano que informa se aquele tempo é computado para fins de + contagem para o saldo de dias de férias. + - name: trienio + description: Booleano que informa se aquele tempo é computado para fins de + contagem para a contagem de períodos de triênio. + - name: licenca_especial + description: Booleano que informa se aquele tempo é computado para fins de + contagem para a contagem de períodos de licença especial. + - name: dias_de_licenca_especial + description: Booleano que informa se aquele tempo é computado para fins de + contagem para o saldo de dias de licença especial. + - name: tempo_de_chefia + description: Booleano que informa se aquele tempo é computado para fins de + contagem para a contagem de incorporação de cargo em fidúcia. + - name: progressao + description: Booleano que informa se aquele tempo é computado para fins de + contagem para a contagem de progressão no cargo. + - name: avaliacao + description: Booleano que informa se aquele tempo é computado para fins de + contagem para a contagem de avalição em estágio probatório. + - name: frequencia_antigo + description: "**Descrição**: Frequência de servidores da Prefeitura da Cidade + do Rio de Janeiro cadastrada em sistemas de recursos humanos antigos.\n**Frequência + de atualização**: Nunca\n**Cobertura temporal**: Não informado\n**Órgão gestor + dos dados**: Não informado\n**Publicado por**: Não informado\n**Publicado por + (email)**: naoinformado@naoinformado.com\n" + columns: + - name: id_matricula_vinculo + description: Matrícula do serivdor. + - name: id_frequencia + description: Código de frequência. + - name: data_frequencia + description: Data da ocorrência de frequência. + - name: averbacoes + description: "**Descrição**: Tabela que armazena o cadastro das averbações.\n + **Frequência de atualização**: Nunca\n**Cobertura temporal**: Não informado\n + **Órgão gestor dos dados**: Não informado\n**Publicado por**: Não informado\n + **Publicado por (email)**: naoinformado@naoinformado.com\n" + columns: + - name: id_funcionario + description: Número do funcionário gerado pelo ERGON. + - name: id_vinculo + description: Número do vínculo relativo ao pagamento. + - name: id_averbacao + description: Chave gerada pelo banco para registro de averbação. + - name: data_inicio + description: Data inicial do período averbado. + - name: data_final + description: Data final do período averbado. + - name: instituicao + description: Instituição a qual o servidor prestou serviço referente ao tempo + averbado. + - name: id_tipo_tempo + description: Coluna que armazena o código numérico referente ao tipo de tempo. + - name: data_validade + description: Data de validade da averbação. + - name: total_dias_averbados + description: Total de dias averbados. + - name: motivo + description: Campo para cadastrar o motivo, geralmente ligado à desaverbação + de tempo. + - name: sobrepoe + description: Booleano que indica se o período averbado permite concomitância + com outro período averbado. + - name: id_empresa + description: Código da empresa. + - name: obs + description: Coluna de observações, campo de texto livre. + - name: regime_previdenciario + description: Coluna que informa o regime previdenciário ao qual pertencia + o tempo averbado. + - name: orgaos_externos + description: "**Descrição**: Órgãos de outros entes federativos que não da prefeitura + do Rio de Janeiro mas que são de interesse da prefeitura do Rio de Janeiro.\r + \nUsada, geralmente, para documentar a origem de servidores cedidos à prefeitura + do Rio de Janeiro.\n**Frequência de atualização**: Anual\n**Cobertura temporal**: + Até data corrente\n**Órgão gestor dos dados**: SMFP/SUBGCC/CGRH\n**Publicado + por**: Anderson Ferraz Carneiro\n**Publicado por (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: nome + description: Nome do órgão. Ex. GE ACRE (Governo do estado do Acre),PR NITEROI + (Prefeitura de Niteroi) + - name: nome_completo + description: Nome por extenso do órgão. Ex. Prefeitura da cidade de Niteroi. + - name: tipo + description: Tipo do órgão. Ex. OUT.GOV. (outro governo estadual, que não + o do Rio de Janeiro), OUT.PREF. (outra prefeitura que não a do Rio de Janeiro) + - name: frequencia + description: "**Descrição**: Tabela que armazena as ocorrências de frequência + do servidor municipal.\n**Frequência de atualização**: Nunca\n**Cobertura temporal**: + Não informado\n**Órgão gestor dos dados**: Não informado\n**Publicado por**: + Não informado\n**Publicado por (email)**: naoinformado@naoinformado.com\n" + columns: + - name: id_funcionario + description: Número do funcionário gerado pelo ERGON. + - name: id_vinculo + description: Número do vínculo relativo ao pagamento. + - name: data_inicio + description: Data início da ocorrência de frequência. + - name: data_final + description: Data final da ocorrência de frequência. + - name: tipo_frequencia + description: Tipo da frequência. + - name: id_frequencia + description: Código da frequência. + - name: observacoes + description: Observções referentes à frequência do servidor. + - name: id_empresa + description: Código da empresa. + - name: matricula + description: "**Descrição**: Matrículas dadas pela prefeitura do Rio de Janeiro + para pessoas que devem receber pagamento ou para pessoas em outros casos de + interesse da prefeitura do Rio de Janeiro\n**Frequência de atualização**: Diário\n + **Cobertura temporal**: Até data corrente\n**Órgão gestor dos dados**: SMFP/SUBGCC/CGRH\n + **Publicado por**: Anderson Ferraz Carneiro\n**Publicado por (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: id_funcionario + description: Número do funcionário. Número dado a pessoa que ganhou sua primeira + matrícula da prefeitura do Rio de Janeiro. + - name: id_matricula + description: Número da matrícula. + - name: ficha_financeira + description: "**Descrição**: Valores de rubricas de fichas financeiras dos funcionários + da COMLURB. Constam fichas desde o início do ERGON COMLURB. Uma ficha financeira + é um resumo do contracheque do servidor.\n**Frequência de atualização**: Mensal\n + **Cobertura temporal**: Até data corrente\n**Órgão gestor dos dados**: SMFP/SUBGCC/CGRH\n + **Publicado por**: Anderson Ferraz Carneiro\n**Publicado por (email)**: nao.informado@gmail.com\n" + columns: + - name: data_folha + description: Mês e ano da folha da ficha financeira. + - name: numero_folha + description: Número da folha da ficha financeira. + - name: id_funcionario + description: Número do funcionário gerado pelo ERGON. + - name: id_vinculo + description: Número do vínculo relativo ao pagamento. + - name: numero_pensionista + description: Número do pensionista, caso o pagamento seja relativo a um pensionista. + - name: data_pagamento + description: Mês e ano trabalhado relativo ao pagamento. + - name: rubrica + description: Rubrica da despesa. Caso o funcionário receba em rubricas diferentes + haverá mais de um registro nesta visão. + - name: tipo_rubrica + description: Tipo de rubrica. Ex, Auxiliar, consignatária, desconto ou vantagem. + - name: desconto + description: Booleana que indica se a rubrica é de desconto ou não. 1 quando + tem desconto e 2 quando não tem desconto. + - name: complemento_rubrica + description: Informações adicionais para descrever a rubrica. + - name: valor_rubrica + description: Valor referente à rubrica. + - name: correcao + description: Valor da correção monetária. + - name: id_empresa + description: Código da empresa. + - name: forma_provimento + description: "**Descrição**: Formas de provimentos possíveis tanto na administração + direta como indireta da prefeitura do Rio de Janeiro. O provimento é a investidura + em um cargo público.\n**Frequência de atualização**: Semanal\n**Cobertura temporal**: + Até data corrente\n**Órgão gestor dos dados**: SMFP/SUBGCC/CGRH\n**Publicado + por**: Anderson Ferraz Carneiro\n**Publicado por (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: sigla + description: Sigla da forma de provimento. Ex. 01. + - name: nome + description: Nome da forma de provimento. Ex. NOMEACAO OU PROVIMENTO (relativo + a sigla 01). + - name: inativo + description: Booleano que indica que a forma de provimento é válida para funcionários + inativos. + - name: primeiro_provimento + description: Booleano que indica se a forma de provimento pode ser um primeiro + tipo de provimento ( quando se entra na prefeitura ). + - name: ativo + description: Booleano que indica que a forma de provimento é válida para funcionários + ativos. + - name: cargo + description: "**Descrição**: Tipos de cargos existentes na administração direta + ou indireta da PCRJ. Não entram os tipos de cargos em comissão.\n**Frequência + de atualização**: Nunca\n**Cobertura temporal**: Não informado\n**Órgão gestor + dos dados**: Não informado\n**Publicado por**: Não informado\n**Publicado por + (email)**: nao.informado@gmail.com\n" + columns: + - name: id_cargo + description: Código dado pela prefeitura do Rio de Janeiro ao tipo de cargo. + - name: nome + description: Nome do tipo de cargo. Ex. Analista de Sistemas. + - name: categoria + description: 'Categoria do tipo de cargo. Exemplo: Educação, saúde etc. Categoria + é um conjunto de cargos.' + - name: subcategoria + description: Subcategoria do tipo de cargo. É uma subdivisão da categoria. + Ex. Apoio, Geral, lotados na saúde. + - name: tipo_controle_vaga + description: 'Tipo de controle de vaga: Livre (não existe controle de vagas + no ERGON), Quadro (O ERGON controla o número máximo de vagas no cargo) ou + Numerada.' + - name: escolaridade + description: Escolaridade minima exigida para o tipo de cargo. + - name: aglutinador + description: Todos cadastrados com N. + - name: afastamento_antigo_nomes + description: "**Descrição**: Nesta tabela são armazenadas informações sobre os + códigos de afastamentos utilizados em sistemas antigos da Prefeitura do Rio + de Janeiro.\n**Frequência de atualização**: Nunca\n**Cobertura temporal**: Não + informado\n**Órgão gestor dos dados**: Não informado\n**Publicado por**: Não + informado\n**Publicado por (email)**: nao.informado@gmail.com\n" + columns: + - name: id_empresa + description: Código da empresa. + - name: id_afastamento + description: Código do afastamento. + - name: nome_afastamento + description: Nome do afastamento. + - name: orgaos_regime_juridico + description: "**Descrição**: Regimes jurídicos que podem ser aceitos para contratação + de funcionários nos órgãos da administração direta ou indireta da prefeitura + do Rio de Janeiro assim como outras empresas de interesse da prefeitura do Rio + de Janeiro.\n**Frequência de atualização**: Nunca\n**Cobertura temporal**: Até + data corrente\n**Órgão gestor dos dados**: SMFP/SUBGCC/CGRH\n**Publicado por**: + Anderson Ferraz Carneiro\n**Publicado por (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: sigla + description: Sigla do regime jurídico. Ex. CLT, EFETIVO etc + - name: nome + description: Código, dado pela prefeitura do Rio de Janeiro, da empresa. + - name: afastamento_antigo + description: "**Descrição**: Nesta tabela são armazenadas informações referentes + a afastamentos dos servidores da Prefeitura da Cidade do Rio de Janeiro cadastrados + em sistemas de recursos humanos antigos.\n**Frequência de atualização**: Nunca\n + **Cobertura temporal**: Não informado\n**Órgão gestor dos dados**: Não informado\n + **Publicado por**: Não informado\n**Publicado por (email)**: naoinformado@naoinformado.com\n" + columns: + - name: id_matricula_vinculo + description: Matrícula do servidor. + - name: data_inicio + description: Data incial do afastamento. + - name: data_previsao_retorno + description: Data de previsão do retorno do afastamento. + - name: data_fim + description: Data final do afastamento, representa o efetivo retorno do servidor + à atividade. + - name: total_contagem + description: "**Descrição**: Tabela que armazena o resultado das contagens de + tempo para benefícios dos servidores municipais.\n**Frequência de atualização**: + Nunca\n**Cobertura temporal**: Não informado\n**Órgão gestor dos dados**: Não + informado\n**Publicado por**: Não informado\n**Publicado por (email)**: naoinformado@naoinformado.com\n" + columns: + - name: id_funcionario + description: Número do funcionário gerado pelo ERGON. + - name: id_vinculo + description: Número do vínculo relativo ao pagamento. + - name: id_chave + description: Não informado + - name: finalidade + description: Não informado + - name: total_dias + description: Não informado + - name: diasfpub + description: Não informado + - name: diasfpubesp + description: Não informado + - name: total_periodos_contagem + description: Não informado + - name: total_anos_contagem + description: Não informado + - name: data_previsao_proximo_periodo + description: Não informado + - name: nome_finalidade + description: Não informado + - name: id_empresa + description: Não informado + - name: funcionario + description: "**Descrição**: Pessoas físicas que precisam ter suas informações + guardadas pela prefeitura para algum controle, como controle de pagamento, de + frequência ou de lotação. Em geral são pessoas que entram ou entraram em alguma + folha de pagamento da prefeitura do Rio de Janeiro, sendo funcionário ou não, + prestando serviço ou não (ex. pensionista previdenciário).\n**Frequência de + atualização**: Não informado\n**Cobertura temporal**: Não informado\n**Órgão + gestor dos dados**: Não informado\n**Publicado por**: Não informado\n**Publicado + por (email)**: nao.informado@gmail.com\n" + columns: + - name: id_vinculo + description: Identificador no banco de dados do vínculo da pessoa. A pessoa + tem um vínculo caso receba algum pagamento da prefeitura. + - name: nome + description: Nome da pessoa. + - name: nome_social + description: Nome social da pessoa. + - name: nome_tratamento + description: Nome pelo qual a pessoa geralmente é chamada, seu apelido, seu + nome de guerra. + - name: sexo + description: Sexo da pessoa. + - name: raca_cor + description: Raça ou cor da pessoa. + - name: deficiente + description: Booleano que indica que a pessoa é deficiente. + - name: tipo_deficiencia + description: Identificador no banco de dados do tipo de Deficiência do funcionário. + Chave para a tabela 'ERG_TIPO_DEFIC'. + - name: data_nascimento + description: Data de nascimento da pessoa. + - name: pais_nascimento + description: País de nascimento da pessoa. + - name: municipio_nascimento + description: Cidade de nascimento da pessoa. + - name: municipio_moradia + description: Cidade do endereço de moradia da pessoa. + - name: sigla_uf_nascimento + description: UF de nascimento da pessoa. + - name: grupo_sanguineo + description: Grupo sanguíneo da pessoa. + - name: nome_pai + description: Nome do pai da pessoa. + - name: nome_mae + description: Nome da mãe da pessoa. + - name: estado_civil + description: Estado civil da pessoa. + - name: escolaridade + description: Escolaridade da pessoa. + - name: nacionalidade + description: Nacionalidade da pessoa. + - name: tipo_logradouro + description: Tipo de logradouro do endereço da pessoa. Ex. Rua, praça. + - name: logradouro + description: Nome do logradouro do endereço da pessoa. + - name: numero_porta + description: Número de porta do enderaço da pessoa. + - name: complemento_numero_porta + description: Complemento ao número de porta do endereço da pessoa. Ex. apt + 87. + - name: bairro + description: Bairro do endereço da pessoa. + - name: municipio + description: Cidade do endereço da pessoa. + - name: sigla_uf + description: UF do endereço da pessoa. + - name: cep + description: Número do cep do endereço da pessoa. + - name: cep_exterior + description: código postal de endereço no exterior da pessoa. + - name: celular + description: Número do telefone celular da pessoa. + - name: telefone + description: Telefone da pessoa. + - name: ramal + description: Ramal do telefone da pessoa. + - name: email + description: E-mail da pessoa. + - name: email_alternativo + description: E-Mail alternativo da pessoa. + - name: ano_primeiro_emprego + description: Ano do 1º emprego da pessoa. + - name: data_primeiro_emprego + description: Data do primeiro emprego da pessoa na vida. + - name: sigla_uf_emprego_anterior + description: UF do emprego anterior da pessoa. + - name: data_primeira_habitacao + description: Data da primeira habilitação da pessoa. + - name: deficiente_fisico + description: Booleano indicando se a pessoa tem deficiência física. + - name: deficiente_visual + description: Booleano indicando se a pessoa tem deficiência visual. + - name: deficiente_auditivo + description: Booleano indicando se a pessoa tem deficiência auditiva + - name: deficiente_mental + description: Booleano indicando se a pessoa tem deficiência mental + - name: deficiente_intelectual + description: Booleano indicando se a pessoa tem deficiência intelectual. + - name: id_rg + description: Número do RG da pessoa. + - name: tipo_rg + description: 'Tipo do documento de RG da pessoa. Ex. Identidade. CTPS, passaporte + etc ' + - name: emissor_rg + description: Órgão expeditor do documento de RG da pessoa. + - name: sigla_uf_rg + description: UF do órgão expeditor do RG da pessoa. + - name: data_expedicao_rg + description: Data de expedição do RG da pessoa. RG é o documento nacional + de identificação civil no Brasil. + - name: id_cpf + description: Número do cpf da pessoa. + - name: id_ctps + description: Número da carteira profissional da pessoa. + - name: serie_ctps + description: Série da carteira de trabalho da pessoa. + - name: sigla_uf_ctps + description: UF da carteira profissional da pessoa. + - name: id_titulo_eleitor + description: Número do título de eleitor da pessoa. + - name: zona_eleitoral + description: Zona do título de eleitor da pessoa. + - name: secao_eleitoral + description: Seção do título de eleitor da pessoa. + - name: sigla_uf_titulo_eleitor + description: UF do título de eleitor da pessoa. + - name: id_documento_militar + description: Número do documento militar da pessoa. + - name: serie_documento_militar + description: Série do documento militar da pessoa. + - name: categoria_militar + description: Categoria no documento militar. Ex. 1ª, 2ª ou 3ª categoria. 1ª + categoria - quando possuírem instrução militar suficiente; 2ª categoria + - quando possuírem instrução militar insuficiente; 3ª categoria - quando + não possuírem instrução militar. + - name: emissor_documento_militar + description: Orgão Expeditor do Documento Militar da pessoa. + - name: sigla_uf_documento_militar + description: UF do Documento Militar da pessoa. + - name: id_cnh + description: Número da CNH da pessoa. + - name: categoria_cnh + description: Categoria da CNH da pessoa. + - name: validade_cnh + description: Validade da CNH da pessoa. + - name: sigla_uf_cnh + description: UF da CNH da pessoa. + - name: orgao_emissor_cnh + description: Órgão emissor da CNH da pessoa. + - name: data_expedicao_cnh + description: Data de expedição da CNH da pessoa. + - name: id_pispasep + description: 'Número do NIS da pessoa. NIS significa Número de Identificação + Social. O documento está relacionado às pessoas que recebem ou não benefícios + sociais do Governo Federal. ' + - name: data_inicio_pis + description: Data início do NIS da pessoa. + - name: id_nis + description: 'Número do NIS da pessoa. NIS significa Número de Identificação + Social. O documento está relacionado às pessoas que recebem ou não benefícios + sociais do Governo Federal. ' + - name: numero_banco_nis + description: Número do banco do NIS da pessoa. + - name: id_identidade_profissional + description: Número da identidade profissional da pessoa. + - name: tipo_identidade_profissional + description: Tipo de identidade profissional da pessoa. + - name: id_ric + description: Número do RIC - REGISTRO DE IDENTIDADE CIVIL da pessoa. documento + de registro de identidade civil, que integra todos os estados federados + e o Distrito Federal, garantindo, através de processos multibiométricos + e integração de bases de dados, a identificação unívoca do brasileiro nato + ou naturalizado. + - name: emissor_ric + description: Órgão emissor do RIC da pessoa. + - name: data_emissao_ric + description: Data de amissão do RIC da pessoa. + - name: expedicao_documento_orgao_classe + description: Data de expedição do documento de órgão de classe. + - name: emissor_documento_orgao_classe + description: Órgão emissor do documento do orgão de classe. + - name: sigla_uf_documento_orgoao_classe + description: "UF do documento do orgão de classe.\n" + - name: possui_impedimento + description: Preenchido caso a pessoa tenha algum impedimento. Ex. Impedimento + judicial, Curatela definitiva, interditado provisoriamente. + - name: numero_banco + description: Número do banco com a conta corrente da pessoa. + - name: agencia_banco + description: Número da agência com a conta corrente da pessoa. + - name: conta_banco + description: Número da conta corrente da pessoa. + - name: data_ultima_atualizacao_bancaria + description: Data da última atualização das informações bancárias da pessoa. + - name: tipo_certidao + description: "Tipo da certidão que altera o estado civil, caso o servidor + tenha modificado seu estado civil apresentada, caso não tenha fica em branco.\n" + - name: numero_certidao + description: Número da certidão de casamento, nascimento ou união estável + da pessoa. + - name: livro_certidao + description: Livro da certidão de casamento, nascimento ou união estável da + pessoa. + - name: folha_certidao + description: Folha da certidão de casamento, nascimento ou união estável da + pessoa. + - name: cartorio_ceridao + description: Cartório da certidão de casamento, nascimento ou união estável + da pessoa. + - name: sigla_uf_cartorio_certidao + description: UF do cartório que emitiu a certidão que altera o estado civil, + caso o servidor tenha modificado seu estado civil, caso não tenha fica em + branco. + - name: municipio_emissor_certidao + description: Cidade de emissão da certidão que altera o estado civil, caso + o servidor tenha modificado seu estado civil, caso não tenha fica em branco. + - name: municipio_cartorio_emissor_certudai + description: Cidade do cartório que emitiu a certidão que altera o estado + civil, caso o servidor tenha modificado seu estado civil, caso não tenha + fica em branco. + - name: matricula_certidao + description: Matrícula da certidão apresentada de casamento, ou de união estável + ou de nascimento da pessoa. + - name: trabalho_voluntario + description: Booleano se a pessoa já participou de algum Trabalho Voluntário. + - name: interesse_trabalho_voluntario + description: Booleano que indica se a pessoa tem interesse em participar em + trabalhos voluntários. + - name: interesse_projeto_olimpico + description: Booleano que indica se existe interesse da pessoa em participar + do projeto olímpico. + - name: interesse_projeto_sociais + description: Booleano que indica se existe interesse da pessoa em participar + de projetos sociais. + - name: recebe_beneficio_previdenciario + description: "Booleano indicando se a pessoa já percebe algum benefício previdenciário + (pensão, aposentadoria).\ncampo em branco" + - name: nome_posse_alteracao_sexo + description: Nome na posse da pessoa que mudou de sexo. + - name: sexo_posse_alteracao_sexo + description: Sexo da pessoa na posse da pessoa que mudou de sexo. + - name: data_alteracao_sexo + description: Data da alteração de sexo. + - name: id_rne + description: Número de inscrição da pessoa no Registro Nacional de Estrangeiros + da pessoa. + - name: ano_chegada_brasil + description: Ano da chegada ao Brasil caso a pessoa seja estrangeira. + - name: emissor_rne + description: Órgão emissor do Registro Nacional de Estrangeiros. + - name: data_expedicao_rne + description: Data de expedição do Registro Nacional de Estrangeiros + - name: data_chegada_estrangeiro + description: Data de chegada da pessoa ao Brasil, em caso de estrangeiro + - name: data_naturalizacao + description: Data de naturalização brasileira em caso de estrangeiro naturalizado. + - name: estrangeiro_casado_brasileiro + description: Booleano que indica se a pessoa, caso estrangeiro, é ou não casado + com brasileiro. + - name: estrangeiro_filho_brasileiro + description: Booleano que indica se a pessoa, caso estrangeira, tem filhos + brasileiros. + - name: login_facebook + description: Login da pessoa no Facebook. + - name: login_twitter + description: Login da pessoa no Twitter. + - name: login_google_plus + description: Login da pessoa no Google+. + - name: login_instagram + description: Login da pessoa no Instagram. + - name: login_linkedin + description: Login da pessoa no Linkedln. + - name: login_myspace + description: Login da pessoa no MySpace. + - name: pre_contagem + description: "**Descrição**: A tabela armazena informações de contagens anteriores + ao início do sistema recursos humanos ou da entrada do servidor no sistema, + se por algum motivo não possuía informações anteriormente.\n**Frequência de + atualização**: Nunca\n**Cobertura temporal**: Não informado\n**Órgão gestor + dos dados**: Não informado\n**Publicado por**: Não informado\n**Publicado por + (email)**: naoinformado@naoinformado.com\n" + columns: + - name: finalidade + description: "Tipo da finalidade que motivou o cadastro da pré-contagem. \r + \nEx.: \"Aposentadoria\", \"Progressão\"." + - name: id_funcionario + description: Número do funcionário gerado pelo ERGON. + - name: id_vinculo + description: Número do vínculo relativo ao pagamento. + - name: periodos + description: Quantidade de períodos de contagem para determinada finalidade. + - name: dias + description: Total de dias da pré-contagem. + - name: data_validade + description: Data de validade da pré-contagem. + - name: id_empresa + description: Código da empresa. + - name: observacoes + description: Campo de observações sobre a pré-contagem. + - name: jornada + description: "**Descrição**: Tipos de jornadas existentes tanto na administração + direta como indireta da prefeitura do Rio de Janeiro. Jornada é a carga horária + semanal.\n**Frequência de atualização**: Anual\n**Cobertura temporal**: Até + data corrente\n**Órgão gestor dos dados**: SMFP/SUBGCC/CGRH\n**Publicado por**: + Anderson Ferraz Carneiro\n**Publicado por (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: sigla + description: Sigla da jornada. Ex. 40 horas. + - name: nome + description: Nome da jornada. Ex. 40 horas semanais. + - name: horas_semana + description: Número de horas semanais da jornada. + - name: horas_mes + description: Número de horas mensais da jornada. + - name: tipo_vinculo + description: "**Descrição**: Tipos de vínculos existentes tanto na administração + direta como indireta da prefeitura do Rio de Janeiro.\n**Frequência de atualização**: + Anual\n**Cobertura temporal**: Até data corrente\n**Órgão gestor dos dados**: + SMFP/SUBGCC/CGRH\n**Publicado por**: Anderson Ferraz Carneiro\n**Publicado por + (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: sigla + description: Sigla do tipo de vínculo. Ex. A DISPOSICAO-CLT. + - name: nome + description: Nome do tipo de vínculo. Ex. A DISPOSICAO DA PREFEITURA-CLT. + - name: provimento + description: "**Descrição**: Eventos relacionados aos vínculos funcionais tanto + com a administração direta como indireta da prefeitura do Rio de Janeiro. \r + \nUm provimento pode ser uma progressão, mudança de lotação, mudança de vencimento + (referência) etc. Um provimento é um evento na situação funcional do vínculo.\n + **Frequência de atualização**: Semanal\n**Cobertura temporal**: Até data corrente\n + **Órgão gestor dos dados**: SMFP/SUBGCC/CGRH\n**Publicado por**: Anderson Ferraz + Carneiro\n**Publicado por (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: id_vinculo + description: Identificador no banco de dados do vínculo da pessoa. + - name: data_inicio + description: Data de inicio de um provimento. + - name: data_fim + description: Data de fim do provimento + - name: id_setor + description: Código dado pela prefeitura do Rio de Janeiro para o setor de + lotação do servidor após o provimento. Código da estrutura organizacional + atribuidos pela GI/CGGI/CSIC. + - name: id_cargo + description: Código dado pela prefeitura do Rio de Janeiro para o cargo/emprego + relacionado ao vínculo do servidor. Regime juridicos A DISPOSICAO, APOS. + SERV. PUBLICO, CONT. SAL. FAMILIA e EST. AOS QUADROS o cargo é 999990 - + ESPECIAL + - name: id_referencia + description: Código do nível/posicionamento após o provimento. Ex PROFESSOR + II, MM1, MM2, MM3, MM4, MM5, MM6, MM7, 999990 - ESPECIAL o valor do vencimento + é zero. + - name: id_jornada + description: Código dado pela prefeitura do Rio de Janeiro para a jornada + semanal do cargo/emprego associado ao vínculo. Não é modificada pelos provimentos. + - name: forma + description: Forma de provimento. Ex. 10 (EM EXERCÍCIO - CC/FG, ocorre quando + a pessoa entra exercício em cargo em comissão). + - name: observacoes + description: Observação - texto livre. Ex. NOMEADA C/ VAL. 30/03/20 P/ C.C + COORDENADOR TECNICO, 074842 CVL/SUBSC/CGRH/CTNRH, PCCS - LEI 6.739/2020 + etc + - name: regime_horas + description: Regime de horas após o provimento. Ex. Plantonista ou Rotina. + Utilizado pela RIOSAUDE. + - name: empresa_vinculo + description: Empresa do servidor após o provimento. Sempre é a mesma empresa + do vínculo. + - name: id_funcionario + description: Identificador no banco de dados da pessoa cadastrada na tabela + de funcionários. + - name: tipo_orgao + description: "**Descrição**: Tipos de órgãos tanto da administração direta como + indireta da prefeitura do Rio de Janeiro.\n**Frequência de atualização**: Nunca\n + **Cobertura temporal**: Até data corrente\n**Órgão gestor dos dados**: SMFP/SUBGCC/CGRH\n + **Publicado por**: Anderson Ferraz Carneiro\n**Publicado por (email)**: anderson.carneiro@rio.rj.gov.br\n" + columns: + - name: tipo + description: Sigla do tipo do órgão. Ex. DIR.EST. + - name: descricao + description: Descrição do tipo do órgão. Ex. ADMINISTRACAO DIRETA ESTADUAL. diff --git a/queries/models/recursos_humanos_ergon/setor.sql b/queries/models/recursos_humanos_ergon/setor.sql new file mode 100644 index 0000000..435e100 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/setor.sql @@ -0,0 +1,19 @@ +{{ + config( + alias='setor', + schema='recursos_humanos_ergon' + ) +}} +SELECT + SAFE_CAST(dataini AS DATE) AS data_inicio, + SAFE_CAST(datafim AS DATE) AS data_fim, + SAFE_CAST(REGEXP_REPLACE(paisetor, r'\.0$', '') AS STRING) AS id_setor_pai, + SAFE_CAST(REGEXP_REPLACE(setor, r'\.0$', '') AS STRING) AS id_setor, + SAFE_CAST(nomesetor AS STRING) AS nome, + SAFE_CAST(nomesetorlongo AS STRING) AS nome_completo, + SAFE_CAST(flex_campo_01 AS STRING) AS sigla, + SAFE_CAST(REGEXP_REPLACE(emp_codigo, r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(REGEXP_REPLACE(flex_campo_02, r'\.0$', '') AS STRING) AS id_empresa_prevrio, + SAFE_CAST(REGEXP_REPLACE(flex_campo_05, r'\.0$', '') AS STRING) AS id_secretaria, + SAFE_CAST(extinto AS STRING) AS extinto, +FROM rj-smfp.recursos_humanos_ergon_staging.setor AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/tipo_orgao.sql b/queries/models/recursos_humanos_ergon/tipo_orgao.sql new file mode 100644 index 0000000..7bac9ce --- /dev/null +++ b/queries/models/recursos_humanos_ergon/tipo_orgao.sql @@ -0,0 +1,4 @@ +SELECT + SAFE_CAST(tipo AS STRING) AS tipo, + SAFE_CAST(descr AS STRING) AS descricao, +FROM rj-smfp.recursos_humanos_ergon_staging.tipo_orgao AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/tipo_tempo.sql b/queries/models/recursos_humanos_ergon/tipo_tempo.sql new file mode 100644 index 0000000..2800421 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/tipo_tempo.sql @@ -0,0 +1,12 @@ +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(sigla), r'\.0$', '') AS string) AS id_tipo_tempo, + SAFE_CAST(TRIM(nome) AS STRING) AS nome_tipo_tempo, + SAFE_CAST(TRIM(aposentadoria) AS BOOLEAN) AS aposentadoria, + SAFE_CAST(TRIM(ferias) AS BOOLEAN) AS ferias, + SAFE_CAST(TRIM(dias_fer) AS BOOLEAN) AS dias_de_ferias, + SAFE_CAST(TRIM(adictserv) AS BOOLEAN) AS trienio, + SAFE_CAST(TRIM(licesp) AS BOOLEAN) AS licenca_especial, + SAFE_CAST(TRIM(dias_licesp) AS BOOLEAN) AS dias_de_licenca_especial, + SAFE_CAST(TRIM(adictchefia) AS BOOLEAN) AS tempo_de_chefia, + SAFE_CAST(TRIM(progressao) AS BOOLEAN) AS progressao, +FROM rj-smfp.recursos_humanos_ergon_staging.tipo_tempo AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/tipo_vinculo.sql b/queries/models/recursos_humanos_ergon/tipo_vinculo.sql new file mode 100644 index 0000000..7263f80 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/tipo_vinculo.sql @@ -0,0 +1,4 @@ +SELECT + SAFE_CAST(sigla AS STRING) AS sigla, + SAFE_CAST(nome AS STRING) AS nome, +FROM rj-smfp.recursos_humanos_ergon_staging.tipo_vinculo AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/total_contagem.sql b/queries/models/recursos_humanos_ergon/total_contagem.sql new file mode 100644 index 0000000..569aaa1 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/total_contagem.sql @@ -0,0 +1,14 @@ +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(REGEXP_REPLACE(TRIM(chave), r'\.0$', '') AS STRING) AS id_chave, + SAFE_CAST(TRIM(finalidade) AS STRING) AS finalidade, + SAFE_CAST(TRIM(diastot) AS STRING) AS total_dias, + SAFE_CAST(TRIM(diasfpub) AS STRING) AS diasfpub, + SAFE_CAST(TRIM(diasfpubesp) AS STRING) AS diasfpubesp, + SAFE_CAST(TRIM(total_periodos) AS STRING) AS total_periodos_contagem, + SAFE_CAST(TRIM(total_anos) AS STRING) AS total_anos_contagem, + SAFE_CAST(TRIM(data_proximo) AS STRING) AS data_previsao_proximo_periodo, + SAFE_CAST(TRIM(nome_proximo) AS STRING) AS nome_finalidade, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, +FROM rj-smfp.recursos_humanos_ergon_staging.total_contagem AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/vantagens.sql b/queries/models/recursos_humanos_ergon/vantagens.sql new file mode 100644 index 0000000..77ecca7 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/vantagens.sql @@ -0,0 +1,51 @@ + +{{ + config( + materialized='incremental', + partition_by={ + "field": "data_particao", + "data_type": "date", + "granularity": "month", + } + ) +}} + +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(TRIM(vantagem) AS STRING) AS nome_vantagem, + SAFE_CAST(TRIM(SUBSTR(dtini, 1, 10)) AS DATE) AS data_inicio, + SAFE_CAST(TRIM(SUBSTR(dtfim,1 , 10)) AS DATE) AS data_final, + SAFE_CAST(TRIM(valor) AS STRING) AS valor_vantagem, + SAFE_CAST(TRIM(info) AS STRING) AS informacao_atributo, + SAFE_CAST(TRIM(tipo_incorporacao) AS STRING) AS tipo_incorporacao_cargo_fiducia, + SAFE_CAST(TRIM(perc_inc_funcao) AS STRING) AS percentual_incorporacao_cargo_fiducia, + SAFE_CAST(TRIM(inc_tabelavenc) AS STRING) AS incide_tabela_vencimentos, + SAFE_CAST(TRIM(inc_referencia) AS STRING) AS incide_tabela_simbolo, + SAFE_CAST(TRIM(obs) AS STRING) AS observacoes, + SAFE_CAST(TRIM(valor2) AS STRING) AS valor_complementar, + SAFE_CAST(TRIM(info2) AS STRING) AS informacao_complementar, + SAFE_CAST(TRIM(valor3) AS STRING) AS valor_complementar_2, + SAFE_CAST(TRIM(info3) AS STRING) AS informacao_complementar_2, + SAFE_CAST(TRIM(valor4) AS STRING) AS valor_coplementar_3, + SAFE_CAST(TRIM(info4) AS STRING) AS informacao_complementar_3, + SAFE_CAST(TRIM(valor5) AS STRING) AS valor_complementar_4, + SAFE_CAST(TRIM(info5) AS STRING) AS informacao_complementar_4, + SAFE_CAST(TRIM(valor6) AS STRING) AS valor_complementar_5, + SAFE_CAST(TRIM(info6) AS STRING) AS informacao_complementar_5, + SAFE_CAST(TRIM(flex_campo_05) AS STRING) AS valor_incorporado, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(REGEXP_REPLACE(TRIM(chavevant), r'\.0$', '') AS STRING) AS id_vantagem, + SAFE_CAST(data_particao AS DATE) data_particao, +FROM rj-smfp.recursos_humanos_ergon_staging.vantagens AS t +WHERE + SAFE_CAST(data_particao AS DATE) < CURRENT_DATE('America/Sao_Paulo') + +{% if is_incremental() %} + +{% set max_partition = run_query("SELECT gr FROM (SELECT IF(max(data_particao) > CURRENT_DATE('America/Sao_Paulo'), CURRENT_DATE('America/Sao_Paulo'), max(data_particao)) as gr FROM " ~ this ~ ")").columns[0].values()[0] %} + +AND + SAFE_CAST(data_particao AS DATE) > ("{{ max_partition }}") + +{% endif %} \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon/vinculo.sql b/queries/models/recursos_humanos_ergon/vinculo.sql new file mode 100644 index 0000000..de07332 --- /dev/null +++ b/queries/models/recursos_humanos_ergon/vinculo.sql @@ -0,0 +1,43 @@ +SELECT + SAFE_CAST(REGEXP_REPLACE(numfunc, r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(numero, r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(tipovinc AS STRING) AS tipo, + SAFE_CAST(dtnom AS DATE) AS data_nomeacao, + SAFE_CAST(dtposse AS DATE) AS data_posse, + SAFE_CAST(dtexerc AS DATE) AS data_exercicio, + SAFE_CAST(REGEXP_REPLACE(regimejur, r'\.0$', '') AS STRING) AS regime_juridico, + SAFE_CAST(categoria AS STRING) AS categoria, + SAFE_CAST(desconta_ir AS STRING) AS desconta_ir, + SAFE_CAST(motivo AS STRING) AS descricao_provimento, + SAFE_CAST(classifconc AS STRING) AS classificacao_concurso, + SAFE_CAST(dtini_cessao AS DATE) AS data_inicio_cessao, + SAFE_CAST(dtfim_cessao AS DATE) AS data_fim_cessao, + SAFE_CAST(dtconc AS DATE) AS data_concurso, + SAFE_CAST(dtopfgts AS DATE) AS data_fgts, + SAFE_CAST(dtinicontr AS DATE) AS data_inicio_contrato, + SAFE_CAST(dtfimcontr AS DATE) AS data_fim_contrato, + SAFE_CAST(dtprorrogcontr AS DATE) AS data_prorrogacao_contrato, + SAFE_CAST(dtaposent AS DATE) AS data_aposentadoria, + SAFE_CAST(tipoapos AS STRING) AS tipo_aposentadoria, + SAFE_CAST(dtvac AS DATE) AS data_vacancia, + SAFE_CAST(REGEXP_REPLACE(formavac, r'\.0$', '') AS STRING) AS id_vacancia, + SAFE_CAST(REGEXP_REPLACE(numvincant, r'\.0$', '') AS STRING) AS id_vinculo_anterior, + SAFE_CAST(REGEXP_REPLACE(numvincpos, r'\.0$', '') AS STRING) AS id_vinculo_posterior, + SAFE_CAST(tipoorg_req AS STRING) AS tipo_orgao_origem, + SAFE_CAST(funcao_req AS STRING) AS funcao_origem_requisicao, + SAFE_CAST(fone_req AS STRING) AS telefone_requisicao, + SAFE_CAST(motivovac AS STRING) AS motivo_vacancia, + SAFE_CAST(REGEXP_REPLACE(matric, r'\.0$', '') AS STRING) AS id_matricula_vinculo, + SAFE_CAST(orgao_ext_req AS STRING) AS orgao_origem_requisicao, + SAFE_CAST(tipo_onus_req AS STRING) AS tipo_onus_requisicao, + SAFE_CAST(tipo_ressarc_req AS STRING) AS tipo_ressarcimento_requisicao, + SAFE_CAST(tipo_req AS STRING) AS tipo_requisicao, + SAFE_CAST(dt_pgto_ate AS DATE) AS data_pagamento_requisicao, + SAFE_CAST(REGEXP_REPLACE(flex_campo_01, r'\.0$', '') AS STRING) AS origem_servidor_cedido, + SAFE_CAST(REGEXP_REPLACE(flex_campo_05, r'\.0$', '') AS STRING) AS id_processo_origem, + SAFE_CAST(flex_campo_09 AS STRING) AS contrato_suspenso, + SAFE_CAST(flex_campo_17 AS STRING) AS professor, + SAFE_CAST(flex_campo_18 AS STRING) AS cota, + SAFE_CAST(REGEXP_REPLACE(emp_codigo, r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(dt_homolog AS DATE) AS data_homologacao_aposentadoria, +FROM rj-smfp.recursos_humanos_ergon_staging.vinculo AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__cargo.sql b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__cargo.sql new file mode 100644 index 0000000..7b4e891 --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__cargo.sql @@ -0,0 +1,12 @@ +{{ + config( alias='cargo',schema='recursos_humanos_ergon_comlurb') +}} +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(cargo), r'\.0$', '') AS STRING) AS id_cargo, + SAFE_CAST(TRIM(nome) AS STRING) AS nome, + SAFE_CAST(TRIM(categoria) AS STRING) AS categoria, + SAFE_CAST(TRIM(subcategoria) AS STRING) AS subcategoria, + SAFE_CAST(TRIM(controle_vaga) AS STRING) AS controle_vaga, + SAFE_CAST(TRIM(e_aglutinador) AS STRING) AS e_aglutinador, + SAFE_CAST(TRIM(escolaridade) AS STRING) AS escolaridade, +FROM rj-smfp.recursos_humanos_ergon_comlurb_staging.cargo AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__dependente.sql b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__dependente.sql new file mode 100644 index 0000000..8b5147a --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__dependente.sql @@ -0,0 +1,51 @@ +{{ + config( alias='dependente',schema='recursos_humanos_ergon_comlurb') +}} +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(num_cert), r'\.0$', '') AS STRING) AS id_certidao_nascimento_casamento, + SAFE_CAST(TRIM(livro_a_cert) AS STRING) AS numero_livro_nascimento_casamento, + SAFE_CAST(TRIM(folha_cert) AS STRING) AS numero_folha_nascimento_casamento, + SAFE_CAST(TRIM(cartorio_cert) AS STRING) AS numero_cartorio_nascimento_casamento, + SAFE_CAST(TRIM(flex_campo_01) AS STRING) AS estado_civil, + SAFE_CAST(TRIM(flex_campo_02) AS STRING) AS nome_mae, + SAFE_CAST(TRIM(uf_cart) AS STRING) AS sigla_uf_cartorio, + SAFE_CAST(TRIM(municipio_cart) AS STRING) AS municipio_cartorio, + SAFE_CAST(TRIM(tipodoc_cert) AS STRING) AS tipo_certidao, + SAFE_CAST(REGEXP_REPLACE(TRIM(numrg), r'\.0$', '') AS STRING) AS id_rg, + SAFE_CAST(TRIM(tiporg) AS STRING) AS tipo_rg, + SAFE_CAST(TRIM(orgaorg) AS STRING) AS orgao_rg, + SAFE_CAST(TRIM(ufrg) AS STRING) AS sigla_uf_rg, + SAFE_CAST(TRIM(tipodoc_cert_fim) AS STRING) AS tipo_certidao_fim, + SAFE_CAST(DATE(dt_cert_fim) AS DATE) AS data_certidao_fim, + SAFE_CAST(TRIM(num_cert_fim) AS STRING) AS numero_certidao_fim, + SAFE_CAST(TRIM(livro_cert_fim) AS STRING) AS numero_livro_certidao_fim, + SAFE_CAST(TRIM(folha_cert_fim) AS STRING) AS numero_folha_certidao_fim, + SAFE_CAST(TRIM(cartorio_cert_fim) AS STRING) AS numero_cartorio_certidao_fim, + SAFE_CAST(TRIM(uf_cart_fim) AS STRING) AS sigla_uf_cartorio_fim, + SAFE_CAST(TRIM(municipio_cart_fim) AS STRING) AS municipio_cartorio_certidao_fim, + SAFE_CAST(DATE(expedrg) AS DATE) AS data_expedicao_rg, + SAFE_CAST(TRIM(matricula_cert) AS STRING) AS matricula_certidao, + SAFE_CAST(TRIM(matricula_cert_fim) AS STRING) AS matricula_certidao_fim, + SAFE_CAST(TRIM(tipodepen) AS STRING) AS tipo_dependente, + SAFE_CAST(REGEXP_REPLACE(TRIM(id_reg), r'\.0$', '') AS STRING) AS id_dependente, + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numero), r'\.0$', '') AS INT64) AS numero_dependente, + SAFE_CAST(TRIM(nome) AS STRING) AS nome, + SAFE_CAST(TRIM(sexo) AS STRING) AS sexo, + SAFE_CAST(DATE(dtnasc) AS DATE) AS data_nascimento, + SAFE_CAST(TRIM(parentesco) AS STRING) AS parentesco, + SAFE_CAST(REGEXP_REPLACE(TRIM(cpf), r'\.0$', '') AS STRING) AS id_cpf, + SAFE_CAST(TRIM(tipologender) AS STRING) AS tipo_logradouro, + SAFE_CAST(TRIM(nomelogender) AS STRING) AS logradouro, + SAFE_CAST(REGEXP_REPLACE(TRIM(numender), r'\.0$', '') AS INT64) AS numero_porta, + SAFE_CAST(TRIM(complender) AS STRING) AS complemento_numero_porta, + SAFE_CAST(TRIM(bairroender) AS STRING) AS bairro, + SAFE_CAST(TRIM(cepender) AS STRING) AS cep, + SAFE_CAST(TRIM(conta) AS STRING) AS conta, + SAFE_CAST(TRIM(tipopag) AS STRING) AS tipo_pagamento, + SAFE_CAST(TRIM(cidadeender) AS STRING) AS municipio, + SAFE_CAST(TRIM(ufender) AS STRING) AS sigla_uf, + SAFE_CAST(TRIM(telefone) AS STRING) AS telefone, + SAFE_CAST(TRIM(banco) AS STRING) AS banco, + SAFE_CAST(TRIM(agencia) AS STRING) AS agencia, +FROM rj-smfp.recursos_humanos_ergon_comlurb_staging.dependente AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__ficha_financeira.sql b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__ficha_financeira.sql new file mode 100644 index 0000000..b5e441e --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__ficha_financeira.sql @@ -0,0 +1,17 @@ +{{ + config( alias='ficha_financeira',schema='recursos_humanos_ergon_comlurb') +}} + +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(REGEXP_REPLACE(TRIM(numpens), r'\.0$', '') AS INT64) AS numero_pensionista, + SAFE_CAST(TRIM(mes_ano_direito) AS STRING) AS data_pagamento, + SAFE_CAST(TRIM(rubrica) AS STRING) AS rubrica, + SAFE_CAST(TRIM(tipo_rubrica) AS STRING) AS tipo_rubrica, + SAFE_CAST(TRIM(desc_vant) AS STRING) AS desconto, + SAFE_CAST(TRIM(complemento) AS STRING) AS complemento_rubrica, + SAFE_CAST(REGEXP_REPLACE(valor, r',', '.') AS FLOAT64) AS valor_rubrica, SAFE_CAST(REGEXP_REPLACE(correcao, r',', '.') AS FLOAT64) AS correcao, SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(DATE(mes_ano_folha) AS DATE) AS data_folha, + SAFE_CAST(REGEXP_REPLACE(TRIM(num_folha), r'\.0$', '') AS INT64) AS numero_folha, +FROM rj-smfp.recursos_humanos_ergon_comlurb_staging.ficha_financeira AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__fita_banco.sql b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__fita_banco.sql new file mode 100644 index 0000000..3c0be60 --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__fita_banco.sql @@ -0,0 +1,53 @@ +{{ + config( + alias='fita_banco', + schema='recursos_humanos_ergon_comlurb', + materialized='incremental', + partition_by={ + "field": "data_particao", + "data_type": "date", + "granularity": "month", + } + ) +}} +SELECT + SAFE_CAST(DATE(dtexerc) AS DATE) AS data_inicio_exercicio, + SAFE_CAST(DATE(dtaposent) AS DATE) AS data_aposentadoria, + SAFE_CAST(DATE(dtvac) AS DATE) AS data_vacancia, + SAFE_CAST(REGEXP_REPLACE(TRIM(setor), r'\.0$', '') AS STRING) AS id_setor, + SAFE_CAST(REGEXP_REPLACE(valorvan, r',', '.') AS FLOAT64) AS valor, SAFE_CAST(REGEXP_REPLACE(valordes, r',', '.') AS FLOAT64) AS valor_desconto, SAFE_CAST(REGEXP_REPLACE(TRIM(numdepen), r'\.0$', '') AS INT64) AS numero_dependente, + SAFE_CAST(TRIM(agencia) AS STRING) AS agencia, + SAFE_CAST(TRIM(banco) AS STRING) AS banco, + SAFE_CAST(TRIM(conta) AS STRING) AS conta, + SAFE_CAST(REGEXP_REPLACE(valorliq, r',', '.') AS FLOAT64) AS valor_liquido, SAFE_CAST(TRIM(cargo) AS STRING) AS cargo, + SAFE_CAST(TRIM(referencia) AS STRING) AS referencia, + SAFE_CAST(TRIM(funcao) AS STRING) AS funcao, + SAFE_CAST(TRIM(nome) AS STRING) AS nome, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(REGEXP_REPLACE(TRIM(ficha), r'\.0$', '') AS STRING) AS id_ficha, + SAFE_CAST(TRIM(regimejur) AS STRING) AS regime_juridico, + SAFE_CAST(TRIM(tipovinc) AS STRING) AS tipo_vinculo, + SAFE_CAST(REGEXP_REPLACE(TRIM(lancamento), r'\.0$', '') AS STRING) AS id_lancamento, + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(DATE(mes_ano) AS DATE) AS data_folha, + SAFE_CAST(REGEXP_REPLACE(TRIM(numero), r'\.0$', '') AS INT64) AS numero_folha, + SAFE_CAST(TRIM(rubrica) AS STRING) AS rubrica, + SAFE_CAST(TRIM(categoria) AS STRING) AS categoria_vinculo, + SAFE_CAST(TRIM(data_credito) AS STRING) AS data_credito, + SAFE_CAST(REGEXP_REPLACE(TRIM(jornada), r'\.0$', '') AS STRING) AS id_jornada, + SAFE_CAST(TRIM(subcategoria) AS STRING) AS subcategoria_cargo, + SAFE_CAST(REGEXP_REPLACE(TRIM(cpf), r'\.0$', '') AS STRING) AS id_cpf, + SAFE_CAST(data_particao AS DATE) data_particao, +FROM rj-smfp.recursos_humanos_ergon_comlurb_staging.fita_banco AS t +WHERE + SAFE_CAST(data_particao AS DATE) < CURRENT_DATE('America/Sao_Paulo') + +{% if is_incremental() %} + +{% set max_partition = run_query("SELECT gr FROM (SELECT IF(max(data_particao) > CURRENT_DATE('America/Sao_Paulo'), CURRENT_DATE('America/Sao_Paulo'), max(data_particao)) as gr FROM " ~ this ~ ")").columns[0].values()[0] %} + +AND + SAFE_CAST(data_particao AS DATE) > ("{{ max_partition }}") + +{% endif %} \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__frequencia.sql b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__frequencia.sql new file mode 100644 index 0000000..79f99c8 --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__frequencia.sql @@ -0,0 +1,78 @@ +{{ + config( alias='frequencia',schema='recursos_humanos_ergon_comlurb') +}} + +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(REGEXP_REPLACE(id_reg, r'\.0$', '') AS STRING) AS id_registro, + SAFE_CAST(dtini AS DATE) AS data_inicio, + SAFE_CAST(dtfim AS DATE) AS data_fim, + SAFE_CAST(TRIM(tipofreq) AS STRING) AS tipo_frequencia, + SAFE_CAST(REGEXP_REPLACE(TRIM(codfreq), r'\.0$', '') AS STRING) AS id_frequencia, + SAFE_CAST(quantidade AS INT64) as quantidade, + SAFE_CAST(TRIM(obs) AS STRING) AS observacoes, + SAFE_CAST(TRIM(pontlei) AS STRING) AS publicacao_diario_oficial, + SAFE_CAST(TRIM(pontpubl) AS STRING) AS pontpubl, + SAFE_CAST(TRIM(pontproc) AS STRING) AS pontproc, + SAFE_CAST(TRIM(hora_entrada) AS STRING) AS hora_entrada, + SAFE_CAST(TRIM(hora_saida) AS STRING) AS hora_saida, + SAFE_CAST(TRIM(flex_campo_01) AS STRING) AS flex_campo_01, + SAFE_CAST(TRIM(flex_campo_02) AS STRING) AS flex_campo_02, + SAFE_CAST(TRIM(flex_campo_03) AS STRING) AS flex_campo_03, + SAFE_CAST(TRIM(flex_campo_04) AS STRING) AS flex_campo_04, + SAFE_CAST(TRIM(flex_campo_05) AS STRING) AS flex_campo_05, + SAFE_CAST(TRIM(flex_campo_06) AS STRING) AS flex_campo_06, + SAFE_CAST(TRIM(flex_campo_07) AS STRING) AS flex_campo_07, + SAFE_CAST(TRIM(flex_campo_08) AS STRING) AS flex_campo_08, + SAFE_CAST(TRIM(flex_campo_09) AS STRING) AS flex_campo_09, + SAFE_CAST(TRIM(flex_campo_10) AS STRING) AS flex_campo_10, + SAFE_CAST(TRIM(flex_campo_11) AS STRING) AS flex_campo_11, + SAFE_CAST(TRIM(flex_campo_12) AS STRING) AS flex_campo_12, + SAFE_CAST(TRIM(flex_campo_13) AS STRING) AS flex_campo_13, + SAFE_CAST(TRIM(flex_campo_14) AS STRING) AS flex_campo_14, + SAFE_CAST(TRIM(flex_campo_15) AS STRING) AS flex_campo_15, + SAFE_CAST(TRIM(flex_campo_16) AS STRING) AS flex_campo_16, + SAFE_CAST(TRIM(flex_campo_17) AS STRING) AS flex_campo_17, + SAFE_CAST(TRIM(flex_campo_18) AS STRING) AS flex_campo_18, + SAFE_CAST(TRIM(flex_campo_19) AS STRING) AS flex_campo_19, + SAFE_CAST(TRIM(flex_campo_20) AS STRING) AS flex_campo_20, + SAFE_CAST(TRIM(flex_campo_21) AS STRING) AS flex_campo_21, + SAFE_CAST(TRIM(flex_campo_22) AS STRING) AS flex_campo_22, + SAFE_CAST(TRIM(flex_campo_23) AS STRING) AS flex_campo_23, + SAFE_CAST(TRIM(flex_campo_24) AS STRING) AS flex_campo_24, + SAFE_CAST(TRIM(flex_campo_25) AS STRING) AS flex_campo_25, + SAFE_CAST(TRIM(flex_campo_26) AS STRING) AS flex_campo_26, + SAFE_CAST(TRIM(flex_campo_27) AS STRING) AS flex_campo_27, + SAFE_CAST(TRIM(flex_campo_28) AS STRING) AS flex_campo_28, + SAFE_CAST(TRIM(flex_campo_29) AS STRING) AS flex_campo_29, + SAFE_CAST(TRIM(flex_campo_30) AS STRING) AS flex_campo_30, + SAFE_CAST(TRIM(flex_campo_31) AS STRING) AS flex_campo_31, + SAFE_CAST(TRIM(flex_campo_32) AS STRING) AS flex_campo_32, + SAFE_CAST(TRIM(flex_campo_33) AS STRING) AS flex_campo_33, + SAFE_CAST(TRIM(flex_campo_34) AS STRING) AS flex_campo_34, + SAFE_CAST(TRIM(flex_campo_35) AS STRING) AS flex_campo_35, + SAFE_CAST(TRIM(flex_campo_36) AS STRING) AS flex_campo_36, + SAFE_CAST(TRIM(flex_campo_37) AS STRING) AS flex_campo_37, + SAFE_CAST(TRIM(flex_campo_38) AS STRING) AS flex_campo_38, + SAFE_CAST(TRIM(flex_campo_39) AS STRING) AS flex_campo_39, + SAFE_CAST(TRIM(flex_campo_40) AS STRING) AS flex_campo_40, + SAFE_CAST(TRIM(flex_campo_41) AS STRING) AS flex_campo_41, + SAFE_CAST(TRIM(flex_campo_42) AS STRING) AS flex_campo_42, + SAFE_CAST(TRIM(flex_campo_43) AS STRING) AS flex_campo_43, + SAFE_CAST(TRIM(flex_campo_44) AS STRING) AS flex_campo_44, + SAFE_CAST(TRIM(flex_campo_45) AS STRING) AS flex_campo_45, + SAFE_CAST(TRIM(flex_campo_46) AS STRING) AS flex_campo_46, + SAFE_CAST(TRIM(flex_campo_47) AS STRING) AS flex_campo_47, + SAFE_CAST(TRIM(flex_campo_48) AS STRING) AS flex_campo_48, + SAFE_CAST(TRIM(flex_campo_49) AS STRING) AS flex_campo_49, + SAFE_CAST(TRIM(flex_campo_50) AS STRING) AS flex_campo_50, +FROM rj-smfp.recursos_humanos_ergon_comlurb_staging.frequencia AS t +LIMIT 100 + + + + + + diff --git a/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__funcionario.sql b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__funcionario.sql new file mode 100644 index 0000000..410d838 --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__funcionario.sql @@ -0,0 +1,215 @@ +{{ + config( alias='funcionario',schema='recursos_humanos_ergon_comlurb') +}} + +SELECT + SAFE_CAST(TRIM(flex_campo_10) AS STRING) AS emissor_rne, + SAFE_CAST(PARSE_DATE("%d/%m/%Y",REGEXP_REPLACE(flex_campo_11, "//", "/")) AS DATE) AS data_expedicao_rne, + SAFE_CAST(PARSE_DATE("%d/%m/%Y",REGEXP_REPLACE(flex_campo_12, "//", "/")) AS DATE) AS data_chegada_brasil, + SAFE_CAST(PARSE_DATE("%d/%m/%Y",REGEXP_REPLACE(flex_campo_13, "//", "/")) AS DATE) AS data_naturalizacao, + SAFE_CAST(TRIM(flex_campo_14) AS STRING) AS casado_brasileiro, + SAFE_CAST(TRIM(flex_campo_15) AS STRING) AS filho_brasileiro, + SAFE_CAST(TRIM(flex_campo_90) AS STRING) AS email_alternativo, + SAFE_CAST(REGEXP_REPLACE(TRIM(numero), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(TRIM(nome) AS STRING) AS nome, + SAFE_CAST(TRIM(flex_campo_03) AS STRING) AS nome_complementar, + SAFE_CAST(TRIM(sexo) AS STRING) AS sexo, + SAFE_CAST(DATE(dtnasc) AS DATE) AS data_nascimento, + SAFE_CAST(TRIM(flex_campo_16) AS STRING) AS trabalho_voluntario, + SAFE_CAST(TRIM(flex_campo_17) AS STRING) AS interesse_trabalho_voluntario, + SAFE_CAST(TRIM(flex_campo_18) AS STRING) AS interesse_projeto_olimpico, + SAFE_CAST(TRIM(flex_campo_19) AS STRING) AS interesse_projeto_social, + SAFE_CAST(TRIM(flex_campo_20) AS STRING) AS login_facebook, + SAFE_CAST(TRIM(flex_campo_21) AS STRING) AS login_twitter, + SAFE_CAST(TRIM(flex_campo_22) AS STRING) AS login_google_plus, + SAFE_CAST(TRIM(flex_campo_23) AS STRING) AS login_instagram, + SAFE_CAST(TRIM(flex_campo_24) AS STRING) AS login_linkedin, + SAFE_CAST(TRIM(flex_campo_25) AS STRING) AS login_myspace, + SAFE_CAST(TRIM(flex_campo_26) AS STRING) AS emissor_cnh, + SAFE_CAST(PARSE_DATE("%d/%m/%Y",REGEXP_REPLACE(flex_campo_27, "//", "/")) AS DATE) AS data_expedicao_cnh, + SAFE_CAST(PARSE_DATE("%d/%m/%Y",REGEXP_REPLACE(flex_campo_28, "//", "/")) AS DATE) AS data_expedicao_orgao_classe, + SAFE_CAST(TRIM(flex_campo_30) AS STRING) AS emissor_orgao_classe, + SAFE_CAST(PARSE_DATE("%d/%m/%Y",REGEXP_REPLACE(flex_campo_36, "//", "/")) AS DATE) AS data_ultima_atualizaca_bancaria, + SAFE_CAST(REGEXP_REPLACE(TRIM(flex_campo_40), r'\.0$', '') AS STRING) AS id_nis, + SAFE_CAST(TRIM(raca) AS STRING) AS raca_cor, + SAFE_CAST(TRIM(deficiente) AS STRING) AS deficiente, + SAFE_CAST(TRIM(uf_cart) AS STRING) AS sigla_uf_cartorio_certidao_civil, + SAFE_CAST(TRIM(cidnasc) AS STRING) AS municipio_nascimento, + SAFE_CAST(TRIM(ufnasc) AS STRING) AS sigla_uf_nascimento, + SAFE_CAST(TRIM(g_sanguineo) AS STRING) AS grupo_sanguineo, + SAFE_CAST(TRIM(pai) AS STRING) AS nome_pai, + SAFE_CAST(TRIM(mae) AS STRING) AS nome_mae, + SAFE_CAST(REGEXP_REPLACE(TRIM(chegbrasil), r'\.0$', '') AS INT64) AS ano_chegada_brasil, + SAFE_CAST(TRIM(ufempant) AS STRING) AS sigla_uf_emprego_anterior, + SAFE_CAST(REGEXP_REPLACE(TRIM(anoprimemp), r'\.0$', '') AS INT64) AS ano_primeiro_emprego, + SAFE_CAST(REGEXP_REPLACE(TRIM(identprof), r'\.0$', '') AS STRING) AS id_identidade_profissional, + SAFE_CAST(TRIM(catmili) AS STRING) AS categoria_documento_militar, + SAFE_CAST(TRIM(municipio_cart_cod) AS STRING) AS municipio_certidao_civil, + SAFE_CAST(TRIM(cidadeender_cod) AS STRING) AS municipio_logradouro, + SAFE_CAST(REGEXP_REPLACE(TRIM(flex_campo_06), r'\.0$', '') AS STRING) AS id_ric, + SAFE_CAST(TRIM(flex_campo_07) AS STRING) AS orgao_ric, + SAFE_CAST(PARSE_DATE("%d/%m/%Y",REGEXP_REPLACE(flex_campo_08, "//", "/")) AS DATE) AS data_ric, + SAFE_CAST(REGEXP_REPLACE(TRIM(flex_campo_09), r'\.0$', '') AS STRING) AS id_rne, + SAFE_CAST(REGEXP_REPLACE(TRIM(numrg), r'\.0$', '') AS STRING) AS id_rg, + SAFE_CAST(TRIM(tiporg) AS STRING) AS tipo_rg, + SAFE_CAST(TRIM(orgaorg) AS STRING) AS emissor_rg, + SAFE_CAST(TRIM(municipio_cart) AS STRING) AS municipio_cartorio_certidao_civil, + SAFE_CAST(TRIM(tipodoc_cert) AS STRING) AS tipo_certidao_civil, + SAFE_CAST(TRIM(uf_identprof) AS STRING) AS sigla_uf_orgao_classe, + SAFE_CAST(DATE(expedrg) AS DATE) AS data_expedicao_rg, + SAFE_CAST(TRIM(orgaomili) AS STRING) AS emissor_documento_militar, + SAFE_CAST(TRIM(ufdocmili) AS STRING) AS sigla_uf_documento_militar, + SAFE_CAST(TRIM(tipodefic) AS STRING) AS tipo_deficiencia, + SAFE_CAST(TRIM(matricula_cert) AS STRING) AS matricula_certidao, + SAFE_CAST(TRIM(flex_campo_51) AS STRING) AS deficiencia_fisica, + SAFE_CAST(TRIM(flex_campo_52) AS STRING) AS deficiencia_visual, + SAFE_CAST(TRIM(flex_campo_53) AS STRING) AS deficiencia_auditiva, + SAFE_CAST(TRIM(flex_campo_54) AS STRING) AS deficiencia_mental, + SAFE_CAST(TRIM(flex_campo_55) AS STRING) AS deficiencia_intelectual, + SAFE_CAST(TRIM(flex_campo_56) AS STRING) AS recebe_beneficio_previdenciario, + SAFE_CAST(TRIM(flex_campo_58) AS STRING) AS nome_posse, + SAFE_CAST(TRIM(flex_campo_59) AS STRING) AS sexo_posse, + SAFE_CAST(PARSE_DATE("%d/%m/%Y",REGEXP_REPLACE(flex_campo_60, "//", "/")) AS DATE) AS data_alteracao_sexo, + SAFE_CAST(TRIM(flex_campo_69) AS STRING) AS pais_nascimento, + SAFE_CAST(PARSE_DATE("%d/%m/%Y",REGEXP_REPLACE(flex_campo_70, "//", "/")) AS DATE) AS data_primeiro_emprego, + SAFE_CAST(PARSE_DATE("%d/%m/%Y",REGEXP_REPLACE(flex_campo_80, "//", "/")) AS DATE) AS data_primeira_cnh, + SAFE_CAST(TRIM(flex_campo_89) AS STRING) AS cep_exterior, + SAFE_CAST(TRIM(estcivil) AS STRING) AS estado_civil, + SAFE_CAST(TRIM(escolaridade) AS STRING) AS escolaridade, + SAFE_CAST(TRIM(nacionalidade) AS STRING) AS nacionalidade, + SAFE_CAST(TRIM(ufrg) AS STRING) AS sigla_uf_emissor_rg, + SAFE_CAST(REGEXP_REPLACE(TRIM(cpf), r'\.0$', '') AS STRING) AS id_cpf, + SAFE_CAST(REGEXP_REPLACE(TRIM(numcartpro), r'\.0$', '') AS STRING) AS id_ctps, + SAFE_CAST(TRIM(sercartpro) AS STRING) AS serie_ctps, + SAFE_CAST(TRIM(ufcartpro) AS STRING) AS sigla_uf_ctps, + SAFE_CAST(REGEXP_REPLACE(TRIM(numtitel), r'\.0$', '') AS STRING) AS id_titulo_eleitor, + SAFE_CAST(TRIM(zonatitel) AS STRING) AS zona_eleitoral, + SAFE_CAST(TRIM(sectitel) AS STRING) AS secao_eleitoral, + SAFE_CAST(TRIM(uftitel) AS STRING) AS sigla_uf_titulo_eleitor, + SAFE_CAST(REGEXP_REPLACE(TRIM(numdocmili), r'\.0$', '') AS STRING) AS id_documento_militar, + SAFE_CAST(TRIM(serdocmili) AS STRING) AS serie_documento_militar, + SAFE_CAST(REGEXP_REPLACE(TRIM(cnh), r'\.0$', '') AS STRING) AS id_cnh, + SAFE_CAST(TRIM(catcnh) AS STRING) AS categoria_cnh, + SAFE_CAST(DATE(validcnh) AS DATE) AS validade_cnh, + SAFE_CAST(TRIM(ufcnh) AS STRING) AS sigla_uf_cnh, + SAFE_CAST(REGEXP_REPLACE(TRIM(pispasep), r'\.0$', '') AS STRING) AS id_pispasep, + SAFE_CAST(DATE(datapis) AS DATE) AS data_inicio_nis, + SAFE_CAST(TRIM(bancopis) AS STRING) AS numero_banco_nis, + SAFE_CAST(TRIM(tipoidprof) AS STRING) AS tipo_identidade_profissional, + SAFE_CAST(TRIM(tipologender) AS STRING) AS tipo_logradouro, + SAFE_CAST(TRIM(nomelogender) AS STRING) AS logradouro, + SAFE_CAST(REGEXP_REPLACE(TRIM(numender), r'\.0$', '') AS INT64) AS numero_porta, + SAFE_CAST(TRIM(complender) AS STRING) AS complemento_numero_porta, + SAFE_CAST(TRIM(bairroender) AS STRING) AS bairro, + SAFE_CAST(TRIM(cidadeender) AS STRING) AS municipio, + SAFE_CAST(TRIM(ufender) AS STRING) AS sigla_uf, + SAFE_CAST(TRIM(cepender) AS STRING) AS cep, + SAFE_CAST(TRIM(telefone) AS STRING) AS telefone, + SAFE_CAST(TRIM(banco) AS STRING) AS banco, + SAFE_CAST(TRIM(agencia) AS STRING) AS agencia, + SAFE_CAST(TRIM(conta) AS STRING) AS conta, + SAFE_CAST(TRIM(num_cert) AS STRING) AS numero_certidao, + SAFE_CAST(TRIM(livro_a_cert) AS STRING) AS livro_certidao, + SAFE_CAST(TRIM(folha_cert) AS STRING) AS folha_certidao, + SAFE_CAST(TRIM(cartorio_cert) AS STRING) AS cartorio_certidao, + SAFE_CAST(TRIM(ramal) AS STRING) AS ramal, + SAFE_CAST(TRIM(tratamento) AS STRING) AS nome_tratamento, + SAFE_CAST(TRIM(e_mail) AS STRING) AS email, + SAFE_CAST(TRIM(numtel_celular) AS STRING) AS celular, + SAFE_CAST(TRIM(flex_campo_02) AS STRING) AS impedimento, + SAFE_CAST(REGEXP_REPLACE(id_reg, r'\.0$', '') AS STRING) AS id_registro, + SAFE_CAST(REGEXP_REPLACE(id_pessoa, r'\.0$', '') AS STRING) AS id_pessoa, + SAFE_CAST(TRIM(nome_busca) AS STRING) AS nome_busca, + SAFE_CAST(DATE(TRIM(dt_recadast)) AS DATE) AS data_recadastramento, + + + + + -- review this fields + SAFE_CAST(TRIM(informarbb) AS STRING) AS informarbb, + SAFE_CAST(TRIM(tipopag) AS STRING) AS tipopag, + SAFE_CAST(TRIM(foto) AS STRING) AS foto, + SAFE_CAST(TRIM(pontpubl) AS STRING) AS pontpubl, + SAFE_CAST(TRIM(flag_web) AS STRING) AS flag_web, + SAFE_CAST(TRIM(tipodoc_cert_fim) AS STRING) AS tipodoc_cert_fim, + SAFE_CAST(TRIM(dt_cert_fim) AS STRING) AS dt_cert_fim, + SAFE_CAST(TRIM(num_cert_fim) AS STRING) AS num_cert_fim, + SAFE_CAST(TRIM(livro_cert_fim) AS STRING) AS livro_cert_fim, + SAFE_CAST(TRIM(folha_cert_fim) AS STRING) AS folha_cert_fim, + SAFE_CAST(TRIM(cartorio_cert_fim) AS STRING) AS cartorio_cert_fim, + SAFE_CAST(TRIM(uf_cart_fim) AS STRING) AS uf_cart_fim, + SAFE_CAST(TRIM(municipio_cart_fim) AS STRING) AS municipio_cart_fim, + SAFE_CAST(TRIM(gera_pasep) AS STRING) AS gera_pasep, + SAFE_CAST(TRIM(matricula_cert_fim) AS STRING) AS matricula_cert_fim, + SAFE_CAST(TRIM(municipio_cart_fim_cod) AS STRING) AS municipio_cart_fim_cod, + SAFE_CAST(TRIM(pontarqs) AS STRING) AS pontarqs, + + + + + + + SAFE_CAST(TRIM(flex_campo_01) AS STRING) AS flex_campo_01, + SAFE_CAST(TRIM(flex_campo_04) AS STRING) AS flex_campo_04, + SAFE_CAST(TRIM(flex_campo_05) AS STRING) AS flex_campo_05, + SAFE_CAST(TRIM(flex_campo_29) AS STRING) AS flex_campo_29, + SAFE_CAST(TRIM(flex_campo_31) AS STRING) AS flex_campo_31, + SAFE_CAST(TRIM(flex_campo_32) AS STRING) AS flex_campo_32, + SAFE_CAST(TRIM(flex_campo_33) AS STRING) AS flex_campo_33, + SAFE_CAST(TRIM(flex_campo_34) AS STRING) AS flex_campo_34, + SAFE_CAST(TRIM(flex_campo_35) AS STRING) AS flex_campo_35, + SAFE_CAST(TRIM(flex_campo_37) AS STRING) AS flex_campo_37, + SAFE_CAST(TRIM(flex_campo_38) AS STRING) AS flex_campo_38, + SAFE_CAST(TRIM(flex_campo_39) AS STRING) AS flex_campo_39, + SAFE_CAST(TRIM(flex_campo_41) AS STRING) AS flex_campo_41, + SAFE_CAST(TRIM(flex_campo_42) AS STRING) AS flex_campo_42, + SAFE_CAST(TRIM(flex_campo_43) AS STRING) AS flex_campo_43, + SAFE_CAST(TRIM(flex_campo_44) AS STRING) AS flex_campo_44, + SAFE_CAST(TRIM(flex_campo_45) AS STRING) AS flex_campo_45, + SAFE_CAST(TRIM(flex_campo_46) AS STRING) AS flex_campo_46, + SAFE_CAST(TRIM(flex_campo_47) AS STRING) AS flex_campo_47, + SAFE_CAST(TRIM(flex_campo_48) AS STRING) AS flex_campo_48, + SAFE_CAST(TRIM(flex_campo_49) AS STRING) AS flex_campo_49, + SAFE_CAST(TRIM(flex_campo_50) AS STRING) AS flex_campo_50, + SAFE_CAST(TRIM(flex_campo_57) AS STRING) AS flex_campo_57, + SAFE_CAST(TRIM(flex_campo_61) AS STRING) AS flex_campo_61, + SAFE_CAST(TRIM(flex_campo_62) AS STRING) AS flex_campo_62, + SAFE_CAST(TRIM(flex_campo_63) AS STRING) AS flex_campo_63, + SAFE_CAST(TRIM(flex_campo_64) AS STRING) AS flex_campo_64, + SAFE_CAST(TRIM(flex_campo_65) AS STRING) AS flex_campo_65, + SAFE_CAST(TRIM(flex_campo_66) AS STRING) AS flex_campo_66, + SAFE_CAST(TRIM(flex_campo_67) AS STRING) AS flex_campo_67, + SAFE_CAST(TRIM(flex_campo_68) AS STRING) AS flex_campo_68, + SAFE_CAST(TRIM(flex_campo_71) AS STRING) AS flex_campo_71, + SAFE_CAST(TRIM(flex_campo_72) AS STRING) AS flex_campo_72, + SAFE_CAST(TRIM(flex_campo_73) AS STRING) AS flex_campo_73, + SAFE_CAST(TRIM(flex_campo_74) AS STRING) AS flex_campo_74, + SAFE_CAST(TRIM(flex_campo_75) AS STRING) AS flex_campo_75, + SAFE_CAST(TRIM(flex_campo_76) AS STRING) AS flex_campo_76, + SAFE_CAST(TRIM(flex_campo_77) AS STRING) AS flex_campo_77, + SAFE_CAST(TRIM(flex_campo_78) AS STRING) AS flex_campo_78, + SAFE_CAST(TRIM(flex_campo_79) AS STRING) AS flex_campo_79, + SAFE_CAST(TRIM(flex_campo_81) AS STRING) AS flex_campo_81, + SAFE_CAST(TRIM(flex_campo_82) AS STRING) AS flex_campo_82, + SAFE_CAST(TRIM(flex_campo_83) AS STRING) AS flex_campo_83, + SAFE_CAST(TRIM(flex_campo_84) AS STRING) AS flex_campo_84, + SAFE_CAST(TRIM(flex_campo_85) AS STRING) AS flex_campo_85, + SAFE_CAST(TRIM(flex_campo_86) AS STRING) AS flex_campo_86, + SAFE_CAST(TRIM(flex_campo_87) AS STRING) AS flex_campo_87, + SAFE_CAST(TRIM(flex_campo_88) AS STRING) AS flex_campo_88, + SAFE_CAST(TRIM(flex_campo_91) AS STRING) AS flex_campo_91, + SAFE_CAST(TRIM(flex_campo_92) AS STRING) AS flex_campo_92, + SAFE_CAST(TRIM(flex_campo_93) AS STRING) AS flex_campo_93, + SAFE_CAST(TRIM(flex_campo_94) AS STRING) AS flex_campo_94, + SAFE_CAST(TRIM(flex_campo_95) AS STRING) AS flex_campo_95, + SAFE_CAST(TRIM(flex_campo_96) AS STRING) AS flex_campo_96, + SAFE_CAST(TRIM(flex_campo_97) AS STRING) AS flex_campo_97, + SAFE_CAST(TRIM(flex_campo_98) AS STRING) AS flex_campo_98, + SAFE_CAST(TRIM(flex_campo_99) AS STRING) AS flex_campo_99, + SAFE_CAST(TRIM(flex_campo_100) AS STRING) AS flex_campo_100, + + + + + +FROM rj-smfp.recursos_humanos_ergon_comlurb_staging.funcionario AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__funcionario_evento.sql b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__funcionario_evento.sql new file mode 100644 index 0000000..fd11c58 --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__funcionario_evento.sql @@ -0,0 +1,21 @@ +{{ + config( alias='funcionario_evento',schema='recursos_humanos_ergon_comlurb') +}} +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numev), r'\.0$', '') AS STRING) AS id_evento, + SAFE_CAST(TRIM(referencia) AS STRING) AS referencia, + SAFE_CAST(TRIM(jornada) AS STRING) AS horas_jornada, + SAFE_CAST(REGEXP_REPLACE(TRIM(horariotrab), r'\.0$', '') AS STRING) AS id_horario_trabalho, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(REGEXP_REPLACE(TRIM(id_reg), r'\.0$', '') AS STRING) AS id_registro, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(TRIM(tipoevento) AS STRING) AS tipo_evento, + SAFE_CAST(TRIM(formaprov) AS STRING) AS forma_provimento, + SAFE_CAST(DATE(dtini) AS DATE) AS data_inicio_situacao_funcional, + SAFE_CAST(DATE(dtfim) AS DATE) AS data_fim_situacao_funcional, + SAFE_CAST(DATE(dtinirem) AS DATE) AS data_inicio_evento_funcional, + SAFE_CAST(DATE(dtfimrem) AS DATE) AS data_fim_evento_funcional, + SAFE_CAST(REGEXP_REPLACE(TRIM(cargo), r'\.0$', '') AS STRING) AS id_cargo, + SAFE_CAST(REGEXP_REPLACE(TRIM(setor), r'\.0$', '') AS STRING) AS id_setor, +FROM rj-smfp.recursos_humanos_ergon_comlurb_staging.funcionario_evento AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__licenca_afastamento.sql b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__licenca_afastamento.sql new file mode 100644 index 0000000..9724fa5 --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__licenca_afastamento.sql @@ -0,0 +1,91 @@ +{{ + config( alias='licenca_afastamento',schema='recursos_humanos_ergon_comlurb') +}} + +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(REGEXP_REPLACE(id_reg, r'\.0$', '') AS STRING) AS id_registro, + SAFE_CAST(DATE(dtini) AS DATE) AS data_inicio, + SAFE_CAST(DATE(dtfim) AS DATE) AS data_fim, + SAFE_CAST(TRIM(tipofreq) AS STRING) AS tipo_frequencia, + SAFE_CAST(REGEXP_REPLACE(TRIM(codfreq), r'\.0$', '') AS STRING) AS id_frequencia, + SAFE_CAST(TRIM(motivo) AS STRING) AS motivo, + SAFE_CAST(DATE(dtprevfim) AS DATE) AS data_previsao_fim, + SAFE_CAST(TRIM(reqlicafast) AS STRING) AS reqlicafast, + SAFE_CAST(TRIM(resultpront) AS STRING) AS resultpront, + SAFE_CAST(TRIM(pontlei) AS STRING) AS publicacao_diario_oficial, + SAFE_CAST(TRIM(pontpubl) AS STRING) AS pontpubl, + SAFE_CAST(TRIM(pontproc) AS STRING) AS pontproc, + SAFE_CAST(SAFE.PARSE_DATETIME("%d/%m/%Y %H:%M:%S", TRIM(flex_campo_01)) AS DATETIME) AS flex_campo_01, + SAFE_CAST(TRIM(flex_campo_02) AS STRING) AS flex_campo_02, + SAFE_CAST(TRIM(flex_campo_03) AS STRING) AS flex_campo_03, + SAFE_CAST(TRIM(flex_campo_04) AS STRING) AS flex_campo_04, + SAFE_CAST(TRIM(flex_campo_05) AS STRING) AS flex_campo_05, + SAFE_CAST(TRIM(flex_campo_06) AS STRING) AS flex_campo_06, + SAFE_CAST(TRIM(flex_campo_07) AS STRING) AS flex_campo_07, + SAFE_CAST(TRIM(flex_campo_08) AS STRING) AS flex_campo_08, + SAFE_CAST(TRIM(flex_campo_09) AS STRING) AS flex_campo_09, + SAFE_CAST(TRIM(flex_campo_10) AS STRING) AS flex_campo_10, + SAFE_CAST(TRIM(flex_campo_11) AS STRING) AS flex_campo_11, + SAFE_CAST(TRIM(flex_campo_12) AS STRING) AS flex_campo_12, + SAFE_CAST(TRIM(flex_campo_13) AS STRING) AS flex_campo_13, + SAFE_CAST(TRIM(flex_campo_14) AS STRING) AS flex_campo_14, + SAFE_CAST(TRIM(flex_campo_15) AS STRING) AS flex_campo_15, + SAFE_CAST(TRIM(flex_campo_16) AS STRING) AS flex_campo_16, + SAFE_CAST(TRIM(flex_campo_17) AS STRING) AS flex_campo_17, + SAFE_CAST(TRIM(flex_campo_18) AS STRING) AS flex_campo_18, + SAFE_CAST(TRIM(flex_campo_19) AS STRING) AS flex_campo_19, + SAFE_CAST(TRIM(flex_campo_20) AS STRING) AS flex_campo_20, + SAFE_CAST(TRIM(flex_campo_21) AS STRING) AS flex_campo_21, + SAFE_CAST(TRIM(flex_campo_22) AS STRING) AS flex_campo_22, + SAFE_CAST(TRIM(flex_campo_23) AS STRING) AS flex_campo_23, + SAFE_CAST(TRIM(flex_campo_24) AS STRING) AS flex_campo_24, + SAFE_CAST(TRIM(flex_campo_25) AS STRING) AS flex_campo_25, + SAFE_CAST(TRIM(flex_campo_26) AS STRING) AS flex_campo_26, + SAFE_CAST(TRIM(flex_campo_27) AS STRING) AS flex_campo_27, + SAFE_CAST(TRIM(flex_campo_28) AS STRING) AS flex_campo_28, + SAFE_CAST(TRIM(flex_campo_29) AS STRING) AS flex_campo_29, + SAFE_CAST(TRIM(flex_campo_30) AS STRING) AS flex_campo_30, + SAFE_CAST(TRIM(flex_campo_31) AS STRING) AS flex_campo_31, + SAFE_CAST(TRIM(flex_campo_32) AS STRING) AS flex_campo_32, + SAFE_CAST(TRIM(flex_campo_33) AS STRING) AS flex_campo_33, + SAFE_CAST(TRIM(flex_campo_34) AS STRING) AS flex_campo_34, + SAFE_CAST(TRIM(flex_campo_35) AS STRING) AS flex_campo_35, + SAFE_CAST(TRIM(flex_campo_36) AS STRING) AS flex_campo_36, + SAFE_CAST(TRIM(flex_campo_37) AS STRING) AS flex_campo_37, + SAFE_CAST(TRIM(flex_campo_38) AS STRING) AS flex_campo_38, + SAFE_CAST(TRIM(flex_campo_39) AS STRING) AS flex_campo_39, + SAFE_CAST(TRIM(flex_campo_40) AS STRING) AS flex_campo_40, + SAFE_CAST(TRIM(flex_campo_41) AS STRING) AS flex_campo_41, + SAFE_CAST(TRIM(flex_campo_42) AS STRING) AS flex_campo_42, + SAFE_CAST(TRIM(flex_campo_43) AS STRING) AS flex_campo_43, + SAFE_CAST(TRIM(flex_campo_44) AS STRING) AS flex_campo_44, + SAFE_CAST(TRIM(flex_campo_45) AS STRING) AS flex_campo_45, + SAFE_CAST(TRIM(flex_campo_46) AS STRING) AS flex_campo_46, + SAFE_CAST(TRIM(flex_campo_47) AS STRING) AS flex_campo_47, + SAFE_CAST(TRIM(flex_campo_48) AS STRING) AS flex_campo_48, + SAFE_CAST(TRIM(flex_campo_49) AS STRING) AS flex_campo_49, + SAFE_CAST(TRIM(flex_campo_50) AS STRING) AS flex_campo_50, + SAFE_CAST(TRIM(flex_campo_51) AS STRING) AS flex_campo_51, + SAFE_CAST(TRIM(flex_campo_52) AS STRING) AS flex_campo_52, + SAFE_CAST(TRIM(flex_campo_53) AS STRING) AS flex_campo_53, + SAFE_CAST(TRIM(flex_campo_54) AS STRING) AS flex_campo_54, + SAFE_CAST(TRIM(flex_campo_55) AS STRING) AS flex_campo_55, + SAFE_CAST(TRIM(flex_campo_56) AS STRING) AS flex_campo_56, + SAFE_CAST(TRIM(flex_campo_57) AS STRING) AS flex_campo_57, + SAFE_CAST(TRIM(flex_campo_58) AS STRING) AS flex_campo_58, + SAFE_CAST(TRIM(flex_campo_59) AS STRING) AS flex_campo_59, + SAFE_CAST(TRIM(flex_campo_60) AS STRING) AS flex_campo_60, + SAFE_CAST(TRIM(flex_campo_61) AS STRING) AS flex_campo_61, + SAFE_CAST(TRIM(flex_campo_62) AS STRING) AS flex_campo_62, + SAFE_CAST(TRIM(flex_campo_63) AS STRING) AS flex_campo_63, + SAFE_CAST(TRIM(flex_campo_64) AS STRING) AS flex_campo_64, + SAFE_CAST(TRIM(flex_campo_65) AS STRING) AS flex_campo_65, +FROM rj-smfp.recursos_humanos_ergon_comlurb_staging.licenca_afastamento AS t + + + + + diff --git a/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__setor.sql b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__setor.sql new file mode 100644 index 0000000..0009810 --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__setor.sql @@ -0,0 +1,15 @@ +{{ + config( alias='setor',schema='recursos_humanos_ergon_comlurb') +}} + +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(setor), r'\.0$', '') AS STRING) AS id_setor, + SAFE_CAST(DATE(dtini) AS DATE) AS data_inicio, + SAFE_CAST(DATE(dtfim) AS DATE) AS data_fim, + SAFE_CAST(TRIM(tiposetor) AS STRING) AS tipo, + SAFE_CAST(TRIM(tipoacesso) AS STRING) AS tipo_acesso, + SAFE_CAST(TRIM(cep) AS STRING) AS cep, + SAFE_CAST(REGEXP_REPLACE(TRIM(codlog), r'\.0$', '') AS STRING) AS id_logradouro, + SAFE_CAST(REGEXP_REPLACE(TRIM(flex_campo_02), r'\.0$', '') AS STRING) AS id_setor_sici, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa_setor, +FROM rj-smfp.recursos_humanos_ergon_comlurb_staging.setor AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__setor_h.sql b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__setor_h.sql new file mode 100644 index 0000000..5f86983 --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__setor_h.sql @@ -0,0 +1,16 @@ +{{ + config( alias='setor_h',schema='recursos_humanos_ergon_comlurb') +}} +SELECT + SAFE_CAST(DATE(dataini) AS DATE) AS data_inicio, + SAFE_CAST(REGEXP_REPLACE(TRIM(setor), r'\.0$', '') AS STRING) AS id_setor_sici, + SAFE_CAST(TRIM(nomesetor) AS STRING) AS nome, + SAFE_CAST(REGEXP_REPLACE(TRIM(paisetor), r'\.0$', '') AS STRING) AS id_setor_pai_sici, + SAFE_CAST(DATE(datafim) AS DATE) AS data_fim, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa_sici, + SAFE_CAST(TRIM(flex_campo_01) AS STRING) AS sigla, + SAFE_CAST(REGEXP_REPLACE(TRIM(flex_campo_02), r'\.0$', '') AS STRING) AS id_empresa_prevrio, + SAFE_CAST(REGEXP_REPLACE(TRIM(flex_campo_05), r'\.0$', '') AS STRING) AS id_secretaria_sici, + SAFE_CAST(TRIM(extinto) AS STRING) AS extinto, + SAFE_CAST(TRIM(nomesetorlongo) AS STRING) AS nome_completo, +FROM rj-smfp.recursos_humanos_ergon_comlurb_staging.setor_h AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__vantagens.sql b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__vantagens.sql new file mode 100644 index 0000000..b617e06 --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__vantagens.sql @@ -0,0 +1,86 @@ +{{ + config( alias='vantagens',schema='recursos_humanos_ergon_comlurb') +}} + +SELECT + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numvinc), r'\.0$', '') AS STRING) AS id_vinculo, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(REGEXP_REPLACE(id_reg, r'\.0$', '') AS STRING) AS id_registro, + SAFE_CAST(REGEXP_REPLACE(TRIM(chavevant), r'\.0$', '') AS STRING) AS id_vantagem, + + + SAFE_CAST(dtini AS DATE) AS data_inicio, + SAFE_CAST(dtfim AS DATE) AS data_fim, + SAFE_CAST(TRIM(pontlei) AS STRING) AS publicacao_diario_oficial, + SAFE_CAST(TRIM(pontpubl) AS STRING) AS pontpubl, + SAFE_CAST(TRIM(pontproc) AS STRING) AS pontproc, + SAFE_CAST(TRIM(vantagem) AS STRING) AS nome_vantagem, + SAFE_CAST(TRIM(valor) AS STRING) AS valor_vantagem, + SAFE_CAST(TRIM(info) AS STRING) AS informacao_atributo, + SAFE_CAST(TRIM(tipo_incorporacao) AS STRING) AS tipo_incorporacao_cargo_fiducia, + SAFE_CAST(TRIM(perc_inc_funcao) AS STRING) AS percentual_incorporacao_cargo_fiducia, + SAFE_CAST(TRIM(inc_tabelavenc) AS STRING) AS incide_tabela_vencimentos, + SAFE_CAST(TRIM(inc_referencia) AS STRING) AS incide_tabela_simbolo, + SAFE_CAST(TRIM(obs) AS STRING) AS observacoes, + + + + SAFE_CAST(TRIM(valor2) AS STRING) AS valor_complementar, + SAFE_CAST(TRIM(info2) AS STRING) AS informacao_complementar, + SAFE_CAST(TRIM(valor3) AS STRING) AS valor_complementar_2, + SAFE_CAST(TRIM(info3) AS STRING) AS informacao_complementar_2, + SAFE_CAST(TRIM(valor4) AS STRING) AS valor_coplementar_3, + SAFE_CAST(TRIM(info4) AS STRING) AS informacao_complementar_3, + SAFE_CAST(TRIM(valor5) AS STRING) AS valor_complementar_4, + SAFE_CAST(TRIM(info5) AS STRING) AS informacao_complementar_4, + SAFE_CAST(TRIM(valor6) AS STRING) AS valor_complementar_5, + SAFE_CAST(TRIM(info6) AS STRING) AS informacao_complementar_5, + + SAFE_CAST(TRIM(perc_inc_grat_funcao) AS STRING) AS perc_inc_grat_funcao, + SAFE_CAST(TRIM(inc_grat_tabvenc) AS STRING) AS inc_grat_tabvenc, + SAFE_CAST(TRIM(inc_grat_referencia) AS STRING) AS inc_grat_referencia, + SAFE_CAST(TRIM(incorp_extra_tipofreq_1) AS STRING) AS incorp_extra_tipofreq_1, + SAFE_CAST(TRIM(quant_extra_1) AS STRING) AS quant_extra_1, + SAFE_CAST(TRIM(incorp_extra_tipofreq_2) AS STRING) AS incorp_extra_tipofreq_2, + SAFE_CAST(TRIM(quant_extra_2) AS STRING) AS quant_extra_2, + SAFE_CAST(TRIM(id_proc_pes) AS STRING) AS id_proc_pes, + + + + SAFE_CAST(TRIM(flex_campo_01) AS STRING) AS flex_campo_01, + SAFE_CAST(TRIM(flex_campo_02) AS STRING) AS flex_campo_02, + SAFE_CAST(TRIM(flex_campo_03) AS STRING) AS flex_campo_03, + SAFE_CAST(TRIM(flex_campo_04) AS STRING) AS flex_campo_04, + SAFE_CAST(TRIM(flex_campo_05) AS STRING) AS flex_campo_05, + SAFE_CAST(TRIM(flex_campo_06) AS STRING) AS flex_campo_06, + SAFE_CAST(TRIM(flex_campo_07) AS STRING) AS flex_campo_07, + SAFE_CAST(TRIM(flex_campo_08) AS STRING) AS flex_campo_08, + SAFE_CAST(TRIM(flex_campo_09) AS STRING) AS flex_campo_09, + SAFE_CAST(TRIM(flex_campo_10) AS STRING) AS flex_campo_10, + SAFE_CAST(TRIM(flex_campo_11) AS STRING) AS flex_campo_11, + SAFE_CAST(TRIM(flex_campo_12) AS STRING) AS flex_campo_12, + SAFE_CAST(TRIM(flex_campo_13) AS STRING) AS flex_campo_13, + SAFE_CAST(TRIM(flex_campo_14) AS STRING) AS flex_campo_14, + SAFE_CAST(TRIM(flex_campo_15) AS STRING) AS flex_campo_15, + SAFE_CAST(TRIM(flex_campo_16) AS STRING) AS flex_campo_16, + SAFE_CAST(TRIM(flex_campo_17) AS STRING) AS flex_campo_17, + SAFE_CAST(TRIM(flex_campo_18) AS STRING) AS flex_campo_18, + SAFE_CAST(TRIM(flex_campo_19) AS STRING) AS flex_campo_19, + SAFE_CAST(TRIM(flex_campo_20) AS STRING) AS flex_campo_20, + SAFE_CAST(TRIM(flex_campo_21) AS STRING) AS flex_campo_21, + SAFE_CAST(TRIM(flex_campo_22) AS STRING) AS flex_campo_22, + SAFE_CAST(TRIM(flex_campo_23) AS STRING) AS flex_campo_23, + SAFE_CAST(TRIM(flex_campo_24) AS STRING) AS flex_campo_24, + SAFE_CAST(TRIM(flex_campo_25) AS STRING) AS flex_campo_25, + SAFE_CAST(TRIM(flex_campo_26) AS STRING) AS flex_campo_26, + SAFE_CAST(TRIM(flex_campo_27) AS STRING) AS flex_campo_27, + SAFE_CAST(TRIM(flex_campo_28) AS STRING) AS flex_campo_28, + SAFE_CAST(TRIM(flex_campo_29) AS STRING) AS flex_campo_29, + SAFE_CAST(TRIM(flex_campo_30) AS STRING) AS flex_campo_30, +FROM rj-smfp.recursos_humanos_ergon_comlurb_staging.vantagens AS t + + + + + diff --git a/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__vinculo.sql b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__vinculo.sql new file mode 100644 index 0000000..2e0a5e0 --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/recursos_humanos_ergon_comlurb__vinculo.sql @@ -0,0 +1,43 @@ +{{ + config( alias='vinculo',schema='recursos_humanos_ergon_comlurb') +}} +SELECT + SAFE_CAST(DATE(dtini_cessao) AS DATE) AS data_inicio_cessao, + SAFE_CAST(DATE(dtfim_cessao) AS DATE) AS data_fim_cessao, + SAFE_CAST(REGEXP_REPLACE(TRIM(numfunc), r'\.0$', '') AS STRING) AS id_funcionario, + SAFE_CAST(REGEXP_REPLACE(TRIM(numero), r'\.0$', '') AS INT64) AS numero_vinculo, + SAFE_CAST(DATE(dtnom) AS DATE) AS data_nomeacao, + SAFE_CAST(TRIM(tipovinc) AS STRING) AS tipo_regime_juridico, + SAFE_CAST(TRIM(categoria) AS STRING) AS categoria, + SAFE_CAST(TRIM(desconta_ir) AS STRING) AS desconta_ir, + SAFE_CAST(TRIM(motivo) AS STRING) AS descricao_provimento, + SAFE_CAST(TRIM(classifconc) AS STRING) AS classificacao_concurso, + SAFE_CAST(DATE(dtconc) AS DATE) AS data_concurso, + SAFE_CAST(DATE(dtopfgts) AS DATE) AS data_opcao_fgts, + SAFE_CAST(DATE(dtinicontr) AS DATE) AS data_inicio_contrato, + SAFE_CAST(DATE(dtfimcontr) AS DATE) AS data_fim_contrato, + SAFE_CAST(DATE(dtprorrogcontr) AS DATE) AS data_prorrogacao_contrato, + SAFE_CAST(DATE(dtaposent) AS DATE) AS data_aposentadoria, + SAFE_CAST(TRIM(tipoapos) AS STRING) AS tipo_aposentadoria, + SAFE_CAST(DATE(dtvac) AS DATE) AS data_vacancia, + SAFE_CAST(REGEXP_REPLACE(TRIM(formavac), r'\.0$', '') AS STRING) AS id_vacancia, + SAFE_CAST(TRIM(numvincant) AS STRING) AS numero_vinculo_anterior, + SAFE_CAST(TRIM(numvincpos) AS STRING) AS numero_vinculo_posterior, + SAFE_CAST(TRIM(tipoorg_req) AS STRING) AS tipo_orgao_origem, + SAFE_CAST(TRIM(funcao_req) AS STRING) AS funcao_orgao_origem, + SAFE_CAST(TRIM(fone_req) AS STRING) AS telefone_orgao_destino, + SAFE_CAST(TRIM(motivovac) AS STRING) AS motivo_vacancia, + SAFE_CAST(TRIM(orgao_ext_req) AS STRING) AS orgao_origem, + SAFE_CAST(TRIM(tipo_onus_req) AS STRING) AS tipo_onus_requisicao, + SAFE_CAST(TRIM(tipo_ressarc_req) AS STRING) AS tipo_ressarcimento_requisicao, + SAFE_CAST(TRIM(tipo_req) AS STRING) AS tipo_requisicao, + SAFE_CAST(TRIM(flex_campo_01) AS STRING) AS tipo_origem, + SAFE_CAST(REGEXP_REPLACE(TRIM(flex_campo_05), r'\.0$', '') AS STRING) AS id_processo, + SAFE_CAST(TRIM(flex_campo_09) AS STRING) AS contrato_empregado_cedido_suspenso, + SAFE_CAST(TRIM(flex_campo_18) AS STRING) AS preenchido_cota, + SAFE_CAST(REGEXP_REPLACE(TRIM(emp_codigo), r'\.0$', '') AS STRING) AS id_empresa, + SAFE_CAST(DATE(dtposse) AS DATE) AS data_posse, + SAFE_CAST(DATE(dtexerc) AS DATE) AS data_inicio_exercicio, + SAFE_CAST(TRIM(regimejur) AS STRING) AS regime_juridico, + SAFE_CAST(DATE(dt_pgto_ate) AS DATE) AS data_pagamento_recisao, +FROM rj-smfp.recursos_humanos_ergon_comlurb_staging.vinculo AS t \ No newline at end of file diff --git a/queries/models/recursos_humanos_ergon_comlurb/schema.yml b/queries/models/recursos_humanos_ergon_comlurb/schema.yml new file mode 100644 index 0000000..9d793a8 --- /dev/null +++ b/queries/models/recursos_humanos_ergon_comlurb/schema.yml @@ -0,0 +1,754 @@ +version: 2 +models : + - name: recursos_humanos_ergon_comlurb__vinculo + description: "**Descrição**: Vínculos de pagamento ( em geral empregatícios ), + tanto antigos como atuais, da COMLURB. Um vínculo, em geral, está associado + a uma matrícula.\n**Frequência de atualização**: Nunca\n**Cobertura temporal**: + Não informado\n**Órgão gestor dos dados**: SUBGGC\n**Publicado por**: Não informado\n + **Publicado por (email)**: nao.informado@gmail.com\n" + columns: + - name: data_inicio_cessao + description: Data de início da cessão, quanto o servidor é cedido. Quando + o servidor não é cedido o atributo fica em branco. Cessão é o empréstimo + de funcionário de órgão externo à COMLURB para a COMLURB. + - name: data_fim_cessao + description: Data do fim da cessão, quanto o servidor é cedido. Quando o servidor + não é cedido ou não foi devolvido fica em branco. + - name: id_funcionario + description: Número do funcionário, pode estar repetido nesta visão, caso + o funcionário tenha ou tenha tido outros vínculos. Existe um para cada pessoa, + independente do número de vínculos. + - name: numero_vinculo + description: Número do vínculo da pessoa. O número é dado sequencialmente, + com 1 para o primeiro vínculo, 2 para o segundo e assim por diante. Ex. + Uma pessoa pode se demitir da COMLURB e depois voltar, criando assim um + segundo vínculo. + - name: data_nomeacao + description: Data de nomeação do funcionário relativa ao vínculo. + - name: tipo_regime_juridico + description: 'Detalhamento do regime jurídico. Exemplo: CLT - Contrato indeterminado, + CLT - Contrato determinado.' + - name: categoria + description: 'Categoria do vínculo. Exemplo: Educação, saúde etc. Categoria + é um conjunto de cargos.' + - name: desconta_ir + description: Booleano indicando se o vínculo desconta IR ou não. Valores N + ou S. + - name: descricao_provimento + description: Descrição do provimento. Campo livre. + - name: classificacao_concurso + description: Classificação no concurso relativo a este vínculo, caso tenha + sido feito concurso. Em branco caso não tenha feito. + - name: data_concurso + description: Data do concurso relativo ao vínculo. Caso não tenha havido concurso + fica em branco. + - name: data_opcao_fgts + description: Data em que o funcionário optou pelo FGTS, caso o funcionário + seja celetista. Caso não fica em branco. + - name: data_inicio_contrato + description: Data de início do contrato por tempo determinado, caso o vínculo + esteja relacionado a um contrato. Caso não fica em branco. + - name: data_fim_contrato + description: Data de fim do contrato por tempo determinado, caso o vínculo + esteja relacionado a um contrato. Caso não fica em branco. + - name: data_prorrogacao_contrato + description: Data da prorrogação do contrato relacionado ao vínculo, caso + tenha sido assinado um contrato por tempo determinado. Caso não fica em + branco + - name: data_aposentadoria + description: Data de aposentadoria relacionada ao vínculo. Caso não tenha + havido ainda aposentadoria fica em branco. + - name: tipo_aposentadoria + description: 'Tipo da aposentadoria relativa ao vínculo. Exemplo: 47 - integral + art 3' + - name: data_vacancia + description: Data de vacância relativa ao vínculo. A vacância ocorre quando + se encerra o vínculo. + - name: id_vacancia + description: Código de vacância relativa ao vínculo. + - name: numero_vinculo_anterior + description: Número do vínculo anterior, caso haja algum. Se não fica em branco. + - name: numero_vinculo_posterior + description: Número do vínculo posterior, caso haja algum. Se não fica em + branco. + - name: tipo_orgao_origem + description: 'Tipo do órgão da origem do funcionário ( em caso do funcionário + ser cedido para a COMLURB). Exemplo: DIR.EST. (Direta estatual)' + - name: funcao_orgao_origem + description: Função, na origem, da pessoa requisitada. Atributo de preenchimento + livre. Em branco caso não tenha havido requisição. + - name: telefone_orgao_destino + description: Número do telefone de onde o funcionário foi requisitado. Em + branco caso não tenha havido requisição. + - name: motivo_vacancia + description: Motivo da vacância. O que encerrou o vínculo, caso ele tenha + sido encerrado. Caso não o atributo está em branco. Campo livre para preenchimento. + - name: orgao_origem + description: Órgão de origem do funcionário que foi requisitado. Caso a pessoa + associada ao vínculo tenha sido requisitada pela prefeitura. Caso não tenha + sido requisitado fica em branco. + - name: tipo_onus_requisicao + description: 'Tipo de ônus da requisição. Exemplo: Com ônus, sem ônus, não + se aplica.' + - name: tipo_ressarcimento_requisicao + description: Tipo de ressarcimento da requisição. Exemplo Sim ou não. Está + associado ao atributo TIPO_ONUS_REQ. + - name: tipo_requisicao + description: 'Tipo da requisição. Exemplo: Externo, interna, permuta.' + - name: tipo_origem + description: Origem do servidor cedido. Ex direta estadual, indireta estatual. + - name: id_processo + description: Número do processo, na COMLURB, que deu origem da vaga associada + ao vínculo. + - name: contrato_empregado_cedido_suspenso + description: Booleana que indica se o contrato do empregado público cedido + encontra-se suspenso. + - name: preenchido_cota + description: Indica se o vínculo foi preenchido por cota. Em branco, não entrou + por cota. Caso esteja preenchido o vínculo foi preenchido por cota. Valores + possíveis Lei 2.111/1994 para DEFICIENTE, LEi 5.401/2012 para Raça, lei + 5.695/2014 para Raça. + - name: id_empresa + description: Código da empresa, sempre o código da COMLURB. + - name: data_posse + description: Data da posse do funcionário relativo a este vínculo. + - name: data_inicio_exercicio + description: Data do início do exercício do funcionário relativo a este vínculo. + - name: regime_juridico + description: 'Regime jurídico do vínculo. Ex.: Estatutário, celetista, aposentado + etc' + - name: data_pagamento_recisao + description: Data de pagamento da rescisão do vínculo, caso tenha havido rescisão. + - name: recursos_humanos_ergon_comlurb__setor_h + description: "**Descrição**: Setores existentes na COMLURB. São setores existentes + no SICI.\n**Frequência de atualização**: Nunca\n**Cobertura temporal**: Não + informado\n**Órgão gestor dos dados**: SUBGGC\n**Publicado por**: Não informado\n + **Publicado por (email)**: nao.informado@gmail.com\n" + columns: + - name: data_inicio + description: Data em que o setor foi colocado no presente organograma. + - name: id_setor_sici + description: Código, dado pelo SICI, do setor. + - name: nome + description: Nome do setor, possivelmente abreviado, pelo tamanho do atributo. + - name: id_setor_pai_sici + description: Código, dado pelo SICI, do setor que está acima. + - name: data_fim + description: Data em que o setor saiu do organograma. + - name: id_empresa_sici + description: Código, dado pelo SICI, da empresa onde está localizada o setor. + - name: sigla + description: Sigla do setor. Ex. FP/SUBGGC. + - name: id_empresa_prevrio + description: Código da empresa na PREVRIO. Sempre aparece o código da COMLURB. + - name: id_secretaria_sici + description: Código, dado pelo SICI. da secretaria onde está o setor. + - name: extinto + description: Booleano que indica que o setor foi extinto. + - name: nome_completo + description: Nome completo do setor. + - name: recursos_humanos_ergon_comlurb__funcionario_evento + description: "**Descrição**: Eventos relacionados a situação funcional do funcionário + da Comlurb. Ex. Contratação, progressão, designação em cargo de comissão, etc;\n + **Frequência de atualização**: Nunca\n**Cobertura temporal**: Não informado\n + **Órgão gestor dos dados**: SUBGGC\n**Publicado por**: Não informado\n**Publicado + por (email)**: nao.informado@gmail.com\n" + columns: + - name: id_funcionario + description: Número do funcionário gerado pelo ERGON. + - name: id_evento + description: Número gerado pelo sistema único para cada registro da tabela. + - name: referencia + description: Referência da progressão do funcionário no cargo. + - name: horas_jornada + description: Jornada em horas de trabalho do funcionário. + - name: id_horario_trabalho + description: Código do horário de trabalho do funcionário. + - name: id_empresa + description: Código da empresa onde o funcionário trabalha. Sempre vai ser + o código da Comlurb. O Código é 1. + - name: id_registro + description: Número sequencial dado pelo sistema para cada registro criado. + - name: id_vinculo + description: Número do vínculo do funcionário da Comlurb. Um funcionário pode + ter vários vínculos caso seja desligado e recontratado pela Comlurb. + - name: tipo_evento + description: Tipo de evento funcional do funcionário. Ex. Provimento, designação. + - name: forma_provimento + description: Forma de provimento do funcionário. Ex. Contratação, demissão, + progressão, relocação, remoção etc + - name: data_inicio_situacao_funcional + description: Data do início da situação funcional iniciada pelo evento. + - name: data_fim_situacao_funcional + description: Data do fim da situação funcional iniciada pelo evento. + - name: data_inicio_evento_funcional + description: Data do início da situação funcional iniciada pelo evento, caso + o evento seja progressão. Caso não seja progressão fica em branco. Caso + não fique em branco tem sempre o valor do atributo DTINI. + - name: data_fim_evento_funcional + description: Data do fim da situação funcional iniciada pelo evento, caso + o evento seja progressão. Caso não seja progressão fica em branco. Caso + não fique em branco tem sempre o valor do atributo DTFIM. + - name: id_cargo + description: Código numérico do cargo do funcionário. + - name: id_setor + description: Código do setor onde o funcionário trabalha. + - name: recursos_humanos_ergon_comlurb__dependente + description: "**Descrição**: Dependentes dos empregados da Comlurb.\n**Frequência + de atualização**: Nunca\n**Cobertura temporal**: Não informado\n**Órgão gestor + dos dados**: SUBGGC\n**Publicado por**: Não informado\n**Publicado por (email)**: + nao.informado@gmail.com\n" + columns: + - name: id_certidao_nascimento_casamento + description: Número da certidão de nascimento ou casamento do dependente. + - name: numero_livro_nascimento_casamento + description: Número do livro da certidão de nascimento ou casamento do dependente. + - name: numero_folha_nascimento_casamento + description: Número da folha da certidão de nascimento ou casamento do dependente. + - name: numero_cartorio_nascimento_casamento + description: Número do cartório que emitiu a certidão de nascimento ou casamento + do dependente. + - name: estado_civil + description: Estado civil do dependente. + - name: nome_mae + description: Nome da mãe do dependente. + - name: sigla_uf_cartorio + description: Unidade da federação onde fica o cartório que emitiu a certidão + de nascimento ou de casamento do dependente. + - name: municipio_cartorio + description: Município onde fica o cartório que emitiu a certidão de nascimento + ou de casamento do dependente. + - name: tipo_certidao + description: Pode ser certidão de nascimento ou de casamento. + - name: id_rg + description: Número do documento apresentado do dependente. + - name: tipo_rg + description: Tipo do documento apresentado. Ex. Outros, RG., documento militar, + registro profissional. + - name: orgao_rg + description: Órgão que emitiu o documento apresentado. + - name: sigla_uf_rg + description: Unidade da federação onde foi emitido o documento do dependente + apresentado. + - name: tipo_certidao_fim + description: Tipo de certidão que justifica o cancelamento da condição de + dependente. Certidão de óbito ou certidão de desaparecimento. + - name: data_certidao_fim + description: Data indicada na certidão para o óbito ou desaparecimento. + - name: numero_certidao_fim + description: Número da certidão de óbito ou desaparecimento. + - name: numero_livro_certidao_fim + description: Número do livro da certidão de óbito ou desaparecimento. + - name: numero_folha_certidao_fim + description: Número da folha da certidão de óbito ou desaparecimento. + - name: numero_cartorio_certidao_fim + description: Número do cartório que emitiu a certidão de óbito ou desaparecimento. + - name: sigla_uf_cartorio_fim + description: Unidade da federação onde fica o cartório que emitiu a certidão + de óbito ou de desaparecimento. + - name: municipio_cartorio_certidao_fim + description: Município onde fica o cartório que emitiu a certidão de óbito + ou de desaparecimento. + - name: data_expedicao_rg + description: Data de expedição do documento apresentado do dependente. + - name: matricula_certidao + description: Número da matrícula da certidão de nascimento ou casamento. + - name: matricula_certidao_fim + description: Número da matrícula da certidão de óbito ou desaparecimento. + - name: tipo_dependente + description: Sempre tem o valor DEPENFUNC. Indica que é dependente do funcionário. + - name: id_dependente + description: Número sequencial dado pelo sistema para cada registro criado. + - name: id_funcionario + description: Número do funcionário gerado pelo ERGON. + - name: numero_dependente + description: Número do dependente. + - name: nome + description: Nome do dependente. + - name: sexo + description: Sexo do dependente. + - name: data_nascimento + description: Data de nascimento do dependente. + - name: parentesco + description: Parentesco do dependente em relação ao funcionário. + - name: id_cpf + description: CPF do dependente. + - name: tipo_logradouro + description: Tipo do logradouro do endereço do dependente. Ex. Rua, avenida, + etc. + - name: logradouro + description: Nome do logradouro do endereço do dependente. + - name: numero_porta + description: Número de porta do endereço do dependente. + - name: complemento_numero_porta + description: 'Complemento ao número de porta do endereço de dependente. Por + exemplo: apt 1004.' + - name: bairro + description: Bairro do endereço do dependente. + - name: cep + description: CEP do endereço do dependente. + - name: conta + description: Número da conta corrente para recebimento de pagamentos da Comlurb. + - name: tipo_pagamento + description: Forma em que é efetuado o pagamento. Depósito em conta-corrente, + em poupança ou em espécie. + - name: municipio + description: Cidade do endereço do dependente. + - name: sigla_uf + description: Unidade da federação do endereço do dependente. + - name: telefone + description: Número do telefone do dependente. + - name: banco + description: Código do banco para recebimento de pagamentos da Comlurb. Ex. + Pagamento de pensão alimentícia retirada diretamente do salário do funcionário. + - name: agencia + description: Número da agência onde está a conta corrente para recebimento + de pagamentos da Comlurb. + - name: recursos_humanos_ergon_comlurb__cargo + description: "**Descrição**: Tipos de cargos existentes na COMLURB. Não entram + os tipos de cargos em comissão.\n**Frequência de atualização**: Nunca\n**Cobertura + temporal**: Não informado\n**Órgão gestor dos dados**: SUBGGC\n**Publicado por**: + Não informado\n**Publicado por (email)**: nao.informado@gmail.com\n" + columns: + - name: id_cargo + description: Código dado pela prefeitura do Rio de Janeiro ao cargo. + - name: nome + description: Nome do cargo. Ex. Analista de Sistemas. + - name: categoria + description: 'Categoria do cargo. Exemplo: Educação, saúde etc. Categoria + é um conjunto de cargos.' + - name: subcategoria + description: Subcategoria do cargo. É uma subdivisão da categoria. Ex. Apoio, + Geral, lotados na saúde. + - name: controle_vaga + description: 'Tipo de controle de vaga: Livre (não existe controle de vagas + no ERGON), Quadro (O ERGON controla o número máximo de vagas no cargo) ou + Numerada.' + - name: e_aglutinador + description: Todos cadastrados com N. + - name: escolaridade + description: Escolaridade Minima exigida para o cargo/emprego. + - name: recursos_humanos_ergon_comlurb__ficha_financeira + description: "**Descrição**: Valores de rubricas de fichas financeiras dos funcionários + da COMLURB. Constam fichas desde o início do ERGON COMLURB. Uma ficha financeira + é um resumo do contracheque do servidor.\n**Frequência de atualização**: Nunca\n + **Cobertura temporal**: Não informado\n**Órgão gestor dos dados**: SUBGGC\n + **Publicado por**: Não informado\n**Publicado por (email)**: nao.informado@gmail.com\n" + columns: + - name: tipo_rubrica + description: Tipo de rubrica. Ex, Auxiliar, consignatária, desconto ou vantagem. + - name: desconto + description: Booleana que indica se a rubrica é de desconto ou não. 1 quando + tem desconto e 2 quando não tem desconto. + - name: complemento_rubrica + description: Informações adicionais para descrever a rubrica. + - name: valor_rubrica + description: Valor referente à rubrica. + - name: id_funcionario + description: Número do funcionário gerado pelo ERGON. + - name: id_vinculo + description: Número do vínculo relativo ao pagamento. + - name: numero_pensionista + description: Número do pensionista, caso o pagamento seja relativo a um pensionista. + - name: data_pagamento + description: Mês e ano trabalhado relativo ao pagamento. + - name: rubrica + description: Rubrica da despesa. Caso o funcionário receba em rubricas diferentes + haverá mais de um registro nesta visão. + - name: correcao + description: Valor da correção monetária. + - name: id_empresa + description: Código da empresa, sempre será o código da COMLURB. + - name: data_folha + description: Mês e ano da folha da ficha financeira. + - name: numero_folha + description: Número da folha da ficha financeira. + - name: recursos_humanos_ergon_comlurb__funcionario + description: "**Descrição**: Pessoas físicas que precisam ter suas informações + guardadas pela COMLURB para controle, como controle de pagamento, de frequência + ou de lotação. Em geral são pessoas que entram ou entraram em alguma folha da + folha de pagamento da COMLURB, sendo funcionário ou não, prestando serviço ou + não (ex. pensionista alimentício).\n**Frequência de atualização**: Nunca\n**Cobertura + temporal**: Não informado\n**Órgão gestor dos dados**: SUBGGC\n**Publicado por**: + Não informado\n**Publicado por (email)**: nao.informado@gmail.com\n" + columns: + - name: emissor_rne + description: Órgão emissor do Registro Nacional de Estrangeiros. + - name: data_expedicao_rne + description: Data de expedição do Registro Nacional de Estrangeiros + - name: data_chegada_brasil + description: Data de chegada da pessoa ao Brasil, em caso de estrangeiro + - name: data_naturalizacao + description: Data de naturalização brasileira em caso de estrangeiro naturalizado. + - name: casado_brasileiro + description: Booleano que indica se a pessoa, caso estrangeiro, é ou não casado + com brasileiro. + - name: filho_brasileiro + description: Booleano que indica se a pessoa, caso estrangeira, tem filhos + brasileiros. + - name: email_alternativo + description: E-Mail alternativo da pessoa. + - name: id_vinculo + description: Identificador no banco de dados do vínculo da pessoa. A pessoa + tem um vínculo caso receba algum pagamento da COMLURB. + - name: nome + description: Nome da pessoa. + - name: sexo + description: Sexo da pessoa. + - name: data_nascimento + description: Data de nascimento da pessoa. + - name: trabalho_voluntario + description: Booleano se a pessoa já participou de algum Trabalho Voluntário. + - name: interesse_trabalho_voluntario + description: Booleano que indica se a pessoa tem interesse em participar em + trabalhos voluntários. + - name: interesse_projeto_olimpico + description: Booleano que indica se existe interesse da pessoa em participar + do projeto olímpico. + - name: interesse_projeto_social + description: Booleano que indica se existe interesse da pessoa em participar + de projetos sociais. + - name: login_facebook + description: Login da pessoa no Facebook. + - name: login_twitter + description: Login da pessoa no Twitter. + - name: login_google_plus + description: Login da pessoa no Google+. + - name: login_instagram + description: Login da pessoa no Instagram. + - name: login_linkedin + description: Login da pessoa no Linkedln. + - name: login_myspace + description: Login da pessoa no MySpace. + - name: emissor_cnh + description: Órgão emissor da CNH da pessoa. + - name: data_expedicao_cnh + description: Data de expedição da CNH da pessoa. + - name: data_expedicao_orgao_classe + description: Data de expedição do documento de órgão de classe. + - name: emissor_orgao_classe + description: Órgão emissor do documento do órgão de classe. + - name: data_ultima_atualizaca_bancaria + description: Data da última atualização das informações bancárias da pessoa. + - name: id_nis + description: Número do NIS da pessoa. NIS significa Número de Identificação + Social. O documento está relacionado às pessoas que recebem ou não benefícios + sociais do Governo Federal. + - name: raca_cor + description: Raça ou cor da pessoa. + - name: deficiente + description: Booleano que indica que a pessoa é deficiente. + - name: sigla_uf_cartorio_certidao_civil + description: UF do cartório que emitiu a certidão que altera o estado civil, + caso a pessoa tenha modificado seu estado civil, caso não tenha fica em + branco. + - name: municipio_nascimento + description: Cidade de nascimento da pessoa. + - name: sigla_uf_nascimento + description: UF de nascimento da pessoa. + - name: grupo_sanguineo + description: Grupo sanguíneo da pessoa. + - name: nome_pai + description: Nome do pai da pessoa. + - name: nome_mae + description: Nome da mãe da pessoa. + - name: ano_chegada_brasil + description: Ano da chegada ao Brasil, caso a pessoa seja estrangeira. + - name: sigla_uf_emprego_anterior + description: UF do emprego anterior da pessoa. + - name: ano_primeiro_emprego + description: Ano do 1º emprego da pessoa. + - name: id_identidade_profissional + description: Número da identidade profissional da pessoa. + - name: categoria_documento_militar + description: Categoria no documento militar. Ex. 1ª, 2ª ou 3ª categoria. 1ª + categoria - quando possuírem instrução militar suficiente; 2ª categoria + - quando possuírem instrução militar insuficiente; 3ª categoria - quando + não possuírem instrução militar. + - name: municipio_certidao_civil + description: Cidade de emissão da certidão que altera o estado civil, caso + o servidor tenha modificado seu estado civil, caso não tenha fica em branco. + - name: municipio_logradouro + description: Cidade do endereço de moradia da pessoa. + - name: municipio_nascimento + description: Cidade do nascimento da pessoa. + - name: nome + description: Nome social da pessoa. + - name: id_ric + description: Número do RIC - REGISTRO DE IDENTIDADE CIVIL da pessoa. documento + de registro de identidade civil, que integra todos os estados federados + e o Distrito Federal, garantindo, através de processos multibiométricos + e integração de bases de dados, a identificação unívoca do brasileiro nato + ou naturalizado. + - name: orgao_ric + description: Órgão emissor do RIC da pessoa. + - name: data_ric + description: Data de amissão do RIC da pessoa. + - name: id_rne + description: Número de inscrição da pessoa no Registro Nacional de Estrangeiros + da pessoa. + - name: id_rg + description: Número do RG da pessoa. + - name: tipo_rg + description: Tipo do documento de RG da pessoa. Ex. Identidade. CTPS, passaporte + etc + - name: emissor_rg + description: Órgão expedidor do documento de RG da pessoa. + - name: municipio_cartorio_certidao_civil + description: Cidade do cartório que emitiu a certidão que altera o estado + civil, caso a pessoa tenha modificado seu estado civil, caso não tenha fica + em branco. + - name: tipo_certidao_civil + description: Tipo da certidão que altera o estado civil, caso a pessoa tenha + modificado seu estado civil apresentada, caso não tenha fica em branco. + - name: sigla_uf_orgao_classe + description: UF do documento do órgão de classe da pessoa. + - name: data_expedicao_rg + description: Data de expedição do RG da pessoa. RG é o documento nacional + de identificação civil no Brasil. + - name: emissor_documento_militar + description: Órgão Expedidor do Documento Militar da pessoa. + - name: sigla_uf_documento_militar + description: UF onde foi emitido o Documento Militar da pessoa. + - name: tipo_deficiencia + description: Identificador no banco de dados do tipo de Deficiência do funcionário. + Chave para a tabela 'ERG_TIPO_DEFIC'. + - name: matricula_certidao + description: Matrícula da certidão apresentada de casamento, ou de união estável + ou de nascimento da pessoa. + - name: deficiencia_fisica + description: Booleano indicando se a pessoa tem deficiência física. + - name: deficiencia_visual + description: Booleano indicando se a pessoa tem deficiência visual. + - name: deficiencia_auditiva + description: Booleano indicando se a pessoa tem deficiência auditiva + - name: deficiencia_mental + description: Booleano indicando se a pessoa tem deficiência mental + - name: deficiencia_intelectual + description: Booleano indicando se a pessoa tem deficiência intelectual. + - name: recebe_beneficio_previdenciario + description: "\"Booleano indicando se a pessoa já recebe algum benefício previdenciário + (pensão, aposentadoria).\r\ncampo em branco\"" + - name: nome_posse + description: Nome na posse da pessoa que mudou de sexo. + - name: sexo_posse + description: Sexo da pessoa na posse da pessoa que mudou de sexo. + - name: data_alteracao_sexo + description: Data da alteração de sexo. + - name: pais_nascimento + description: País de nascimento da pessoa. + - name: data_primeiro_emprego + description: Data do primeiro emprego da pessoa na vida. + - name: data_primeira_cnh + description: Data da primeira habilitação da pessoa. + - name: cep_exterior + description: código postal de endereço no exterior da pessoa. + - name: estado_civil + description: Estado civil da pessoa. + - name: escolaridade + description: Escolaridade da pessoa. + - name: nacionalidade + description: Nacionalidade da pessoa. + - name: sigla_uf_emissor_rg + description: UF do órgão expedidor do RG da pessoa. + - name: id_cpf + description: Número do CPF da pessoa. + - name: id_ctps + description: Número da carteira profissional da pessoa. + - name: serie_ctps + description: Série da carteira de trabalho da pessoa. + - name: sigla_uf_ctps + description: UF onde foi emitida a carteira profissional da pessoa. + - name: id_titulo_eleitor + description: Número do título de eleitor da pessoa. + - name: zona_eleitoral + description: Zona do título de eleitor da pessoa. + - name: secao_eleitoral + description: Seção do título de eleitor da pessoa. + - name: sigla_uf_titulo_eleitor + description: UF do título de eleitor da pessoa. + - name: id_documento_militar + description: Número do documento militar da pessoa. + - name: serie_documento_militar + description: Série do documento militar da pessoa. + - name: id_cnh + description: Número da CNH da pessoa. + - name: categoria_cnh + description: Categoria da CNH da pessoa. + - name: validade_cnh + description: Data de validade da CNH da pessoa. + - name: sigla_uf_cnh + description: UF onde foi emitida a CNH da pessoa. + - name: id_pispasep + description: Número do NIS da pessoa. NIS significa Número de Identificação + Social. O documento está relacionado às pessoas que recebem ou não benefícios + sociais do Governo Federal. + - name: data_inicio_nis + description: Data início do NIS da pessoa. + - name: numero_banco_nis + description: Número do banco do NIS da pessoa. + - name: tipo_identidade_profissional + description: Tipo de identidade profissional da pessoa. + - name: tipo_logradouro + description: Tipo de logradouro do endereço da pessoa. Ex. Rua, praça. + - name: logradouro + description: Nome do logradouro do endereço da pessoa. + - name: numero_porta + description: Número de porta do endereço da pessoa. + - name: complemento_numero_porta + description: Complemento ao número de porta do endereço da pessoa. Ex. apt + 87. + - name: bairro + description: Bairro do endereço da pessoa. + - name: municipio + description: Cidade do endereço da pessoa. + - name: sigla_uf + description: UF do endereço da pessoa. + - name: cep + description: Número do cep do endereço da pessoa. + - name: telefone + description: Número do telefone da pessoa. + - name: banco + description: Número do banco com a conta corrente da pessoa. + - name: agencia + description: Número da agência com a conta corrente da pessoa. + - name: conta + description: Número da conta corrente da pessoa. + - name: numero_certidao + description: Número da certidão de casamento, nascimento ou união estável + da pessoa. + - name: livro_certidao + description: Livro da certidão de casamento, nascimento ou união estável da + pessoa. + - name: folha_certidao + description: Folha da certidão de casamento, nascimento ou união estável da + pessoa. + - name: cartorio_certidao + description: Cartório da certidão de casamento, nascimento ou união estável + da pessoa. + - name: ramal + description: Ramal do telefone da pessoa. + - name: nome_tratamento + description: Nome pelo qual a pessoa geralmente é chamada, seu apelido, seu + nome de guerra. + - name: email + description: E-mail da pessoa. + - name: celular + description: Número do telefone celular da pessoa. + - name: impedimento + description: Preenchido caso a pessoa tenha algum impedimento. Ex. Impedimento + judicial, Curatela definitiva, interditado provisoriamente. + - name: recursos_humanos_ergon_comlurb__fita_banco + description: "**Descrição**: Fitas enviadas para o tesouro municipal contendo + informações sobre pagamentos a serem feitos a funcionários da COMLURB.\n**Frequência + de atualização**: Nunca\n**Cobertura temporal**: Não informado\n**Órgão gestor + dos dados**: SUBGGC\n**Publicado por**: Não informado\n**Publicado por (email)**: + nao.informado@gmail.com\n" + columns: + - name: data_inicio_exercicio + description: Data do início do exercício do funcionário relativo a este vínculo. + - name: data_aposentadoria + description: Data de aposentadoria relacionada ao vínculo. Caso não tenha + havido ainda aposentadoria fica em branco. + - name: data_vacancia + description: Data de vacância relativa ao vínculo. A vacância ocorre quando + se encerra o vínculo. + - name: id_setor + description: Código dado ao setor onde trabalha o funcionário. + - name: valor + description: Remuneração bruta. + - name: valor_desconto + description: Total de descontos. + - name: numero_dependente + description: Número do dependente associado ao funcionário, quando dependente + for cotista (pr ex. pensão alimentícia). Quando há mais de um dependente, + há um registro por dependente. + - name: agencia + description: Número da agência onde está a conta corrente da pessoa que vai + receber o pagamento, onde será depositado o pagamento. + - name: banco + description: Número do banco onde está a conta corrente da pessoa que vai + receber o pagamento, onde será depositado o pagamento. + - name: conta + description: Número da conta corrente da pessoa que vai receber o pagamento, + onde será depositado o pagamento. + - name: valor_liquido + description: Valor liquido a ser deposito para a pessoa que vai receber o + pagamento. + - name: cargo + description: Cargo do funcionário associado ao pagamento. + - name: referencia + description: Código do nível/posicionamento após o provimento. Ex PROFESSOR + II, MM1, MM2, MM3, MM4, MM5, MM6, MM7, 999990 - ESPECIAL o valor do vencimento + é zero. + - name: funcao + description: Função do funcionário que vai receber o pagamento, caso seja + um funcionário. Caso a pessoa não tenha função, fica em branco. + - name: nome + description: Nome da fita banco. + - name: id_empresa + description: Código da empresa onde trabalha a pessoa que vai receber o pagamento. + Sempre vai conter o código da COMLURB. + - name: id_ficha + description: Identificador único no banco de dados da ficha financeira da + pessoa que vai receber o pagamento. + - name: regime_juridico + description: Nome do regime jurídico da pessoa que vai receber o pagamento. + Ex. Celetista, estatutário. + - name: tipo_vinculo + description: 'Detalhamento do regime jurídico. Exemplo: CLT - Contrato indeterminado, + CLT - Contrato determinado. No caso da COMLURB sempre celetista.' + - name: id_lancamento + description: Chave gerada pelo banco para a fitabanco para cada numfunc + - name: id_funcionario + description: Identificador no banco de dados da pessoa, cadastrada na tabela + de funcionários, que vai receber o pagamento. + - name: id_vinculo + description: Identificador no banco de dados do vínculo da pessoa que vai + receber o pagamento. + - name: data_folha + description: Mês e ano da folha de pagamentos. + - name: numero_folha + description: Número da Folha + - name: rubrica + description: Rubrica relativa ao pagamento a ser feito à pessoa que vai receber + o pagamento. Caso haja rubricas diferentes haverá um registro para cada + rubrica na fita_banco. + - name: categoria_vinculo + description: 'Categoria do vínculo. Exemplo: Educação, saúde etc. Categoria + é um conjunto de cargos.' + - name: data_credito + description: Data em que vai ser creditado o valor na conta corrente. + - name: id_jornada + description: Código dado pela prefeitura do Rio de Janeiro para a jornada + semanal do cargo/emprego associado ao vínculo. + - name: subcategoria_cargo + description: Subcategoria do cargo. É uma subdivisão da categoria. Ex. Apoio, + Geral, lotados na saúde. + - name: id_cpf + description: CPF da pessoa que vai receber o pagamento. + - name: recursos_humanos_ergon_comlurb__setor + description: "**Descrição**: Setores existentes na COMLURB. São setores existentes + no SICI.\n**Frequência de atualização**: Nunca\n**Cobertura temporal**: Não + informado\n**Órgão gestor dos dados**: SUBGGC\n**Publicado por**: Não informado\n + **Publicado por (email)**: nao.informado@gmail.com\n" + columns: + - name: id_setor + description: Código dado pela Comlurb ao setor. + - name: data_inicio + description: Data da criação do setor. + - name: data_fim + description: Data da extinção do setor. + - name: tipo + description: Tipo do setor. Sempre tem o valor ‘Normal’. + - name: tipo_acesso + description: Tipo do acesso. Sempre tem o valor ‘Normal’. + - name: cep + description: Cep do endereço do setor. + - name: id_logradouro + description: Código do logradouro do endereço do setor. + - name: id_setor_sici + description: Código do setor no SICI. + - name: id_empresa_setor + description: Código da empresa onde está localizado o setor. Sempre tem o + valor 1, Comlurb. diff --git a/queries/profiles.yml b/queries/profiles.yml index 801fbba..b55bcf6 100644 --- a/queries/profiles.yml +++ b/queries/profiles.yml @@ -8,7 +8,7 @@ queries: location: US method: service-account priority: interactive - project: datario + project: rj-smfp threads: 1 type: bigquery target: dev