===== 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'