def servidoresNaData(): ''' FUNÇÃO PARA VOLTAR EM UMA DETERMINADA DATA ENTRA DATA SAI PLANILHA (CSV) DOS SERVIDORES ATIVOS NA DATA ''' data = input('Qual é a data') sql = '''select GR_MATRICULA, IT_NO_SERVIDOR, DES_CARREIRA, DES_CARGO, INSTITUTO, DES_GRUPO, IT_DA_OCOR_INGR_ORGAO_SERV, IT_DA_OCOR_INATIVIDADE_SERV, IT_DA_OCOR_EXCLUSAO_SERV from tb_ser_rel where DES_CARREIRA in ('PROF 3º', 'PROF 2º', 'TÉCN', 'TÉCN-ESP') AND GR_MATRICULA IN ( -- ATIVOS SELECT GR_MATRICULA FROM talentoshumanos.tb_ser_rel where IT_DA_OCOR_INGR_ORGAO_SERV <= '{0}' and IT_DA_OCOR_INATIVIDADE_SERV IS NULL and IT_DA_OCOR_EXCLUSAO_SERV IS NULL union -- APOSENTADO SELECT GR_MATRICULA FROM talentoshumanos.tb_ser_rel where IT_DA_OCOR_INGR_ORGAO_SERV <= '{0}' and IT_DA_OCOR_INATIVIDADE_SERV > '{0}' and IT_DA_OCOR_EXCLUSAO_SERV IS NULL UNION -- APOSENTADO - FALECIDO SELECT GR_MATRICULA FROM talentoshumanos.tb_ser_rel where IT_DA_OCOR_INGR_ORGAO_SERV <= '{0}' and IT_DA_OCOR_INATIVIDADE_SERV > '{0}' and IT_DA_OCOR_EXCLUSAO_SERV > '{0}' UNION -- DESLIGADOS SELECT GR_MATRICULA FROM talentoshumanos.tb_ser_rel where IT_DA_OCOR_INGR_ORGAO_SERV <= '{0}' and IT_DA_OCOR_INATIVIDADE_SERV IS NULL and IT_DA_OCOR_EXCLUSAO_SERV > '{0}' );'''.replace('{0}', data) dados = sqlpandas(sql) if len(dados) > 0: salvarPandas(dados, 'SERVIDORES NA DATA - {0}'.format(data)) mensagemInformacao('Relatório dos Servidores na DAta criado com sucesso.') else: mensagemErro('Relatório dos Gestores não foi criado.')
def agentespublicos(): ''' FUNÇÃO PARA CRIAR OS AGENTES PÚBLICOS ENTRA NULL SAI PLANILHA DOS AGENTES PÚBLICOS DO MÊS ''' sql = '''SELECT a.IT_NO_SERVIDOR AS 'SERVIDOR', a.GR_MATRICULA AS 'SIAPE', a.DES_CARGO AS 'CARGO', b.CARGO AS 'FUNÇÃO', a.DES_LOTACAO AS 'LOTAÇÃO', A.IT_DA_OCOR_INGR_ORGAO_SERV AS 'DT EXERCÍCIO', a.IT_DA_PUBL_DIPL_INGR_ORGAO AS 'DT PUBLICAÇÃO', a.IT_CO_VAGA AS 'ATO NOMEAÇÃO', case when c.ORGAO <> '' then c.orgao ELSE 'UFTM' end AS 'ÓRGÃO', a.DES_UPAG AS 'UPAG', a.DES_grupo AS 'GRUPO' FROM tb_ser_rel AS a LEFT JOIN ts_sis_chefias AS b ON a.GR_MATRICULA = b.GR_MATRICULA LEFT JOIN ts_sis_cedidos AS c ON a.gr_matricula = c.gr_matricula WHERE IT_DA_OCOR_EXCLUSAO_SERV IS NULL AND IT_DA_OCOR_INATIVIDADE_SERV IS NULL AND DES_CARREIRA IN ('TÉCN' , 'TÉCN-ESP', 'PROF 2º', 'PROF 3º') ORDER BY 1;''' dados = sqlpandas(sql) if len(dados) > 0: salvarPandas(dados, 'PUBLICAÇÕES - AGENTES PÚBLICOS') mensagemInformacao( 'Relatório dos AGENTES PÚBLICOS criado com sucesso.') else: mensagemErro('Relatório dos AGENTES PÚBLICOS não foi criado.')
def arquivoservidoresdeficientes(): ''' FUNÇÃO PARA GERAR A LSITA DE SERVIDORES DEFICIENTES DA UFTM ENTRA NULL SAI LISTA DE SERVIDORES DEFICIENTES DA UFTM ''' sql = '''SELECT b.IT_DA_OCOR_EXCLUSAO_SERV as 'DT DELIGADO', b.IT_DA_OCOR_INATIVIDADE_SERV AS 'DT APOSENTADO', b.GR_MATRICULA as 'SIAPE', b.IT_NO_SERVIDOR AS 'SERVIDOR', b.IT_DA_NASCIMENTO AS 'DT NASCIMENTO', b.IT_CO_SEXO AS 'SEXO', b.DES_ESCOLARIDADE AS 'ESCOLARIDADE', b.DES_TITULACAO AS 'TITULAÇÃO', b.DES_CARREIRA AS 'CARREIRA', b.DES_CARGO AS 'CARGO', b.DES_LOTACAO AS 'LOTAÇÃO', b.AMBIENTE AS 'AMBIENTE', b.EXERCICIO AS 'EXERCÍCIO', b.INSTITUTO AS 'INSTITUTO', b.DEPARTAMENTO AS 'DEPARTAMENTOS', b.DES_GRUPO AS 'GRUPO', b.DES_UPAG AS 'UPAG', b.IT_CO_JORNADA_TRABALHO AS 'CH', a.tipo_deficiencia AS 'TIPO-COD', a.COD_SIAPECAD FROM ts_sis_deficientes AS A JOIN tb_ser_rel AS B ON A.GR_MATRICULA = B.GR_MATRICULA ORDER BY 4;''' dados = sqlpandas(sql) if len(dados) > 0: salvarPandas(dados, 'SERVIDORES DEFICIENTES') mensagemInformacao( 'Relatório dos servidores deficientes criado com sucesso.') else: mensagemErro('Relatório dos servidores deficientes não foi criado.')
def servidoresanoano(): ''' FUNÇÃO PARA CRIAR A TABELA ANO A ANO, COM ENTRADA E SAÍDA DOS SERVIDORES ENTRA NULL SAI RELATÓRIO ANO A ANO EM CSV (CSV) ''' sql = ''' SELECT A.*, IT_NO_SERVIDOR AS 'SERVIDOR', B.DES_ETNIA AS 'ETNIA', B.DES_NACIONALIDADE AS 'NACIONALIDADE', b.DES_REGIME_JURIDICO AS 'REG-JUR', B.DES_CARREIRA AS 'CARREIRA', B.DES_CARGO AS 'CARGO', B.DES_GRUPO AS 'GRUPO', B.DES_UPAG AS 'UPAG', B.IT_CO_JORNADA_TRABALHO AS 'CH', B.IT_DA_OCOR_INGR_SPUB_SERV AS 'DT I SP', B.IT_DA_OCOR_INGR_ORGAO_SERV AS 'DT I O', B.IT_DA_OCOR_INATIVIDADE_SERV AS 'DT APO', B.IT_DA_OCOR_EXCLUSAO_SERV AS 'DT DES', b.email FROM anoano AS A join tb_ser_rel AS B ON A.SIAPE=B.GR_MATRICULA; ''' dados = sqlpandas(sql) if len(dados) > 0: dados.sort_values(['SERVIDOR', 'SIAPE'], inplace=True) salvarPandas(dados, 'SERVIDORES ANO-ANO') mensagemInformacao( 'Relatório dos servidores - ANO-ANO - criados com sucesso.') else: mensagemErro( 'Relatório dos servidores - ANO-ANO - criados com sucesso.')
def docentespordepartamentos(): ''' FUNÇÃO PARA CRIAR OS DOCENTES POR DEPARTAMENTO ENTRA NULL SAI PLANLHA DOS DOCENTES POR DEPARTAMENTO DO MÊS ''' sql = '''SELECT A.GR_MATRICULA AS 'SIAPE', A.IT_NO_SERVIDOR AS 'SERVIDOR', A.IT_CO_JORNADA_TRABALHO AS 'CH', A.DES_TITULACAO AS 'TITULAÇÃO', A.DES_LOTACAO AS 'LOTAÇÃO', A.INSTITUTO AS 'INSTITUTO', A.DEPARTAMENTO AS 'DEPARTAMENTO', A.DES_CARREIRA AS 'CARREIRA', A.DES_CARGO AS 'CARGO', A.DES_CLASSE AS 'CLASSE', A.DES_REGIME_JURIDICO AS 'REGIME JURÍDICO', b.CARGO AS 'FUNÇÃO' FROM tb_ser_rel AS A left join ts_sis_chefias as b on a.GR_MATRICULA = b.GR_MATRICULA WHERE IT_DA_OCOR_EXCLUSAO_SERV is null and IT_DA_OCOR_INATIVIDADE_SERV is null AND DES_CARREIRA = 'PROF 3º' order by SERVIDOR; ''' dados = sqlpandas(sql) if len(dados) > 0: dados['TITULAÇÃO'] = dados['TITULAÇÃO'].apply(lambda x: x[3:]) salvarPandas(dados, 'PUBLICAÇÕES - DOCENTES POR DEPARTAMENTO') mensagemInformacao( 'Relatório dos DOCENTES POR DEPARTAMENTO criado com sucesso.') else: mensagemErro('Relatório dos DOCENTES POR DEPARTAMENTO não foi criado.')
def ServidoresGestores(): ''' FUNÇÃO PARA CRIAR A LISTA DE SERVIDORES GESTORES ENTRA NULL SAI LISTA DE SERVIDORES GESTORES ''' sql = """SELECT A.CD_FUNCAO AS 'CD FUNÇÃO', a.cargo AS 'FUNÇÃO', a.DOC_LEGAL AS 'DOC LEGAL', B.GR_MATRICULA AS SIAPE, B.IT_NO_SERVIDOR AS SERVIDOR, B.IDADE, B.IT_CO_SEXO AS SEXO, B.DES_TITULACAO AS TITULAÇÃO, B.DES_ETNIA AS ETNIA, b.EMAIL, B.DES_REGIME_JURIDICO AS 'REG JUR', B.IT_CO_JORNADA_TRABALHO AS 'CARGA HORÁRIA', B.DES_CARREIRA AS CARREIRA, B.DES_CARGO AS CARGO, B.DES_GRUPO AS GRUPO, B.DES_LOTACAO AS 'LOTAÇÃO', B.DES_UPAG AS UPAG FROM ts_sis_chefias AS A JOIN tb_ser_rel AS B ON A.GR_MATRICULA = B.GR_MATRICULA;""" dados = sqlpandas(sql) if len(dados) > 0: salvarPandas(dados, 'SERVIDORES GESTORES') mensagemInformacao('Relatório dos Gestores criados com sucesso.') else: mensagemErro('Relatório dos Gestores não foi criados.')
def relatorioerrosistema(): ''' FUNÇÃO PARA VERIFICAR DADOS FALTANTES NO BANCO DE DADOS ENTRA SQL CONCULTA DOS SERVIDORES ATIVOS SAI PLANILHA DAS INFORMAÇÕES FALTANTE ''' sql = '''select GR_MATRICULA AS 'SIAPE', IT_NU_IDEN_SERV_ORIGEM AS 'ID SERVIDOR', IT_NO_SERVIDOR AS 'SERVIDOR', IT_NO_MAE AS 'MÃE', IT_DA_NASCIMENTO AS 'DT NASCIMENTO', IDADE AS 'IDADE', IT_NU_CPF AS 'CPF', IT_NU_PIS_PASEP AS 'PIS', IT_SG_UF_UORG_EMISSAO AS 'PIS UF', IT_CO_REGISTRO_GERAL AS 'RG UF', IT_SG_ORGAO_EXPEDIDOR_IDEN AS 'RG ÓRGÃO', IT_DA_EXPEDICAO_IDEN AS 'RG DT', IT_SG_UF_IDEN AS 'RG UF', EMAIL AS 'E-MAIL', IT_CO_SEXO AS 'SEXO', DES_ESTADO_CIVIL AS 'ESTADO CIVIL', DES_ESCOLARIDADE AS 'ESCOLARIDADE', DES_TITULACAO AS 'TITULAÇÃO', DES_ETNIA AS 'ETNIA', IT_SG_GRUPO_SANGUINEO AS 'TIPO SANGUE', IT_SG_FATOR_RH AS 'FATOR RH', IT_CO_BANCO_PGTO_SERVIDOR AS 'BANCO', IT_CO_AGENCIA_BANCARIA_PGTO_SERV AS 'AGÊNCIA', IT_NU_CCOR_PGTO_SERVIDOR AS 'CONTA', IT_CO_TIPO_CONTA AS 'TIPO CONTA', IT_NO_LOGRADOURO AS 'ENDEREÇO', IT_NO_BAIRRO AS 'BAIRRO', IT_NO_MUNICIPIO AS 'CIDADE', IT_CO_CEP AS 'CEP', IT_NU_ENDERECO AS 'NÚMERO', IT_NU_COMPLEMENTO_ENDERECO AS 'COMPLEMENTO', DES_NACIONALIDADE AS 'NACIONALIDADE', DES_PAIS AS 'PAÍS', DES_REGIME_JURIDICO AS 'REG JUR', TEMPO_SERVICO AS 'TEMPO SERVIÇO', DES_CARREIRA AS 'CARREIRA', DES_CARGO AS 'CARGO', DES_CLASSE AS 'CLASSE', DES_LOTACAO AS 'LOTAÇÃO', AMBIENTE AS 'AMBIENTE', EXERCICIO AS 'EXERCÍCIO', INSTITUTO AS 'INSTITUTO', DEPARTAMENTO AS 'DEPARTAMENTO', DES_GRUPO AS 'GRUPO', DES_UPAG AS 'UPAG', IT_DA_PUBL_DIPL_INGR_SPUB AS 'DT PORTARIA NOMEAÇÃO', IT_DA_PUBL_DIPL_INGR_ORGAO AS 'DT PORTARIA', IT_DA_OCOR_INGR_ORGAO_SERV AS 'DT INGRESSO ÓRGÃO', DES_INGRESSO_SPUB AS 'DESCRIÇÃO INGRESSO SP', IT_DA_OCOR_INGR_SPUB_SERV AS 'DT INGRESSO SP', DES_INGRESSO_ORGAO AS 'DESCRIÇÃO INGRESSO ÓRGÃO', IT_DA_OCOR_INATIVIDADE_SERV AS 'DT INATIVIDADE', DES_INATIVIDADE AS 'DESCRIÇÃO INATIVIDADE', IT_DA_OCOR_EXCLUSAO_SERV AS 'DESCRIÇÃO EXCLUSÃO', DES_EXCLUSAO AS 'DT EXCLUSÃO', FLEXIBILIZADO AS 'FLEXIBILIDADO' from tb_ser_rel where IT_DA_OCOR_EXCLUSAO_SERV is null and IT_DA_OCOR_INATIVIDADE_SERV is null and des_carreira in ('TÉCN', 'TÉCN-ESP', 'PROF 2º', 'PROF 3º');''' dados = sqlpandas(sql) if len(dados): lista = dados.isna().sum() for i in lista.items(): if i[1] > 0 and i[0] not in [ 'DT EXCLUSÃO', 'DT INATIVIDADE', 'DT INGRESSO SP', 'DT PORTARIA', 'COMPLEMENTO', 'BAIRRO' ]: filtro = dados[dados[i[0]].isna()] salvarPandas(filtro, 'ERRO-DADOS FALTANDO - ' + str(i[0]), 'RELATORIOS DE ERRO\\') mensagemInformacao( 'Relatório de erro (DADOS FALTANDO) criado com sucesso.')
def sqlConsultaNova(narquivo, colunas, tipo, carreira, grupo, renomear=True): ''' FUNÇÃO MODELO PARA CONSULTAR A TABELA TB_SER_REL CRIAR CONSULTA SQL E SALVAR ARQUIVO NA PASTA DE RELATÓRIOS - PADRÃO PARA GERAR SQL DE CONSULTA DO SISTEMA DE RELATÓRIO ENTRA NOME DA CONSULTA PARA SALVAR O ARQUIVO GERADO CAMPOS, PARAMETROS ([ATIVOS, APOSENTADOS, DESLIGADOS, TODOS], [TÉCN, TÉCN-ESP, PROF 3º, PROF 2º, OUTROS])PARA CONSULTA SQL SAI TABELA EM CSV DA CONSULTA REALIZADA ''' # PEGAR OS NOMES DOS CAMPOS NA TABELA TS_SIS__CONFIG_TABELAS sql = '''SELECT CAMPO, AS_NOME FROM talentoshumanos.ts_sis__config_tabelas;''' dados = sqlpandas(sql) oldcampo = list(dados['CAMPO']) newcampo = list(dados['AS_NOME']) #MONTAR DICIONÁRIO COM OS CAMPOS DA TABELA (MAIS OS NOMES PARA EXIBIÇÃO) diccampos = {} for n, v in enumerate(newcampo): if str(v).strip() != '-': diccampos[str(v).strip()] = str(oldcampo[n]).strip() titulo = colunas #MONTAR SQL PARA CONSULTA sql = '''select {0} from tb_ser_rel''' if renomear == False: #SQL SEM RENOMEAR OS CAMPOS ax = [] for coluna in colunas: ax.append(diccampos[coluna]) titulo = ax else: #SQL RENOMEANDO OS CAMPOS ax = [] for coluna in colunas: ax.append(diccampos[coluna] + ' AS \'' + coluna + '\'') axtx = ', '.join(ax) sql = sql.format(axtx) #FILTRO NA ATIVIDADE where = '''''' if tipo == 'ATI': where = '''\nwhere IT_DA_OCOR_INGR_ORGAO_SERV is not null and IT_DA_OCOR_INATIVIDADE_SERV is null and IT_DA_OCOR_EXCLUSAO_SERV is null''' elif tipo == 'APO': where = '''\nwhere IT_DA_OCOR_INGR_ORGAO_SERV is not null and IT_DA_OCOR_INATIVIDADE_SERV is not null and IT_DA_OCOR_EXCLUSAO_SERV is null''' elif tipo == 'DES': where = '''\nwhere IT_DA_OCOR_INGR_ORGAO_SERV is not null and IT_DA_OCOR_EXCLUSAO_SERV is not null''' elif tipo == 'TODOS': where = '''\nwhere IT_DA_OCOR_INGR_ORGAO_SERV is not null''' sql = sql + where #FILTRO NA CARREIRA if len(carreira) != 0: wherecarreira = '' axcarreira = '' if len(carreira) > 1: axcarreira = '\', \''.join(carreira) axcarreira = '\'' + axcarreira + '\'' else: axcarreira = '\'' + carreira[0] + '\'' wherecarreira = '''\nand DES_CARREIRA in ({0})'''.format(axcarreira) sql = sql + wherecarreira #FILTRO NO GRUPO if len(grupo) > 0: axgrupo = '\', \''.join(grupo) axgrupo = '\'' + axgrupo + '\'' sqlgrupo = '''\nand DES_GRUPO in ({0})'''.format(axgrupo) sql = sql + sqlgrupo #SALVAR TABELA GERADA dados = sqlpandas(sql) if len(dados) > 0: salvarPandas(dados, narquivo)
def dashboardGestores(): ''' FUNÇÃO PARA CRIAR OS DASHDOARD ENTRA ENTRA NULL SAI PLANILHA COM OS DADOS PARA DASHBOARD ''' def faixa(idade): if idade > 67: fx = '68-77' elif idade > 57: fx = '58-67' elif idade > 47: fx = '48-57' elif idade > 37: fx = '38-47' elif idade > 27: fx = '28-37' else: fx = '18-27' return fx sql = '''SELECT A.CD_FUNCAO AS 'FUNÇÃO', B.GR_MATRICULA AS SIAPE, B.IT_NO_SERVIDOR AS SERVIDOR, B.IDADE, B.IT_CO_SEXO AS SEXO, B.DES_TITULACAO AS TITULAÇÃO, B.DES_ETNIA AS ETNIA, B.DES_REGIME_JURIDICO AS 'REG JUR', B.IT_CO_JORNADA_TRABALHO as 'CARGA HORÁRIA', B.DES_CARREIRA AS CARREIRA, B.DES_CARGO AS CARGO, B.DES_GRUPO AS GRUPO, B.DES_UPAG AS UPAG FROM ts_sis_chefias AS A JOIN tb_ser_rel AS B ON A.GR_MATRICULA = B.GR_MATRICULA''' dados = sqlpandas(sql) if len(dados) > 0: dados['IDADE'] = dados['IDADE'].apply(faixa) dados['TITULAÇÃO'] = dados['TITULAÇÃO'].replace([ '10 DOUTORADO', '08 ESPECIALIZAÇÃO', '09 MESTRADO', '06 MEDIO', '04 FUNDAMENTAL I', '05 FUNDAMENTAL', '07 SUPERIOR', '07 ENSINO SUPERIOR', '10 PHD', '07 SUPERIOR-INCOMPLETO' ], [ 'DOUTORADO', 'ESPECIALIZAÇÃO', 'MESTRADO', 'ENSINO MÉDIO', 'ENSINO FUNDAMENTAL', 'ENSINO FUNDAMENTAL', 'ENSINO SUPERIOR', 'ENSINO SUPERIOR', 'DOUTORADO', 'ENSINO MÉDIO' ]) dados['GRUPO FUNÇÃO'] = dados['FUNÇÃO'].replace([ 'FG-2', 'CD-2', 'FG-1', 'FG-3', 'FG-5', 'CD-3', 'SEM ÔNUS', 'FCC', 'FG-4', 'CD-4', 'CD-1' ], [ 'FG', 'CD', 'FG', 'FG', 'FG', 'CD', 'SEM ÔNUS', 'FCC', 'FG', 'CD', 'CD' ]) dados['TOTAL'] = 1 salvarPandas(dados, 'DAHSBOARD - GESTORES') mensagemInformacao( 'Relatório DAHSBOARD - GESTORES criado com sucesso.') else: mensagemErro('Relatório DAHSBOARD - GESTORES não foi criado.')
def ServidoresComDoisCargos(): ''' FUNÇAO PARA GERAR A LISTA DE SERVIDORES COM DOIS CARGOS ENTRA NULL SAI LISTA DE SERVIDORES COM DOIS CARGOS ATIVOS ''' sql = '''SELECT GR_MATRICULA as SIAPE, IT_NO_SERVIDOR AS SERVIDOR, DES_CARREIRA AS CARREIRA, DES_CARGO AS CARGO, DES_LOTACAO AS LOTAÇÃO, DES_GRUPo AS GRUPO FROM tb_ser_rel WHERE IT_NU_CPF IN (SELECT IT_NU_CPF FROM tb_ser_rel WHERE IT_DA_OCOR_EXCLUSAO_SERV IS NULL AND IT_DA_OCOR_INATIVIDADE_SERV IS NULL AND IT_NU_CPF IN (SELECT IT_NU_CPF FROM tb_ser_rel WHERE IT_DA_OCOR_EXCLUSAO_SERV IS NULL AND IT_DA_OCOR_INATIVIDADE_SERV IS NULL AND DES_CARREIRA in ('{0}') GROUP BY 1) GROUP BY IT_NU_CPF HAVING COUNT(IT_NU_CPF) >= 2) AND IT_DA_OCOR_EXCLUSAO_SERV IS NULL AND IT_DA_OCOR_INATIVIDADE_SERV IS NULL ORDER BY 2''' cargos = ['TÉCN', 'PROF 2º', 'PROF 3º'] for cargo in cargos: sqlii = sql sqlii = sqlii.format(str(cargo)) dados = sqlpandas(sqlii) if len(dados) > 0: narquivo = ' SERVIDORES - ATIVOS - (COM 2 VÍNCULOS) - ' + cargo salvarPandas(dados, narquivo) sql = sql.format("""TÉCN', 'PROF 2º', 'PROF 3º""") dados = sqlpandas(sql) if len(dados) > 0: narquivo = ' SERVIDORES - ATIVOS - (COM 2 VÍNCULOS) - (TODOS)' salvarPandas(dados, narquivo) mensagemInformacao( 'Relatório dos Servidores com 2 vínculos criados com sucesso.') else: mensagemErro( 'Relatório dos Servidores com 2 vínculos não foi criados.')
def dashboardServidores(): ''' FUNÇÃO PARA CRIAR OS DASHDOARD ENTRA ENTRA NULL SAI PLANILHA COM OS DADOS PARA DASHBOARD ''' def faixa(idade): if idade > 67: fx = '68-77' elif idade > 57: fx = '58-67' elif idade > 47: fx = '48-57' elif idade > 37: fx = '38-47' elif idade > 27: fx = '28-37' else: fx = '18-27' return fx sql = '''SELECT GR_MATRICULA AS SIAPE, IT_NO_SERVIDOR AS SERVIDOR, IDADE, IT_CO_SEXO AS SEXO, DES_TITULACAO AS TITULAÇÃO, DES_ETNIA AS ETNIA, DES_REGIME_JURIDICO AS 'REG JUR', IT_CO_JORNADA_TRABALHO as 'CARGA HORÁRIA', DES_CARREIRA AS CARREIRA, DES_CARGO AS CARGO, DES_GRUPO AS GRUPO, DES_UPAG AS UPAG FROM tb_ser_rel where IT_DA_OCOR_EXCLUSAO_SERV is null and IT_DA_OCOR_INATIVIDADE_SERV is null and DES_CARREIRA in ('TÉCN', 'PROF 2º', 'PROF 3º');''' dados = sqlpandas(sql) if len(dados) > 0: dados['IDADE'] = dados['IDADE'].apply(faixa) dados['TITULAÇÃO'] = dados['TITULAÇÃO'].replace([ '10 DOUTORADO', '08 ESPECIALIZAÇÃO', '09 MESTRADO', '06 MEDIO', '04 FUNDAMENTAL I', '05 FUNDAMENTAL', '07 SUPERIOR', '07 ENSINO SUPERIOR', '10 PHD', '07 SUPERIOR-INCOMPLETO' ], [ 'DOUTORADO', 'ESPECIALIZAÇÃO', 'MESTRADO', 'ENSINO MÉDIO', 'ENSINO FUNDAMENTAL', 'ENSINO FUNDAMENTAL', 'ENSINO SUPERIOR', 'ENSINO SUPERIOR', 'DOUTORADO', 'ENSINO MÉDIO' ]) dados['TOTAL'] = 1 if len(dados) > 0: salvarPandas(dados, 'DAHSBOARD - SERVIDORES') mensagemInformacao( 'Relatório DAHSBOARD - SERVIDORES criado com sucesso.') else: mensagemErro('Relatório DAHSBOARD - SERVIDORES não foi criado.')