0017317: Erro na sincronização de trechos com alias
fixes bug#0017317 dev:Gleimar qua:Marcelo git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@99055 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
9fb2a8277a
commit
e40ce5c73f
|
@ -54,5 +54,7 @@ public interface AliasServicoDAO extends GenericDAO<AliasServico, Integer>{
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public AliasServico existe(Parada origem, Parada destino, Ruta linha, Integer idCorrida);
|
public AliasServico existe(Parada origem, Parada destino, Ruta linha, Integer idCorrida);
|
||||||
|
|
||||||
|
List<AliasServico> buscarPorRuta(Integer rutaId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,6 +53,21 @@ public class AliasServicoHibernateDAO extends GenericHibernateDAO<AliasServico,
|
||||||
return c.list();
|
return c.list();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<AliasServico> buscarPorRuta(Integer rutaId) {
|
||||||
|
|
||||||
|
StringBuilder hql = new StringBuilder();
|
||||||
|
hql.append("SELECT DISTINCT alias ");
|
||||||
|
hql.append("FROM AliasServico alias ");
|
||||||
|
hql.append(" WHERE alias.activo = 1 ");
|
||||||
|
hql.append(" AND alias.ruta.rutaId = :rutaId" );
|
||||||
|
|
||||||
|
Query query = getSession().createQuery(hql.toString());
|
||||||
|
query.setInteger("rutaId", rutaId);
|
||||||
|
|
||||||
|
return query.list();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas, List<ClaseServicio> tiposClasses, List<OrgaoConcedente> orgaos, String prefixo) {
|
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas, List<ClaseServicio> tiposClasses, List<OrgaoConcedente> orgaos, String prefixo) {
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,9 @@ import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.apache.commons.collections.Predicate;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
import org.hibernate.Criteria;
|
import org.hibernate.Criteria;
|
||||||
import org.hibernate.Query;
|
import org.hibernate.Query;
|
||||||
import org.hibernate.SessionFactory;
|
import org.hibernate.SessionFactory;
|
||||||
|
@ -22,12 +25,15 @@ import com.rjconsultores.ventaboletos.constantes.Constantes;
|
||||||
import com.rjconsultores.ventaboletos.dao.CategoriaDescuentoDAO;
|
import com.rjconsultores.ventaboletos.dao.CategoriaDescuentoDAO;
|
||||||
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaServicoDAO;
|
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaServicoDAO;
|
||||||
import com.rjconsultores.ventaboletos.dao.util.DBUtil;
|
import com.rjconsultores.ventaboletos.dao.util.DBUtil;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.AliasServico;
|
||||||
import com.rjconsultores.ventaboletos.entidad.CategoriaDescuento;
|
import com.rjconsultores.ventaboletos.entidad.CategoriaDescuento;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||||
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada;
|
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada;
|
||||||
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico;
|
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico;
|
||||||
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
||||||
import com.rjconsultores.ventaboletos.entidad.TarifaMinima;
|
import com.rjconsultores.ventaboletos.entidad.TarifaMinima;
|
||||||
|
import com.rjconsultores.ventaboletos.service.AliasServicoService;
|
||||||
|
import com.rjconsultores.ventaboletos.service.RutaService;
|
||||||
import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO;
|
import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO;
|
||||||
import com.rjconsultores.ventaboletos.vo.corrida.TramoSequenciaVO;
|
import com.rjconsultores.ventaboletos.vo.corrida.TramoSequenciaVO;
|
||||||
import com.rjconsultores.ventaboletos.vo.parada.ParadaVO;
|
import com.rjconsultores.ventaboletos.vo.parada.ParadaVO;
|
||||||
|
@ -40,11 +46,15 @@ import com.rjconsultores.ventaboletos.vo.via.ViaVO;
|
||||||
@Repository("operadorEmbarcadaServicoDAO")
|
@Repository("operadorEmbarcadaServicoDAO")
|
||||||
public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<OperadorEmbarcadaServico, Long> implements OperadorEmbarcadaServicoDAO {
|
public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<OperadorEmbarcadaServico, Long> implements OperadorEmbarcadaServicoDAO {
|
||||||
|
|
||||||
|
private static Logger log = Logger.getLogger(OperadorEmbarcadaServicoHibernateDAO.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private CategoriaDescuentoDAO categoriaDescuentoDAO;
|
private CategoriaDescuentoDAO categoriaDescuentoDAO;
|
||||||
// @Autowired
|
|
||||||
// private MarcaDAO marcaDAO;
|
@Autowired
|
||||||
|
private AliasServicoService aliasServicoService;
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public OperadorEmbarcadaServicoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
public OperadorEmbarcadaServicoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
||||||
setSessionFactory(factory);
|
setSessionFactory(factory);
|
||||||
|
@ -315,7 +325,7 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private void preencherTramosSequencias(CorridaVO corrida, PuntoVenta puntoVenta, Empresa empresa) {
|
private void preencherTramosSequencias(final CorridaVO corrida, PuntoVenta puntoVenta, Empresa empresa) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
sb.append(" SELECT");
|
sb.append(" SELECT");
|
||||||
|
@ -419,16 +429,9 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
|
||||||
sb.append(" and paradaDestinoId = TRM.DESTINO_ID");
|
sb.append(" and paradaDestinoId = TRM.DESTINO_ID");
|
||||||
sb.append(" and rutaId = TA.RUTA_ID");
|
sb.append(" and rutaId = TA.RUTA_ID");
|
||||||
sb.append(" and rownum = 1");
|
sb.append(" and rownum = 1");
|
||||||
sb.append(" ) as tarifaMinima,");
|
sb.append(" ) as tarifaMinima ");
|
||||||
sb.append(" aser.aliasorigen_id As aliasorigenId,");
|
|
||||||
sb.append(" aser.aliasdestino_id As aliasdestinoId,");
|
|
||||||
sb.append(" aori.descparada As descAliasorigen,");
|
|
||||||
sb.append(" dori.descparada As descAliasdestino");
|
|
||||||
sb.append(" FROM RUTA_COMBINACION RC");
|
sb.append(" FROM RUTA_COMBINACION RC");
|
||||||
sb.append(" JOIN TRAMO TRM ON TRM.TRAMO_ID = RC.TRAMO_ID");
|
sb.append(" JOIN TRAMO TRM ON TRM.TRAMO_ID = RC.TRAMO_ID");
|
||||||
sb.append(" left join alias_servico aser on aser.origen_id = trm.origen_id and aser.destino_id = trm.destino_id and aser.ruta_id = rc.ruta_id and aser.corrida_id = :corridaId");
|
|
||||||
sb.append(" left join parada aori on aori.parada_id = aser.aliasorigen_id");
|
|
||||||
sb.append(" left join parada dori on dori.parada_id = aser.aliasdestino_id");
|
|
||||||
sb.append(" JOIN CORRIDA_TRAMO CRT ON CRT.DESTINO_ID = TRM.DESTINO_ID AND CRT.CORRIDA_ID = :corridaId AND CRT.FECCORRIDA = TO_DATE(:feccorrida,'DD/MM/YYYY HH24:MI:SS')");
|
sb.append(" JOIN CORRIDA_TRAMO CRT ON CRT.DESTINO_ID = TRM.DESTINO_ID AND CRT.CORRIDA_ID = :corridaId AND CRT.FECCORRIDA = TO_DATE(:feccorrida,'DD/MM/YYYY HH24:MI:SS')");
|
||||||
sb.append(" JOIN PARADA ORI ON ORI.PARADA_ID = TRM.ORIGEN_ID");
|
sb.append(" JOIN PARADA ORI ON ORI.PARADA_ID = TRM.ORIGEN_ID");
|
||||||
sb.append(" JOIN CIUDAD ORICID ON ORICID.CIUDAD_ID = ORI.CIUDAD_ID");
|
sb.append(" JOIN CIUDAD ORICID ON ORICID.CIUDAD_ID = ORI.CIUDAD_ID");
|
||||||
|
@ -483,11 +486,7 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
|
||||||
sb.append(" TA.IMPORTEOUTROS,");
|
sb.append(" TA.IMPORTEOUTROS,");
|
||||||
sb.append(" TA.IMPORTESEGURO,");
|
sb.append(" TA.IMPORTESEGURO,");
|
||||||
sb.append(" TA.PRECIO,");
|
sb.append(" TA.PRECIO,");
|
||||||
sb.append(" TA.RUTA_ID,");
|
sb.append(" TA.RUTA_ID");
|
||||||
sb.append(" aser.aliasorigen_id,");
|
|
||||||
sb.append(" aser.aliasdestino_id,");
|
|
||||||
sb.append(" aori.descparada,");
|
|
||||||
sb.append(" dori.descparada");
|
|
||||||
sb.append(" ORDER BY");
|
sb.append(" ORDER BY");
|
||||||
sb.append(" CRT.NUMSECUENCIA");
|
sb.append(" CRT.NUMSECUENCIA");
|
||||||
|
|
||||||
|
@ -517,10 +516,6 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
|
||||||
.addScalar("importeSeguro", BigDecimalType.INSTANCE)
|
.addScalar("importeSeguro", BigDecimalType.INSTANCE)
|
||||||
.addScalar("precio", BigDecimalType.INSTANCE)
|
.addScalar("precio", BigDecimalType.INSTANCE)
|
||||||
.addScalar("tarifaMinima", BigDecimalType.INSTANCE)
|
.addScalar("tarifaMinima", BigDecimalType.INSTANCE)
|
||||||
.addScalar("aliasorigenId", IntegerType.INSTANCE)
|
|
||||||
.addScalar("aliasdestinoId", IntegerType.INSTANCE)
|
|
||||||
.addScalar("descAliasorigen", StringType.INSTANCE)
|
|
||||||
.addScalar("descAliasdestino", StringType.INSTANCE)
|
|
||||||
.setResultTransformer(Transformers.aliasToBean(TramoSequenciaVO.class));
|
.setResultTransformer(Transformers.aliasToBean(TramoSequenciaVO.class));
|
||||||
|
|
||||||
query.setParameter("empresaId", corrida.getEmpresaId());
|
query.setParameter("empresaId", corrida.getEmpresaId());
|
||||||
|
@ -537,9 +532,11 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
|
||||||
CategoriaDescuento categoriaDescuento = categoriaDescuentoDAO.pesquisarPorCategoriaEmpresa(Constantes.CATEGORIA_NORMAL, corrida.getEmpresaId());
|
CategoriaDescuento categoriaDescuento = categoriaDescuentoDAO.pesquisarPorCategoriaEmpresa(Constantes.CATEGORIA_NORMAL, corrida.getEmpresaId());
|
||||||
|
|
||||||
List<TramoVO> lsTramo = new ArrayList<TramoVO>();
|
List<TramoVO> lsTramo = new ArrayList<TramoVO>();
|
||||||
|
|
||||||
|
List<AliasServico> aliasLs = aliasServicoService.buscarPorRuta(corrida.getRutaId());
|
||||||
|
|
||||||
for (TramoSequenciaVO ts : tramosequencia) {
|
for (TramoSequenciaVO ts : tramosequencia) {
|
||||||
ParadaVO origem = new ParadaVO(
|
final ParadaVO origem = new ParadaVO(
|
||||||
ts.getOrigemId(),
|
ts.getOrigemId(),
|
||||||
ts.getDescOrigem(),
|
ts.getDescOrigem(),
|
||||||
ts.getCidadeOrigemId(),
|
ts.getCidadeOrigemId(),
|
||||||
|
@ -548,7 +545,7 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
|
||||||
ts.getNomeEstadoOrigem(),
|
ts.getNomeEstadoOrigem(),
|
||||||
ts.getCveEstadoOrigem());
|
ts.getCveEstadoOrigem());
|
||||||
|
|
||||||
ParadaVO destino = new ParadaVO(
|
final ParadaVO destino = new ParadaVO(
|
||||||
ts.getDestinoId(),
|
ts.getDestinoId(),
|
||||||
ts.getDescDestino(),
|
ts.getDescDestino(),
|
||||||
ts.getCidadeDestinoId(),
|
ts.getCidadeDestinoId(),
|
||||||
|
@ -588,11 +585,44 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
|
||||||
ts.getImporteSeguro(),
|
ts.getImporteSeguro(),
|
||||||
ts.getImportePedagio(),
|
ts.getImportePedagio(),
|
||||||
ts.getImporteOutros());
|
ts.getImporteOutros());
|
||||||
tramo.setAliasdestinoId(ts.getAliasdestinoId());
|
|
||||||
tramo.setAliasorigenId(ts.getAliasorigenId());
|
AliasServico aC = null;
|
||||||
tramo.setDescAliasdestino(ts.getDescAliasdestino());
|
try {
|
||||||
tramo.setDescAliasorigen(ts.getDescAliasorigen());
|
aC = (AliasServico) CollectionUtils.find(aliasLs, new Predicate() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean evaluate(Object arg0) {
|
||||||
|
AliasServico alias = (AliasServico)arg0;
|
||||||
|
|
||||||
|
return alias.getCorridaId() != null && alias.getCorridaId().equals(corrida.getCorridaId())
|
||||||
|
&& alias.getOrigen().getParadaId().equals(origem.getParadaId())
|
||||||
|
&& alias.getDestino().getParadaId().equals(destino.getParadaId());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if(aC == null) {
|
||||||
|
aC = (AliasServico) CollectionUtils.find(aliasLs, new Predicate() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean evaluate(Object arg0) {
|
||||||
|
AliasServico alias = (AliasServico)arg0;
|
||||||
|
|
||||||
|
return alias.getOrigen().getParadaId().equals(origem.getParadaId())
|
||||||
|
&& alias.getDestino().getParadaId().equals(destino.getParadaId())
|
||||||
|
&& alias.getCorridaId() == null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}catch(Throwable th) {
|
||||||
|
log.error("erro ao carrgar o alias",th);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (aC != null) {
|
||||||
|
tramo.setAliasdestinoId(aC.getAliasDestino().getParadaId());
|
||||||
|
tramo.setAliasorigenId(aC.getAliasOrigen().getParadaId());
|
||||||
|
tramo.setDescAliasdestino(aC.getAliasDestino().getDescparada());
|
||||||
|
tramo.setDescAliasorigen(aC.getAliasOrigen().getDescparada());
|
||||||
|
}
|
||||||
lsTramo.add(tramo);
|
lsTramo.add(tramo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,4 +23,6 @@ public interface AliasServicoService{
|
||||||
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas, List<ClaseServicio> tiposClasses, List<OrgaoConcedente> orgaos, String prefixo);
|
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas, List<ClaseServicio> tiposClasses, List<OrgaoConcedente> orgaos, String prefixo);
|
||||||
|
|
||||||
public AliasServico existe(Parada origem, Parada destino, Ruta linha, Integer idCorrida);
|
public AliasServico existe(Parada origem, Parada destino, Ruta linha, Integer idCorrida);
|
||||||
|
|
||||||
|
List<AliasServico> buscarPorRuta(Integer rutaId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,6 +81,11 @@ public class AliasServicoServiceImpl implements AliasServicoService {
|
||||||
|
|
||||||
aliasServicoDAO.actualizacion(entidad);
|
aliasServicoDAO.actualizacion(entidad);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<AliasServico> buscarPorRuta(Integer rutaId) {
|
||||||
|
return aliasServicoDAO.buscarPorRuta(rutaId);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas, List<ClaseServicio> tiposClasses, List<OrgaoConcedente> orgaos, String prefixo) {
|
public List<AliasServico> buscarPorLinhaEmpresa(List<Ruta> linhas, List<Empresa> empresas, List<ClaseServicio> tiposClasses, List<OrgaoConcedente> orgaos, String prefixo) {
|
||||||
|
|
|
@ -28,10 +28,6 @@ public class TramoSequenciaVO {
|
||||||
private BigDecimal importeSeguro;
|
private BigDecimal importeSeguro;
|
||||||
private BigDecimal precio;
|
private BigDecimal precio;
|
||||||
private BigDecimal tarifaMinima;
|
private BigDecimal tarifaMinima;
|
||||||
private Integer aliasorigenId;
|
|
||||||
private Integer aliasdestinoId;
|
|
||||||
private String descAliasorigen;
|
|
||||||
private String descAliasdestino;
|
|
||||||
|
|
||||||
public TramoSequenciaVO() {
|
public TramoSequenciaVO() {
|
||||||
|
|
||||||
|
@ -237,36 +233,4 @@ public class TramoSequenciaVO {
|
||||||
this.tarifaMinima = tarifaMinima;
|
this.tarifaMinima = tarifaMinima;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getAliasorigenId() {
|
|
||||||
return aliasorigenId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAliasorigenId(Integer aliasorigenId) {
|
|
||||||
this.aliasorigenId = aliasorigenId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getAliasdestinoId() {
|
|
||||||
return aliasdestinoId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAliasdestinoId(Integer aliasdestinoId) {
|
|
||||||
this.aliasdestinoId = aliasdestinoId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDescAliasorigen() {
|
|
||||||
return descAliasorigen;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDescAliasorigen(String descAliasorigen) {
|
|
||||||
this.descAliasorigen = descAliasorigen;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDescAliasdestino() {
|
|
||||||
return descAliasdestino;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDescAliasdestino(String descAliasdestino) {
|
|
||||||
this.descAliasdestino = descAliasdestino;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue