~~ODT~~
Estornar Requisição
Este caso de uso tem o objetivo de cancelar uma requisição. O estorno deverá ser utilizado quando houver algum erro ao cadastrar a requisição. Estornar a requisição implicará em seu cancelamento, além de impossibilitar o seu prosseguimento.
Envolvidos: Todos os usuários de unidades que enviam requisições e os usuários dos setores que possuem papel de executor de orçamento global.
Pre-condição: Ter sido cadastrado no sistema a requisição e o tipo de requisição.
Descrição do Caso de Uso
Este caso de uso inicia quando o usuário acessa a opção: SIPAC → Orçamento → Requisições → Requisições → Estornar Requisição.
O sistema solicita ao Gestor que informe:
- Número*: Tipo - NUMÉRICO.
- Ano*: Formato - AAAA, Tipo - NUMÉRICO.
- Tipo da Requisição*: Tipo - TEXTO. O sistema lista todos os tipos de requisição cadastrados.
Ao informar os dados da requisição e confirmar a busca (RN01, RN02), o sistema exibe as informações Gerais da Requisição:
- Requisição: Formato - NÚMERO/AAAA, Tipo - NUMÉRICO.
- Opção para visualizar os dados da requisição. Os dados podem ser visualizados através do caso de uso Buscar Requisição onde está descrito “Opção para visualizar os dados das REQUISIÇÕES”.
- Tipo da Requisição: Tipo - TEXTO.
- Unidade Solicitante: Formato - CÓDIGO-NOME DA UNIDADE SOLICITANTE, Tipo - NUMÉRICO e TEXTO
- Unidade de Custo: Formato - CÓDIGO-NOME DA UNIDADE SOLICITANTE, Tipo - NUMÉRICO e TEXTO
- Status: Tipo - TEXTO.
- Valor: Tipo - NUMÉRICO.
- Data de Cadastro: Formato - DD/MM/AAAA HH:MM, Tipo - DATA.
- Justificativa do Estorno: Tipo - TEXTO. Permite informar no máximo 300 caracteres.
Confirmando o estorno da requisição, o sistema exibe a mensagem de sucesso da requisição.
O caso de uso é finalizado.
Principais Regras de Negócio
- RN01 - Uma requisição não pode ser estornada estando com o status FINALIZADA ATENDIMENTO.
- RN02 - Uma requisição não pode ser estornada se ela não tiver sido requisitada pela sua unidade.
- RN03 - Caso o parâmetro CANCELA_PROCESSO_SE_ESTORNAR_REQUISICAO_ASSOCIADA seja verdadeiro, caso a requisição a ser estornada esteja associado a um processo de protocolo, o mesmo é cancelado, caso contrário, o processo continua ativo.
Classes Persistentes e Tabelas Envolvidas
Classe | Tabela |
---|---|
br.ufrn.sipac.requisicoes.diarias.dominio.RequisicaoDiarias | administrativo.requisicoes.requisicao_diaria |
br.ufrn.sipac.requisicoes.passagens.dominio.RequisicaoPassagem | administrativo.requisicoes.requisicao_passagem |
br.ufrn.sipac.requisicoes.servico.dominio.RequisicaoServico | administrativo.requisicoes.requisicao_servicos |
br.ufrn.sipac.requisicoes.supfundos.dominio.ReqSuprFundos | administrativo.requisicoes.req_suprimento_fundos |
br.ufrn.sipac.requisicoes.material.dominio.RequisicaoMaterial | administrativo.requisicoes.requisicao_material |
br.ufrn.sipac.requisicoes.livrocontrato.dominio.RequisicaoLivroContrato | administrativo.requisicoes.requisicao_livro_contrato |
br.ufrn.sipac.protocolo.dominio.Processo | administrativo.protocolo.processo |
Plano de Teste
Sistema: SIPAC
Módulo: Orçamento
Link(s): Requisições → Requisições → Estornar Requisição
Usuário: jbb
Papel que usuário deve ter:
- ScoPapeis.EXECUTOR_CONVENIO,
- ScoPapeis.EXECUTOR_ESPECIAL,
- ScoPapeis.EXECUTOR_ORCAMENTO,
- ScoPapeis.EXECUTOR_ORCAMENTO,
- ScoPapeis.EXECUTOR_ORCAMENTO_GLOBAL,
- ScoPapeis.GESTOR_DOTACAO_ORCAMENTARIA
Cenários de Teste
Verificar as regras de negocio
Dados para o Teste
Para alterar o parâmetro da RN03, podemos usar:
UPDATE comum.parametro SET valor = 'true' WHERE nome = 'CANCELA_PROCESSO_SE_ESTORNAR_REQUISICAO_ASSOCIADA'
Possíveis requisições associadas a um processo que poderão ser estornadas (RN03)
SELECT numero, num_processo, ano_processo FROM requisicoes.requisicao_diaria WHERE id_status NOT IN (104,106,105,490,480,470,1013) AND ano = 2011 AND num_processo IS NOT NULL AND num_processo > 0 AND ano_processo IS NOT NULL AND ano_processo > 0
Para saber se o processo está cancelado, podemos usar a seguinte consulta:
SELECT STATUS FROM protocolo.processo WHERE num_protocolo = <NÚMERO DO PROCESSO ASSOCIADO A REQUISIÇÃO> AND ano = <ANO DO PROCESSO ASSOCIADO A REQUISIÇÃO>
Onde o status cancelado tem o valor 2