/*
 * 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.Estacion;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Usuario;

/**
 * 
 * @author Administrador
 */
public interface EstacionDAO extends GenericDAO<Estacion, Integer> {

	public List<Estacion> buscar(String descEstacion, String descMac,
			Long nunCaja, PuntoVenta pv);

	public List<Estacion> buscar(String descMac);

	public Estacion buscarPorIMEI(String imei);
	
	/**
	 * Hace la busqueda de las estciones ativas por el numCaja y puntoVenta
	 * 
	 * @param numCaja
	 * @param puntoVenta
	 * @return
	 */
	public List<Estacion> buscar(Long numCaja, PuntoVenta puntoVenta);

	public List<Estacion> buscarEstaciones(PuntoVenta puntoVenta);
	
	public List<Estacion> buscarEstaciones(List<PuntoVenta> lsPuntoVenta);

	public List<PuntoVenta> buscarPuntosVentaEstacionPorUsuario(Usuario usuario);
	
	public Boolean temEstoque(PuntoVenta puntoVenta, Estacion estacion);
	
	public List<Estacion> buscarEstacionesStockCentral(PuntoVenta puntoVenta);
	
	/**
	 * Retorna a estação duplicada pelo MAC
	 * @param descMac
	 * @param estacionId
	 * @return
	 */
	public Estacion buscarEstacionDuplicadaPorMAC(String descMac, Integer estacionId);
	
	public Estacion buscarEstacionDuplicadaPorIMEI(String imei, Integer estacionId);
}
