From 93bdcc5dcfb1172077b2138beb01b07d85fbb2b8 Mon Sep 17 00:00:00 2001 From: wilian Date: Fri, 28 Apr 2017 21:05:08 +0000 Subject: [PATCH] fixes bug #8923 fixes bug #8925 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@68402 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../BusquedaDatosTicketHibernateDAO.java | 260 ++++++++++-------- .../vo/busquedapacotes/OcdPacoteVO.java | 20 ++ .../vo/busquedapacotes/PagamentoVO.java | 11 +- .../DatosClientePacoteResultTransformer.java | 40 ++- .../DatosPagamentoResultTransformer.java | 41 ++- 5 files changed, 233 insertions(+), 139 deletions(-) create mode 100644 src/com/rjconsultores/ventaboletos/vo/busquedapacotes/OcdPacoteVO.java diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java index 8e89fecfa..eadd02e4e 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java @@ -18,7 +18,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; -import com.rjconsultores.ventaboletos.constantes.Constantes; import com.rjconsultores.ventaboletos.dao.BusquedaDatosTicketDAO; import com.rjconsultores.ventaboletos.entidad.Pacote; import com.rjconsultores.ventaboletos.enums.SituacaoVendaPacote; @@ -44,7 +43,6 @@ import com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer.DatosTicket public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO implements BusquedaDatosTicketDAO { private static Logger log = org.slf4j.LoggerFactory.getLogger(BusquedaDatosTicketHibernateDAO.class); - private List vendapacoteIds; @Autowired public BusquedaDatosTicketHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { @@ -53,18 +51,17 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO buscaDatosTickets(Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal, Date fecAlteracaoInicial, Date fecAlteracaoFinal) { - vendapacoteIds = null; List pacotes = new ArrayList(); try { pacotes = carregarDadosPacotes(fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); if(!pacotes.isEmpty()) { - carregarDadosPagamento(pacotes); - carregarDadosServico(pacotes); - carregarDadosPassageiros(pacotes); - carregarDadosCliente(pacotes); - carregarDadosEnderecoApanhe(pacotes); - carregarDadosItemPacotes(pacotes); + carregarDadosPagamento(pacotes, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); + carregarDadosServico(pacotes, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); + carregarDadosPassageiros(pacotes, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); + carregarDadosCliente(pacotes, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); + carregarDadosEnderecoApanhe(pacotes, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); + carregarDadosItemPacotes(pacotes, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); } } catch(Exception e) { @@ -75,6 +72,7 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO 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, ") @@ -93,29 +91,9 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO= :fecInicial "); - } - if(fecFinal != null) { - sQuery.append("AND VP.DATAPACOTE <= :fecFinal "); - } - - if(fecVentaInicial != null) { - sQuery.append("AND VP.DATAVENDA >= :fecVentaInicial "); - } - if(fecVentaFinal != null) { - sQuery.append("AND VP.DATAVENDA <= :fecVentaFinal "); - } - - if(fecAlteracaoInicial != null) { - sQuery.append("AND VP.FECMODIF >= :fecAlteracaoInicial "); - } - if(fecAlteracaoFinal != null) { - sQuery.append("AND VP.FECMODIF <= :fecAlteracaoFinal "); - } + .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, ") @@ -149,50 +127,34 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO pacotes) { + @SuppressWarnings("unchecked") + private void carregarDadosPagamento(List pacotes, Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal, Date fecAlteracaoInicial, Date fecAlteracaoFinal) { StringBuilder sQuery = new StringBuilder(); sQuery.append("SELECT PFP.PACOTEFORMAPAGO_ID, PFP.VALOR, PFP.VENDAPACOTE_ID, FP.FORMAPAGO_ID, FP.DESCPAGO, CT.TIPOTARJETA, CT.NUMAUTORIZACION, CT.CANTPARCELAS, ") - .append("NC.NOTACREDITOVENDAPACOTE_ID, VPC.NUMOPERACION AS NUMOPERACAOPACOTECANCELAMENTO, CT.NOMBTITULAR, CT.FECOPERACION, CT.NUMTARJETA, CT.DESCOPERADORACARTAO, ") - .append("FP.TIPO_PAGO, CDP.CAJADIVERSOSPAGO_ID ") - .append("FROM PACOTE_FORMAPAGO PFP ") - .append("JOIN FORMA_PAGO FP ON FP.FORMAPAGO_ID = PFP.FORMAPAGO_ID ") - .append("LEFT JOIN CAJA_DIVERSOS CD ON CD.VENDAPACOTE_ID = PFP.VENDAPACOTE_ID ") - .append("LEFT JOIN CAJA_DIVERSOS_PAGO CDP ON CDP.CAJADIVERSOS_ID = CD.CAJADIVERSOS_ID ") - .append("LEFT JOIN CAJA_TARJETA CT ON CT.CAJATARJETA_ID = CDP.CAJATARJETA_ID ") - .append("LEFT JOIN NOTA_CREDITO_VENDA_PACOTE NC ON NC.VENDAPACOTEPAGAMENTO_ID = PFP.VENDAPACOTE_ID ") - .append("LEFT JOIN VENDA_PACOTE VPC ON NC.VENDAPACOTECANCELAMENTO_ID = VPC.VENDAPACOTE_ID ") - .append("WHERE PFP.VENDAPACOTE_ID IN (:vendapacoteIds) ") - .append("ORDER BY PFP.VENDAPACOTE_ID"); + .append("NC.NOTACREDITOVENDAPACOTE_ID, VPC.NUMOPERACION AS NUMOPERACAOPACOTECANCELAMENTO, CT.NOMBTITULAR, CT.FECOPERACION, CT.NUMTARJETA, CT.DESCOPERADORACARTAO, ") + .append("FP.TIPO_PAGO, CDP.CAJADIVERSOSPAGO_ID, OCD.OCD_ID, OCD.NUMOPERACION AS NUMOPERACION_OCD ") + .append("FROM PACOTE_FORMAPAGO PFP ") + .append("JOIN FORMA_PAGO FP ON FP.FORMAPAGO_ID = PFP.FORMAPAGO_ID ") + .append("LEFT JOIN CAJA_DIVERSOS CD ON CD.VENDAPACOTE_ID = PFP.VENDAPACOTE_ID ") + .append("LEFT JOIN CAJA_DIVERSOS_PAGO CDP ON CDP.CAJADIVERSOS_ID = CD.CAJADIVERSOS_ID ") + .append("LEFT JOIN CAJA_TARJETA CT ON CT.CAJATARJETA_ID = CDP.CAJATARJETA_ID ") + .append("LEFT JOIN NOTA_CREDITO_VENDA_PACOTE NC ON NC.NOTACREDITOVENDAPACOTE_ID = PFP.NOTACREDITOVENDAPACOTE_ID ") + .append("LEFT JOIN OCD OCD ON OCD.OCD_ID = PFP.OCD_ID ") + .append("LEFT JOIN VENDA_PACOTE VPC ON NC.VENDAPACOTECANCELAMENTO_ID = VPC.VENDAPACOTE_ID ") + .append("LEFT JOIN VENDA_PACOTE VP ON VP.VENDAPACOTE_ID = PFP.VENDAPACOTE_ID ") + .append("WHERE 1=1 "); + + adicionarFiltros(sQuery, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); + + sQuery.append("ORDER BY VP.VENDAPACOTE_ID"); SQLQuery query = getSession().createSQLQuery(sQuery.toString()) - .addScalar("PACOTEFORMAPAGO_ID", LongType.INSTANCE) + .addScalar("CAJADIVERSOSPAGO_ID", LongType.INSTANCE) .addScalar("VALOR", BigDecimalType.INSTANCE) .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) .addScalar("FORMAPAGO_ID", IntegerType.INSTANCE) @@ -206,10 +168,12 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO pagamentos = query.list(); for (PacoteVO pacote : pacotes) { @@ -217,7 +181,6 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO()); @@ -239,6 +202,68 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO= :fecInicial "); + } + if(fecFinal != null) { + sQuery.append("AND VP.DATAPACOTE <= :fecFinal "); + } + + if(fecVentaInicial != null) { + sQuery.append("AND VP.DATAVENDA >= :fecVentaInicial "); + } + if(fecVentaFinal != null) { + sQuery.append("AND VP.DATAVENDA <= :fecVentaFinal "); + } + + if(fecAlteracaoInicial != null) { + sQuery.append("AND VP.FECMODIF >= :fecAlteracaoInicial "); + } + if(fecAlteracaoFinal != null) { + sQuery.append("AND VP.FECMODIF <= :fecAlteracaoFinal "); + } + + } + private boolean isPagamentoDeposito(PagamentoVO pagamento) { return TipoFormapago.DEPOSITO.equals(pagamento.getTipoFormapago()); } @@ -252,7 +277,8 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO pacotes) { + @SuppressWarnings("unchecked") + private void carregarDadosServico(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, 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 ") @@ -261,7 +287,9 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO servicos = query.list(); for (PacoteVO pacote : pacotes) { @@ -284,32 +312,36 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO pacotes) { + @SuppressWarnings("unchecked") + private void carregarDadosCliente(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, CP.RAZAO_SOCIAL, CP.CPF_CNPJ, CP.TIPO_PESSOA, CP.DESCEMAIL, CP.DESCTELEFONE, CP.DESCFAX, CP.CEP, CP.ENDERECO, CP.NUMERO, CP.COMPLEMENTO, CP.PAIS, CP.ESTADO, CP.CIDADE, CP.BAIRRO ") - .append("FROM CLIENTE_PACOTE CP ") - .append("JOIN VENDA_PACOTE VP ON CP.CLIENTEPACOTE_ID = VP.CLIENTEPACOTE_ID ") - .append("WHERE VP.VENDAPACOTE_ID IN (:vendapacoteIds) "); + 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 "); + + adicionarFiltros(sQuery, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); SQLQuery query = getSession().createSQLQuery(sQuery.toString()) .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) - .addScalar("RAZAO_SOCIAL", StringType.INSTANCE) - .addScalar("CPF_CNPJ", StringType.INSTANCE) - .addScalar("TIPO_PESSOA", IntegerType.INSTANCE) - .addScalar("DESCEMAIL", StringType.INSTANCE) - .addScalar("DESCTELEFONE", StringType.INSTANCE) - .addScalar("DESCFAX", StringType.INSTANCE) - .addScalar("CEP", StringType.INSTANCE) - .addScalar("ENDERECO", StringType.INSTANCE) - .addScalar("NUMERO", StringType.INSTANCE) - .addScalar("COMPLEMENTO", StringType.INSTANCE) - .addScalar("PAIS", StringType.INSTANCE) - .addScalar("ESTADO", StringType.INSTANCE) - .addScalar("CIDADE", StringType.INSTANCE) - .addScalar("BAIRRO", StringType.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()); - query.setParameterList("vendapacoteIds", getVendapacoteIds(pacotes)); + adicionarFiltros(query, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); List clientesPacotes = query.list(); for (PacoteVO pacote : pacotes) { @@ -321,14 +353,17 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO pacotes) { + @SuppressWarnings("unchecked") + private void carregarDadosPassageiros(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, 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 VP.VENDAPACOTE_ID IN (:vendapacoteIds) "); + .append("WHERE 1=1 "); + + adicionarFiltros(sQuery, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); SQLQuery query = getSession().createSQLQuery(sQuery.toString()) .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) @@ -342,7 +377,7 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO passageiros = query.list(); for (PacoteVO pacote : pacotes) { @@ -357,13 +392,15 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO pacotes) { + @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 VP.VENDAPACOTE_ID IN (:vendapacoteIds) ") - .append("AND EA.ACTIVO = 1"); + .append("WHERE EA.ACTIVO = 1 "); + + adicionarFiltros(sQuery, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); SQLQuery query = getSession().createSQLQuery(sQuery.toString()) .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) @@ -378,7 +415,7 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO enderecosApanhe = query.list(); for (PacoteVO pacote : pacotes) { @@ -390,26 +427,17 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO getVendapacoteIds(List pacotes) { - if(vendapacoteIds == null || vendapacoteIds.isEmpty()) { - vendapacoteIds = new ArrayList(); - for (PacoteVO pacoteVO : pacotes) { - vendapacoteIds.add(pacoteVO.getVendapacoteId()); - } - } - - return vendapacoteIds; - } - - private void carregarDadosItemPacotes(List pacotes) { + @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("AND VP.VENDAPACOTE_ID IN (:vendapacoteIds) "); + .append("WHERE IA.ACTIVO = 1 "); + + adicionarFiltros(sQuery, fecInicial, fecFinal, fecVentaInicial, fecVentaFinal, fecAlteracaoInicial, fecAlteracaoFinal); SQLQuery query = getSession().createSQLQuery(sQuery.toString()) .addScalar("DESCITEMADICIONAL", StringType.INSTANCE) @@ -417,7 +445,7 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO itens = query.list(); for (PacoteVO pacote : pacotes) { diff --git a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/OcdPacoteVO.java b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/OcdPacoteVO.java new file mode 100644 index 000000000..e45ca394a --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/OcdPacoteVO.java @@ -0,0 +1,20 @@ +package com.rjconsultores.ventaboletos.vo.busquedapacotes; + +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + +@XmlRootElement(name = "ocd") +@XmlType(propOrder = { "voucherocd" }) +public class OcdPacoteVO { + + private String voucherocd; + + public String getVoucherocd() { + return voucherocd; + } + + public void setVoucherocd(String voucherocd) { + this.voucherocd = voucherocd; + } + +} diff --git a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/PagamentoVO.java b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/PagamentoVO.java index 0572d1d30..1101eb7e9 100644 --- a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/PagamentoVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/PagamentoVO.java @@ -13,7 +13,7 @@ import com.rjconsultores.ventaboletos.enums.TipoFormapago; import com.rjconsultores.ventaboletos.vo.caja.PagamentoCartaoVO; @XmlRootElement(name = "pagamento") -@XmlType(propOrder = { "formapagamento", "moeda", "valor", "notacredito", "cartao", "dadosBancarios" }) +@XmlType(propOrder = { "formapagamento", "moeda", "valor", "notacredito", "ocd", "cartao", "dadosBancarios" }) public class PagamentoVO { private String formapagamento; @@ -25,6 +25,7 @@ public class PagamentoVO { private NotaCreditoVendaPacoteVO notacredito; private TipoFormapago tipoFormapago; private Long cajadiversospagoId; + private OcdPacoteVO ocd; private List dadosBancarios; @@ -139,4 +140,12 @@ public class PagamentoVO { this.dadosBancarios = dadosBancarios; } + public OcdPacoteVO getOcd() { + return ocd; + } + + public void setOcd(OcdPacoteVO ocd) { + this.ocd = ocd; + } + } diff --git a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosClientePacoteResultTransformer.java b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosClientePacoteResultTransformer.java index bdc8f2e79..227c00187 100644 --- a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosClientePacoteResultTransformer.java +++ b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosClientePacoteResultTransformer.java @@ -7,7 +7,6 @@ import java.util.Map; import org.hibernate.transform.ResultTransformer; -import com.rjconsultores.ventaboletos.enums.TipoPessoa; import com.rjconsultores.ventaboletos.vo.busquedapacotes.ClientePacoteVO; public class DatosClientePacoteResultTransformer implements ResultTransformer { @@ -49,20 +48,33 @@ public class DatosClientePacoteResultTransformer implements ResultTransformer { } private void setDatosClientePacote(ClientePacoteVO clientePacote, Map tupleMap) { - clientePacote.setRazaoSocial((String) tupleMap.get("RAZAO_SOCIAL")); - clientePacote.setCpfCnpj((String) tupleMap.get("CPF_CNPJ")); - clientePacote.setTipoPessoa(TipoPessoa.getTipoPessoa((Integer) tupleMap.get("TIPO_PESSOA")).toString()); - clientePacote.setDescemail((String) tupleMap.get("DESCEMAIL")); + StringBuilder sRazaoSocial = new StringBuilder(); + if(tupleMap.get("NOMBCLIENTE") != null) { + sRazaoSocial.append(tupleMap.get("NOMBCLIENTE")); + } + if(tupleMap.get("APELLIDOPATERNO") != null) { + if(sRazaoSocial.length() > 0) { + sRazaoSocial.append(" "); + } + sRazaoSocial.append(tupleMap.get("APELLIDOPATERNO")); + } + if(tupleMap.get("APELLIDOMATERNO") != null) { + if(sRazaoSocial.length() > 0) { + sRazaoSocial.append(" "); + } + sRazaoSocial.append(tupleMap.get("APELLIDOMATERNO")); + } + clientePacote.setRazaoSocial(sRazaoSocial.toString()); + clientePacote.setCpfCnpj((String) tupleMap.get("NUMIDENTIFICAUNO")); + clientePacote.setDescemail((String) tupleMap.get("DESCCORREO")); clientePacote.setDesctelefone((String) tupleMap.get("DESCTELEFONE")); - clientePacote.setDescfax((String) tupleMap.get("DESCFAX")); - clientePacote.setCep((String) tupleMap.get("CEP")); - clientePacote.setEndereco((String) tupleMap.get("ENDERECO")); - clientePacote.setNumero((String) tupleMap.get("NUMERO")); - clientePacote.setComplemento((String) tupleMap.get("COMPLEMENTO")); - clientePacote.setPais((String) tupleMap.get("PAIS")); - clientePacote.setEstado((String) tupleMap.get("ESTADO")); - clientePacote.setCidade((String) tupleMap.get("CIDADE")); - clientePacote.setBairro((String) tupleMap.get("BAIRRO")); + clientePacote.setCep((String) tupleMap.get("CODPOSTAL")); + clientePacote.setEndereco((String) tupleMap.get("DESCCALLE")); + clientePacote.setNumero((String) tupleMap.get("NUMINTERIOR")); + clientePacote.setComplemento((String) tupleMap.get("DESCCALLECOMP")); + clientePacote.setEstado((String) tupleMap.get("DESESTADO")); + clientePacote.setCidade((String) tupleMap.get("DESCIUDAD")); + clientePacote.setBairro((String) tupleMap.get("DESCCOLONIA")); } } diff --git a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosPagamentoResultTransformer.java b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosPagamentoResultTransformer.java index 44e4a6d2e..65f587a92 100644 --- a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosPagamentoResultTransformer.java +++ b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosPagamentoResultTransformer.java @@ -2,6 +2,8 @@ package com.rjconsultores.ventaboletos.vo.busquedapacotes.transformer; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -10,7 +12,9 @@ import java.util.Map; import org.hibernate.transform.ResultTransformer; import com.rjconsultores.ventaboletos.enums.TipoFormapago; +import com.rjconsultores.ventaboletos.utilerias.OcdUtil; import com.rjconsultores.ventaboletos.vo.busquedapacotes.NotaCreditoVendaPacoteVO; +import com.rjconsultores.ventaboletos.vo.busquedapacotes.OcdPacoteVO; import com.rjconsultores.ventaboletos.vo.busquedapacotes.PagamentoVO; import com.rjconsultores.ventaboletos.vo.caja.PagamentoCartaoVO; @@ -26,17 +30,25 @@ public class DatosPagamentoResultTransformer implements ResultTransformer { for(Object objmap : mapList ) { Map tupleMap = (Map) objmap; - Long pacoteformapagoId = (Long) tupleMap.get("PACOTEFORMAPAGO_ID"); + Long cajadiversospagoId = (Long) tupleMap.get("CAJADIVERSOSPAGO_ID"); - if(!pacotes.containsKey(pacoteformapagoId)){ + if(!pacotes.containsKey(cajadiversospagoId)){ PagamentoVO pagamento = new PagamentoVO(); setDatosPacote(pagamento, tupleMap); - pacotes.put(pacoteformapagoId, pagamento); + if(pagamento.getValor().signum() >= 0) { + pacotes.put(cajadiversospagoId, pagamento); + } } } List pacotesList = new ArrayList(); pacotesList.addAll(pacotes.values()); + Collections.sort(pacotesList, new Comparator() { + @Override + public int compare(PagamentoVO o1, PagamentoVO o2) { + return o1.getVendapacoteId().compareTo(o2.getVendapacoteId()); + } + }); return pacotesList; } @@ -76,11 +88,20 @@ public class DatosPagamentoResultTransformer implements ResultTransformer { pagamento.setCartao(cartao); } - if(tupleMap.get("NOTACREDITOVENDAPACOTE_ID") != null) { - NotaCreditoVendaPacoteVO notacredito = new NotaCreditoVendaPacoteVO(); - notacredito.setVouchernotacredito(((Long) tupleMap.get("NOTACREDITOVENDAPACOTE_ID")).toString()); - notacredito.setNumoperacaopacotecancelamento((String) tupleMap.get("NUMOPERACAOPACOTECANCELAMENTO")); - pagamento.setNotacredito(notacredito); + if(isVentaNotaCredito(pagamento.getTipoFormapago())) { + if(tupleMap.get("NOTACREDITOVENDAPACOTE_ID") != null) { + NotaCreditoVendaPacoteVO notacredito = new NotaCreditoVendaPacoteVO(); + notacredito.setVouchernotacredito(((Long) tupleMap.get("NOTACREDITOVENDAPACOTE_ID")).toString()); + notacredito.setNumoperacaopacotecancelamento((String) tupleMap.get("NUMOPERACAOPACOTECANCELAMENTO")); + pagamento.setNotacredito(notacredito); + } + + if(tupleMap.get("OCD_ID") != null) { + String voucherocd = OcdUtil.generaLocalizadorOCD((String) tupleMap.get("NUMOPERACION_OCD"), (Long) tupleMap.get("OCD_ID")); + OcdPacoteVO ocdPacote = new OcdPacoteVO(); + ocdPacote.setVoucherocd(voucherocd); + pagamento.setOcd(ocdPacote); + } } } @@ -92,5 +113,9 @@ public class DatosPagamentoResultTransformer implements ResultTransformer { private boolean isVentaCartaoDebito(TipoFormapago tipoFormapago) { return TipoFormapago.DEBITO.equals(tipoFormapago); } + + private boolean isVentaNotaCredito(TipoFormapago tipoFormapago) { + return TipoFormapago.NOTA_CREDITO.equals(tipoFormapago); + } }