[Contrato] Validar compra ao cadastrar contrato de entidade Sisg
Como usuário com perfil com permissão para cadastrar contratos,
Quero cadastrar um contrato sem precisar vinculá-lo uma uma minuta de empenho, desde que haja uma compra associada,
Para que só seja possível salvar uma contrato de uma Unidade se ela for a UASG da compra, sub-rogada ou beneficiária.
Origem Trello - Card #223 (closed)
Critérios de Aceitação
1 - Onde alterar:
Na alteração do Instrumento Inicial do Contrato
- Na tela Gestão Contratual > Contratos > Botão [+Adicionar Contrato] > Aba "Dados Contrato" e;
- Na tela Gestão Contratual > Contratos > Mais (engrenagem) > Instrumento Inicial > Editar (lápis) > Aba "Dados Contrato",
Na inclusão de um contrato
- Na tela Gestão Contratual > Contratos > Botão [+Adicionar Contrato] > Aba "Características do Contrato" e;
- Na tela Gestão Contratual > Contratos > Mais (engrenagem) > Instrumento Inicial > Editar (lápis) > Aba ""Características do Contrato"",
2 - Incluir campo:
-
Incluir o campo UASG Beneficiária abaixo do campo UASG Compra.
-
Em frente ao label do novo campo, incluir o hint informativo com o seguinte texto: Esse campo deverá ser preenchido apenas quando o saldo a ser consumido pertencer a uma UASG polo ou subordinada à UASG do usuário.
3 - Para os contratos dos tipos Carta-Contrato, Contrato, Empenho e Termo de Adesão, validar a compra ao Salvar o Contrato. Para demais tipos de contratos, não é necessária validação da compra:
- os campos "Unidade da Compra", "Número da Licitação", "Modalidade da Compra Licitação" devem ser obrigatórios;
- os tipos de contrato Carta-Contrato, Contrato, Empenho e Termo de Adesão só poderão ser salvos se a consulta da compra no serviço do SIASG retornar sucesso, quando for realizada utilizando os campos informados: "Unidade da Compra", "Número da Licitação", "Modalidade da Compra Licitação" e "UASG do Usuário", acrescentando a "UASG Beneficiária", quando estiver preenchida.
- Validar se a UASG tem permissão na compra para os itens do mesmo fornecedor selecionado para o Contrato.
4 - Para compras de modalidade diferente de 3 - Concorrência e 5 - Pregão, realizar as seguintes validações:
- Quando o retorno do campo sub-rogada na API do Serviço 1 for igual a "000000", validar se a UASG do usuário é igual à UASG da Compra. Caso não seja igual, exibir erro para o usuário: "A sua UASG não tem permissão para cadastrar contrato desta compra".
- Quando o campo sub-rogada, na API do Serviço 1, for diferente de "000000", a UASG do usuário deverá ser igual à UASG sub-rogada.
- Caso a sub-rogada seja diferente da UASG do usuário, exibir erro para o usuário: "A sua UASG não tem permissão para cadastrar contrato desta compra".
5 - Para compras de modalidade igual de 3 - Concorrência e 5 - Pregão, realizar as seguintes validações:
- Quando o retorno da consulta ao serviço 1 for de compra sisrp (tipo de compra = "2"), será necessário consultar o serviço 2, enviando no campo UASGUsuario a unidade em que o usuário estiver logado.
- Quando o campo UASG Beneficiária estiver preenchido, será necessário enviar este dado no campo UASGBeneficiaria.
- O contrato só poderá ser salvo quando o serviço retornar os itens para os quais a UASG do Usuário ou UASG Beneficiária (quando preenchida) tem permissão na compra.
Observações para o desenvolvedor:
- Inserir campo uasg_beneficiaria contrato e contratohistorico
- As alterações serão feitas nas cruds de Inclusão do contrato e Instrumento inicial
- Ao realizar a consulta da compra no serviço do SIASG o campo Unidade do usuário deve ser preenchido com a unidade origem do contrato
- Fazer a validação na observer ContratoObserver
- criar funções creating para o contrato inicial e updating para o instrumento inicial
- A validação da compra será feita no ato de Salvar o Contrato pelo Serviço 1 do SIASG, verificando o campo mensagem. Quando for diferente de Sucesso, retornar erro "Compra não encontrada".
- As validações da compra necessárias para esta demanda são as mesmas já realizadas para cadastrar uma minuta de empenho do tipo Compra.
Cenários
Dado que um usuário deseje realizar o cadastramento de um contrato em Gestão Contratual > Contratos > Botão [+Adicionar Contrato],
Quando a Unidade Compra ou a UASG Beneficiária não fizerem parte da compra informada e não houver vinculação a uma minuta de Empenho,
Então o sistema deve retornar a mensagem "UASG Beneficiária não pertence à compra".
Dado que um usuário deseje realizar o cadastramento de um contrato em Gestão Contratual > Contratos > Botão [+Adicionar Contrato],
Quando a compra não for encontrada no SIASG,
Então o sistema deve retornar a mensagem "Compra não encontrada".
Dado que um usuário deseje realizar o cadastramento de um contrato em Gestão Contratual > Contratos > Botão [+Adicionar Contrato],
Quando a compra for encontrada no SIASG,
Então o sistema deve possibilitar a inclusão do contrato.
Dado que um usuário deseje realizar o cadastramento de um contrato em Gestão Contratual > Contratos > Botão [+Adicionar Contrato] E a compra for de SRP,
Quando a UASG do usuário não pertencer à compra,
Então o sistema exibir mensagem de erro ao usuário "UASG do usuário não pertence à compra".
Dado que um usuário deseje realizar o cadastramento de um contrato em Gestão Contratual > Contratos > Botão [+Adicionar Contrato] E a compra for de SRP E o campo Uasg Beneficiária estiver preenchido,
Quando a UASG do usuário beneficiária não pertencer à compra,
Então o sistema exibir mensagem de erro ao usuário "UASG beneficiária não pertence à compra".