From 82eb9ac37d6856062a0cedc579451970437c0a26 Mon Sep 17 00:00:00 2001 From: frederico Date: Thu, 31 Aug 2017 13:31:30 +0000 Subject: [PATCH] fixed bug #9746 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@73363 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../BusquedaDatosTicketHibernateDAO.java | 438 +++++++++--------- 1 file changed, 220 insertions(+), 218 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java index 5ef15845c..13577792a 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java @@ -50,19 +50,19 @@ import com.rjconsultores.ventaboletos.vo.caja.PagamentoCartaoVO; public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO implements BusquedaDatosTicketDAO { private static Logger log = org.slf4j.LoggerFactory.getLogger(BusquedaDatosTicketHibernateDAO.class); - + @Autowired public BusquedaDatosTicketHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { setSessionFactory(factory); } - + @Override public List buscaDatosTickets(Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal, Date fecAlteracaoInicial, Date fecAlteracaoFinal) { List pacotes = new ArrayList(); try { pacotes = carregarDadosPacotes(fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - - if(!pacotes.isEmpty()) { + + if (!pacotes.isEmpty()) { carregarDadosPagamento(pacotes, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); carregarDadosServico(pacotes, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); carregarDadosPassageiros(pacotes, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); @@ -70,85 +70,85 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO getPacotesFiltradosReserva(List pacotes){ + private List getPacotesFiltradosReserva(List pacotes) { List retorno = new ArrayList(); - for(PacoteVO p : pacotes){ - if(p.getFormaspagamento() != null && !p.getFormaspagamento().isEmpty()){ + for (PacoteVO p : pacotes) { + if (p.getFormaspagamento() != null && !p.getFormaspagamento().isEmpty()) { retorno.add(p); } } return retorno; } - + @SuppressWarnings("unchecked") private List carregarDadosPacotes(Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal, Date fecAlteracaoInicial, Date fecAlteracaoFinal) { StringBuilder sQuery = new StringBuilder(); sQuery.append("SELECT VP.VENDAPACOTE_ID, VP.DATAPACOTE, VP.DATAVENDA, VP.SUBTOTAL, VP.TOTAL, VP.DESCONTO, VP.NUMOPERACION, P.PACOTE_ID, ") - .append("P.NOMPACOTE, P.DESCPACOTE, E.NOMBEMPRESA, VP.SITUACAO, PV.NOMBPUNTOVENTA, VP.USUARIO_ID, VP.FECMODIF, VP.DATACANCELAMENTO, ") - .append("COUNT(TVP.TARIFAVENDAPACOTE_ID) AS QTDEPASSAGEIRO, E.EMPRESA_ID, ") - .append("SUM(B.PRECIOPAGADO) AS TOTALTARIFA, ") - .append("SUM(B.IMPORTETAXAEMBARQUE) AS TOTALTAXAEMBARQUE, ") - .append("SUM(B.IMPORTEPEDAGIO) AS TOTALPEDAGIO, ") - .append("SUM(B.IMPORTEOUTROS) AS TOTALOUTROS, ") - .append("SUM(B.IMPORTESEGURO) AS TOTALSEGURO, ") - .append("VP.INDENCARGOVENTA, ") - .append("(SELECT COUNT(DISTINCT PFP.PACOTEFORMAPAGO_ID) FROM PACOTE_FORMAPAGO PFP WHERE PFP.VENDAPACOTE_ID = VP.VENDAPACOTE_ID) AS QTDEPACOTEFORMAPAGO ") - .append("FROM VENDA_PACOTE VP ") - .append("JOIN PACOTE P ON P.PACOTE_ID = VP.PACOTE_ID ") - .append("JOIN EMPRESA E ON E.EMPRESA_ID = P.EMPRESA_ID ") - .append("LEFT JOIN PUNTO_VENTA PV ON PV.PUNTOVENTA_ID = VP.PUNTOVENTA_ID ") - .append("LEFT JOIN TARIFA_VENDA_PACOTE TVP ON TVP.VENDAPACOTE_ID = VP.VENDAPACOTE_ID ") - .append("LEFT JOIN BOLETO B ON B.BOLETO_ID = TVP.BOLETO_ID ") - .append("WHERE (B.BOLETO_ID IS NULL OR B.INDSTATUSBOLETO = 'V') "); + .append("P.NOMPACOTE, P.DESCPACOTE, E.NOMBEMPRESA, VP.SITUACAO, PV.NOMBPUNTOVENTA, VP.USUARIO_ID, VP.FECMODIF, VP.DATACANCELAMENTO, ") + .append("COUNT(TVP.TARIFAVENDAPACOTE_ID) AS QTDEPASSAGEIRO, E.EMPRESA_ID, ") + .append("SUM(B.PRECIOPAGADO) AS TOTALTARIFA, ") + .append("SUM(B.IMPORTETAXAEMBARQUE) AS TOTALTAXAEMBARQUE, ") + .append("SUM(B.IMPORTEPEDAGIO) AS TOTALPEDAGIO, ") + .append("SUM(B.IMPORTEOUTROS) AS TOTALOUTROS, ") + .append("SUM(B.IMPORTESEGURO) AS TOTALSEGURO, ") + .append("VP.INDENCARGOVENTA, ") + .append("(SELECT COUNT(DISTINCT PFP.PACOTEFORMAPAGO_ID) FROM PACOTE_FORMAPAGO PFP WHERE PFP.VENDAPACOTE_ID = VP.VENDAPACOTE_ID) AS QTDEPACOTEFORMAPAGO ") + .append("FROM VENDA_PACOTE VP ") + .append("JOIN PACOTE P ON P.PACOTE_ID = VP.PACOTE_ID ") + .append("JOIN EMPRESA E ON E.EMPRESA_ID = P.EMPRESA_ID ") + .append("LEFT JOIN PUNTO_VENTA PV ON PV.PUNTOVENTA_ID = VP.PUNTOVENTA_ID ") + .append("LEFT JOIN TARIFA_VENDA_PACOTE TVP ON TVP.VENDAPACOTE_ID = VP.VENDAPACOTE_ID ") + .append("LEFT JOIN BOLETO B ON B.BOLETO_ID = TVP.BOLETO_ID ") + .append("WHERE (B.BOLETO_ID IS NULL OR B.INDSTATUSBOLETO = 'V') "); adicionarFiltros(sQuery, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + sQuery.append("GROUP BY VP.VENDAPACOTE_ID, VP.DATAPACOTE, VP.DATAVENDA, VP.SUBTOTAL, VP.TOTAL, ") - .append("VP.DESCONTO, VP.NUMOPERACION, P.PACOTE_ID, P.NOMPACOTE, P.DESCPACOTE, E.NOMBEMPRESA, ") - .append("VP.SITUACAO, PV.NOMBPUNTOVENTA, VP.USUARIO_ID, VP.FECMODIF, VP.DATACANCELAMENTO, E.EMPRESA_ID, VP.INDENCARGOVENTA "); - + .append("VP.DESCONTO, VP.NUMOPERACION, P.PACOTE_ID, P.NOMPACOTE, P.DESCPACOTE, E.NOMBEMPRESA, ") + .append("VP.SITUACAO, PV.NOMBPUNTOVENTA, VP.USUARIO_ID, VP.FECMODIF, VP.DATACANCELAMENTO, E.EMPRESA_ID, VP.INDENCARGOVENTA "); + SQLQuery query = getSession().createSQLQuery(sQuery.toString()) - .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) - .addScalar("DATAPACOTE", DateType.INSTANCE) - .addScalar("DATAVENDA", TimestampType.INSTANCE) - .addScalar("SUBTOTAL", BigDecimalType.INSTANCE) - .addScalar("TOTAL", BigDecimalType.INSTANCE) - .addScalar("DESCONTO", BigDecimalType.INSTANCE) - .addScalar("NUMOPERACION", StringType.INSTANCE) - .addScalar("PACOTE_ID", LongType.INSTANCE) - .addScalar("NOMPACOTE", StringType.INSTANCE) - .addScalar("DESCPACOTE", StringType.INSTANCE) - .addScalar("NOMBEMPRESA", StringType.INSTANCE) - .addScalar("SITUACAO", IntegerType.INSTANCE) - .addScalar("NOMBPUNTOVENTA", StringType.INSTANCE) - .addScalar("USUARIO_ID", IntegerType.INSTANCE) - .addScalar("QTDEPASSAGEIRO", IntegerType.INSTANCE) - .addScalar("TOTALTARIFA", BigDecimalType.INSTANCE) - .addScalar("TOTALTAXAEMBARQUE", BigDecimalType.INSTANCE) - .addScalar("TOTALPEDAGIO", BigDecimalType.INSTANCE) - .addScalar("TOTALOUTROS", BigDecimalType.INSTANCE) - .addScalar("TOTALSEGURO", BigDecimalType.INSTANCE) - .addScalar("QTDEPACOTEFORMAPAGO", IntegerType.INSTANCE) - .addScalar("FECMODIF", TimestampType.INSTANCE) - .addScalar("DATACANCELAMENTO", TimestampType.INSTANCE) - .addScalar("EMPRESA_ID", IntegerType.INSTANCE) - .addScalar("INDENCARGOVENTA", BooleanType.INSTANCE); - + .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) + .addScalar("DATAPACOTE", DateType.INSTANCE) + .addScalar("DATAVENDA", TimestampType.INSTANCE) + .addScalar("SUBTOTAL", BigDecimalType.INSTANCE) + .addScalar("TOTAL", BigDecimalType.INSTANCE) + .addScalar("DESCONTO", BigDecimalType.INSTANCE) + .addScalar("NUMOPERACION", StringType.INSTANCE) + .addScalar("PACOTE_ID", LongType.INSTANCE) + .addScalar("NOMPACOTE", StringType.INSTANCE) + .addScalar("DESCPACOTE", StringType.INSTANCE) + .addScalar("NOMBEMPRESA", StringType.INSTANCE) + .addScalar("SITUACAO", IntegerType.INSTANCE) + .addScalar("NOMBPUNTOVENTA", StringType.INSTANCE) + .addScalar("USUARIO_ID", IntegerType.INSTANCE) + .addScalar("QTDEPASSAGEIRO", IntegerType.INSTANCE) + .addScalar("TOTALTARIFA", BigDecimalType.INSTANCE) + .addScalar("TOTALTAXAEMBARQUE", BigDecimalType.INSTANCE) + .addScalar("TOTALPEDAGIO", BigDecimalType.INSTANCE) + .addScalar("TOTALOUTROS", BigDecimalType.INSTANCE) + .addScalar("TOTALSEGURO", BigDecimalType.INSTANCE) + .addScalar("QTDEPACOTEFORMAPAGO", IntegerType.INSTANCE) + .addScalar("FECMODIF", TimestampType.INSTANCE) + .addScalar("DATACANCELAMENTO", TimestampType.INSTANCE) + .addScalar("EMPRESA_ID", IntegerType.INSTANCE) + .addScalar("INDENCARGOVENTA", BooleanType.INSTANCE); + query.setResultTransformer(new DatosTicketResultTransformer()); adicionarFiltros(query, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + return query.list(); } - + @SuppressWarnings("unchecked") private void carregarDadosPagamento(List pacotes, Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal, Date fecAlteracaoInicial, Date fecAlteracaoFinal) { StringBuilder sQuery = new StringBuilder(); @@ -164,7 +164,7 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO 'FORMA_PAGO_RESERVA' "); - + adicionarFiltros(sQuery, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + sQuery.append("ORDER BY VP.VENDAPACOTE_ID, PFP.PACOTEFORMAPAGO_ID"); - + SQLQuery query = getSession().createSQLQuery(sQuery.toString()) .addScalar("VALOR", BigDecimalType.INSTANCE) .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) @@ -190,49 +190,49 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO>> resultGroupedByCajaDiversos = new HashMap>>(); - - for(HashMap h : (List>) query.list()){ - Long cajaDiversosId = (Long)h.get("CAJADIVERSOS_ID"); - if(!resultGroupedByCajaDiversos.containsKey(cajaDiversosId)){ - List> list = new ArrayList>(); + + HashMap>> resultGroupedByCajaDiversos = new HashMap>>(); + + for (HashMap h : (List>) query.list()) { + Long cajaDiversosId = (Long) h.get("CAJADIVERSOS_ID"); + if (!resultGroupedByCajaDiversos.containsKey(cajaDiversosId)) { + List> list = new ArrayList>(); list.add(h); resultGroupedByCajaDiversos.put(cajaDiversosId, list); - }else{ + } else { resultGroupedByCajaDiversos.get(cajaDiversosId).add(h); } } - + List pagamentos = getResult(resultGroupedByCajaDiversos); - + for (PacoteVO pacote : pacotes) { int flag = -1; for (PagamentoVO pagamento : pagamentos) { - if(pagamento.getVendapacoteId().equals(pacote.getVendapacoteId())) { - + if (pagamento.getVendapacoteId().equals(pacote.getVendapacoteId())) { + flag = 0; - if(pacote.getFormaspagamento() == null) { + if (pacote.getFormaspagamento() == null) { pacote.setFormaspagamento(new ArrayList()); } - - if(isPacoteReserva(pacote) && isPagamentoPacoteReserva(pagamento) || - (isPagamentoPacoteReserva(pagamento) && pacote.getQtdePacoteFormaspago() == 1) || - (!isPacoteReserva(pacote) && !isPagamentoPacoteReserva(pagamento))) { + + if (isPacoteReserva(pacote) && isPagamentoPacoteReserva(pagamento) || + (isPagamentoPacoteReserva(pagamento) && pacote.getQtdePacoteFormaspago() == 1) || + (!isPacoteReserva(pacote) && !isPagamentoPacoteReserva(pagamento))) { pacote.getFormaspagamento().add(pagamento); } - - if(isPagamentoDeposito(pagamento)) { + + if (isPagamentoDeposito(pagamento)) { carregarDadosDeposito(pacote, pagamento); } - } else if(flag == 0){ + } else if (flag == 0) { break; } - - } + + } } } @@ -277,7 +277,9 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO s : secondResult) { if (cajaDiversosId.equals(s.get("CAJADIVERSOS_ID"))) { - firstResult.get(cajaDiversosId).get(count).putAll(s); + if (firstResult.get(cajaDiversosId).size() < count) { + firstResult.get(cajaDiversosId).get(count).putAll(s); + } count++; } } @@ -355,6 +357,7 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO= :fecInicial "); } - if(fecFinal != null) { + if (fecFinal != null) { sQuery.append("AND VP.DATAPACOTE <= :fecFinal "); } - - if(fecVentaInicial != null) { + + if (fecVentaInicial != null) { sQuery.append("AND VP.DATAVENDA >= :fecVentaInicial "); } - if(fecVentaFinal != null) { + if (fecVentaFinal != null) { sQuery.append("AND VP.DATAVENDA <= :fecVentaFinal "); } - - if(fecAlteracaoInicial != null) { + + if (fecAlteracaoInicial != null) { sQuery.append("AND VP.FECMODIF >= :fecAlteracaoInicial "); } - if(fecAlteracaoFinal != null) { + if (fecAlteracaoFinal != null) { sQuery.append("AND VP.FECMODIF <= :fecAlteracaoFinal "); } - + } private boolean isPagamentoDeposito(PagamentoVO pagamento) { @@ -420,42 +423,41 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO pacotes, Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal, Date fecAlteracaoInicial, Date fecAlteracaoFinal) { StringBuilder sQuery = new StringBuilder(); sQuery.append("SELECT DISTINCT VP.VENDAPACOTE_ID, B.FECHORVIAJE, B.ORIGEN_ID, CONCAT(CONCAT(ORI.CVEPARADA,' - '),ORI.DESCPARADA) AS ORIGEM, CONCAT(CONCAT(DES.CVEPARADA,' - '),DES.DESCPARADA) AS DESTINO ") - .append("FROM VENDA_PACOTE VP ") - .append("JOIN PACOTE P ON P.PACOTE_ID = VP.PACOTE_ID ") - .append("JOIN TARIFA_VENDA_PACOTE TVP ON TVP.VENDAPACOTE_ID = VP.VENDAPACOTE_ID ") - .append("JOIN BOLETO B ON B.BOLETO_ID = TVP.BOLETO_ID ") - .append("JOIN PARADA ORI ON ORI.PARADA_ID = B.ORIGEN_ID ") - .append("JOIN PARADA DES ON DES.PARADA_ID = B.DESTINO_ID ") - .append("WHERE 1=1 "); - + .append("FROM VENDA_PACOTE VP ") + .append("JOIN PACOTE P ON P.PACOTE_ID = VP.PACOTE_ID ") + .append("JOIN TARIFA_VENDA_PACOTE TVP ON TVP.VENDAPACOTE_ID = VP.VENDAPACOTE_ID ") + .append("JOIN BOLETO B ON B.BOLETO_ID = TVP.BOLETO_ID ") + .append("JOIN PARADA ORI ON ORI.PARADA_ID = B.ORIGEN_ID ") + .append("JOIN PARADA DES ON DES.PARADA_ID = B.DESTINO_ID ") + .append("WHERE 1=1 "); + adicionarFiltros(sQuery, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + SQLQuery query = getSession().createSQLQuery(sQuery.toString()) - .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) - .addScalar("FECHORVIAJE", TimestampType.INSTANCE) - .addScalar("ORIGEN_ID", IntegerType.INSTANCE) - .addScalar("ORIGEM", StringType.INSTANCE) - .addScalar("DESTINO", StringType.INSTANCE); - + .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) + .addScalar("FECHORVIAJE", TimestampType.INSTANCE) + .addScalar("ORIGEN_ID", IntegerType.INSTANCE) + .addScalar("ORIGEM", StringType.INSTANCE) + .addScalar("DESTINO", StringType.INSTANCE); + query.setResultTransformer(new DatosServicoResultTransformer()); adicionarFiltros(query, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + List servicos = query.list(); for (PacoteVO pacote : pacotes) { for (ServicoVO servico : servicos) { - if(servico.getVendapacoteId().equals(pacote.getVendapacoteId())) { + if (servico.getVendapacoteId().equals(pacote.getVendapacoteId())) { pacote.setServico(servico); break; } @@ -467,37 +469,37 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO pacotes, Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal, Date fecAlteracaoInicial, Date fecAlteracaoFinal) { StringBuilder sQuery = new StringBuilder(); sQuery.append("SELECT VP.VENDAPACOTE_ID, C.NOMBCLIENTE, C.APELLIDOPATERNO, C.APELLIDOMATERNO, C.NUMTELEFONO, C.DESCCORREO, C.NUMIDENTIFICAUNO, ") - .append("CD.DESCCALLE, CD.DESCCALLECOMP, CD.DESCCOLONIA, CD.DESCIUDAD, CD.NUMINTERIOR, CD.CODPOSTAL, CD.DESESTADO ") - .append("FROM CLIENTE C ") - .append("JOIN VENDA_PACOTE VP ON VP.CLIENTE_ID = C.CLIENTE_ID ") - .append("LEFT JOIN CLIENTE_DIRECCION CD ON CD.CLIENTE_ID = C.CLIENTE_ID ") - .append("WHERE 1=1 "); - + .append("CD.DESCCALLE, CD.DESCCALLECOMP, CD.DESCCOLONIA, CD.DESCIUDAD, CD.NUMINTERIOR, CD.CODPOSTAL, CD.DESESTADO ") + .append("FROM CLIENTE C ") + .append("JOIN VENDA_PACOTE VP ON VP.CLIENTE_ID = C.CLIENTE_ID ") + .append("LEFT JOIN CLIENTE_DIRECCION CD ON CD.CLIENTE_ID = C.CLIENTE_ID ") + .append("WHERE 1=1 "); + adicionarFiltros(sQuery, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + SQLQuery query = getSession().createSQLQuery(sQuery.toString()) - .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) - .addScalar("NOMBCLIENTE", StringType.INSTANCE) - .addScalar("APELLIDOPATERNO", StringType.INSTANCE) - .addScalar("APELLIDOMATERNO", StringType.INSTANCE) - .addScalar("NUMIDENTIFICAUNO", StringType.INSTANCE) - .addScalar("DESCCORREO", StringType.INSTANCE) - .addScalar("NUMTELEFONO", StringType.INSTANCE) - .addScalar("CODPOSTAL", StringType.INSTANCE) - .addScalar("DESCCALLE", StringType.INSTANCE) - .addScalar("NUMINTERIOR", StringType.INSTANCE) - .addScalar("DESCCALLECOMP", StringType.INSTANCE) - .addScalar("DESESTADO", StringType.INSTANCE) - .addScalar("DESCIUDAD", StringType.INSTANCE) - .addScalar("DESCCOLONIA", StringType.INSTANCE); - + .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) + .addScalar("NOMBCLIENTE", StringType.INSTANCE) + .addScalar("APELLIDOPATERNO", StringType.INSTANCE) + .addScalar("APELLIDOMATERNO", StringType.INSTANCE) + .addScalar("NUMIDENTIFICAUNO", StringType.INSTANCE) + .addScalar("DESCCORREO", StringType.INSTANCE) + .addScalar("NUMTELEFONO", StringType.INSTANCE) + .addScalar("CODPOSTAL", StringType.INSTANCE) + .addScalar("DESCCALLE", StringType.INSTANCE) + .addScalar("NUMINTERIOR", StringType.INSTANCE) + .addScalar("DESCCALLECOMP", StringType.INSTANCE) + .addScalar("DESESTADO", StringType.INSTANCE) + .addScalar("DESCIUDAD", StringType.INSTANCE) + .addScalar("DESCCOLONIA", StringType.INSTANCE); + query.setResultTransformer(new DatosClientePacoteResultTransformer()); adicionarFiltros(query, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + List clientesPacotes = query.list(); for (PacoteVO pacote : pacotes) { for (ClientePacoteVO clientePacote : clientesPacotes) { - if(clientePacote.getVendapacoteId().equals(pacote.getVendapacoteId())) { + if (clientePacote.getVendapacoteId().equals(pacote.getVendapacoteId())) { pacote.setClientePacote(clientePacote); } } @@ -508,101 +510,101 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO pacotes, Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal, Date fecAlteracaoInicial, Date fecAlteracaoFinal) { StringBuilder sQuery = new StringBuilder(); sQuery.append("SELECT DISTINCT VP.VENDAPACOTE_ID, TVP.TARIFAVENDAPACOTE_ID, TVP.NOMEPASSAGEIRO, CONCAT(CONCAT(TVP.TIPODOC,' - '), TVP.DOCUMENTO) AS DOCUMENTO, B.NUMASIENTO, C.CATEGORIA_ID, C.DESCCATEGORIA, B.BOLETO_ID,C.CVECATEGORIA ") - .append("FROM VENDA_PACOTE VP ") - .append("JOIN TARIFA_VENDA_PACOTE TVP ON TVP.VENDAPACOTE_ID = VP.VENDAPACOTE_ID ") - .append("LEFT JOIN BOLETO B ON B.BOLETO_ID = TVP.BOLETO_ID ") - .append("LEFT JOIN CATEGORIA C ON C.CATEGORIA_ID = B.CATEGORIA_ID ") - .append("WHERE 1=1 "); - + .append("FROM VENDA_PACOTE VP ") + .append("JOIN TARIFA_VENDA_PACOTE TVP ON TVP.VENDAPACOTE_ID = VP.VENDAPACOTE_ID ") + .append("LEFT JOIN BOLETO B ON B.BOLETO_ID = TVP.BOLETO_ID ") + .append("LEFT JOIN CATEGORIA C ON C.CATEGORIA_ID = B.CATEGORIA_ID ") + .append("WHERE 1=1 "); + adicionarFiltros(sQuery, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + SQLQuery query = getSession().createSQLQuery(sQuery.toString()) - .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) - .addScalar("BOLETO_ID", LongType.INSTANCE) - .addScalar("TARIFAVENDAPACOTE_ID", LongType.INSTANCE) - .addScalar("NOMEPASSAGEIRO", StringType.INSTANCE) - .addScalar("DOCUMENTO", StringType.INSTANCE) - .addScalar("NUMASIENTO", StringType.INSTANCE) - .addScalar("CATEGORIA_ID", IntegerType.INSTANCE) - .addScalar("CVECATEGORIA", StringType.INSTANCE) - .addScalar("DESCCATEGORIA", StringType.INSTANCE); - + .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) + .addScalar("BOLETO_ID", LongType.INSTANCE) + .addScalar("TARIFAVENDAPACOTE_ID", LongType.INSTANCE) + .addScalar("NOMEPASSAGEIRO", StringType.INSTANCE) + .addScalar("DOCUMENTO", StringType.INSTANCE) + .addScalar("NUMASIENTO", StringType.INSTANCE) + .addScalar("CATEGORIA_ID", IntegerType.INSTANCE) + .addScalar("CVECATEGORIA", StringType.INSTANCE) + .addScalar("DESCCATEGORIA", StringType.INSTANCE); + query.setResultTransformer(new DatosPassageiroResultTransformer()); adicionarFiltros(query, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + List passageiros = query.list(); for (PacoteVO pacote : pacotes) { for (PassageiroVO passageiro : passageiros) { - if(passageiro.getVendapacoteId().equals(pacote.getVendapacoteId())) { - if(pacote.getPax() == null) { + if (passageiro.getVendapacoteId().equals(pacote.getVendapacoteId())) { + if (pacote.getPax() == null) { pacote.setPax(new ArrayList()); } pacote.getPax().add(passageiro); } } - } + } } @SuppressWarnings("unchecked") private void carregarDadosEnderecoApanhe(List pacotes, Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal, Date fecAlteracaoInicial, Date fecAlteracaoFinal) { StringBuilder sQuery = new StringBuilder(); sQuery.append("SELECT DISTINCT VP.VENDAPACOTE_ID, EA.LOCAL, EA.DESCHOTEL, EA.CEP, EA.ENDERECO, EA.NUMERO, EA.COMPLEMENTO, EA.CIDADE, EA.BAIRRO, EA.REFERENCIA ") - .append("FROM ENDERECO_APANHE EA ") - .append("JOIN VENDA_PACOTE VP ON EA.VENDAPACOTE_ID = VP.VENDAPACOTE_ID ") - .append("WHERE EA.ACTIVO = 1 "); - + .append("FROM ENDERECO_APANHE EA ") + .append("JOIN VENDA_PACOTE VP ON EA.VENDAPACOTE_ID = VP.VENDAPACOTE_ID ") + .append("WHERE EA.ACTIVO = 1 "); + adicionarFiltros(sQuery, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + SQLQuery query = getSession().createSQLQuery(sQuery.toString()) - .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) - .addScalar("LOCAL", IntegerType.INSTANCE) - .addScalar("CEP", StringType.INSTANCE) - .addScalar("ENDERECO", StringType.INSTANCE) - .addScalar("NUMERO", StringType.INSTANCE) - .addScalar("COMPLEMENTO", StringType.INSTANCE) - .addScalar("CIDADE", StringType.INSTANCE) - .addScalar("BAIRRO", StringType.INSTANCE) - .addScalar("REFERENCIA", StringType.INSTANCE) - .addScalar("DESCHOTEL", StringType.INSTANCE); - + .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) + .addScalar("LOCAL", IntegerType.INSTANCE) + .addScalar("CEP", StringType.INSTANCE) + .addScalar("ENDERECO", StringType.INSTANCE) + .addScalar("NUMERO", StringType.INSTANCE) + .addScalar("COMPLEMENTO", StringType.INSTANCE) + .addScalar("CIDADE", StringType.INSTANCE) + .addScalar("BAIRRO", StringType.INSTANCE) + .addScalar("REFERENCIA", StringType.INSTANCE) + .addScalar("DESCHOTEL", StringType.INSTANCE); + query.setResultTransformer(new DatosEnderecoApanheResultTransformer()); adicionarFiltros(query, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + List enderecosApanhe = query.list(); for (PacoteVO pacote : pacotes) { for (EnderecoApanheVO enderecoApanhe : enderecosApanhe) { - if(enderecoApanhe.getVendapacoteId().equals(pacote.getVendapacoteId())) { + if (enderecoApanhe.getVendapacoteId().equals(pacote.getVendapacoteId())) { pacote.setEnderecoApanhe(enderecoApanhe); } } } } - + @SuppressWarnings("unchecked") private void carregarDadosItemPacotes(List pacotes, Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal, Date fecAlteracaoInicial, Date fecAlteracaoFinal) { StringBuilder sQuery = new StringBuilder(); sQuery.append("SELECT DISTINCT IA.DESCITEMADICIONAL, VP.VENDAPACOTE_ID, PI.ITEMADICIONAL_ID ") - .append("FROM ITEM_ADICIONAL IA ") - .append("JOIN PACOTE_ITEM PI ON IA.ITEMADICIONAL_ID = PI.ITEMADICIONAL_ID ") - .append("JOIN PACOTE P ON P.PACOTE_ID = PI.PACOTE_ID ") - .append("JOIN VENDA_PACOTE VP ON VP.PACOTE_ID = P.PACOTE_ID ") - .append("WHERE IA.ACTIVO = 1 "); - + .append("FROM ITEM_ADICIONAL IA ") + .append("JOIN PACOTE_ITEM PI ON IA.ITEMADICIONAL_ID = PI.ITEMADICIONAL_ID ") + .append("JOIN PACOTE P ON P.PACOTE_ID = PI.PACOTE_ID ") + .append("JOIN VENDA_PACOTE VP ON VP.PACOTE_ID = P.PACOTE_ID ") + .append("WHERE IA.ACTIVO = 1 "); + adicionarFiltros(sQuery, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + SQLQuery query = getSession().createSQLQuery(sQuery.toString()) - .addScalar("DESCITEMADICIONAL", StringType.INSTANCE) - .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) - .addScalar("ITEMADICIONAL_ID", LongType.INSTANCE); - + .addScalar("DESCITEMADICIONAL", StringType.INSTANCE) + .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) + .addScalar("ITEMADICIONAL_ID", LongType.INSTANCE); + query.setResultTransformer(new DatosItemAdicionalResultTransformer()); adicionarFiltros(query, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); - + List itens = query.list(); for (PacoteVO pacote : pacotes) { for (ItemAdicionalVO itemAdicional : itens) { - if(itemAdicional.getVendapacoteId().equals(pacote.getVendapacoteId())) { - if(pacote.getItens() == null) { + if (itemAdicional.getVendapacoteId().equals(pacote.getVendapacoteId())) { + if (pacote.getItens() == null) { pacote.setItens(new ArrayList()); } pacote.getItens().add(itemAdicional); @@ -610,29 +612,29 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO dadosBancarios = query.list(); - if(dadosBancarios != null && !dadosBancarios.isEmpty()) { + if (dadosBancarios != null && !dadosBancarios.isEmpty()) { pagamento.setDadosBancarios(dadosBancarios); } }