===== 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.protocolo.dominio.ProcessoInteressado | administrativo.protocolo.processo_interessado |
| br.ufrn.sipac.protocolo.dominio.Interessado | administrativo.protocolo.interessado |
| br.ufrn.sipac.cadastro.dominio.Unidade | administrativo.public.unidade |
| br.ufrn.sipac.protocolo.dominio.Movimento | administrativo.protocolo.movimento |
| br.ufrn.sipac.protocolo.dominio.TipoProcesso | administrativo.protocolo.tipoprocesso |
| br.ufrn.sipac.protocolo.dominio.NaturezaProcesso | administrativo.protocolo.natureza_processo |
| br.ufrn.sipac.protocolo.dominio.ClassificacaoConarq (Assunto) | administrativo.protocolo.classificacao_conarq |
| br.ufrn.sipac.protocolo.dominio.VolumeProcesso | administrativo.protocolo.volume_processo |
| br.ufrn.sipac.protocolo.dominio.VolumeProcessoDocumento | administrativo.protocolo.volume_processo_documento |
====== Plano de Teste ======
Sistema: SIPAC
Módulo: Protocolo
Link(s): Processos -> Cadastro -> Cadastrar Processo
Usuário: narasouza, elizabete
Papel que usuário deve ter: ProtocoloPapeis.CADASTRAR_PROTOCOLO
===== Cenários de Teste =====
* Verificar se é informado o radical do processo pelo sistema corretamente no cadastro. (Ver 2º item abaixo)
* Verificar se o carimbo da natureza do processo esta aparecendo na capa do processo, apenas no caso de um processo de natureza ostensiva não deve apresentar carimbo.
* Pode-se verificar se o processo foi cadastrado corretamente através do caso de uso //**SIPAC -> Protocolo -> Consultas/Relatórios -> Consultas -> Processo Detalhado**//
** Testar os parâmetros: **
Configuração 1 - UFRN atualmente:
* UTILIZA_TIPO_PROCESSO_CADASTRO = true
* UTILIZA_TIPO_PROCESSO = true
* Testar o cadastro e alteração de processos.
* Testar a alteração de processos antigos.
* Testar algumas telas que mostrem o tipo de processo
Configuração 2 - UFRN quando deixar de usar o tipo de processo:
* UTILIZA_TIPO_PROCESSO_CADASTRO = false
* UTILIZA_TIPO_PROCESSO = true
* Testar o cadastro e alteração de processos. O campo não é para aparecer mais em todo o fluxo.
* Testar a alteração de processos antigos. O campo vai aparecer para os processos antigos e será possível alterá-lo.
* Testar algumas telas que mostrem o tipo de processo. O tipo de processo vai exibir apenas para os que tiverem cadastrados. Em alguns casos, aparece NÃO DEFINIDO.
Configuração 3 - Outras instituições que nunca utilizaram o tipo de processo:
* UTILIZA_TIPO_PROCESSO_CADASTRO = false
* UTILIZA_TIPO_PROCESSO = false
* Testar o cadastro e alteração de processos. O campo não é para aparecer em todo o fluxo.
* Testar a alteração de processos antigos. O campo não vai aparecer.
* Testar algumas telas que mostrem o tipo de processo. Não vai exibir o tipo de processo em nenhum caso.
Em todas as configurações testar também as funcionalidades:
* Arquivar/Desarquivar processo
* Adicionar Documentos
* Juntadas
* Popup de Visualizar Processo
* Relatório processos por responsável
===== Dados para o Teste =====
Para **RN03**. A consulta abaixo traz unidades que não tem usuários com permissão de receber processos.
SELECT codigo_unidade, nome, sigla,nome_capa FROM comum.unidade WHERE organizacional = true AND id_tipo_organizacional = 7 AND id_gestora = 1424 AND id_classificacao_unidade = 4
AND id_nivel_organizacional = 2 AND id_unidade NOT IN (
SELECT id_unidade FROM comum.unidade WHERE id_unidade IN
(SELECT DISTINCT u.id_unidade FROM comum.unidade u, comum.usuario us, comum.permissao pe, comum.papel pa
WHERE us.id_unidade = u.id_unidade AND pe.id_usuario = us.id_usuario AND pa.id = pe.id_papel AND pa.id = 6
union SELECT DISTINCT u.id_unidade FROM comum.unidade u, comum.usuario_unidade us, comum.permissao pe, comum.papel pa
WHERE us.id_unidade = u.id_unidade AND pe.id_usuario = us.id_usuario AND pa.id = pe.id_papel AND pa.id = 6 AND u.organizacional = true ) )
Pra saber o radical correto que o sistema informará ao processo, primeiro devemos saber se o parâmetro NUMERO_RADICAL_PADRAO_PROTOCOLO está presente no sistema, para isso usamos a consulta:
SELECT p.nome, p.valor AS radical
FROM comum.parametro p
WHERE p.nome = 'NUMERO_RADICAL_PADRAO_PROTOCOLO'
Onde seu valor será o radical a ser associado ao processo pelo sistema. Caso este não esteja presente, devemos saber a unidade do usuário que realiza o cadastro. Sabendo isso, podemos procurar a unidade protocolizadora responsável por esta unidade, usando recursivamente a consulta:
SELECT u.radical, u.nome, u.codigo_unidade, u.unidade_responsavel, u.id_unidade
FROM comum.unidade u
WHERE u.id_unidade =
O valor recursivo será o identificador da unidade responsável.
As condições de parada são:
- A coluna radical não esteja nula, cujo valor será o radical correto para o processo.
- A coluna radical esteja nula e o identificador da unidade seja igual ao identificador da unidade responsável. Nesse caso, o usuário é encaminhado para uma página de erro de negocio onde será informado que para prosseguir a unidade do usuário deverá ser ou apresentar uma unidade responsável protocolizadora.
Para saber o identificador da unidade do usuário, podemos usar:
SELECT u.id_unidade, u.codigo_unidade, u.nome
FROM comum.unidade u
WHERE u.codigo_unidade =
O radical de uma unidade pode ser cadastrado pelo SIGAdim, no [[desenvolvimento:especificacoes:sigadmin:casos_de_uso:gestao:unidades_administrativas_academicas:cadastrar_unidade | cadastro/alteração de unidades]].
Para alterar os parâmetros da **RN05** E **RN06**, podemos usar:
UPDATE comum.parametro SET valor = 'true' WHERE nome = 'UTILIZA_TIPO_PROCESSO'
UPDATE comum.parametro SET valor = 'true' WHERE nome = 'UTILIZA_CLASSIFICACAO_CONARQ'
Para a **RN07**, podemos usar:
* Para encontrar usuários com a permissão de cadastrar processo 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 = 7
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 cadastro de processo, 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 = 7
Para a **RN10**, podemos usar:
-- Processo Com Mesmo Protocolo --
SELECT p.*
FROM protocolo.processo p
WHERE p.radical =
AND p.num_protocolo =
AND p.ano = ;
-- Documento Com Mesmo Protocolo --
SELECT d.*
FROM protocolo.documento d
WHERE d.radical_protocolo =
AND d.numero_protocolo =
AND d.ano_protocolo = ;
-- Etiqueta Com Mesmo Protocolo --
SELECT le.*
FROM protocolo.lote_etiqueta le
WHERE EXISTS( SELECT lep.id_lote_etiqueta_protocolo
FROM protocolo.lote_etiqueta_protocolo lep
WHERE lep.id_lote_etiqueta = le.id_lote_etiqueta
AND lep.radical =
AND lep.numero =
AND lep.ano = );
-- Processo Com Mesmo Número Original --
SELECT p.numero_registro_original, o.nome, o.uf, o.esfera_administrativa
FROM protocolo.processo p
INNER JOIN protocolo.orgao_externo_protocolo o ON o.id_orgao_externo_protocolo = p.id_orgao_externo_origem
WHERE o.nome = ''
AND p.numero_registro_original = ''
Para a **RN15**, podemos usar a consulta abaixo para verificar se a unidade do usuário logado é uma unidade com permissão para efetuar tramitações externas:
SELECT * from protocolo.unidade_tramitacao_externa where id_unidade=''
Para alterar os parâmetros da **RN17** podemos usar:
UPDATE comum.parametro SET valor = 'true' WHERE nome = 'PERMITE_SUPORTE_PROTOCOLO'