~~ODT~~

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

Alterar Destino da Requisição

Este caso de uso é utilizado pelos gestores de meio ambiente com a finalidade de alterar o almoxarifado ao qual se destina a requisição.

Este caso de uso inicia quando o usuário acessa SIPAC → Infa-Estrutura → Manutenção → Requisições → Requisições de Material → Alterar Destino da Requisição.

O Usuário faz a busca da requisição informando: (RN01)

  • Número/Ano:* Tipo - NUMÉRICO, Formato: 9…/AAAA.

O Usuário confirma a busca e o Sistema exibe dados da requisição e lista de materiais da requisição:

  • Número da Requisição: Tipo NUMÉRICO, formato: 9…/AAAA.
  • Tipo da Requisição: Tipo TEXTO.
  • Destino da Requisição: Tipo TEXTO.
  • Status: Tipo TEXTO.
  • Material: Tipo TEXTO.
  • Unidade de Custo: Tipo TEXTO.
  • Unidade Requisitante: Tipo TEXTO.
  • Data: Tipo DATA.
  • Valor da Requisição: Tipo NUMÉRICO.
  • Observações: Tipo TEXTO.

A lista de materiais:

  • Código: Tipo - NUMÉRICO.
  • Denominação: Tipo - TEXTO.
  • Unidade Medida: Tipo - TEXTO.
  • Quantidade: Tipo - NUMÉRICO.
  • Valor: Tipo - NUMÉRICO.
  • Total: Tipo - NUMÉRICO.
  • Quantidade Atendida: Tipo - NUMÉRICO.

O Sistema solicita o destino da requisição:

  • Almoxarifado*: Tipo - TEXTO. (RN02)

O caso de uso é finalizado.

  • RN01 - Só é possível alterar o almoxarifado de uma requisição que tenha o status de ENVIADA e que seja do tipo de MATERIAL.
  • RN02 - Se o almoxarifado da unidade do usuário for o CENTRAL, serão listados todos os almoxarifados, senão serão listados apenas os almoxarifados que podem atender a requisição de acordo com a unidade requisitante.

Resoluções/Legislações Associadas

Não se Aplica

Classe Tabela
br.ufrn.sipac.almoxarifado.comuns.dominio.Almoxarifado administrativo.almoxarifado.almoxarifado
br.ufrn.comum.dominio.PessoaGeral administrativo.comum.pessoa
br.ufrn.comum.dominio.UsuarioGeral administrativo.comum.usuario
br.ufrn.sipac.requisicoes.material.dominio.GrupoMaterial administrativo.public.grupo_material
br.ufrn.sipac.requisicoes.material.dominio.RequisicaoMaterial administrativo.requisicoes.requisicao_material
br.ufrn.sipac.requisicoes.comuns.TipoRequisicao administrativo.requisicoes.tipo_requisicao
br.ufrn.sipac.requisicoes.material.dominio.Material administrativo.comum.material

Sistema: SIPAC

Módulo: Infra-Estrutura

Link(s): Sipac → Infa-Estrutura → Manutenção → Requisições → Requisições de Material → Alterar Destino da Requisição

Usuário: gustavo, brunormm

Papel que usuário deve ter: GESTOR_MEIO_AMBIENTE

  • Verificar se o fluxo do caso de uso está funcionando corretamente e se todas as regras de negócio são respeitadas.
  • Para encontrar requisições válidas para essa busca (testar a RN01), pode-se utilizar a consulta abaixo:
  SELECT * FROM requisicoes.requisicao_material WHERE id_status = 101 AND id_tipo = 1;
  • Para testar a RN02, pode-se utilizar a consulta abaixo informando o nome da unidade exibida no sistema para o usuário logado e verificar o tipo:
  SELECT alm.tipo FROM almoxarifado.almoxarifado alm
	INNER JOIN comum.unidade un ON alm.id_unidade = un.id_unidade
		WHERE un.nome LIKE '?';
  • Se o tipo do almoxarifado for 1 (que indica que o almoxarifado é o central), então o usuário pode escolher qualquer um dos almoxarifados cadastrados no banco, para conferir a lista de todos os almoxarifados, pode-se utilizar a seguinte consulta:
  SELECT id, denominacao FROM almoxarifado.almoxarifado;
  • Já se o tipo não for 1, ou seja, o almoxarifado não é o central, então deve-se descobrir a hierarquia da unidade requisitante da requisição selecionada com a seguinte consulta informando o número e o ano da requisição:
  SELECT un.hierarquia FROM comum.unidade un
	INNER JOIN requisicoes.requisicao_material rm ON rm.id_unidade_req = un.id_unidade
		WHERE rm.numero = ? AND rm.ano = ?;
  • De posse da hierarquia da unidade requisitante da requisição selecionada, deve utilizar a consulta abaixo informado os ids das unidades da hierarquia que são separados pelos . no local do ? separando cada id do outro por vírgula para encontrar oa almoxarifados que podem atender a requisição:
  SELECT alm.id, alm.denominacao
	FROM almoxarifado.almoxarifado alm
	INNER JOIN comum.unidade un ON un.id_unidade = alm.id_unidade
		WHERE un.id_unidade IN (?) OR alm.id IN (1, 3);
  • desenvolvimento/especificacoes/sipac/infra_estrutura/casos_de_uso/manutencao/requisicoes/requisicoes_de_material/alterar_destino_da_requisicao.txt
  • Última modificação: 2017/04/03 18:20
  • (edição externa)