package com.rjconsultores.ventaboletos.service;

import java.util.Date;
import java.util.List;

import com.rjconsultores.ventaboletos.entidad.AbastoHisto;
import com.rjconsultores.ventaboletos.entidad.Aidf;
import com.rjconsultores.ventaboletos.entidad.Estacion;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.TipoMovimentacion;

public interface MovimentacionBilhetesService {

	public List<AbastoHisto> obtenerHistoricoMovimetacion(String numBilhete);
	public List<AbastoHisto> obtenerHistoricoMovimetacion(Aidf aidf);
	public List<AbastoHisto> obtenerHistoricoMovimetacion(Aidf aidf, Date fecInicial, Date fecFinal);
	public List<TipoMovimentacion> obtenerTiposMovimetacion();
	
	
	public void realizaAdquisicionBilhetes(Aidf aidf);
	public void realizaMovimentacionBilhetes(Aidf aidf, PuntoVenta origem, PuntoVenta destino, TipoMovimentacion tipoMovimentacion);
	public void realizaMovimentacionBilhetes(Aidf aidf, PuntoVenta origem, PuntoVenta destino, Long cantidad, TipoMovimentacion tipoMovimentacion);	
	public void realizaMovimentacionBilhetes(Aidf aidf, PuntoVenta origem, PuntoVenta destino, String formInicial, String formFinal, TipoMovimentacion tipoMovimentacion);
	
	public PuntoVenta buscarAgSuprimento();
	public PuntoVenta buscarAgContabilidade();
	
	public List<TipoMovimentacion> obtenerTiposMovimetacionPuntoVenta();
	public void realizaMovimentacionBilhetes(PuntoVenta puntoVentaBilhetes, Estacion origem, Estacion destino, String numSerie, String formInicial, String formFinal, TipoMovimentacion tipoMovimentacion);
	
	public List<String> buscarSeriesBilhetesPorEstacion(Estacion estacion);
	public String validarEstoqueUtilizado(Aidf aidf, String folioInicial, String folioFinal);
	
}
