AdmMono/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java

452 lines
21 KiB
Java
Raw Blame History

package com.rjconsultores.ventaboletos.service.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.rjconsultores.ventaboletos.dao.OrgaoTramoDAO;
import com.rjconsultores.ventaboletos.dao.RutaDAO;
import com.rjconsultores.ventaboletos.dao.TramoDAO;
import com.rjconsultores.ventaboletos.dao.TramoServicioDAO;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
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.Ruta;
import com.rjconsultores.ventaboletos.entidad.RutaCombinacion;
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
import com.rjconsultores.ventaboletos.entidad.RutaSecuencia;
import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.TramoServicio;
import com.rjconsultores.ventaboletos.entidad.Via;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.RutaCombinacionService;
import com.rjconsultores.ventaboletos.service.RutaEmpresaService;
import com.rjconsultores.ventaboletos.service.RutaSecuenciaService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TramoRutaService;
import com.rjconsultores.ventaboletos.service.TramoService;
import com.rjconsultores.ventaboletos.service.TramoServicioService;
import com.rjconsultores.ventaboletos.utilerias.HoraSistema;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.vo.esquemaoperacional.RutaTramoVO;
import com.rjconsultores.ventaboletos.vo.esquemaoperacional.SecuenciaRutaTramoCoeficienteVO;
import com.rjconsultores.ventaboletos.vo.esquemaoperacional.SecuenciaRutaTramoVO;
@Service("tramoRutaService")
public class TramoRutaServiceImpl implements TramoRutaService {
private static Logger log = Logger.getLogger(TramoRutaServiceImpl.class);
@Autowired
private RutaService rutaService;
@Autowired
private RutaCombinacionService rutaCombinacionService;
@Autowired
private RutaSecuenciaService rutaSecuenciaService;
@Autowired
private RutaEmpresaService rutaEmpresaService;
@Autowired
private TramoService tramoService;
@Autowired
private TramoServicioService tramoServicioService;
@Autowired
private RutaDAO rutaDAO;
@Autowired
private OrgaoTramoDAO orgaoTramoDAO;
@Autowired
private TramoServicioDAO tramoServicioDAO;
@Autowired
private TramoDAO tramoDAO;
/**
* Hace la validaci<63>n de los datos del rutaTramoVO
*
* @param rutaTramoVO
* @throws BusinessException
*/
private void validarGenerarTramosRutas(RutaTramoVO rutaTramoVO) throws BusinessException {
if (rutaTramoVO.getLsSecuenciaRutaTramoVO().isEmpty()) {
throw new BusinessException("tramoRutaServiceImpl.msg.secuenciaObligatorio");
}
if ((rutaTramoVO.getPrefixo() == null) || (rutaTramoVO.getPrefixo().isEmpty())) {
throw new BusinessException("tramoRutaServiceImpl.msg.prefixoObligatorio");
}
if (rutaTramoVO.getLsEmpresa().isEmpty()) {
throw new BusinessException("tramoRutaServiceImpl.msg.empresaObligatoria");
}
if (rutaTramoVO.getLsCombinacionRutaTramoVO().isEmpty()) {
throw new BusinessException("tramoRutaServiceImpl.msg.combinacionObligatorio");
}
for (SecuenciaRutaTramoCoeficienteVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) {
if (s.getTramoId() != null) {
continue;
}
if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null)
|| (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)
|| (!rutaTramoVO.getOrgaoConcedente().getOrgaoConcedenteId().equals(21) && ((s.getCoeficienteTarifa1() == null) || (s.getKmCoeficiente1() == null) || (s.getKmCoeficiente1() == BigDecimal.ZERO)))) {
throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosCombinacion", new Object[] { s.getOrigen(), s.getDestino() });
}
}
for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsSecuenciaRutaTramoVO()) {
if (s.getTramoId() != null) {
continue;
}
if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null)
|| (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)) {
throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosSecuencia", new Object[] { s.getOrigen(),
s.getDestino() });
}
}
}
@Transactional(rollbackFor = BusinessException.class)
@Override
public Ruta generarTramosRutas(RutaTramoVO rutaTramoVO) 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.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<74><61>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);
}
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);
}
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);
}
return ruta;
}
@Override
public RutaTramoVO generarRutaRegreso(RutaTramoVO rutaTramoVO) {
RutaTramoVO rutaTramoRegresoVO = new RutaTramoVO();
rutaTramoRegresoVO.setClaseServicio(rutaTramoVO.getClaseServicio());
rutaTramoRegresoVO.setOrgaoConcedente(rutaTramoVO.getOrgaoConcedente());
rutaTramoRegresoVO.setSolicitaNombrePasajero(rutaTramoVO.getSolicitaNombrePasajero());
rutaTramoRegresoVO.setVentaHandHeld(rutaTramoVO.getVentaHandHeld() == null ? true : rutaTramoVO.getVentaHandHeld());
rutaTramoRegresoVO.setLsEmpresa(rutaTramoVO.getLsEmpresa());
if (rutaTramoVO.getIndSentidoIda()) {
rutaTramoRegresoVO.setIndSentidoIda(Boolean.FALSE);
} else {
rutaTramoRegresoVO.setIndSentidoIda(Boolean.TRUE);
}
rutaTramoRegresoVO.setNumRuta(rutaTramoVO.getNumRuta());
rutaTramoRegresoVO.setPrefixo(rutaTramoVO.getPrefixo());
if (rutaTramoVO.getDescRuta() != null) {
rutaTramoRegresoVO.setDescRuta(rutaTramoVO.getDescRuta());
} else {
rutaTramoRegresoVO.setDescRuta("-");
}
List<SecuenciaRutaTramoVO> lsSecuenciaRutaTramoRegresoVO = new ArrayList<SecuenciaRutaTramoVO>();
List<SecuenciaRutaTramoVO> lsSecuenciaRutaTramoIdaVO = new ArrayList<SecuenciaRutaTramoVO>(rutaTramoVO.getLsSecuenciaRutaTramoVO());
// Reordena a lista
Collections.sort(lsSecuenciaRutaTramoIdaVO, new Comparator<SecuenciaRutaTramoVO>() {
@Override
public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) {
return o2.getSecuencia().compareTo(o1.getSecuencia());
}
});
int secuencia = 0;
for (SecuenciaRutaTramoVO s : lsSecuenciaRutaTramoIdaVO) {
TramoServicio tramoServicio = tramoServicioService.buscar(s.getDestino(), s.getOrigen(), s.getVia(), rutaTramoVO.getClaseServicio());
if (tramoServicio != null) {
s.setTramoId(tramoServicio.getTramo().getTramoId());
s.setTramoServicioId(tramoServicio.getTramoservicioId());
lsSecuenciaRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(),
s.getTramoId(), s.getTramoServicioId(), rutaTramoRegresoVO.getNumRuta(), rutaTramoRegresoVO.getIndSentidoIda()));
} else {
lsSecuenciaRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(), rutaTramoRegresoVO.getNumRuta(), rutaTramoRegresoVO.getIndSentidoIda()));
}
}
rutaTramoRegresoVO.setLsSecuenciaRutaTramoVO(lsSecuenciaRutaTramoRegresoVO);
List<SecuenciaRutaTramoCoeficienteVO> lsCombinacionRutaTramoRegresoVO = new ArrayList<SecuenciaRutaTramoCoeficienteVO>();
List<SecuenciaRutaTramoCoeficienteVO> lsCombinacionTramoIdaVO = new ArrayList<SecuenciaRutaTramoCoeficienteVO>(rutaTramoVO.getLsCombinacionRutaTramoVO());
Collections.sort(lsCombinacionTramoIdaVO, new Comparator<SecuenciaRutaTramoCoeficienteVO>() {
@Override
public int compare(SecuenciaRutaTramoCoeficienteVO o1, SecuenciaRutaTramoCoeficienteVO o2) {
return o2.getSecuencia().compareTo(o1.getSecuencia());
}
});
secuencia = 0;
for (SecuenciaRutaTramoCoeficienteVO s : lsCombinacionTramoIdaVO) {
TramoServicio tramoServicio = tramoServicioService.buscar(s.getDestino(), s.getOrigen(), s.getVia(), rutaTramoVO.getClaseServicio());
if (tramoServicio != null) {
s.setTramoId(tramoServicio.getTramo().getTramoId());
s.setTramoServicioId(tramoServicio.getTramoservicioId());
SecuenciaRutaTramoCoeficienteVO secuenciaRutaTramoCoeficienteVO = new SecuenciaRutaTramoCoeficienteVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(),
s.getTramoId(), s.getTramoServicioId(), rutaTramoRegresoVO.getNumRuta());
OrgaoTramo orgaoTramo = orgaoTramoDAO.buscar(s.getDestino().getParadaId(), s.getOrigen().getParadaId(), s.getVia().getViaId(), rutaTramoVO.getOrgaoConcedente().getOrgaoConcedenteId(), rutaTramoVO.getClaseServicio().getClaseservicioId());
if (orgaoTramo != null) {
secuenciaRutaTramoCoeficienteVO.setOrgaoTramoId(orgaoTramo.getOrgaoTramoId());
secuenciaRutaTramoCoeficienteVO.setCoeficienteTarifa1(orgaoTramo.getCoeficienteTarifa1());
secuenciaRutaTramoCoeficienteVO.setKmCoeficiente1(orgaoTramo.getKmCoeficiente1());
if (orgaoTramo.getCoeficienteTarifa2() != null) {
secuenciaRutaTramoCoeficienteVO.setCoeficienteTarifa2(orgaoTramo.getCoeficienteTarifa2());
secuenciaRutaTramoCoeficienteVO.setKmCoeficiente2(orgaoTramo.getKmCoeficiente2());
}
}
secuenciaRutaTramoCoeficienteVO.setPermiteVenda(s.getPermiteVenda());
lsCombinacionRutaTramoRegresoVO.add(secuenciaRutaTramoCoeficienteVO);
} else {
SecuenciaRutaTramoCoeficienteVO secuenciaRutaTramoCoeficienteVO = new SecuenciaRutaTramoCoeficienteVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(), rutaTramoRegresoVO.getNumRuta());
secuenciaRutaTramoCoeficienteVO.setCoeficienteTarifa1(s.getCoeficienteTarifa1());
secuenciaRutaTramoCoeficienteVO.setKmCoeficiente1(s.getKmCoeficiente1());
secuenciaRutaTramoCoeficienteVO.setCoeficienteTarifa2(s.getCoeficienteTarifa2());
secuenciaRutaTramoCoeficienteVO.setKmCoeficiente2(s.getKmCoeficiente2());
secuenciaRutaTramoCoeficienteVO.setPermiteVenda(s.getPermiteVenda());
lsCombinacionRutaTramoRegresoVO.add(secuenciaRutaTramoCoeficienteVO);
}
}
rutaTramoRegresoVO.setLsCombinacionRutaTramoVO(lsCombinacionRutaTramoRegresoVO);
return rutaTramoRegresoVO;
}
@Override
public List<SecuenciaRutaTramoCoeficienteVO> generarCombinacion(RutaTramoVO rutaTramoVO) {
// una nueva lista que va a ser ordenada. Con eso, no afecta la lista original
List<SecuenciaRutaTramoVO> lsSecuenciaRutaTramoVO = new ArrayList<SecuenciaRutaTramoVO>(rutaTramoVO.getLsSecuenciaRutaTramoVO());
List<SecuenciaRutaTramoCoeficienteVO> lsSecuenciaCombinacionRutaTramoVO = new ArrayList<SecuenciaRutaTramoCoeficienteVO>();
Collections.sort(lsSecuenciaRutaTramoVO, new Comparator<SecuenciaRutaTramoVO>() {
@Override
public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) {
return o1.getSecuencia().compareTo(o2.getSecuencia());
}
});
int qtdTramos = lsSecuenciaRutaTramoVO.size();
int secuencia = 0;
for (int i = 0; i < qtdTramos; i++) {
SecuenciaRutaTramoVO secuenciaInicial = lsSecuenciaRutaTramoVO.get(i);
Parada origen = secuenciaInicial.getOrigen();
BigDecimal totalKmsReal = secuenciaInicial.getKmReal();
HoraSistema totalTiempoRecorrido = secuenciaInicial.getTiempoRecorrido();
int j = i + 1;
for (; j < (qtdTramos); j++) {
Parada destino = lsSecuenciaRutaTramoVO.get(j).getOrigen();
Via via = secuenciaInicial.getVia();
SecuenciaRutaTramoCoeficienteVO nuevaSecuencia = new SecuenciaRutaTramoCoeficienteVO(origen, destino, via, ++secuencia,
totalKmsReal, totalTiempoRecorrido, rutaTramoVO.getNumRuta());
if (via != null) {
TramoServicio tramoServicio = tramoServicioService.buscar(origen, destino, via, rutaTramoVO.getClaseServicio());
if (tramoServicio != null) {
log.debug("TRAMO EXISTE");
nuevaSecuencia.setKmReal(tramoServicio.getTramo().getKmReal());
nuevaSecuencia.setTiempoRecorrido(new HoraSistema(tramoServicio.getTiemporecorrido()));
nuevaSecuencia.setTramoId(tramoServicio.getTramo().getTramoId());
nuevaSecuencia.setTramoServicioId(tramoServicio.getTramoservicioId());
}
OrgaoTramo orgaoTramo = orgaoTramoDAO.buscar(origen.getParadaId(), destino.getParadaId(), via.getViaId(), rutaTramoVO.getOrgaoConcedente().getOrgaoConcedenteId(), rutaTramoVO.getClaseServicio().getClaseservicioId());
if (orgaoTramo != null) {
nuevaSecuencia.setCoeficienteTarifa1(orgaoTramo.getCoeficienteTarifa1());
nuevaSecuencia.setKmCoeficiente1(orgaoTramo.getKmCoeficiente1());
nuevaSecuencia.setCoeficienteTarifa2(orgaoTramo.getCoeficienteTarifa2());
nuevaSecuencia.setKmCoeficiente2(orgaoTramo.getKmCoeficiente2());
nuevaSecuencia.setOrgaoTramoId(orgaoTramo.getOrgaoTramoId());
}
}
if (nuevaSecuencia.getKmCoeficiente1() == null) {
nuevaSecuencia.setKmCoeficiente1(nuevaSecuencia.getKmReal());
}
lsSecuenciaCombinacionRutaTramoVO.add(nuevaSecuencia);
totalKmsReal = totalKmsReal.add(lsSecuenciaRutaTramoVO.get(j).getKmReal());
totalTiempoRecorrido = totalTiempoRecorrido.sumar(lsSecuenciaRutaTramoVO.get(j).getTiempoRecorrido());
log.debug("Origen:" + nuevaSecuencia.getOrigen() + ";Destino:" + nuevaSecuencia.getDestino() + ";Via:"
+ nuevaSecuencia.getVia() + ";KmsReal:" + nuevaSecuencia.getKmReal() + ";hora:" + nuevaSecuencia.getTiempoRecorrido());
}
Parada destino = lsSecuenciaRutaTramoVO.get(qtdTramos - 1).getDestino();
Via via = secuenciaInicial.getVia();
SecuenciaRutaTramoCoeficienteVO nuevaSecuencia = new SecuenciaRutaTramoCoeficienteVO(origen, destino, via, ++secuencia,
totalKmsReal, totalTiempoRecorrido, rutaTramoVO.getNumRuta());
if (via != null) {
TramoServicio tramoServicio = tramoServicioService.buscar(origen, destino, via, rutaTramoVO.getClaseServicio());
if (tramoServicio != null) {
log.debug("TRAMO EXISTE");
nuevaSecuencia.setKmReal(tramoServicio.getTramo().getKmReal());
nuevaSecuencia.setTiempoRecorrido(new HoraSistema(tramoServicio.getTiemporecorrido()));
nuevaSecuencia.setTramoId(tramoServicio.getTramo().getTramoId());
nuevaSecuencia.setTramoServicioId(tramoServicio.getTramoservicioId());
}
OrgaoTramo orgaoTramo = orgaoTramoDAO.buscar(origen.getParadaId(), destino.getParadaId(), via.getViaId(), rutaTramoVO.getOrgaoConcedente().getOrgaoConcedenteId(), rutaTramoVO.getClaseServicio().getClaseservicioId());
if (orgaoTramo != null) {
nuevaSecuencia.setCoeficienteTarifa1(orgaoTramo.getCoeficienteTarifa1());
nuevaSecuencia.setKmCoeficiente1(orgaoTramo.getKmCoeficiente1());
nuevaSecuencia.setCoeficienteTarifa2(orgaoTramo.getCoeficienteTarifa2());
nuevaSecuencia.setKmCoeficiente2(orgaoTramo.getKmCoeficiente2());
nuevaSecuencia.setOrgaoTramoId(orgaoTramo.getOrgaoTramoId());
}
}
if (nuevaSecuencia.getKmCoeficiente1() == null) {
nuevaSecuencia.setKmCoeficiente1(nuevaSecuencia.getKmReal());
}
nuevaSecuencia.setNumRuta(rutaTramoVO.getNumRuta());
lsSecuenciaCombinacionRutaTramoVO.add(nuevaSecuencia);
log.debug("Origen:" + nuevaSecuencia.getOrigen() + ";Destino:" + nuevaSecuencia.getDestino() + ";Via:"
+ nuevaSecuencia.getVia() + ";KmsReal:" + nuevaSecuencia.getKmReal() + ";hora:" + nuevaSecuencia.getTiempoRecorrido());
}
return lsSecuenciaCombinacionRutaTramoVO;
}
/**
* Genera los datos de tramo, tramo tiempo e coeficiente tarifa sino existen los datos
*
* @param secuencia
* @param claseServicio
* @param orgaoConcedente
* @return
*/
private boolean generarDatos(SecuenciaRutaTramoCoeficienteVO secuencia, ClaseServicio claseServicio, OrgaoConcedente orgaoConcedente) {
TramoServicio tramoServicio = tramoServicioDAO.buscar(secuencia.getOrigen(), secuencia.getDestino(), secuencia.getVia(), claseServicio);
Tramo tramo = null;
if (tramoServicio == null) {
tramo = tramoService.buscar(secuencia.getOrigen(), secuencia.getDestino(), secuencia.getVia());
if (tramo == null) {
tramo = new Tramo();
tramo.setDesctramo(tramoService.gerarDescripcionTramo(secuencia.getOrigen(), secuencia.getDestino(), secuencia.getVia()));
tramo.setOrigem(secuencia.getOrigen());
tramo.setDestino(secuencia.getDestino());
tramo.setKmReal(secuencia.getKmReal());
tramo.setVia(secuencia.getVia());
tramo.setActivo(Boolean.TRUE);
tramo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
tramo.setFecmodif(new java.util.Date());
tramo = tramoDAO.suscribir(tramo);
}
tramoServicio = new TramoServicio();
tramoServicio.setClaseServicio(claseServicio);
tramoServicio.setTramo(tramo);
tramoServicio.setTiemporecorrido(secuencia.getTiempoRecorrido().getFecha());
tramoServicio = tramoServicioService.suscribir(tramoServicio);
if (secuencia.getOrgaoTramoId() == null) {
OrgaoTramo orgaoTramo = new OrgaoTramo();
orgaoTramo.setClaseServicio(claseServicio);
orgaoTramo.setOrgaoConcedente(orgaoConcedente);
orgaoTramo.setTramo(tramo);
orgaoTramo.setActivo(Boolean.TRUE);
orgaoTramo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
orgaoTramo.setFecmodif(new java.util.Date());
orgaoTramo.setCoeficienteTarifa1(secuencia.getCoeficienteTarifa1());
orgaoTramo.setKmCoeficiente1(secuencia.getKmCoeficiente1());
if (secuencia.getCoeficienteTarifa2() != null) {
orgaoTramo.setCoeficienteTarifa2(secuencia.getCoeficienteTarifa2());
orgaoTramo.setKmCoeficiente2(secuencia.getKmCoeficiente2());
}
orgaoTramo = orgaoTramoDAO.suscribir(orgaoTramo);
}
return true;
}
return false;
}
}