Serviço externo padrão - Aplica Desconto Customizado Contrato Financeiro

Este serviço será responsável por aplicar um desconto nas parcelas de um contrato financeiro que já apresentam títulos gerados ou sem parcelas geradas(neste caso, é aplicado apenas no contrato), respeitando algumas regras. Podendo customizar o desconto sobrescrevendo algumas informações informações já preenchidas anteriormente no cadastro do desconto. Contudo, o cadastro do desconto não é alterado, apenas é aplicado com informações diferentes para o cenário específico indicado na requisição.

  • Caso for informado um o Pes_id de um responsável especifico o desconto somente será aplicado para aquele responsável do contrato financeiro porém, caso não informado nenhum responsável será aplicado para todos os responsáveis daquele contrato.
  • Os parâmetros (Id do contrato financeiro e Id do desconto) são obrigatórios, ou seja caso não informados terá uma validação informando um erro ao usuário.
  • Pode ser passado um data base para filtrar as parcelas. Exemplo: 12/10/22, neste casso ele irá pegar somente as parcelas que possuem o vencimento igual e superior a esta data. Caso não for informado irá pegar sempre a data atual.
  • Todo desconto incluso será vinculado aos responsáveis financeiros do contrato (tb_responsavel_desacr), caso seja solicitado para incluir um desconto que já foi aplicado as parcelas não serão alteradas.
  • Só será possível indicar “porcentagem” ou “valor” do desconto, não podendo customizar no desconto informando os dois valores, uma vez que só é pode ser aplicado um dos dois valores no desconto.


Deve-se passar no cabeçalho da requisição, o parâmetro token. O valor deste parâmetro é gerado pelo serviço de geração de token.

1. Parâmetros para chamada do serviço externo

Parâmetro Descrição Obrigatório Tipo Observação
contratoFinanceiroId Identificador do contrato
financeiro
Sim Interger Se for passado null ou informado 0,
será lançado uma exceção.
descontoId Identificador do desconto que
será incluso
Sim Interger Se for passado null ou informado 0,
será lançado uma exceção.
percentualDesconto Porcentagem de aplicação do desconto Não NUMERIC(18,2) Se não for passado não será aplicado a customização do banco, recuperando o valor indicado no cadastro do desconto com o id indicado no parâmetro anterior.
valorDesconto Valor de aplicação do desconto Não NUMERIC(18,2) Se não for passado não será aplicado a customização do banco, recuperando o valor indicado no cadastro do desconto com o id indicado no parâmetro anterior.
dataValInicialDesconto Data de validade inicial do desconto Não Date Se não for passado o valor não preenchido no cadastro da aplicação do desconto, ficando um valor vazio.
dataValFinalDesconto Data de validade final do desconto Não Date Se não for passado o valor não preenchido no cadastro da aplicação do desconto, ficando um valor vazio.
observacaoDesconto Observação do desconto Não VARCHAR(255) Se não for passado o valor não preenchido no cadastro da aplicação do desconto, ficando um valor vazio.
tipoOrdemDescAcrescDesconto Tipo de ordem de desconto Não VARCHAR(10) Quando desejar indicar esse campo na requisição, só poderá ser enviado um os seguintes valores: VALBRU (Valor bruto), RESPON (Responsável), PLANO (Plano de pagamento), FAMILIA (Família). Caso não for informado o parâmetro, seguirá a seguinte regra de escolha do tipo: se for o primeiro desconto a ser aplicado ao responsavel financeiro é atribuito VALBRU, caso contrário é atribuído RESPON.
responsavelContratoFinanceiroPesId Pes_id do responsavel financeiro Não Interger Caso informado será aplicado o desconto
somente para esse responsável do contrato
financeiro
vencimentoBase Filtro de data que será aplicado
para recuperar as parcelas
Não Date Formato: DD/MM/YYYY“ / Caso não informado
será utilizado o dia atual


2. Exemplo de chamada do serviço


URL: http://IP:PORTA/APLICACAO/rest/servicoexterno/execute/aplicaDescontoCustomContratoFin

2.1. Exemplo da passagem de parâmetros por Json:
{
    "contratoFinanceiroId": 87220,
    "descontoId": 357,
    "percentualDesconto": 15.00,
    "valorDesconto": null,
    "dataValInicialDesconto": "11/04/2023 00:00:00",
    "dataValFinalDesconto": "11/04/2023 00:00:00",
    "observacaoDesconto": "Observação de Teste",
    "tipoOrdemDescAcrescDesconto": "VALBRU",
    "responsavelContratoFinanceiroPesId": 68639,
    "vencimentoBase": "11/04/2023 18:00:00"
}


3. Retorno do serviço (Json)

Retorno de Sucesso:

{
    "valor": {
        "totalParcelasAlteradas":1,
        "logs": [
            "SUCESSO - Total de parcelas alteradas":2,
            "SUCESSO - Alteração de parcela",
            "SUCESSO - Contrato: Teste Postman",
            "SUCESSO - Parcela 1, conta financeiroa 260, do responsável 10109125 - XXXX, data de vencimento 21/10/2022:<b>alterada com sucesso.<bb>", 
            "COM ADVERTENCIAS - Geração de titulos bancários",
            "COM ADVERTENCIAS - Parcela 1, da conta financeiroa 260, do responsável 10109125 - XXXX com vencimento em 31/10/2022 foi gerado novo título bancário."
            ]
          },
          "resultado": "SUCESSO"
       }     
 


Exemplo de retorno Json para erro na regra de negócio:

{
   "valor": {
       "totalParcelasAlteradas": 0,
       "logs":[
           "Responsável financeiro 222, não possuí vínculo com o contrato financeiro 248.774, por gentileza verificar.",
           "Não foram encontradas parcelas para este contrato financeiro": 248774
           ]
       },    
}


Exemplo de retorno Json para erro de desconto não concomitante:

{
"valor": {
       "totalParcelasAlteradas": 0,
       "logs":[
           "COM ADVERTENCIAS - Alteração de parcela"\
           "COM ADVERTENCIAS - contrato: Teste Postman",
           "COM ADVERTENCIAS - Parcela número: 1 com vencimento em 31/10/2022, com valor bruto de 50,00, do responsável 10109125 - XXXX, não teve o desconto/acréscimo 589 - 13,726% (Desconto EAD COMERCIAL), proveniente do responsável aplicado.
           Motivo: Desconto não concomitante.",
           "COM ADVERTENCIAS - Parcela 1, conta financeira 260, do responsável 10109125 - XXXX, data de vencimento 31/10/2022: <b> não teve alteração. </b>",
           "FALHA - Nenhuma parcela foi alterada no processo. \r\n"
                      ]
       },    
}


Exemplo de retorno Json para erro desconto já aplicado:

{
"valor": {
       "totalParcelasAlteradas": 0,
       "logs":[
           "COM ADVERTENCIAS - Alteração de parcela"\
           "COM ADVERTENCIAS - contrato: Teste Postman",
           "COM ADVERTENCIAS - Parcela 1, conta financeira 260, do responsável 10109125 - XXXX, data de vencimento 31/10/2022: <b> não teve alteração. </b>",
           "FALHA - Nenhuma parcela foi alterada no processo. \r\n"
                      ]
       },
       "resultado": "SUCESSO"    
}


Exemplo de retorno Json para desconto aplicado em contrato sem parcelas:

{
"valor": {
       "totalParcelasAlteradas": 0,
       "logs":[
           "Não foram encontradas parcelas para este contrato financeiro: 128.390"]
       },
       "resultado": "SUCESSO"    
}
  • (edição externa)