fixes bug #7459
Merge com Branch mantis7459 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@58622 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
c8b5b5b3cb
commit
422acd9b64
|
@ -0,0 +1,39 @@
|
|||
package com.rjconsultores.ventaboletos.entidad;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Eduardo Classe responsável pela geração das linhas automaticamente identificando origem e destino
|
||||
*/
|
||||
public class ParadaSecuenciaCombinacaoLinha {
|
||||
|
||||
private ParadaSecuencia origem;
|
||||
private List<ParadaSecuencia> destinos;
|
||||
private Via via;
|
||||
|
||||
|
||||
public ParadaSecuencia getOrigem() {
|
||||
return origem;
|
||||
}
|
||||
|
||||
public void setOrigem(ParadaSecuencia origem) {
|
||||
this.origem = origem;
|
||||
}
|
||||
|
||||
public List<ParadaSecuencia> getDestinos() {
|
||||
return destinos;
|
||||
}
|
||||
|
||||
public void setDestinos(List<ParadaSecuencia> destinos) {
|
||||
this.destinos = destinos;
|
||||
}
|
||||
|
||||
public Via getVia() {
|
||||
return via;
|
||||
}
|
||||
|
||||
public void setVia(Via via) {
|
||||
this.via = via;
|
||||
}
|
||||
}
|
|
@ -9,6 +9,7 @@ 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;
|
||||
|
@ -93,4 +94,14 @@ public interface RutaService {
|
|||
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);
|
||||
|
||||
}
|
||||
|
|
|
@ -42,4 +42,19 @@ public interface TramoRutaService {
|
|||
* @return
|
||||
*/
|
||||
public RutaTramoVO generarRutaRegreso(RutaTramoVO rutaTramoVO);
|
||||
|
||||
/**
|
||||
* Gera combinação na tela de Rutas
|
||||
* @param rutaTramoVO
|
||||
* @return
|
||||
*/
|
||||
public List<SecuenciaRutaTramoCoeficienteVO> generarCombinacionTrechoRuta(RutaTramoVO rutaTramoVO);
|
||||
|
||||
/**
|
||||
* Gera tramos para uma ruta existente
|
||||
* @param rutaTramoVO
|
||||
* @param ruta Ruta para qual serão criados os tramos
|
||||
* @throws BusinessException
|
||||
*/
|
||||
public void generarTramosRutaExistente(RutaTramoVO rutaTramoVO, Ruta ruta) throws BusinessException;
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
|
|||
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.entidad.RutaCombinacion;
|
||||
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
|
||||
|
@ -363,4 +364,45 @@ public class RutaServiceImpl implements RutaService {
|
|||
public Integer getNumSecuenciaDestino(Integer rutaId, Integer destinoId){
|
||||
return obtenerID(rutaId).numSecuenciaDestino(destinoId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ParadaSecuenciaCombinacaoLinha> verificarSeqRutaNaoGerada(Ruta ruta, List<ParadaSecuencia> lsParadasSecuencia) {
|
||||
|
||||
List<ParadaSecuenciaCombinacaoLinha> sequencias = null;
|
||||
|
||||
if (lsParadasSecuencia != null) {
|
||||
ClaseServicio claseServicio = ruta.getClaseServicio();
|
||||
sequencias = new ArrayList<ParadaSecuenciaCombinacaoLinha>();
|
||||
|
||||
for (ParadaSecuencia sequenciaInformada : lsParadasSecuencia) {
|
||||
|
||||
Parada origem = sequenciaInformada.getParada();
|
||||
Via via = sequenciaInformada.getVia();
|
||||
|
||||
ParadaSecuenciaCombinacaoLinha paradaSecuenciaCombinacaoLinha = new ParadaSecuenciaCombinacaoLinha();
|
||||
paradaSecuenciaCombinacaoLinha.setOrigem(sequenciaInformada);
|
||||
paradaSecuenciaCombinacaoLinha.setVia(via);
|
||||
paradaSecuenciaCombinacaoLinha.setDestinos(new ArrayList<ParadaSecuencia>());
|
||||
|
||||
for (ParadaSecuencia sequenciaExistente : lsParadasSecuencia) {
|
||||
if (sequenciaInformada.getParada().getParadaId() == sequenciaExistente.getParada().getParadaId()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Parada destino = sequenciaExistente.getParada();
|
||||
Tramo tramo = tramoService.obtenerTramoUnicoRuta(origem, destino, via, claseServicio);
|
||||
|
||||
if (tramo == null) {
|
||||
paradaSecuenciaCombinacaoLinha.getDestinos().add(sequenciaExistente);
|
||||
}
|
||||
}
|
||||
|
||||
if (!paradaSecuenciaCombinacaoLinha.getDestinos().isEmpty()) {
|
||||
sequencias.add(paradaSecuenciaCombinacaoLinha);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return sequencias;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,8 @@ import org.apache.log4j.Logger;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.zkoss.util.resource.Labels;
|
||||
import org.zkoss.zhtml.Messagebox;
|
||||
|
||||
import com.rjconsultores.ventaboletos.dao.OrgaoTramoDAO;
|
||||
import com.rjconsultores.ventaboletos.dao.RutaDAO;
|
||||
|
@ -21,6 +23,8 @@ import com.rjconsultores.ventaboletos.entidad.Empresa;
|
|||
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
|
||||
import com.rjconsultores.ventaboletos.entidad.OrgaoTramo;
|
||||
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.entidad.RutaCombinacion;
|
||||
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
|
||||
|
@ -288,6 +292,8 @@ public class TramoRutaServiceImpl implements TramoRutaService {
|
|||
@Override
|
||||
public List<SecuenciaRutaTramoCoeficienteVO> generarCombinacion(RutaTramoVO rutaTramoVO) {
|
||||
// una nueva lista que va a ser ordenada. Con eso, no afecta la lista original
|
||||
|
||||
rutaTramoVO.getLsCombinacionRutaTramoVO();
|
||||
List<SecuenciaRutaTramoVO> lsSecuenciaRutaTramoVO = new ArrayList<SecuenciaRutaTramoVO>(rutaTramoVO.getLsSecuenciaRutaTramoVO());
|
||||
List<SecuenciaRutaTramoCoeficienteVO> lsSecuenciaCombinacionRutaTramoVO = new ArrayList<SecuenciaRutaTramoCoeficienteVO>();
|
||||
|
||||
|
@ -388,6 +394,37 @@ public class TramoRutaServiceImpl implements TramoRutaService {
|
|||
|
||||
return lsSecuenciaCombinacionRutaTramoVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SecuenciaRutaTramoCoeficienteVO> generarCombinacionTrechoRuta(RutaTramoVO rutaTramoVO) {
|
||||
// una nueva lista que va a ser ordenada. Con eso, no afecta la lista original
|
||||
|
||||
List<SecuenciaRutaTramoCoeficienteVO> lsSecuenciaCombinacionRutaTramoVO = new ArrayList<SecuenciaRutaTramoCoeficienteVO>();
|
||||
|
||||
for (ParadaSecuenciaCombinacaoLinha secuencia: rutaTramoVO.getLsParadaSecuenciaCombinacaoLinhas()){
|
||||
Parada origem = secuencia.getOrigem().getParada();
|
||||
Via via = secuencia.getVia();
|
||||
BigDecimal kmReal = new BigDecimal(secuencia.getOrigem().getKmReal() != null && !secuencia.getOrigem().getKmReal().isEmpty() ? secuencia.getOrigem().getKmReal() : "0");
|
||||
|
||||
for (ParadaSecuencia secuenciaDestino: secuencia.getDestinos()){
|
||||
|
||||
Parada destino = secuenciaDestino.getParada();
|
||||
|
||||
SecuenciaRutaTramoCoeficienteVO nuevaSecuencia = new SecuenciaRutaTramoCoeficienteVO(origem, destino, via,
|
||||
secuencia.getOrigem().getSecuencia().intValue(), kmReal, new HoraSistema(), rutaTramoVO.getNumRuta());
|
||||
|
||||
if (nuevaSecuencia.getKmCoeficiente1() == null) {
|
||||
nuevaSecuencia.setKmCoeficiente1(nuevaSecuencia.getKmReal());
|
||||
}
|
||||
|
||||
nuevaSecuencia.setNumRuta(rutaTramoVO.getNumRuta());
|
||||
|
||||
lsSecuenciaCombinacionRutaTramoVO.add(nuevaSecuencia);
|
||||
}
|
||||
}
|
||||
|
||||
return lsSecuenciaCombinacionRutaTramoVO;
|
||||
}
|
||||
|
||||
/**
|
||||
* Genera los datos de tramo, tramo tiempo e coeficiente tarifa sino existen los datos
|
||||
|
@ -448,4 +485,86 @@ public class TramoRutaServiceImpl implements TramoRutaService {
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = BusinessException.class)
|
||||
@Override
|
||||
public void generarTramosRutaExistente(RutaTramoVO rutaTramoVO, Ruta ruta) throws BusinessException {
|
||||
|
||||
this.validarGenerarTramosRutas(rutaTramoVO);
|
||||
|
||||
// Genero los tramos y tramos servicios de la combinacion que no existen
|
||||
// Aqui si genera tambien los tramos de la secuencia
|
||||
for (SecuenciaRutaTramoCoeficienteVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) {
|
||||
log.debug("Origen:" + s.getOrigen() + ";Destino:" + s.getDestino() + ";Via:" + s.getVia());
|
||||
boolean fueGenerado = generarDatos(s, rutaTramoVO.getClaseServicio(), rutaTramoVO.getOrgaoConcedente());
|
||||
log.debug("Fue Generado:" + fueGenerado);
|
||||
}
|
||||
|
||||
/*// Genero la ruta
|
||||
Ruta ruta = new Ruta();
|
||||
ruta.setDescruta(rutaTramoVO.getDescRuta());
|
||||
ruta.setRutaId(rutaTr);
|
||||
ruta.setClaseServicio(rutaTramoVO.getClaseServicio());
|
||||
ruta.setOrgaoConcedente(rutaTramoVO.getOrgaoConcedente());
|
||||
ruta.setIndNombreObligatorio(rutaTramoVO.getSolicitaNombrePasajero());
|
||||
ruta.setIndSentidoIda(rutaTramoVO.getIndSentidoIda());
|
||||
if (rutaTramoVO.getVentaHandHeld() == null) {
|
||||
ruta.setVentaOffLine(false);
|
||||
} else {
|
||||
ruta.setVentaOffLine(rutaTramoVO.getVentaHandHeld());
|
||||
}
|
||||
|
||||
ruta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||
ruta.setActivo(Boolean.TRUE);
|
||||
ruta.setFecmodif(new java.util.Date());
|
||||
ruta.setPrefixo(rutaTramoVO.getPrefixo());
|
||||
ruta.setNumRuta(rutaTramoVO.getNumRuta());
|
||||
//valores de tributação para ecf
|
||||
ruta.setIndTribPedagio(Boolean.FALSE);
|
||||
ruta.setIndTribTarifa(Boolean.TRUE);
|
||||
ruta.setIndTribTaxaEmbarque(Boolean.FALSE);
|
||||
|
||||
ruta = rutaDAO.suscribir(ruta);*/
|
||||
|
||||
// Genero la secuencia de la ruta
|
||||
for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsSecuenciaRutaTramoVO()) {
|
||||
RutaSecuencia rutaSecuencia = new RutaSecuencia();
|
||||
rutaSecuencia.setNumsecuencia(s.getSecuencia().shortValue());
|
||||
rutaSecuencia.setTramo(tramoService.obtenerTramotPorOrigemDestinoVia(s.getOrigen(), s.getDestino(), s.getVia()));
|
||||
rutaSecuencia.setRuta(ruta);
|
||||
rutaSecuencia = rutaSecuenciaService.suscribir(rutaSecuencia);
|
||||
|
||||
if (rutaSecuencia.getRutasecuenciaId() == null){
|
||||
throw new BusinessException(Labels.getLabel("gerarCombinacionTramoRutaController.MSG.error.rutaSecuencia"));
|
||||
}
|
||||
}
|
||||
|
||||
for (SecuenciaRutaTramoCoeficienteVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) {
|
||||
RutaCombinacion rutaCombinacion = new RutaCombinacion();
|
||||
rutaCombinacion.setIndventa(s.getPermiteVenda() == null ? true : s.getPermiteVenda());
|
||||
rutaCombinacion.setRuta(ruta);
|
||||
rutaCombinacion.setTramo(tramoService.obtenerTramotPorOrigemDestinoVia(s.getOrigen(), s.getDestino(), s.getVia()));
|
||||
|
||||
rutaCombinacion = rutaCombinacionService.suscribir(rutaCombinacion);
|
||||
|
||||
if (rutaCombinacion.getRutacombinacionId() == null){
|
||||
throw new BusinessException(Labels.getLabel("gerarCombinacionTramoRutaController.MSG.error.rutaCombinacion"));
|
||||
}
|
||||
}
|
||||
|
||||
for (Empresa e : rutaTramoVO.getLsEmpresa()) {
|
||||
RutaEmpresa rutaEmpresa = new RutaEmpresa();
|
||||
rutaEmpresa.setEmpresa(e);
|
||||
rutaEmpresa.setActivo(Boolean.TRUE);
|
||||
rutaEmpresa.setFecmodif(Calendar.getInstance().getTime());
|
||||
rutaEmpresa.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||
rutaEmpresa.setRuta(ruta);
|
||||
|
||||
rutaEmpresa = rutaEmpresaService.suscribir(rutaEmpresa);
|
||||
|
||||
if (rutaEmpresa.getRutaEmpresaId() == null){
|
||||
throw new BusinessException(Labels.getLabel("gerarCombinacionTramoRutaController.MSG.error.rutaEmpresa"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
|
|||
import com.rjconsultores.ventaboletos.entidad.CoeficienteTarifa;
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
|
||||
import com.rjconsultores.ventaboletos.entidad.ParadaSecuenciaCombinacaoLinha;
|
||||
|
||||
public class RutaTramoVO {
|
||||
|
||||
|
@ -24,6 +25,7 @@ public class RutaTramoVO {
|
|||
private String descRuta;
|
||||
private Boolean indSentidoIda;
|
||||
private String numRuta;
|
||||
private List<ParadaSecuenciaCombinacaoLinha> lsParadaSecuenciaCombinacaoLinhas;
|
||||
|
||||
public RutaTramoVO() {
|
||||
lsSecuenciaRutaTramoVO = new ArrayList<SecuenciaRutaTramoVO>();
|
||||
|
@ -145,6 +147,12 @@ public class RutaTramoVO {
|
|||
public void setCoeficienteDefaul2(CoeficienteTarifa coeficienteDefaul2) {
|
||||
this.coeficienteDefaul2 = coeficienteDefaul2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public List<ParadaSecuenciaCombinacaoLinha> getLsParadaSecuenciaCombinacaoLinhas() {
|
||||
return lsParadaSecuenciaCombinacaoLinhas;
|
||||
}
|
||||
|
||||
public void setLsParadaSecuenciaCombinacaoLinhas(List<ParadaSecuenciaCombinacaoLinha> lsParadaSecuenciaCombinacaoLinhas) {
|
||||
this.lsParadaSecuenciaCombinacaoLinhas = lsParadaSecuenciaCombinacaoLinhas;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue