/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.rjconsultores.ventaboletos.dao;

import java.util.List;

import com.rjconsultores.ventaboletos.entidad.Empleado;
import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.entidad.UsuarioEmpresa;
import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil;
import com.rjconsultores.ventaboletos.entidad.UsuarioUbicacion;
import com.rjconsultores.ventaboletos.vo.caja.UsuarioActivoVO;
import com.rjconsultores.ventaboletos.vo.embarcada.UsuarioEmbarcadaVO;

/**
 *
 * @author rodrigo
 */
public interface UsuarioDAO extends GenericDAO<Usuario, Integer> {

    public List<Usuario> buscarPeloNome(String nome);

    public Usuario buscarPeloNomeSenha(String stUsuario, String senha);

    public List<Usuario> buscarPorEmpleado(Empleado empleado);

    public List<Usuario> buscarPelaCveUsuario(String cveUsuario);
    
    public List<UsuarioActivoVO> buscarUsuariosActivo();

	public List<Usuario> buscarPeloNomeLike(String nome);
	
	public Usuario buscarPeloId(Integer usuarioId);
	
	public List<UsuarioEmpresa> buscarUsuarioEmpresaList(Integer usuarioId);
	
	public List<UsuarioPerfil> buscarUsuarioPerfilList(Integer usuarioId);
	
	public List<UsuarioUbicacion> buscarUsuarioUbicacionList(Integer usuarioId);
	
	public List<UsuarioEmbarcadaVO> buscarPorFuncionSistema(Long funcionSistemaId);

	public List<UsuarioEmbarcadaVO> buscarUsuarioPorPontoVenda(Long puntoVentaId);

	public List<UsuarioEmbarcadaVO> buscarUsuarioPorDispositivo(Long dispositivoId);

	public List<UsuarioEmbarcadaVO> buscarUsuarioEmbarcadaPorUsuariosIds(List<Long> usuariosIdList);

	public List<UsuarioEmbarcadaVO> buscaUsuariosDoPuntoVenta(Long puntoventaId);

	
	
}
