~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Cadastrar/Alterar Lotes/Grupos ====== Esse caso de uso permite ao funcionário do setor de compras cadastrar ou alterar os lotes/grupos de editoras em um processo de compra e associá-los aos itens do processo. ===== Descrição do Caso de Uso ===== Este caso de uso inicia quando o usuário acessa a opção: SIPAC -> Compras/Licitação -> Aba Compras -> Processo de Compra/Licitação -> Lotes/Grupos -> Cadastrar/Alterar Lotes/Grupos. ===Passo 1=== Ao acessar o caso de uso o sistema apresenta uma consulta de processo de compras através de uma das opções de filtro a seguir: * **Nº Processo**: Tipo - NUMÉRICO. Formato - 99999.999999/9999-99 (radical.número/ano-dv). ([[#principais_regras_de_negócio|RN05]]) * **Modalidade/Número/Ano**: Tipo - NUMÉRICO e TEXTO. Formato - XX/9.../AAAA. ===Passo 2=== Após a consulta o sistema exibe os dados do processo de compra: * **__Número/Ano__**: Tipo - NUMÉRICO. Formato - 9.../AAAA. * **__Licitação__**: Tipo - TEXTO. Formato - XX 9.../AAAA - SIGLA DA UNIDADE GESTORA. * **__Assunto__**: Tipo - TEXTO. * **__Tipo__**: Tipo - TEXTO. O sistema solicita os dados do lote: ***Número***: Tipo NUMÉRICO. ***Denominação***: Tipo TEXTO. ***Editora**: Tipo TEXTO. São exibidos os lotes/grupos cadastrados com os mesmo dados apresentados acima. Para cada lote é possível associar a itens do processo de compra, alterar dados do lote ou remover lote. == Associar a Itens do Processo de Compra == O sistema exibe os dados do processo de compra: * **__Número/Ano__**: Tipo - NUMÉRICO. Formato - 9.../AAAA. * **__Licitação__**: Tipo - NUMÉRICO. Formato - XX 9.../AAAA - SIGLA DA UNIDADE GESTORA. * **__Assunto__**: Tipo - TEXTO. * **__Tipo__**: Tipo - TEXTO. E apresenta os itens com possibilidade de serem associados ao lote e os que já estão associados, com os dados: ([[#principais_regras_de_negócio|RN01, RN02]]) ***__Item do Processo de Compra__**: Tipo NUMÉRICO. ***__Quant.__**: Tipo NUMÉRICO. ([[#principais_regras_de_negócio|RN04]]) ***__Quant. Interna.__**: Tipo NUMÉRICO. ([[#principais_regras_de_negócio|RN03]]) ***__Quant. Externa.__**: Tipo NUMÉRICO. ([[#principais_regras_de_negócio|RN03]]) ***__Quant. Total__**: Tipo NUMÉRICO. ([[#principais_regras_de_negócio|RN03]]) ***__Todos__**: Tipo LÓGICO. O usuário pode associar itens ao lote ou desassociá-los (caso já estejam associados). ==Alterar Dados do Lote== O sistema apresenta o mesmo fluxo a partir do [[#passo 2|Passo 2]], porém com os dados dos lotes/grupos em formato editável. ==Remover Lote== O lote é removido da listagem. === === O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - Não é permitido cadastrar lotes/grupos para um processo que foi enviado para Licitação. * **RN02** - Somente permitir montar um lote/grupo se tiver pelo menos 2 itens associados. * **RN03** - Exibido somente quando o processo for SRP. * **RN04** - Exibido somente quando o processo não for SRP. * **RN05** - Caso o parâmetro UTILIZA_PROTOCOLO_SIPAC esteja configurado como falso, será exibido um campo único para a informação do número do processo no formato radical.número/ano-dv. Esse campo é mascarado, ou seja, não é necessário o usuário informar os "./-". Caso o parâmetro esteja configurado como verdadeiro será solicitado os valores de forma separada, sendo quatro campos: **radical** . **número** / **ano** - **dv**. As informações desse campo são exibidas também no formato radical.número/ano-dv. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela ^ | br.ufrn.sipac.compras.dominio.LoteItens | administrativo.compras.lote_itens | | br.ufrn.sipac.compras.dominio.ProcessoCompra | administrativo.compras.processo_compra | | br.ufrn.sipac.requisicoes.biblioteca.dominio.Editora | administrativo.requisicoes.editora | ====== Plano de Teste ====== Sistema: SIPAC Módulo: Compras/Licitação Link(s): Aba Compras -> Processo de Compra/Licitação -> Lotes/Grupos -> Cadastrar/Alterar Lotes/Grupos Usuários: nnaa Papel que usuário deve ter: SipacPapeis.GESTOR_COMPRA, SipacPapeis.GESTOR_IMPORTACAO, SipacPapeis.GESTOR_SERVICOS_COMPRAS, SipacPapeis.GESTOR_RELATORIOS_COMPRAS ou SipacPapeis.GESTOR_PAGAMENTO_SERVICO_PF. ===== Cenários de Teste ===== * É importante que os testes sejam realizados com as duas configurações informadas abaixo: * Configuração 01: ***UTILIZA_PROTOCOLO_SIPAC** = //true//. * Configuração 02: ***UTILIZA_PROTOCOLO_SIPAC** = //false//. * Inserir um lote/grupo para um processo no setor de compras. * O sistema deve permitir. * Inserir um lote/grupo para um processo que foi enviado para licitação. * O sistema deve criticar. * Inserir apenas um item no lote/grupo. * O sistema deve critiar. * Inserir dois ou mias itens no lote/grupo. * O sistema deve permitir. ===== Dados para o Teste ===== * Para obter processo de compras antes da licitação acessar o caso de uso de [[desenvolvimento:especificacoes:sipac:compras_licitacao:casos_de_uso:consultas:consultas:processo_de_compra_licitacao:processo_antes_da_licitacao| Consulta de Processo Antes da Licitação]]. * Para obter um processo de compra deve-se [[desenvolvimento:especificacoes:sipac:compras:casos_de_uso:compras:processo_de_compra_licitacao::cadastrar_processo_de_compra_licitacao| cadastrar um processo de compra]]. * Para enviar o processo de compra para licitação deve-se alterar um processo de compra no caso de uso de [[desenvolvimento:especificacoes:sipac:compras:casos_de_uso:compras:processo_de_compra_licitacao::modificar_processo_de_compra_receitas| Modificar Processo de Compra]] * Para buscar por processos de compras antes da licitação pode-se usar a seguinte SQL: SELECT p.radical, p.num_protocolo, p.ano, p.dv, pc.num_protocolo FROM compras.processo_compra pc left join protocolo.processo p on p.id_processo=pc.id_processo where id_status=501 --and srp=true; * Para buscar por processos de compras depois da licitação pode-se usar a seguinte SQL: SELECT p.radical, p.num_protocolo, p.ano, p.dv, pc.num_protocolo FROM compras.processo_compra pc left join protocolo.processo p on p.id_processo=pc.id_processo where id_status=502 --and srp=true;