~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Registrar Recebimento ====== Esse caso de uso é utilizado pelos responsáveis pelo recebimento de processos (geralmente função atribuída aos secretários dos setores) com a finalidade de realizar o registro eletrônio do recebimento de processo(s) entre unidades. A unidade destinatária deverá Registrar o Recebimento do Processo para que possa realizar todas as operações necessárias. Após este registro, o processo se encontrará em sua unidade. Pré-condições: * O sistema deverá apresentar o parâmetro NUMERO_RADICAL_PADRAO_PROTOCOLO definido ou a unidade do usuário deverá ser ou apresentar uma unidade responsável protocolizadora, ou seja, uma unidade que apresente um radical associado. Caso estas condições não sejam observadas, o usuário será encaminhado para uma página de erro de negócio onde lhe será informado esta condição. ===== Descrição do Caso de Uso ===== Este caso de uso inicia-se quando o usuário acessa a opção: //SIPAC -> Protocolo -> Processos -> Movimentação -> Registrar Recebimento//. === Passo 1 === O caso de uso inicia-se com a consulta dos processos pendentes de recebimento, a consulta pode ser feita pela unidade do usuário ou uma das suas unidades filhas ([[#Principais regras de negócio|RN01]]), escolhendo-a pela campo: ***Unidade**: Formato - NOME UNIDADE (CÓDIGO DA UNIDADE), Tipo - TEXTO e NUMÉRICO. Caso o usuário deseje uma consulta específica, pode-se buscar um processo pelos seguintes filtros: * **Número do Processo**: Formato - 9999.999999/AAAA-99 (RADICAL.NÚMERO/ANO - DÍGITO VERIFICADOR), Tipo - NUMÉRICO. * **Código de Barras**: Formato - 9999.999999/AAAA-99 (RADICAL.NÚMERO/ANO - DÍGITO VERIFICADOR), Tipo - NUMÉRICO. * **Tipo do Processo**: Formato - DESCRIÇÃO DO TIPO DO PROCESSO, Tipo - TEXTO. * **Número Original do Processo**: Formato - NÚMERO ORIGINAL DO PROCESSO EXTERNO, Tipo - TEXTO. * **Assunto Detalhado**: Formato - DESCRIÇÃO DO ASSUNTO, Tipo - TEXTO. * **Interessado**: Formato - NOME DO INTERESSADO, Tipo - AUTOCOMPLETE. * **Última unidade de tramitação**: Tipo - AUTOCOMPLETE. Lista os processos que foram enviados pela unidade definida no filtro. * **Apenas processos que estão bloqueando a unidade**: Tipo - LÓGICO. * **Apenas processos enviados a órgãos externos**([[#Principais regras de negócio|RN06]]): Tipo - LÓGICO. Abaixo são listados dos processos encontrados na consulta ([[#Principais Regras de Negócio|RN09]]), com os dados de acordo com o [[desenvolvimento:especificacoes:sipac:fluxos:fluxo_consulta_de_processo|fluxo de consulta de processos]]. * //[[desenvolvimento:especificacoes:sipac:protocolo:casos_de_uso:processos:movimentacao:devolver_processo| Devolver Processo]] //: Caso o processo não tenha sido recebido fisicamente o mesmo pode ser retornado a unidade de origem. Onde podemos selecionar um ou mais processos para o recebimento marcando caixa de seleção a esquerda destes. Após selecionar o(s) Processo(s) desejado(s) o usuário deverá escolher a opção //**Registrar o Recebimento**// ([[#Principais Regras de Negócio|RN10]]). === Passo 2 === Nesse passo são mostrados os //Processos Selecionados para Recebimento//, com os seguintes dados: * **__Processo__**: Formato - 23077.999999/AAAA-99 (radical.numero/ano-dv), Tipo - NUMÉRICO. * **__Tipo do Processo__** ([[#Principais_Regras_de_Negócio|RN04]]): Formato - DENOMINAÇÃO DO TIPO DO PROCESSO, Tipo - TEXTO. * **__Assunto do Processo__** ([[#Principais_Regras_de_Negócio|RN05]]): Formato - 999.999 - NOME COMPLETO DA CLASSIFICAÇÃO CONARQ , Tipo - TEXTO. * **__Natureza do Processo__**: Tipo - TEXTO. * **__Assunto Detalhado__**: que será abordado pelo processo. Tipo - TEXTO. * Para cada um dos processos serão apresentada as seguintes opções: * //[[desenvolvimento:especificacoes:sipac:portal_administrativo:casos_de_uso:protocolo:consultas:processo_detalhado|Processo detalhado]]//: Onde podemos visualizar todos os detalhes do processo. * //Remover Processo para Recebimento//: Remover o processo da lista dos processo selecionados para envio. Abaixo desses processos é solicitada o usuário responsável pelos processos que serão recebidos pela unidade ([[#Principais_Regras_de_Negócio|RN11]]): * **__Responsável Pelo(s) Processo(s) na Unidade__** * **Responsável**: Tipo - AUTOCOMPLETE, Formato - NOME DO USUÁRIO Para confirmar o recebimento dos processos selecionados o usuário deve escolher a opção //**Confirmar Recebimento**// ([[#Principais Regras de Negócio|RN02]]) ([[#Principais Regras de Negócio|RN08]]). === Passo 3 === No passo seguinte é exibida uma listagem com os processos recebidos, mostrando os dados: * **__Processo__**: Formato - 23077.999999/AAAA-99 (radical.numero/ano-dv), Tipo - NUMÉRICO. * **__Data de Recebimento__**: Formato - DD/MM/AAAA, Tipo - DATA. * **__Tipo do Processo__** ([[#Principais Regras de Negócio|RN04]]): Formato - DENOMINAÇÃO DO TIPO DO PROCESSO, Tipo - TEXTO. * **__Assunto do Processo__** ([[#Principais Regras de Negócio|RN05]]): Formato - 999.999 - NOME COMPLETO DA CLASSIFICAÇÃO * **__Assunto Detalhado__**: que será abordado pelo processo. Tipo - TEXTO. Abaixo dessa listagem são exibidas algumas operações que podem ser realizadas com estes processos: * **//Arquivar esse(s) Processo(s)//** * **//Registrar Saída desse(s) Processo(s)//** * **//Receber Outros Processos//** * **//Registrar Saída de Outros Processos//** Então o caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - O usuário só poderá receber processos que foram enviados para sua unidade ou uma de suas unidades filhas. * **RN02** - Após o recebimento o processo não deverá mais aparecer na lista de processos pendentes de recebimento. * **RN03** - Apenas os usuários que apresentam a permissão de recebimento de processo na unidade na qual está logado no sistema pode acessar o caso de uso. * **RN04** - O **Tipo do Processo** apenas será mostrado caso o parâmetro **//UTILIZA_TIPO_PROCESSO//** seja verdadeiro. * **RN05** - O **Assunto do processo** apenas será mostrado caso o parâmetro **//UTILIZA_CLASSIFICACAO_CONARQ//** seja verdadeiro. * **RN06** - Caso a unidade do usuário tenha permissão de tramitação externa, é possível receber os processos que foram enviados para órgãos externos. * **RN07** - Ao receber um processo que foi enviado para um órgão externo, é criada uma nova movimentação cuja unidade de destino é a unidade do usuário, com a data e o usuário de envio indefinidos e já registrado o recebimento pelo usuário que o realizou. * **RN08** - Não é possível registrar o recebimento de um processo caso tenha sido solicitado o seu cancelamento. * **RN09** - Os processos sigilosos só poderão ser recebidos caso apresente como usuário responsável o usuário que está tentando recebe-los ou não apresente usuário responsável. * **RN10** - Os processos sigilosos só poderão ser recebidos separados dos demais processos. * **RN11** - Caso os processos que foram selecionados para o recebimento forem sigiloso a solicitação do usuário responsável é obrigatória, caso contrário, será opcional. * **RN12** - Situações do processo a receber: * Indicação Verde: Processo enviado a sua unidade seguindo seu fluxo normal. * Indicação Vermelho: Processo devolvido a sua unidade por não ter sido recebido fisicamente pela unidade para qual foi enviado. Este tipo de processo influencia no bloqueio do cadastro de requisições por sua unidade. * Indicação Amarelo: Processo devolvido a sua unidade em diligência por ter deixado de atender as formalidades indispensáveis ou de cumprir alguma disposição legal, para, assim, serem corrigidas ou sanadas as falhas apontadas. * Indicação Azul: Processo retornado após ter sido baixado em diligência por sua unidade e devolvido para adequação na unidade que deixou de atender as formalidades indispensáveis ou de cumprir alguma disposição legal. * Indicação Branca: Processo enviado a um órgão externo e que poderá ser recebido por sua unidade. * **RN13** - Quando informado, o responsável deverá ter acesso ao módulo de protocolo, ou seja, possui algum papel deste módulo. * **RN14** - Caso o parâmetro **//RESTRINGE_RECEBIMENTO_PROCESSO_EXTERNO_UNIDADE//** seja verdadeiro, apenas a unidade que enviou um processo para um órgão externo poderá recebe-lo novamente. Caso contrário, qualquer unidade com permissão de tramitação externa poderá recebe-lo. ==== Resoluções/Legislações Associadas ==== {{:desenvolvimento:especificacoes:sipac:protocolo:portaria_normativa_5-2002.pdf | 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.Movimento | administrativo.protocolo.movimento | | br.ufrn.sipac.protocolo.dominio.Processo | administrativo.protocolo.processo | ====== Plano de Teste ====== Sistema: SIPAC Módulo: Protocolo Link(s): Processos -> Movimentação -> Registrar Recebimento Usuário: gleydson, marcilia, jbb, paulinho Papel que usuário deve ter: ProtocoloPapeis.RECEBER_PROTOCOLO ([[registrar_recebimento#Principais Regras de Negócio|RN03]]) ===== Cenários de Teste ===== Receber processos enviados para órgãos externos ===== Dados para o Teste ===== Os processos estão listados em: Processo → Processos → Movimentação → Registrar Recebimento. Para as pré-condições: 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 que virá inicialmente informado pelo sistema no campo correspondente na busca de processos. 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 a **RN03**, podemos usar: * Para encontrar usuários com a permissão de registrar recebimento de 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 = 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 recebimento 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 = 6 Para alterar os parâmetros da **RN04** E **RN05**, podemos usar: UPDATE comum.parametro SET valor = 'true' WHERE nome = 'UTILIZA_TIPO_PROCESSO' UPDATE comum.parametro SET valor = 'true' WHERE nome = 'UTILIZA_CLASSIFICACAO_CONARQ' * Dados da natureza dos processos: SELECT u.nome, p.radical, p.num_protocolo, p.ano, p.dv, n.denominacao, pe.nome AS responsavel, us.login AS login FROM protocolo.processo p INNER JOIN protocolo.movimento m On m.id_movimento = p.id_movimento_atual INNER JOIN comum.unidade u ON u.id_unidade = m.id_unidade_destino LEFT JOIN comum.usuario us On us.id_usuario = m.id_usuario_responsavel LEFT JOIN comum.pessoa pe ON pe.id_pessoa = us.id_pessoa LEFT JOIN protocolo.natureza_processo n ON n.id_natureza_processo = p.id_natureza_processo WHERE (m.id_usuario_responsavel IS NULL OR ( m.id_usuario_responsavel IS NOT NULL AND us.login = '' )) AND u.codigo_unidade = '' AND m.data_recebimento_destino IS NOT NULL AND p.status = 1 ORDER BY u.nome