~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Listar Memorandos Pendentes de Recebimento ====== Este caso de uso possibilita o recebimento dos [[desenvolvimento:especificacoes:sipac:protocolo:casos_de_uso:memorandos:cadastro:cadastrar_memorando| Memorandos Eletrônicos]] enviados para o usuário, sua unidade (de acordo com o nível de acesso) ou [[desenvolvimento:especificacoes:sigadmin:casos_de_uso:portal_da_administracao:comunicacao:comunicacao_em_grupo:gerencia_de_grupos:gerenciar_grupos| Grupos de Destinatários]] que faz parte e que ainda não foram lidos. Em geral este caso de uso é utilizado após um memorando ter sido [[desenvolvimento:especificacoes:sipac:protocolo:casos_de_uso:memorandos:autenticacao:autenticar| autenticado]] para ficar disponível aos usuários de destino. Para maiores informações sobre os conceitos pertinentes ao caso de uso, vide o [[desenvolvimento:especificacoes:sipac:protocolo:negocio|Documento de Negócio - Protocolo]]. ===== Descrição do Caso de Uso ===== Todos os servidores ativos da instituição podem utilizar essa funcionalidade através do Portal Administrativo, escolhendo a opção "Memorandos Eletrônicos", ou pelo caminho: //SIPAC -> Protocolo -> Memorandos -> Consultas -> Listar Pendentes de Recebimento// (aqueles que têm acesso ao módulo Protocolo). O caso de uso inicia exibindo uma consulta por memorandos ainda não lidos através dos seguintes filtros ([[#principais_regras_de_negócio|RN01]]) : * **Número/Ano**: Formato: 9999999999/AAAA. Tipo: NUMÉRICO e DATA. * **Identificador**: Formato: 999999. Tipo: NUMÉRICO. * **Unidade de Origem**: Formato - UNIDADE (CÓDIGO DA UNIDADE) , Tipo - TEXTO. * **Unidade de Destino**: Formato - UNIDADE (CÓDIGO DA UNIDADE) , Tipo - TEXTO. * **Tipo**: Tipo TEXTO. São exibidas as opções de: Todos, Memorando Eletrônico ou Memorando Circular. * **Todos**: opção utilizada caso o usuário deseje que todos os memorandos sejam exibidos na listagem. Também é exibida uma listagem contendo os memorandos a receber, com as seguintes informações: * **Documento**: Formato: 999999999/AAAA - UFRN. Tipo: NUMÉRICO. * **Identificador**: Formato: AAAA99999. Tipo: ALFANUMÉRICO. * **Data de cadastro**: Formato DD/MM/AAAA. Tipo: DATA. * **Assunto**: Tipo: TEXTO. Além dessas informações, para cada memorando são exibidas as seguintes opções: * **Marcar para acompanhamento** * Ao selecionar esta opção, o memorando eletrônico, mesmo que tenha sido lido pelo usuário, permanece na lista de memorandos a receber, para o seu acompanhamento. O memorando é sinalizado quando está marcado para acompanhamento na cor VERMELHA. * //[[visualizar_memorando| Visualizar Memorando]]// * Ao ser selecionada, essa opção permite a leitura do memorando pelo usuário. A leitura do memorando caracteriza seu recebimento ([[#principais_regras_de_negócio|RN02]]). * //[[memorando_detalhado| Memorando Detalhado]]// * Ao ser selecionada, são disponibilizadas informações detalhadas acerca desse documento. * //[[visualizar_leituras|Visualizar Leituras]]// * Ao ser selecionada, é exibida uma lista com todos os usuários que leram um determinado memorando. * //[[a_receber_responder_memorando| Responder Memorando ]]// * Ao receber um Memorando Eletrônico poderá ser cadastrada uma resposta, esta resposta será um novo memorando que terá como destino o servidor responsável por ser o autenticador principal do memorando inicial. * //[[desenvolvimento:especificacoes:sipac:protocolo:casos_de_uso:memorandos:movimentacao:encaminhar_memorando:encaminhar_memorando| Encaminhar Memorando]]// * O encaminhamento consiste em gerar uma movimentação desse memorando, que pode ser interna à unidade do usuário ou para outra unidade. ===== Principais Regras de Negócio ===== * **RN01** - Apenas memorandos com a situação ENVIADO serão exibidos para os seus destinatários, que ainda não os leram. * **RN02** - O primeiro usuário a ler o Memorando Eletrônico estará registrando o recebimento da movimentação automaticamente. * **RN03** - O usuário só poderá encaminhar memorandos caso ele seja um servidor responsável da unidade ou tenha permissão, não expirada, de acesso a memorandos eletrônicos nela. * **RN04** - Ao ler um memorando pela primeira vez e este esteja marcado para confirmação de leituras ao remetente, um e-mail é enviado ao remetente informando dessa leitura. * **RN05** - Os memorandos enviados para unidades poderão ser lidos apenas pelas pessoas com designação de chefia ou secretários. Se qualquer pessoa da unidade tiver permissão de leitura, ela também poderá visualizar os memorandos. * **RN06** - Caso o memorando seja um encaminhamento para algum funcionário da unidade, será exibido independente da designação ou permissão de leitura. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sipac.protocolo.dominio.LeituraDocumento | administrativo.protocolo.leitura_documento | | br.ufrn.sipac.protocolo.dominio.Documento | administrativo.protocolo.documento | | br.ufrn.sipac.protocolo.dominio.MovimentoDocumento | administrativo.protocolo.movimento_documento | | br.ufrn.sipac.protocolo.dominio.TipoDocumentoProtocolo | administrativo.protocolo.tipoDocumento | | br.ufrn.sipac.protocolo.dominio.Despacho | administrativo.protocolo.despacho | | br.ufrn.sipac.protocolo.dominio.AutenticadorDocumento | administrativo.protocolo.autenticador_documento | ====== Plano de Teste ====== Sistema: SIPAC Módulo: Protocolo Link(s): Protocolo -> Memorandos -> Consultas -> Listar Pendentes de Recebimento Usuário: marcilia, jbb, paulinho. Papel que usuário deve ter: Não há checagem de papel. ===== Cenários de Teste ===== - Ao enviar um [[desenvolvimento:especificacoes:sipac:protocolo:casos_de_uso:memorandos:cadastro:cadastrar_memorando|Memorando Eletrônico]] para um determinado servidor: - Verificar se o memorando aparecerá como pendente de recebimento para este servidor. - Verificar se o memorando não aparecerá como pendente de recebimento para outros servidores da mesma unidade. - Ao enviar um [[desenvolvimento:especificacoes:sipac:protocolo:casos_de_uso:memorandos:cadastro:cadastrar_memorando|Memorando Eletrônico]] para uma determinada unidade: - Verificar se o memorando aparecerá como pendente de recebimento apenas para os servidores com o nível de acesso selecionado ou para os usuários que tenham a permissão de leituras de memorandos na unidade. - Verificar se os outros servidores, com outros níveis de acesso, e os demais usuários não terão acesso a este memorando. - Ao enviar um [[desenvolvimento:especificacoes:sipac:protocolo:casos_de_uso:memorandos:cadastro:cadastrar_memorando_circular|memorando circular]]: - Verificar se o memorando aparecerá como pendente de recebimento apenas para apenas os servidores ou usuários que fazem parte dos Grupos de Destinatários selecionados. - Verificar se outros servidores e usuários não terão acesso a este memorando. ===== Dados para o Teste ===== Qualquer servidor ativo da instituição pode ser usado na visualização de memorandos a receber. Para O **RN02**, temos: * O recebimento é feito automático caso o memorando seja destinado ao usuário ou a uma unidade a qual ele é responsável atualmente, considerando o nível de responsabilidade da Unidade (Chefia, vice-chefia, gerente e secretaria). Para sabermos estas unidades, usamos a consulta abaixo: SELECT U.ID_UNIDADE, U.NOME, U.CATEGORIA, U.TIPO FROM COMUM.RESPONSAVEL_UNIDADE RU INNER JOIN COMUM.UNIDADE U ON U.ID_UNIDADE = RU.ID_UNIDADE INNER JOIN COMUM.USUARIO US ON US.ID_SERVIDOR = RU.ID_SERVIDOR WHERE US.LOGIN = '' AND RU.DATA_INICIO <= CURRENT_DATE AND (RU.DATA_FIM IS NULL OR RU.DATA_FIM >= CURRENT_DATE) AND RU.ID_REGISTRO_ENTRADA_EXCLUSAO IS NULL AND RU.NIVEL_RESPONSABILIDADE IN ( 'C','V','G','S' ); **Observação**: Executar no banco de sistemas comum, pois há diferença com o administrativo para a tabela COMUM.RESPONSAVEL_UNIDADE O valor exibido no contador de memorandos pendentes de recebimento é guardado na tabela //protocolo.quantidade_memorandos_a_receber//, a consulta abaixo pode auxiliar a verificação desse número: SELECT qm.id, p.nome, u.login, qm.quantidade_memorando_eletronico, qm.quantidade_memorando_circular, qm.quantidade_memorando_eletronico + qm.quantidade_memorando_circular AS qtd_total_memorandos_a_receber FROM protocolo.quantidade_memorandos_a_receber qm JOIN comum.usuario u USING (id_usuario) JOIN comum.pessoa p USING (id_pessoa)