4 MINDS

4MINDS Gestão de Conhecimento

Erro ao carregar cliente exportado entre unidades



Erro ao acessar detalhes de um cliente exportado. Ao analisar os logs, a seguinte exceção foi reportada.


More than one row with the given identifier was found: 7074, for class: br.com.mobilemind.gym.Cliente. Stacktrace follows:
org.hibernate.HibernateException: More than one row with the given identifier was found: 7074, for class: br.com.mobilemind.gym.Cliente
 at br.com.mobilemind.gym.ClienteController.gatherClienteShowModel(ClienteController.groovy:10394)
 at br.com.mobilemind.gym.ClienteController$_show_closure56.doCall(ClienteController.groovy:2283)
 at br.com.mobilemind.gym.ClienteController.withCliente(ClienteController.groovy:10352)
 at br.com.mobilemind.gym.ClienteController.show(ClienteController.groovy:2236)

Solução

Verificar se o sistemaAdministrativoControle do cliente não está relacionado a mais de um cliente. Nesse caso, o ID do sistemaAdministrativoControle era 7074. Então a seguinte SQL conseguiu identificar o problema:


SELECT * FROM `cliente_sistema_administrativo_controle` WHERE `id` = 7074

Para esse caso, retornou mais que uma relação, e isso não pode. Um registro só pode estar relacionado a um cliente. Então devemos remover a relação dos dos clientes baseado na tenant do sistemaAdministrativoControle.

Isso ocorre em clientes exportados em versões antigas do 4GYM, que por conta de um BUG não tratavam essa situação na exportação.