Listar por usuário logado

14/01/2019

15

Tenho um sistema de abertura de chamados e estou tendo dificuldades para listar os chamados de acordo com o usuário logado.
No meu ChamadoController criei um método para listar por usuário logado. Coloquei um System.out.println(chamados) para ver se o array estava sendo retornado de acordo com a pesquisa e, realmente, aparece apenas os ids dos chamados referentes ao usuário logado no sistema, mas na minha jsp aparece todos os chamados cadastrados e não apenas os relacionados ao usário logado.
ChamadoController:
 @RequestMapping(value = "/list", method = RequestMethod.GET)
	public ModelAndView listaChamados(ArrayList<Chamado> chamados, @AuthenticationPrincipal() UsuarioLogado logado) {
		ModelAndView view = new ModelAndView("chamado/list");
		ModelMap model = new ModelMap();
		 chamados = chamadoService.findByUsarioId(logado.getId()); 
		System.out.println("-------------------" + chamados + "------------------------------");
		Page<Chamado> page = chamadoService.findByPagination(0, 5);
		model.addAttribute("page", page);
		model.addAttribute("urlPagination", "/chamado/page");
		model.addAttribute("chamados",chamados);
		return new ModelAndView("chamado/list", model);
	}

ChamadoRepository:
 
public interface ChamadoRepository extends JpaRepository<Chamado, Long> {
	Page<Chamado> findAllByOrderByNomeAsc(Pageable pageable);
	
	List<Atividade> findAllByOrderByNomeAsc(Atividade atividade);
	List<Nivel> findAllByOrderByNomeAsc(Nivel nivel);
	List<Setor> findAllByOrderByNomeAsc(Setor setor);
	List<Frente> findAllByOrderByNomeAsc(Frente frente);
	Autor findByNome(String nome);
	
	@Query("select c from Chamado c where c.usuario.id = ?1")
	ArrayList<Chamado> findByUsuarioId(Long id);
}


ChamadoService:
 
	public ArrayList<Chamado> findByUsarioId(Long id) {
		return repository.findByUsuarioId(id);
	}

Desde já agradeço a ajuda.
Responder

Posts

14/01/2019

Eduardo

Removi o código referente a paginação e funcionou perfeitamente.
Como faria para manter a paginação?

@RequestMapping(value = "/list", method = RequestMethod.GET)
	public ModelAndView listChamados(@AuthenticationPrincipal() UsuarioLogado logado, ModelMap model) {
			
		List<Chamado> chamados = chamadoService.findByUsarioId(logado.getId());		
		model.addAttribute("chamados", chamados);
		
		
		
		return new ModelAndView("chamado/list", model);
	}
Responder