~~ODT~~
Tempo Médio de Tramitação
Um processo possui um tempo de vida desde sua criação até o seu arquivamento.
Este caso de uso tem como finalidade gerar relatório do tempo de vida de um processo agrupado por assunto em um dado período de tempo. Existem duas opções de relatórios. O primeiro se trata de um relatório analítico onde, de acordo com as informações fornecidas, são mostrados os processos com seu tempo de vida agrupados por tipo de processo ou assunto. O tipo de dado a ser agrupado irá depender do tipo da unidade a que o usuário pertença (RN06). O relatório Sintético apresenta a quantidade de processos por tipo e tempo médio de vida para aquele tipo de processo. Os dados a serem exibidos dependerá dos filtros aplicados pelo usuário.
Esses relatórios podem ser gerados por qualquer usuário do sistema.
Descrição do Caso de Uso
O caso de uso começa mostrando as opções para a geração dos relatórios. O usuário pode escolher o tipo de relatório que deseja pela opção:
- Tipo de Relatório (RN01): Formato: Analítico | Sintético, Tipo - LÓGICO.
- Apenas Processos Arquivados (RN07): Formato: Analítico | Sintético, Tipo - LÓGICO.
- Período de Cadastro (RN02): Formato - DD/MM/AAAA à DD/MM/AAAA, Tipo - DATA.
- Unidade (RN03): Formato - CÓDIGO DA UNIDADE | NOME DA UNIDADE, Tipo - NUMÉRICO e TEXTO.
- Tipo de Processo (RN04): Tipo: TEXTO.
- Assunto do Processo (RN05): Tipo: TEXTO.
São disponíveis também as seguintes opções de visualização para o relatório no formato analítico:
- Ordenar por: Formato - são apresentadas as opções
Número de Protocolo
,Assunto Detalhado
eData de Cadastro
, Tipo - TEXTO. - Ordenação: Formato - são apresentadas as opções
Crescente
eDecrescente
, Tipo - TEXTO.
O relatório analítico é gerado seguindo o modelo:
Tempo Médio de Tramitação
- Tipo de Relatório: Formato: Analítico | Sintético, Tipo - TEXTO.
- Apenas Processos Arquivados: Formato: Sim| Não, Tipo - TEXTO.
- Período de Cadastro: Formato - DD/MM/AAAA à DD/MM/AAAA, Tipo - DATA.
- Unidade: Formato - NOME DA UNIDADE (CÓDIGO DA UNIDADE), Tipo - TEXTO e NUMÉRICO.
Processo | Assunto | Data de Cadastro | Arquivamento | Tempo de Tramitação | |
---|---|---|---|---|---|
Tipo ou Assunto(RN06): TIPO OU ASSUNTO | |||||
23077.999999/AAAA - 99 | ASSUNTO DO PROCESSO | DD/MM/AAAA HH:MM | DD/MM/AAAA HH:MM | 9999.9 DIAS HH:MM:SS | |
23077.999999/AAAA - 99 | ASSUNTO DO PROCESSO | DD/MM/AAAA HH:MM | DD/MM/AAAA HH:MM | 9999.9 DIAS HH:MM:SS | |
Tempo Médio | 9999.9 DIAS HH:MM:SS | ||||
Total de Processos | 999999 | ||||
—- | |||||
Tipo ou Assunto(RN06): TIPO OU ASSUNTO | |||||
23077.999999/AAAA - 99 | ASSUNTO DO PROCESSO | DD/MM/AAAA HH:MM | DD/MM/AAAA HH:MM | 9999.9 DIAS HH:MM:SS | |
23077.999999/AAAA - 99 | ASSUNTO DO PROCESSO | DD/MM/AAAA HH:MM | DD/MM/AAAA HH:MM | 9999.9 DIAS HH:MM:SS | |
Tempo Médio | 9999.9 DIAS HH:MM:SS | ||||
Total de Processos | 999999 | ||||
—- |
Já o relatório sintético segue o seguinte modelo:
Tempo Médio de Tramitação
- Tipo de Relatório: Formato: Analítico | Sintético, Tipo - TEXTO.
- Apenas Processos Arquivados: Formato: Sim| Não, Tipo - TEXTO.
- Período de Cadastro: Formato - DD/MM/AAAA à DD/MM/AAAA, Tipo - DATA.
- Unidade: Formato - NOME DA UNIDADE (CÓDIGO DA UNIDADE), Tipo - TEXTO e NUMÉRICO.
Tipo/Assunto | Quantidade | Tempo Médio |
---|---|---|
TIPO DE PROCESSO OU [Código Conarq] - ASSUNTO (RN06) | 999 | 9999.9 DIAS HH:MM:SS |
—— | —— | —— |
—— | —— | —— |
—— | —— | —— |
Principais Regras de Negócio
- RN01 - O formato do relatório que será exibido irá depender da seleção do tipo de relatório. O Valor padrão é o Sintético.
- RN02 - O período será aplicado para a data de cadastro do processo.
- RN03 - O preenchimento do campo unidade é opcional.
- RN04 - O preenchimento do campo Tipo do Processo é opcional. Esse filtro só aparecerá na tela quando a unidade gestora do usuário utilizar o atributo Tipo de Processo
- RN05 - O preenchimento do campo Assunto é opcional. Esse filtro só aparecerá na tela quando a unidade gestora do usuário utilizar o atributo Classificação CONARQ
- RN06 - O resultado poderá ser exibido de formas distintas de acordo com o usuário que acessa o sistema. O resultado só será agrupado por Tipo de Processo, caso a unidade do usuário logado não possuir Classificação CONARQ. Caso contrário, será agrupado por Assunto.
- RN07 - Ao selecionar sim para a opção Apenas Processos Arquivados o relatório considera apenas os processos com status Arquivado, caso contrário o relatório considera também os processos com outros status. Para o último caso o tempo de tramitação do processo será calculado da data de cadastro até a data de geração do relatório.
Resoluções/Legislações Associadas
Não se Aplica.
Classes Persistentes e Tabelas Envolvidas
Classe | Tabela |
---|---|
br.ufrn.sipac.protocolo.dominio.Movimento | administrativo.protocolo.movimento |
br.ufrn.sipac.protocolo.dominio.Processo | administrativo.protocolo.processo |
br.ufrn.sipac.protocolo.dominio.MudancaProcesso | administrativo.protocolo.mudanca_processo |
br.ufrn.sipac.arquitetura.dominio.Parametro | comum.parametro |
Plano de Teste
Sistema: SIPAC
Módulo: PROTOCOLOS
Link(s): Módulos → Protocolo → Consultas/Relatórios → Relatórios → Tempo Médio de Tramitação
Usuário: marcilia, jbb, paulinho
Papel que usuário deve ter: Ser usuário do SIPAC.
Cenários de Teste
- Atenção: verificar as (RN04) e (RN05). Apenas um tipo de classificação deverá estar ativo durante os testes, utilizar o script SQL fornecido na seção Dados para o Teste para alternar o tipo de classificação.
- Gerar diversos realtórios com diferentes parâmentros com objetivo de verificar se os realtórios retornados estão de acordo.
- Para verificar os movimentos dos processos e suas datas de envio e recebimento acesse: Módulos → Protocolo → Consultas/Relatórios → Consultas → Processo Detalhado
- Alternar o tipo de classificação e realizando testes com os filtros Assunto do Processo e Tipo do Processo.
Dados para o Teste
Alternar o tipo de classificação (banco sistemas_comum):
UPDATE comum.parametro SET valor = 'true' WHERE nome = 'UTILIZA_TIPO_PROCESSO'; UPDATE comum.parametro SET valor = 'false' WHERE nome = 'UTILIZA_CLASSIFICACAO_CONARQ';
Para o relatório analítico:
- Processos agrupados por tipo de processo, no período informado, pela consulta:
SELECT DISTINCT PROCESSOC.ID_TIPO_PROCESSO, TIPO_PROCESSO.DENOMINACAO, PROCESSOC.ASSUNTO,PROCESSOC.RADICAL, PROCESSOC.NUM_PROTOCOLO, PROCESSOC.ANO, PROCESSOC.DV, PROCESSOC.ID_PROCESSO, PROCESSOC.STATUS, ( SELECT DISTINCT MUDANCA_PROCESSOC.DATA FROM PROTOCOLO.MUDANCA_PROCESSO AS MUDANCA_PROCESSOC WHERE ( PROCESSOC.ID_PROCESSO = MUDANCA_PROCESSOC.ID_PROCESSO ) ORDER BY MUDANCA_PROCESSOC.DATA DESC LIMIT 1) AS DATA_ARQUIVAMENTO, PROCESSOC.DATA_CADASTRO, ( SELECT DISTINCT MUDANCA_PROCESSOC.DATA FROM PROTOCOLO.MUDANCA_PROCESSO AS MUDANCA_PROCESSOC WHERE ( PROCESSOC.ID_PROCESSO = MUDANCA_PROCESSOC.ID_PROCESSO ) ORDER BY MUDANCA_PROCESSOC.DATA DESC LIMIT 1) - PROCESSOC.DATA_CADASTRO AS TEMPO_ARQUIVAMENTO , NOW() - PROCESSOC.DATA_CADASTRO AS TEMPO FROM PROTOCOLO.PROCESSO AS PROCESSOC, PROTOCOLO.MUDANCA_PROCESSO AS MUDANCA_PROCESSO , PROTOCOLO.TIPOPROCESSO AS TIPO_PROCESSO WHERE PROCESSOC.ID_PROCESSO = MUDANCA_PROCESSO.ID_PROCESSO AND PROCESSOC.STATUS = <IDENTIFICADOR> AND PROCESSOC.DATA_CADASTRO BETWEEN '<INÍCIO PERÍODO: Formato - AAAA-MM-DD>' AND '<FINAL PERÍODO: Formato - AAAA-MM-DD>' AND PROCESSOC.ID_TIPO_PROCESSO = TIPO_PROCESSO.IDTIPOPROCESSO AND ( PROCESSOC.ID_TIPO_PROCESSO IN ( '<IDENTIFICADOR>','<IDENTIFICADOR>' , [...]) ) AND PROCESSOC.ID_UNIDADE_ORIGEM = <IDENTIFICADOR> ORDER BY TIPO_PROCESSO.DENOMINACAO
- Processos agrupados por Classificação CONARQ, no período informado, pela consulta:
SELECT DISTINCT PROCESSOC.ID_TIPO_PROCESSO, TIPO_PROCESSO.DENOMINACAO, COUNT(DISTINCT PROCESSOC.ID_PROCESSO) AS QUANTIDADE, AVG( ( SELECT DISTINCT MUDANCA_PROCESSOC.DATA FROM PROTOCOLO.MUDANCA_PROCESSO AS MUDANCA_PROCESSOC WHERE ( PROCESSOC.ID_PROCESSO = MUDANCA_PROCESSOC.ID_PROCESSO ) ORDER BY MUDANCA_PROCESSOC.DATA DESC LIMIT 1) - PROCESSOC.DATA_CADASTRO ) AS TEMPO FROM PROTOCOLO.PROCESSO AS PROCESSOC, PROTOCOLO.MUDANCA_PROCESSO AS MUDANCA_PROCESSO , PROTOCOLO.TIPOPROCESSO AS TIPO_PROCESSO WHERE PROCESSOC.ID_PROCESSO = MUDANCA_PROCESSO.ID_PROCESSO AND PROCESSOC.STATUS = <IDENTIFICADOR> AND PROCESSOC.DATA_CADASTRO BETWEEN '<INÍCIO PERÍODO: Formato - AAAA-MM-DD>' AND '<FINAL PERÍODO: Formato - AAAA-MM-DD>' AND PROCESSOC.ID_TIPO_PROCESSO = TIPO_PROCESSO.IDTIPOPROCESSO AND ( PROCESSOC.ID_TIPO_PROCESSO IN ( '<IDENTIFICADOR>','<IDENTIFICADOR>' , [...] ) ) AND PROCESSOC.ID_UNIDADE_ORIGEM = <IDENTIFICADOR> GROUP BY PROCESSOC.ID_TIPO_PROCESSO, TIPO_PROCESSO.DENOMINACAO ORDER BY TIPO_PROCESSO.DENOMINACAO
Para o relatório sintético:
- Quantidade e o tempo médio de tramitação de processos agrupado por Tipo de Processo, no período informado, pela consulta:
SELECT DISTINCT PROCESSOC.ID_TIPO_PROCESSO, TIPO_PROCESSO.DENOMINACAO, COUNT(DISTINCT PROCESSOC.ID_PROCESSO) AS QUANTIDADE, AVG( ( SELECT DISTINCT MUDANCA_PROCESSOC.DATA FROM PROTOCOLO.MUDANCA_PROCESSO AS MUDANCA_PROCESSOC WHERE ( PROCESSOC.ID_PROCESSO = MUDANCA_PROCESSOC.ID_PROCESSO ) ORDER BY MUDANCA_PROCESSOC.DATA DESC LIMIT 1) - PROCESSOC.DATA_CADASTRO ) AS TEMPO FROM PROTOCOLO.PROCESSO AS PROCESSOC, PROTOCOLO.MUDANCA_PROCESSO AS MUDANCA_PROCESSO , PROTOCOLO.TIPOPROCESSO AS TIPO_PROCESSO WHERE PROCESSOC.ID_PROCESSO = MUDANCA_PROCESSO.ID_PROCESSO AND PROCESSOC.STATUS = <IDENTIFICADOR> AND PROCESSOC.DATA_CADASTRO BETWEEN '<INÍCIO PERÍODO: Formato - AAAA-MM-DD>' AND '<FINAL PERÍODO: Formato - AAAA-MM-DD>' AND PROCESSOC.ID_TIPO_PROCESSO = TIPO_PROCESSO.IDTIPOPROCESSO AND ( PROCESSOC.ID_TIPO_PROCESSO IN ( '<IDENTIFICADOR>','<IDENTIFICADOR>' , [...] ) ) AND PROCESSOC.ID_UNIDADE_ORIGEM = <IDENTIFICADOR> GROUP BY PROCESSOC.ID_TIPO_PROCESSO, TIPO_PROCESSO.DENOMINACAO ORDER BY TIPO_PROCESSO.DENOMINACAO
- Podemos obter a quantidade e o tempo médio de tramitação de processos agrupado por Classificação CONARQ, no período informado, pela consulta:
SELECT DISTINCT PROCESSOC.ID_CLASSIFICACAO_CONARQ, CLASSIFICACAO_CONARQC.CODIGO, CLASSIFICACAO_CONARQC.NOME_COMPLETO, COUNT(DISTINCT PROCESSOC.ID_PROCESSO) AS QUANTIDADE, AVG( ( SELECT DISTINCT MUDANCA_PROCESSOC.DATA FROM PROTOCOLO.MUDANCA_PROCESSO AS MUDANCA_PROCESSOC WHERE ( PROCESSOC.ID_PROCESSO = MUDANCA_PROCESSOC.ID_PROCESSO ) ORDER BY MUDANCA_PROCESSOC.DATA DESC LIMIT 1) - PROCESSOC.DATA_CADASTRO ) AS TEMPO FROM PROTOCOLO.PROCESSO AS PROCESSOC, PROTOCOLO.MUDANCA_PROCESSO AS MUDANCA_PROCESSO , PROTOCOLO.CLASSIFICACAO_CONARQ AS CLASSIFICACAO_CONARQC WHERE PROCESSOC.ID_PROCESSO = MUDANCA_PROCESSO.ID_PROCESSO AND PROCESSOC.STATUS = <IDENTIFICADOR> AND PROCESSOC.DATA_CADASTRO BETWEEN '<INÍCIO PERÍODO: Formato - AAAA-MM-DD>' AND '<FINAL PERÍODO: Formato - AAAA-MM-DD>' AND PROCESSOC.ID_CLASSIFICACAO_CONARQ = CLASSIFICACAO_CONARQC.ID_CLASSIFICACAO_CONARQ AND ( CLASSIFICACAO_CONARQC.ID_CLASSIFICACAO_CONARQ IN ( '<IDENTIFICADOR>','<IDENTIFICADOR>' , [...] ) ) AND PROCESSOC.ID_UNIDADE_ORIGEM = <IDENTIFICADOR> GROUP BY PROCESSOC.ID_CLASSIFICACAO_CONARQ, CLASSIFICACAO_CONARQC.CODIGO, CLASSIFICACAO_CONARQC.NOME_COMPLETO ORDER BY PROCESSOC.ID_CLASSIFICACAO_CONARQ, CLASSIFICACAO_CONARQC.NOME_COMPLETO