Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. import br.com.smc.meurumo.domain.comercio.entity.Estabelecimento
  2. import org.springframework.data.jpa.repository.Query
  3. import org.springframework.data.repository.Repository
  4. import org.springframework.data.repository.query.Param
  5.  
  6. /**
  7. * Repositório de {@link Estabelecimento}.
  8. */
  9. interface EstabelecimentoRepository extends Repository<Estabelecimento, String> {
  10.  
  11. /**
  12. * Busca a quantidade de {@link Estabelecimento} por lista de {@link br.com.smc.meurumo.domain.ibge.entity.SetorCensitario}
  13. * e lista de {@link br.com.smc.meurumo.domain.comercio.entity.Cnae}.
  14. *
  15. * @param cnae
  16. * @param listOfSectors
  17. * @return
  18. */
  19. @Query(value = """
  20. SELECT COUNT(DISTINCT E.cnpj)
  21. FROM estabelecimentos E
  22. INNER JOIN estabelecimento_setor ES ON ES.cnpj = E.cnpj
  23. INNER JOIN cnpj_cnae CC ON E.cnpj = CC.cnpj
  24. INNER JOIN cnae CN ON CC.cod_cnae = CN.cod_cnae
  25. WHERE CN.cod_cnae IN (:cnaes)
  26. AND ES.setor_censitario IN (:setoresCensitarios)
  27. """,
  28. nativeQuery = true)
  29. Integer obterContagemPorListaDeSetoresEListaDeCnaes(
  30. @Param("cnaes") List<Integer> listaDeCnaes,
  31. @Param("setoresCensitarios") List<Long> listaDeSetoresCensitarios);
  32.  
  33. /**
  34. * Busca a lista de {@link Estabelecimento} por lista de {@link br.com.smc.meurumo.domain.ibge.entity.SetorCensitario}
  35. * e lista de {@link br.com.smc.meurumo.domain.comercio.entity.Cnae}.
  36. *
  37. * @param cnae
  38. * @param listOfSectors
  39. * @return
  40. */
  41. @Query(value = """
  42. SELECT DISTINCT E
  43. FROM Estabelecimento E
  44. JOIN E.listaDeCnaes cnaes
  45. WHERE
  46. E.setorCensitario.id IN (:setoresCensitarios)
  47. AND cnaes.id IN (:cnaes)
  48. """)
  49. List<Estabelecimento> findAllBySetorCensitarioIdInAndListaDeCnaesIdIn(
  50. @Param("cnaes") List<Integer> listaDeCnaes,
  51. @Param("setoresCensitarios") List<Long> listaDeSetoresCensitarios);
  52.  
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement