Tabela de conteúdos

~~ODT~~

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

Cadastrar Processo de Compra/Licitação

O caso de uso permite ao usuário cadastrar um processo de compra, o qual pode ser melhor entendido da seguinte forma: Inicialmente são feitas requisições de serviços ou materiais, por exemplo, e essas requisições ficam pendentes de atendimento; Quando atendidas, os itens dessas requisições podem ser agrupados em um processo para então ser efetuada a compra dos mesmos. Este processo é o que chamamos de Processo de Compra. O caso de uso pode ser utilizado pelos usuários responsáveis pelas compras nas unidades e centros. (RN01, RN36 e RN37)

Descrição do Caso de Uso

O caso de uso se inicia quando a opção Sipac → Compras → Compras → Processo de Compra/Licitação → Cadastrar Processo de Compra/Licitação é acessada.

Passo 1

Inicialmente, deve-se realizar a busca pelo processo:

Passo 2

Realizada a busca, é exibido a informação sobre o valor do processo: (RN19)

E solicitado que seja realizado uma busca das requisições que terão itens incluídos no processo de compra. São exibidos os seguintes filtros:

Serão listadas as intenções encontradas. Para cada intenção, serão exibidos os seguintes dados: (RN29 e 34)

Da listagem, deve-se selecionar a intenção que se deseja inserir itens ao processo de compra. Posteriormente, serão exibidos os itens do processo de compra daquela requisição selecionada. Para cada item são mostradas as seguintes informações:

Serão listadas as requisições encontradas. Para cada requisição, serão exibidos os seguintes dados: (RN30)

Da listagem, deve-se selecionar a requisição que se deseja inserir itens ao processo de compra. Posteriormente, serão exibidos os itens do processo de compra daquela requisição selecionada. Para cada item são mostradas as seguintes informações:

A medida que os itens são adicionados ao processo de compra, será possível remover todos, todos de uma determinada requisição ou ainda removê-los individualmente.

É disponibilizado, também, a opção de visualizar os itens inseridos durante o cadastro do processo de compra, conforme especificado em Visualizar itens inseridos.

Passo 2 - Serviço Pessoa Física

Passo 3

Após a inserção dos itens, são exibidos os dados gerais, informações sobre os itens inseridos e solicitado as informações sobre os dados da licitação:

Itens do Processo de Compra:

Dados da Licitação:

É disponibilizado a opção de remover os itens inseridos.

Passo 4

Neste passo, tem-se as informações gerais do processo (RN08):

Passo 5

Com a confirmação do cadastro é exibido uma tela com um resumo das informações do processo no protocolo cadastrado:

Abaixo seguem os dados complementares especificos do processo de compra cadastrado:

São disponibilizados os seguintes relatórios para consulta e impressão: Relatório de Pesquisa de Preço de Materiais Licitados, Relatório dos Licitados, Relatório das Requisições do Processo, IMPRIMIR GUIA DE MOVIMENTAÇÃO e Imprimir a Capa do Processo

O caso de uso então é finalizado.

Principais Regras de Negócio

Resoluções/Legislações Associadas

Não se Aplica.

Classes Persistentes e Tabelas Envolvidas

Classe Tabela
br.ufrn.sipac.requisicoes.material.dominio.GrupoMaterial administrativo.comum.grupo_material
br.ufrn.sipac.requisicoes.material.dominio.Material administrativo.comum.material
br.ufrn.sipac.compras.licitacao.dominio.ModalidadeLicitacao administrativo.compras.modalidade_licitacao
br.ufrn.sipac.compras.dominio.ProcessoCompra administrativo.compras.processo_compra
br.ufrn.sipac.compras.dominio.TipoProcessoCompra administrativo.compras.tipo_processo_compra
br.ufrn.sipac.compras.dominio.TipoProcessoModalidade administrativo.compras.tipo_processo_modalidade
br.ufrn.sipac.compras.dominio.TipoCompra administrativo.compras.tipo_compra
br.ufrn.sipac.requisicoes.material.dominio.ItemRequisicao administrativo.requisicoes.item_requisicao
br.ufrn.sipac.requisicoes.material.dominio.RequisicaoMaterial administrativo.requisicoes.requisicao_material

Plano de Teste

Sistema: SIPAC

Módulo: Compras

Link(s): Aba Compras → Processo de Compra/Licitação → Cadastrar Processo de Compra/Licitação

Usuário: jscm, paulinho, nnaa.

Papel que usuário deve ter: SipacPapeis.GESTOR_COMPRA.

Cenários de Teste

Não se aplica.

Dados para o Teste

SELECT us.login FROM compras.unidade_tipoprocesso tc, comum.unidade und, comum.usuario us WHERE compradora = true AND und.id_unidade = us.id_unidade AND tc.id_unidade=und.id_unidade;
    SELECT ut.id_unidade_tipoprocesso, 
         ut.id_unidade, 
         (SELECT nome FROM compras.tipo_processo_compra WHERE id_tipo_processo_compra = ut.tipo_processo) , 
         ut.id_usuario,
         ut.data_cadastro,
         und.codigo_unidade,
         und.nome
    FROM compras.unidade_tipoprocesso ut INNER JOIN comum.unidade und ON und.id_unidade = ut.id_unidade
    WHERE  und.codigo_unidade = <CÓDIGO UNIDADE>;
 SELECT um.id_modalidade, um.id_unidade, um.id_usuario, um.data_cadastro, um.id_unidade_modalidade, um.srp
    FROM compras.unidade_modalidade um INNER JOIN comum.unidade und ON und.id_unidade = um.id_unidade
	WHERE und.codigo_unidade = '<CÓDIGO UNIDADE>';
--Buscando requisições
SELECT requisicao0_.ID AS idRequisicao, requisicao0_.NUMERO AS numRequisicao, requisicao0_.ANO AS anoRequisicao, itens0_.ID_MATERIAL AS idMaterial,  m.codigo, 
(
	SELECT COUNT(this_.ID_ITEM_PROPOSTA) AS y0_ 
	FROM 
	compras.ITEM_PROPOSTA this_ 
	INNER JOIN compras.ITEM_PROCESSO_COMPRA itemproces1_ ON this_.ID_ITEM_PROCESSO=itemproces1_.ID_ITEM_PROC_COMPRA 
	INNER JOIN compras.PROCESSO_COMPRA processoco2_ ON itemproces1_.ID_PROCESSO_COMPRA=processoco2_.ID_PROC_COMPRA 
	INNER JOIN compras.ata_registro_precos ata ON processoco2_.id_ata_registro_precos = ata.id_ata_registro_precos
	INNER JOIN comum.MATERIAL material3_ ON itemproces1_.ID_MATERIAL=material3_.ID_MATERIAL 
	WHERE 
	(this_.CLASSIFICACAO=4 OR this_.CLASSIFICACAO=3) AND 
	(processoco2_.SRP=TRUE AND ((NOT processoco2_.ID_STATUS=501 AND NOT processoco2_.ID_STATUS=505) AND NOT processoco2_.ID_STATUS=506)) AND 
	ata.termino_vigencia >='INFORME_AQUI_A_DATA_ATUAL' AND itemproces1_.SRP_CANCELADO=FALSE AND material3_.ID_MATERIAL=itens0_.ID_MATERIAL
) AS bloqueia     
FROM requisicoes.REQUISICAO_MATERIAL requisicao0_ 
INNER JOIN requisicoes.ITEM_REQUISICAO itens0_ ON itens0_.ID_REQUISICAO=requisicao0_.id 
INNER JOIN comum.MATERIAL m ON itens0_.ID_MATERIAL=m.id_material 
WHERE 
1=1 AND 
requisicao0_.ID_TIPO=1 AND 
(requisicao0_.ID_REQ_ANTERIOR IS NULL) AND requisicao0_.ID_UNIDADE_CUSTO = INFORME_AQUI_O_ID_DA_UNIDADE_DE_CUSTO 
ORDER BY requisicao0_.DATA DESC
 
 
--Para obter os dados do processo de compra SRP vigente.
SELECT p.num_protocolo, p.ano, processoco2_.srp, ata.termino_vigencia 
FROM 
compras.ITEM_PROPOSTA this_ 
INNER JOIN compras.ITEM_PROCESSO_COMPRA itemproces1_ ON this_.ID_ITEM_PROCESSO=itemproces1_.ID_ITEM_PROC_COMPRA 
INNER JOIN compras.PROCESSO_COMPRA processoco2_ ON itemproces1_.ID_PROCESSO_COMPRA=processoco2_.ID_PROC_COMPRA 
LEFT JOIN protocolo.PROCESSO p ON p.ID_PROCESSO=processoco2_.ID_PROCESSO  
INNER JOIN compras.ata_registro_precos ata ON processoco2_.id_ata_registro_precos = ata.id_ata_registro_precos
INNER JOIN comum.MATERIAL material3_ ON itemproces1_.ID_MATERIAL=material3_.ID_MATERIAL 
WHERE 
(this_.CLASSIFICACAO=4 OR this_.CLASSIFICACAO=3) AND 
(processoco2_.SRP=TRUE AND ((NOT processoco2_.ID_STATUS=501 AND NOT processoco2_.ID_STATUS=505) AND NOT processoco2_.ID_STATUS=506)) AND 
ata.termino_vigencia>='INFORME_AQUI_A_DATA_ATUAL' AND itemproces1_.SRP_CANCELADO=FALSE AND material3_.ID_MATERIAL=INFORME_AQUI_O_ID_DO_MATEIRAL
 
-- Para obter requisições que podem ser utilizadas no cadastro de processos de compra.
SELECT 
 rm.numero, rm.ano 
  FROM 
 requisicoes.requisicao_material rm 
 INNER JOIN requisicoes.item_requisicao ir ON(rm.id=ir.id_requisicao) 
  WHERE 
 rm.id_tipo=1 AND 
 rm.id_req_anterior IS NULL AND 
 rm.id_status IN(103,106,109,101) AND ir.id_processo_compra IS NULL GROUP BY rm.numero, rm.ano ORDER BY rm.ano DESC, rm.numero ASC;