AdmMono/src/com/rjconsultores/ventaboletos/service/RutaService.java

130 lines
4.4 KiB
Java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.service;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.ParadaSecuencia;
import com.rjconsultores.ventaboletos.entidad.ParadaSecuenciaCombinacaoLinha;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException;
import com.rjconsultores.ventaboletos.vo.ruta.RutaVO;
/**
*
* @author Rafius
*/
public interface RutaService {
/**
* Regresa el destino de la ruta
*
* @param ruta
* @return
*/
public Parada getDestino(Ruta ruta);
/**
* Regresa la origen de la ruta
*
* @param ruta
* @return
*/
public Parada getOrigem(Ruta ruta);
public List<Ruta> buscarPorClaseServicio(ClaseServicio claseServicio);
public List<Ruta> buscarPorClaseServicioEmpresa(ClaseServicio claseServicio, Empresa empresa);
public List<Ruta> buscar(String nomeRuta, ClaseServicio claseServicio, Boolean nomeObrigatorio);
public List<Ruta> obtenerPorEmpresa(Empresa empresa);
public List<Ruta> buscarTodosExceto(Integer... idRuta);
public List<Ruta> buscarNumRuta(String numRuta);
public void borrar(Ruta entidad) throws RegistroConDependenciaException;
/**
* Verifica se la parada informadad existe en la ruta informada
*
* @param parada
* @param ruta
* @return
*/
public boolean paradaExisteEnLaRuta(Parada parada, Ruta ruta);
/**
* Hace la actualización de la ruta.
*
* Si el parametro <code>lsParadasSequencia</code> no es null, quieres decir que hube cambio en la secuencia y la nueva secuencia es la que esta en <code>lsParadasSequencia</code>.<br/>
*
* Si el parametro <code>lsParadasSequencia</code> es null, no va a cambiar ni la secuencia ni las combinaciones<br/>
*
* @param ruta
* @param lsParadasSequencia
* @return
* @throws BusinessException
*/
public Ruta actualizacion(Ruta ruta, List<ParadaSecuencia> lsParadasSequencia) throws BusinessException;
public List<Ruta> obtenerTodos();
public Ruta obtenerID(Integer id);
public Ruta suscribir(Ruta entidad, List<ParadaSecuencia> lsParadasSequencia) throws BusinessException;
public void generarCombinacion(Ruta ruta) throws BusinessException;
public List<RutaVO> buscaRutaPorNumeroSemDadoRepetido(String palavraPesquisaRuta);
public List<Ruta> buscaRuta(String palavraPesquisaRuta);
public List<Ruta> buscaRuta(String palavraPesquisaRuta, OrgaoConcedente orgao);
public List<Ruta> buscaRutasFromOrgao(OrgaoConcedente orgao);
public List<Ruta> buscaSomenteRutasFromOrgao(OrgaoConcedente orgao);
public List<Ruta> buscarTodosEstos(Integer[] idRutas);
public List<Ruta> buscarRutasPorEmpresas(List<Empresa> lsEmp);
public Integer getNumSecuenciaOrigen(Integer rutaId, Integer origenId);
public Integer getNumSecuenciaDestino(Integer rutaId, Integer destinoId);
/**
* Método verifica na listagem de sequencias quais precisam ser geradas
* @author Eduardo Dicarte
* @param ruta Ruta Ruta
* @param lsParadasSequencia Sequencias
* @param sequenciasInformadas Novas sequencias que foram inseridas pelo usuário
* @return Retorna a coleção de sequencias que precisam ser geradas
*/
public List<ParadaSecuenciaCombinacaoLinha> verificarSeqRutaNaoGerada(Ruta ruta, List<ParadaSecuencia> lsParadasSequencia);
public List<Ruta> buscarRutasPorEmpresaOrgaoConcedente(Empresa empresa, OrgaoConcedente orgao);
public boolean cambiarParadaRuta(Ruta ruta, Parada paradaAntiga, Parada nuevaParada, String descripcionParada) throws Exception;
public Parada validaParada(String descripcionParada, Parada paradaAntiga) throws Exception;
public List<Ruta> buscaLikeComboBox(String stringConsulta);
public List<Ruta> buscarPorIds(Integer[] rutaIds);
public List<Ruta> buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje);
public List<Ruta> buscarRutasPorEmpresaOrgaoConcedenteParadaIds(Empresa empresa, OrgaoConcedente orgao, Integer[] lsParadaIds) ;
public List<Ruta> buscarPorOrgaoEcasetaPeaje(OrgaoConcedente orgao, Integer[] listCasetaPeaje, Empresa empresa);
}