===== Classes Persistentes e Tabelas Envolvidas =====
^ Classe ^ Tabela |
| br.ufrn.sipac.protocolo.dominio.Processo | administrativo.protocolo.processo |
| br.ufrn.sipac.protocolo.dominio.Documento | administrativo.protocolo.documento|
| br.ufrn.sipac.cadastro.dominio.Unidade | administrativo.comum.unidade |
| br.ufrn.sipac.protocolo.dominio.OrgaoExternoProtocolo| administrativo.protocolo.orgao_externo_protocolo |
| br.ufrn.sipac.protocolo.dominio.MovimentoDocumento | administrativo.protocolo.movimento_documento |
| br.ufrn.sipac.protocolo.dominio.ClassificacaoConarq (Assunto) | administrativo.protocolo.classificacao_conarq |
====== Plano de Teste ======
Sistema: SIPAC
Módulo: Protocolo
Link(s): Processos -> Cadastro -> Autuar Processo
Usuário: marcilia, paulinho, bruma
Papel que usuário deve ter: ProtocoloPapeis.CADASTRAR_PROTOCOLO
===== Cenários de Teste =====
* Verificar se no final da atuação o protocolo do processo é o mesmo do documento selecionado.
===== Dados para o Teste =====
Para **RN01**. A consulta abaixo traz os documentos que estão na unidade do usuário os quais não estão associados a um processo e, no caso dos memorandos eletrônicos, este esteja autenticado.
SELECT d.*
FROM protocolo.documento d
JOIN protocolo.movimento_documento m ON m.idmovimento_documento = d.id_movimento_atual
JOIN comum.unidade u ON u.id_unidade = m.codigounidadedestino
WHERE m.datarecebimentodestino IS NOT NULL
AND u.codigo_unidade =
AND (d.idtipodocumento != 976 OR (d.idtipodocumento = 976 AND d.data_autenticacao IS NOT NULL)) -- 976: Memorando Eletrônico
AND d.id_processo IS NULL
ORDER BY d.iddocumento;
Para a **RN02**, 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