~~ODT~~

Última atualização: 2017/04/03 18:22 (edição externa)

Listar Memorandos Pendentes de Recebimento

Este caso de uso possibilita o recebimento dos Memorandos Eletrônicos enviados para o usuário, sua unidade (de acordo com o nível de acesso) ou Grupos de Destinatários que faz parte e que ainda não foram lidos. Em geral este caso de uso é utilizado após um memorando ter sido autenticado para ficar disponível aos usuários de destino.

Para maiores informações sobre os conceitos pertinentes ao caso de uso, vide o Documento de Negócio - Protocolo.

Descrição do Caso de Uso

Todos os servidores ativos da instituição podem utilizar essa funcionalidade através do Portal Administrativo, escolhendo a opção “Memorandos Eletrônicos”, ou pelo caminho: SIPAC → Protocolo → Memorandos → Consultas → Listar Pendentes de Recebimento (aqueles que têm acesso ao módulo Protocolo).

O caso de uso inicia exibindo uma consulta por memorandos ainda não lidos através dos seguintes filtros (RN01) :

Também é exibida uma listagem contendo os memorandos a receber, com as seguintes informações:

Além dessas informações, para cada memorando são exibidas as seguintes opções:

Principais Regras de Negócio

Classes Persistentes e Tabelas Envolvidas

Classe Tabela
br.ufrn.sipac.protocolo.dominio.LeituraDocumento administrativo.protocolo.leitura_documento
br.ufrn.sipac.protocolo.dominio.Documento administrativo.protocolo.documento
br.ufrn.sipac.protocolo.dominio.MovimentoDocumento administrativo.protocolo.movimento_documento
br.ufrn.sipac.protocolo.dominio.TipoDocumentoProtocolo administrativo.protocolo.tipoDocumento
br.ufrn.sipac.protocolo.dominio.Despacho administrativo.protocolo.despacho
br.ufrn.sipac.protocolo.dominio.AutenticadorDocumento administrativo.protocolo.autenticador_documento

Plano de Teste

Sistema: SIPAC

Módulo: Protocolo

Link(s): Protocolo → Memorandos → Consultas → Listar Pendentes de Recebimento

Usuário: marcilia, jbb, paulinho.

Papel que usuário deve ter: Não há checagem de papel.

Cenários de Teste

  1. Ao enviar um Memorando Eletrônico para um determinado servidor:
    1. Verificar se o memorando aparecerá como pendente de recebimento para este servidor.
    2. Verificar se o memorando não aparecerá como pendente de recebimento para outros servidores da mesma unidade.
  2. Ao enviar um Memorando Eletrônico para uma determinada unidade:
    1. Verificar se o memorando aparecerá como pendente de recebimento apenas para os servidores com o nível de acesso selecionado ou para os usuários que tenham a permissão de leituras de memorandos na unidade.
    2. Verificar se os outros servidores, com outros níveis de acesso, e os demais usuários não terão acesso a este memorando.
  3. Ao enviar um memorando circular:
    1. Verificar se o memorando aparecerá como pendente de recebimento apenas para apenas os servidores ou usuários que fazem parte dos Grupos de Destinatários selecionados.
    2. Verificar se outros servidores e usuários não terão acesso a este memorando.

Dados para o Teste

Qualquer servidor ativo da instituição pode ser usado na visualização de memorandos a receber.

Para O RN02, temos:

SELECT U.ID_UNIDADE, U.NOME, U.CATEGORIA, U.TIPO
FROM COMUM.RESPONSAVEL_UNIDADE RU 
     INNER JOIN COMUM.UNIDADE U ON U.ID_UNIDADE = RU.ID_UNIDADE
     INNER JOIN COMUM.USUARIO US ON US.ID_SERVIDOR = RU.ID_SERVIDOR 
WHERE US.LOGIN = '<LOGIN DO USUÁRIO>'
AND RU.DATA_INICIO <= CURRENT_DATE 
AND (RU.DATA_FIM IS NULL OR RU.DATA_FIM >= CURRENT_DATE) 
AND RU.ID_REGISTRO_ENTRADA_EXCLUSAO IS NULL 
AND RU.NIVEL_RESPONSABILIDADE IN ( 'C','V','G','S' );

Observação: Executar no banco de sistemas comum, pois há diferença com o administrativo para a tabela COMUM.RESPONSAVEL_UNIDADE

O valor exibido no contador de memorandos pendentes de recebimento é guardado na tabela protocolo.quantidade_memorandos_a_receber, a consulta abaixo pode auxiliar a verificação desse número:

SELECT qm.id, p.nome, u.login, qm.quantidade_memorando_eletronico, qm.quantidade_memorando_circular,
qm.quantidade_memorando_eletronico + qm.quantidade_memorando_circular AS qtd_total_memorandos_a_receber
FROM protocolo.quantidade_memorandos_a_receber qm
JOIN comum.usuario u USING (id_usuario)
JOIN comum.pessoa p USING (id_pessoa)