~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Diligência ====== Diligência é o ato pelo qual um processo que, tendo deixado de atender as formalidades indispensáveis ou de cumprir alguma disposição legal, é devolvido ao órgão que assim procedeu, a fim de corrigir ou sanar as falhas apontadas. Este caso de uso é utilizado por servidores habilitados a realizar o cadastro de processos protocolados nas unidades, com a finalidade de registrar e encerrar a diligência de um processo. ===== Descrição do Caso de Uso ===== Esse caso de uso é acionado quando o usuário acessa a opção: //SIPAC -> Protocolo -> Processos -> Arquivo/Cancelamento/Diligência -> Diligência// O caso de uso inicia-se através da consulta dos processos na unidade do usuário pelo [[desenvolvimento:especificacoes:sipac:protocolo:casos_de_uso:processos:consultador_geral_de_processos| Consultador Geral de Processos]]. Para cada processo temos as opções de **Registrar Diligência** ou **Encerrar Diligência**. Caso o usuário selecione a opção **Registrar Diligência** ([[#Principais regras de Negócio|RN01]]), então são exibidas as seguintes informações: ***__Processo__**: Tipo NUMÉRICO, formato: 23077.99999/AAAA-99. ***__Tipo do Processo__**: Tipo TEXTO, só exibido quando o parâmetro UTILIZA_TIPO_PROCESSO for true e UTILIZA_CLASSIFICACAO_CONARQ for false. ***__Assunto do Processo__**: Tipo TEXTO, só exibido quando o parâmetro UTILIZA_CLASSIFICACAO_CONARQ for true. ***__Natureza do Processo__**: Tipo TEXTO. ***__Origem__**: Tipo TEXTO, formato: NOME UNIDADE (CÓDIGO UNIDADE) ***__Assunto Detalhado__**: Tipo TEXTO. *__Dados da Movimentação Atual__: ***__Unidade de Origem__**: Tipo - TEXTO, Formato - NOME DA UNIDADE (CÓDIGO DA UNIDADE). ***__Enviado Em__**: Tipo DATA, Formato - DD/MM/AAAA HH:mm. ***__Enviado Por__**: Tipo - TEXTO, Formato - LOGIN DO USUÁRIO. ***__Unidade de Destino__**:Tipo - TEXTO, Formato - NOME DA UNIDADE (CÓDIGO DA UNIDADE). *__Dados da Diligênia__: ***Unidade de Retorno***: Tipo - TEXTO, Formato - NOME DA UNIDADE (CÓDIGO DA UNIDADE). ***Responsável na Unidade de Retorno**: Tipo - AUTOCOMPLETE, Formato - NOME DO USUÁRIO ***Tempo Esperado na Unidade**: Tipo - NUMÉRICO, Formato - 99 (Em Dias) ***Observação***: Tipo TEXTO. Após confirmar, então o sistema exibe essas informações da diligência registrada: ***__Processo__**: Tipo NUMÉRICO, formato: 23077.99999/AAAA-99. ***__Tipo do Processo__**: Tipo TEXTO, só exibido quando o parâmetro UTILIZA_TIPO_PROCESSO for true e UTILIZA_CLASSIFICACAO_CONARQ for false. ***__Assunto do Processo__**: Tipo TEXTO, só exibido quando o parâmetro UTILIZA_CLASSIFICACAO_CONARQ for true. ***__Natureza do Processo__**: Tipo TEXTO. ***__Unidade de Origem__**: Tipo TEXTO, formato: NOME UNIDADE (CÓDIGO UNIDADE) ***__Assunto Detalhado__**: Tipo TEXTO. *__Dados da Movimentação__: ***__Unidade de Retorno__**: Tipo - TEXTO, Formato - NOME DA UNIDADE (CÓDIGO DA UNIDADE). ***__Responsável__**: Tipo - TEXTO Formato - NOME DO USUÁRIO ***__Tempo Esperado__**: Tipo - NUMÉRICO, Formato - 99 (Em Dias) ***__Observação__**: Tipo TEXTO. Caso o usuário selecione a opção **Encerrar Diligência** ([[#Principais regras de Negócio|RN02]]), então são exibidas as seguintes informações: ***__Processo__**: Tipo NUMÉRICO, formato: 23077.99999/AAAA-99. ***__Tipo do Processo__**: Tipo TEXTO, só exibido quando o parâmetro UTILIZA_TIPO_PROCESSO for true e UTILIZA_CLASSIFICACAO_CONARQ for false. ***__Assunto do Processo__**: Tipo TEXTO, só exibido quando o parâmetro UTILIZA_CLASSIFICACAO_CONARQ for true. ***__Assunto Detalhado__**: Tipo TEXTO. ***__Unidade de Origem__**: Tipo TEXTO, formato: NOME UNIDADE (CÓDIGO UNIDADE) ***Observação**: Tipo TEXTO. Após confirmar, então o sistema exibe essas informações e encerra a diligência. O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - Só é possível registrar diligência em processos ativos que estejam na unidade do usuário e que tenham sido recebidos por ela. * **RN02** - Só é possível encerrar diligência em processos em diligência, que estejam na unidade do usuário e que tenham sido recebidos por ela. * **RN03** - Apenas os usuários que apresentam a permissão de cadastrar protocolo na unidade na qual está logado no sistema pode acessar o caso de uso. Ou seja, além de ter o papel de cadastrar protocolo, o usuário deve ter permissão desse papel para a unidade que está acessando o sistema. ==== Resoluções/Legislações Associadas ==== {{:desenvolvimento:especificacoes:sipac:protocolo:portaria_normativa_5-2002.pdf | PORTARIA NORMATIVA Nº 5, DE 19 DE DEZEMBRO DE 2002}}: Dispõe sobre os procedimentos gerais para utilização dos serviços de protocolo, no âmbito da Administração Pública Federal, para os órgãos e entidades integrantes do Sistema de Serviços Gerais - SISG. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sipac.protocolo.dominio.StatusProcesso | administrativo.protocolo.status_processo| | br.ufrn.sipac.protocolo.dominio.MudancaProcesso | administrativo.protocolo.mudanca_processo| | br.ufrn.sipac.protocolo.dominio.Processo | administrativo.protocolo.processo | | br.ufrn.sipac.protocolo.dominio.Movimento | administrativo.protocolo.movimento | ====== Plano de Teste ====== Sistema: SIPAC Módulo: Protocolo Link(s): Processos -> Arquivo/Cancelamento/Diligência -> Diligência Usuário: mirian, marcilia e bruma Papel que usuário deve ter: ProtocoloPapeis.CADASTRAR_PROTOCOLO ===== Cenários de Teste ===== Registrar a diligencia de um processo e verificar se este é enviado à unidade de retorno com status em diligencia. ===== Dados para o Teste ===== Para que possa registrar uma diligência é necessário que haja um processo [[desenvolvimento:especificacoes:sipac:protocolo:casos_de_uso:processos:cadastro:cadastrar_processo | cadastrado]] para a unidade do usuário. Para a **RN03**, podemos usar: * Para encontrar usuários com a permissão de cadastrar protocolo e que apresentam mais de uma unidade, usamos : SELECT pa.nome, u.login FROM comum.usuario_unidade uu JOIN comum.usuario u ON u.id_usuario = uu.id_usuario JOIN comum.pessoa p ON p.id_pessoa = u.id_pessoa JOIN comum.unidade un ON un.id_unidade = uu.id_unidade JOIN comum.permissao pe ON pe.id_usuario = u.id_usuario JOIN comum.papel pa ON pa.id = pe.id_papel WHERE pe.id_papel = 6 GROUP BY pe.id_unidade_papel, pa.nome, u.login, uu.id_usuario ORDER BY u.login * Para saber quais das unidades o usuário tem permissão de cadastrar protocolo, usamos: SELECT pa.nome, u.login, un.codigo_unidade, un.nome FROM comum.usuario u JOIN comum.permissao pe ON pe.id_usuario = u.id_usuario JOIN comum.papel pa ON pa.id = pe.id_papel JOIN comum.unidade un ON un.id_unidade = pe.id_unidade_papel WHERE u.login like '' AND pe.id_papel = 6