Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Criar uma exceção, para solucionar o problema de múltiplas entidades.

Está acontecendo um erro pelo motivo do Cliente tentar cadastrar uma nova conta a partir do CNPJ em uma filial diferente de onde ele já possuí conta, informando um Representante Legal já existente em uma conta. Alguma dica?

Está dando erro de multiplas entidades encontradas a partir do mesmo ID

*Preciso criar um filtro para que se vier duas entidades, anule uma, para não dar erro. *

**integracaoCliente.representantes.stream().filter { }**
def clienteIntegracaoCAD = getClienteIntegracaoJDOrThrow(ClienteDadosCadastro)
def integracaoClienteIf = toIntegracaoClienteIf.convert(clienteIntegracaoCAD)
        integracaoClienteIf.representantes.stream().filter {null}
        integracaoCliente.representantes.stream().filter { }
        enviarParaBD(integracaoClienteIf)
1 resposta
solução!

Olá Ricardo,

Pelo que entendi, o erro ocorre quando um cliente tenta cadastrar uma nova conta em uma filial diferente da que ele já possui conta, informando um Representante Legal já existente em uma conta. Para resolver esse problema, você pode criar uma exceção personalizada que será lançada quando houver múltiplas entidades encontradas a partir do mesmo ID.

Para criar essa exceção, você pode utilizar a classe RuntimeException e personalizá-la de acordo com o seu problema. Por exemplo:

class MultiplasEntidadesException extends RuntimeException {
    public MultiplasEntidadesException(String message) {
        super(message);
    }
}

Depois, você pode utilizar essa exceção no seu código, fazendo o filtro das entidades e lançando a exceção quando houver mais de uma entidade encontrada. Por exemplo:

def representanteLegal = integracaoClienteIf.representantes.find { it.id == representanteLegalId }
if (representanteLegal == null) {
    throw new EntidadeNaoEncontradaException("Representante Legal não encontrado")
} else if (integracaoClienteIf.representantes.count { it.id == representanteLegalId } > 1) {
    throw new MultiplasEntidadesException("Mais de uma entidade encontrada com o mesmo ID")
} else {
    // Código para cadastrar a nova conta
}

Espero ter ajudado e bons estudos!