Tabela de conteúdos

~~ODT~~

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

Cadastrar Documento

Um documento reúne informações que podem tramitar por várias unidades ao longo do seu desenvolvimento. Cada unidade envolvida tem a possibilidade de incrementar informações no documento em forma de Despacho Eletrônico de Documento.

Esse caso de uso tem a finalidade de realizar o cadastro de um documento.

É utilizado por servidores habilitados a realizar o cadastro de documentos protocolados nas unidades.

Pré-condições:

Descrição do Caso de Uso

Esse caso de uso se inicia quando o usuário acessa o caminho: SIPAC → Protocolo → Documentos → Cadastro → Cadastrar Documento.

Passo 1

O caso de uso começa com o usuário acessando o sistema e preenchendo os Dados do Documento:

Informações exclusivas para “Documentos Externos”:

Para cada documento, é possível adicionar uma lista de assinantes que irão garantir a autenticidade do documento escrito ou anexado. São exibidas as opções de Adicionar Assinante, onde é possível escolher servidores da unidade do usuário, e Adicionar Assinantes de Outra Unidade, onde poderão ser adicionados servidores de outras unidades. Após adicionar os assinantes, é exibida uma listagem com os dados:

É possível remover os assinantes da listagem.

Passo 2

Passo 3

Continuando o cadastro, o usuário deve informar os interessados deste documento. Os interessados podem ser de 5 categorias:

Abaixo, é exibida a lista dos Interessados Inseridos no Documento com os dados de acordo com a categoria informada:

Serão enviados email aos interessados caso o documento sofra alguma movimentação (Envio, Recebimento, Arquivamento, Cancelamento, Ativação ou em Diligência):

Passo 4

Nesse passo o usuário deverá informar os dados da movimentação inicial do documento, podendo, também, informar um despacho para tal:

Passo 5

No seguinte passo serão apresentados os Dados Gerais do Documento para serem conferidos antes da confirmação do cadastro ( RN08 ). As informações exibidas são:

Passo 6

Por fim serão exibidas as informações do documento gerado:

O usuário também poderá Imprimir Comprovante, nele conterá as informações do documento cadastrado juntamente com seu código de barra respectivo.

Na página da comprovante serão mostrados os dados principais do processo e suas movimentações associadas.

O caso de uso é finalizado.

Principais Regras de Negócio

Resoluções/Legislações Associadas

PORTARIA NORMATIVA Nº 5, DE 19 DE DEZEMBRO DE 2002: Dispõe sobre os procedimentos gerais para utilização dos serviços de protocolo, no âmbito da Administração Pública Federal, para os órgãos e entidades integrantes do Sistema de Serviços Gerais - SISG.

Classes Persistentes e Tabelas Envolvidas

Classe Tabela
br.ufrn.sipac.protocolo.dominio.Documento administrativo.protocolo.documento
br.ufrn.sipac.cadastro.dominio.Unidade administrativo.public.unidade
br.ufrn.sipac.protocolo.dominio.MovimentoDocumento administrativo.protocolo.movimento_documento
br.ufrn.sipac.protocolo.dominio.TipoDocumento administrativo.protocolo.tipodocumento
br.ufrn.sipac.protocolo.dominio.ClassificacaoConarq (Assunto) administrativo.protocolo.classificacao_conarq

Plano de Teste

Sistema: SIPAC

Módulo: Protocolo

Link(s): Documentos → Cadastro → Cadastrar Documento

Usuário: marcilia, paulinho, bruma

Papel que usuário deve ter: ProtocoloPapeis.CADASTRAR_PROTOCOLO

Cenários de Teste

Dados para o Teste

Para RN01. A consulta abaixo traz unidades que não tem usuários com permissão de receber documentos.

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 documento, 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 documento 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 = <ID DA UNIDADE>

O valor recursivo será o identificador da unidade responsável.

As condições de parada são:

  1. A coluna radical não esteja nula, cujo valor será o radical correto para o processo.
  2. 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 = <CÓDIGO DA UNIDADE>

O radical de uma unidade pode ser cadastrado pelo SIGAdim, no cadastro/alteração de unidades.

Para a RN02, podemos usar:

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
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 '<LOGIN DO USUÁRIO>'
AND pe.id_papel = 6

Para alterar os parâmetros da RN03 podemos usar:

UPDATE comum.parametro SET valor = 'true' WHERE nome = 'UTILIZA_CLASSIFICACAO_CONARQ'

Para alterar os parâmetros da RN05 podemos usar:

UPDATE comum.parametro SET valor = 'true' WHERE nome = 'PERMITE_SUPORTE_PROTOCOLO'