Tabela de conteúdos

~~ODT~~

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

Buscar Mensagem

Este caso de uso tem por objetivo realizar a busca de mensagens na caixa postal do usuário.

Descrição do Caso de Uso

O caso de uso inicia quando o usuário acessa o link SIGAdmin → Caixa Postal → Buscar Mensagem.

Acessando a busca de mensagem, o sistema apresenta um formulário de filtro de mensagens com as seguintes opções:

Após realizar a consulta, o sistema exibe uma lista de mensagens que se adequam com o(s) filtro(s) usado(s). Nessa listagem, os seguintes dados são exibidos:

O sistema oferece um mecanismo de paginação para a lista de resultados de busca.

Na listagem da busca, também são mostradas as opções para:

O conteúdo das mensagens pode ser visualizado através de um “click” no título da mensagem.

Principais Regras de Negócio

Resoluções/Legislações Associadas

Não se Aplica.

Classes Persistentes e Tabelas Envolvidas

Classe Tabela
br.ufrn.arq.caixa_postal.Mensagem sistemas_comum.comum.mensagem
br.ufrn.comum.dominio.UsuarioGeral sistemas_comum.public.usuario

Plano de Teste

Sistema: SIGAdmin

Módulo: Caixa Postal

Link: SIGAdmin → Caixa Postal → Busca de Mensagem

Cenários de Teste

Não se aplica.

Dados para teste

 SELECT mensagem0_.id_mensagem         AS col_0_0_,
       mensagem0_.descricao           AS col_1_0_,
       usuarioger1_.login             AS col_2_0_,
       unidadeger4_.codigo_unidade    AS col_3_0_,
       unidadeger4_.sigla             AS col_4_0_,
       usuarioger2_.login             AS col_5_0_,
       unidadeger12_.codigo_unidade   AS col_6_0_,
       unidadeger12_.sigla            AS col_7_0_,
       mensagem0_.data_cadastro       AS col_8_0_,
       mensagem0_.lida                AS col_9_0_,
       mensagem0_.leitura_obrigatoria AS col_10_0_,
       mensagem0_.id_arquivo          AS col_11_0_
FROM   comum.mensagem mensagem0_
       LEFT OUTER JOIN comum.usuario usuarioger1_
                    ON mensagem0_.id_remetente = usuarioger1_.id_usuario
       LEFT OUTER JOIN comum.unidade unidadeger4_
                    ON usuarioger1_.id_unidade = unidadeger4_.id_unidade
       LEFT OUTER JOIN comum.usuario usuarioger2_
                    ON mensagem0_.id_usuario = usuarioger2_.id_usuario,
       comum.unidade unidadeger12_,
       comum.pessoa pessoagera15_,
       comum.unidade unidadeger16_,
       comum.pessoa pessoagera18_,
       comum.unidade unidadeger19_
WHERE  usuarioger2_.id_unidade = unidadeger12_.id_unidade
       AND usuarioger1_.id_pessoa = pessoagera15_.id_pessoa
       AND usuarioger1_.id_unidade = unidadeger16_.id_unidade
       AND usuarioger2_.id_pessoa = pessoagera18_.id_pessoa
       AND usuarioger2_.id_unidade = unidadeger19_.id_unidade
       AND 1 = 1
       AND ( Lower(usuarioger1_.login) LIKE ?
              OR Lower(pessoagera15_.nome) LIKE ?
              OR Lower(unidadeger16_.sigla) LIKE ?
              OR Lower(unidadeger16_.nome) LIKE ? )
       AND ( Lower(usuarioger2_.login) LIKE ?
              OR Lower(pessoagera18_.nome) LIKE ?
              OR Lower(unidadeger19_.sigla) LIKE ?
              OR Lower(unidadeger19_.nome) LIKE ? )
       AND ( Lower(mensagem0_.descricao) LIKE ? )
       AND ( Lower(mensagem0_.mensagem) LIKE ? )
       AND mensagem0_.data_cadastro >=?
       AND mensagem0_.data_cadastro <=?
       AND ( mensagem0_.id_usuario = ?
             AND mensagem0_.removida_destinatario = false
             AND ( mensagem0_.removida_remetente = false
                    OR mensagem0_.removida_remetente IS NULL )
              OR mensagem0_.id_remetente = ?
                 AND ( mensagem0_.removida_remetente = false
                        OR mensagem0_.removida_remetente IS NULL )
              OR mensagem0_.id_usuario = ?
                 AND mensagem0_.id_remetente = ?
                 AND ( mensagem0_.removida_destinatario = true
                        OR mensagem0_.removida_remetente = true )
                 AND ( mensagem0_.rem_lix_destinatario = false
                       AND mensagem0_.rem_lix_remetente = false
                        OR ( mensagem0_.rem_lix_destinatario IS NULL )
                           AND ( mensagem0_.rem_lix_remetente IS NULL ) )
              OR mensagem0_.id_remetente = ?
                 AND mensagem0_.id_usuario <>?
                 AND mensagem0_.removida_remetente = true
                 AND ( mensagem0_.rem_lix_remetente IS NULL
                        OR mensagem0_.rem_lix_remetente = false )
              OR mensagem0_.id_usuario = ?
                 AND mensagem0_.id_remetente <>?
                 AND mensagem0_.removida_destinatario = true
                 AND ( mensagem0_.rem_lix_destinatario IS NULL
                        OR mensagem0_.rem_lix_destinatario = false ) )
ORDER  BY mensagem0_.data_cadastro