diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java index 4a05cd920..6d48a9372 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java @@ -75,7 +75,7 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO= :fecInicial "); @@ -112,7 +113,8 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO implemen .addScalar("descnumdoc2", StringType.INSTANCE) .addScalar("desctipodoc", StringType.INSTANCE) .addScalar("desctipodoc2", StringType.INSTANCE) - .addScalar("desctelefono", StringType.INSTANCE); - + .addScalar("desctelefono", StringType.INSTANCE) + .addScalar("tipotarjeta", StringType.INSTANCE) + .addScalar("cantparcelas", IntegerType.INSTANCE) + .addScalar("numtarjeta", StringType.INSTANCE) + .addScalar("fecoperacion", TimestampType.INSTANCE) + .addScalar("nombtitular", StringType.INSTANCE) + .addScalar("ocdId", LongType.INSTANCE) + .addScalar("numoperacionOcd", StringType.INSTANCE) + .addScalar("notacreditovendapacoteId", LongType.INSTANCE); sql.setResultTransformer(new AliasToBeanResultTransformer(CajaDetalleVO.class)); @@ -188,10 +197,27 @@ public class CajaHibernateDAO extends GenericHibernateDAO implemen pagamentoVO.setFormapagamento(cd.getDescPago()); pagamentoVO.setMoeda("R$"); pagamentoVO.setValor(cd.getVlrFormaPago()); + + if(cd.getNotacreditovendapacoteId() != null) { + NotaCreditoVendaPacoteVO notacredito = new NotaCreditoVendaPacoteVO(); + notacredito.setVouchernotacredito(cd.getNotacreditovendapacoteId().toString()); + pagamentoVO.setNotacredito(notacredito); + } + + if(cd.getOcdId() != null) { + NotaCreditoVendaPacoteVO notacredito = new NotaCreditoVendaPacoteVO(); + notacredito.setVouchernotacredito(OcdUtil.generaLocalizadorOCD(cd.getNumoperacionOcd(), cd.getOcdId())); + pagamentoVO.setNotacredito(notacredito); + } if (StringUtils.isNotBlank(cd.getNumAutorizacion())){ PagamentoCartaoVO cartao = new PagamentoCartaoVO(); cartao.setNumautorizacao(cd.getNumAutorizacion()); + cartao.setBandeira(cd.getTipotarjeta()); + cartao.setDatapagamento(cd.getFecoperacion()); + cartao.setNumcartao(cd.getNumtarjeta()); + cartao.setParcelas(cd.getCantparcelas()); + cartao.setTitular(cd.getNombtitular()); pagamentoVO.setCartao(cartao); } diff --git a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java index 12980b825..23a57ef63 100644 --- a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java +++ b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java @@ -927,6 +927,11 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" co.ruta_id as \"rutaId\", "); sb.append(" c.usuario_id as \"usuarioId\", "); sb.append(" ct.numautorizacion as \"numAutorizacion\", "); + sb.append(" ct.tipotarjeta as \"tipotarjeta\", "); + sb.append(" ct.cantparcelas as \"cantparcelas\", "); + sb.append(" ct.numtarjeta as \"numtarjeta\", "); + sb.append(" ct.fecoperacion as \"fecoperacion\", "); + sb.append(" ct.nombtitular as \"nombtitular\", "); sb.append(" fp.DESCPAGO as \"descPago\", "); sb.append(" fp.formapago_id as \"formaPagoId\", "); sb.append(" cfp.importe as \"vlrFormaPago\", "); @@ -935,7 +940,9 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" (case when cfp.formapago_id = 11 then cdp.numdocumento else null end) as \"ordenSevicio\", "); sb.append(" C.TRANSACAO_ID as \"transacaoId\", C.TRANSACAOORIGINAL_ID as \"transacaooriginalId\", "); sb.append(" C.DESCNUMDOC as \"descnumdoc\", C.DESCNUMDOC2 as \"descnumdoc2\", C.DESCTIPODOC as \"desctipodoc\", "); - sb.append(" C.DESCTIPODOC2 as \"desctipodoc2\", C.DESCTELEFONO as \"desctelefono\" "); + sb.append(" C.DESCTIPODOC2 as \"desctipodoc2\", C.DESCTELEFONO as \"desctelefono\", "); + sb.append(" ocd.ocd_id as \"ocdId\", ocd.numoperacion as \"numoperacionOcd\", "); + sb.append(" cdp.notacreditovendapacote_id as \"notacreditovendapacoteId\" "); sb.append(" from "); sb.append(" caja c "); sb.append(" left join corrida co on co.corrida_id = c.corrida_id and co.feccorrida = c.feccorrida "); @@ -947,6 +954,7 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" inner join categoria ca on ca.categoria_id = c.categoria_id "); sb.append(" left join motivo_cancelacion mc on mc.motivocancelacion_id = c.motivocancelacion_id "); sb.append(" left join tarifa_venda_pacote tvp on tvp.boleto_id = c.transacao_id "); + sb.append(" left join ocd ocd on ocd.ocd_id = cdp.ocd_id "); sb.append(" "); sb.append(" where "); sb.append(" trunc(fechorventa) between to_date('").append(sdf.format(fechaDesde)).append("','yyyy-MM-dd') and ").append(" to_date('").append(sdf.format(fechaHasta)).append("','yyyy-MM-dd')"); diff --git a/src/com/rjconsultores/ventaboletos/utilerias/OcdUtil.java b/src/com/rjconsultores/ventaboletos/utilerias/OcdUtil.java new file mode 100644 index 000000000..ed5ad4d44 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/utilerias/OcdUtil.java @@ -0,0 +1,13 @@ +package com.rjconsultores.ventaboletos.utilerias; + +public class OcdUtil { + + public static String generaLocalizadorOCD(String numoperacion, Long ocdId) { + char letraPosicao1 = (char) (numoperacion.charAt(numoperacion.length() - 1) + 25); + char letraPosicao2 = (char) (numoperacion.charAt(numoperacion.length() - 2) + 25); + char letraPosicao3 = (char) (numoperacion.charAt(numoperacion.length() - 3) + 25); + String localizador = String.format("%s%s%s%s%d", numoperacion, letraPosicao1, letraPosicao2, letraPosicao3, ocdId).toLowerCase(); + return localizador; + } + +} diff --git a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/EnderecoApanheVO.java b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/EnderecoApanheVO.java index e51d9647f..0b458c0f5 100644 --- a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/EnderecoApanheVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/EnderecoApanheVO.java @@ -5,7 +5,7 @@ import javax.xml.bind.annotation.XmlTransient; import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "pacote") -@XmlType(propOrder = { "local", "cep", "endereco", "cidade", "numero", "bairro", "complemento", "referencia" }) +@XmlType(propOrder = { "local", "deschotel", "cep", "endereco", "cidade", "numero", "bairro", "complemento", "referencia" }) public class EnderecoApanheVO { private Long vendapacoteId; @@ -17,6 +17,7 @@ public class EnderecoApanheVO { private String bairro; private String complemento; private String referencia; + private String deschotel; public String getLocal() { return local; @@ -91,4 +92,12 @@ public class EnderecoApanheVO { this.vendapacoteId = vendapacoteId; } + public String getDeschotel() { + return deschotel; + } + + public void setDeschotel(String deschotel) { + this.deschotel = deschotel; + } + } diff --git a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/NotaCreditoVendaPacoteVO.java b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/NotaCreditoVendaPacoteVO.java index e53d65990..2a9ab2146 100644 --- a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/NotaCreditoVendaPacoteVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/NotaCreditoVendaPacoteVO.java @@ -8,7 +8,7 @@ import javax.xml.bind.annotation.XmlType; public class NotaCreditoVendaPacoteVO { private String numoperacaopacotecancelamento; - private Long vouchernotacredito; + private String vouchernotacredito; public String getNumoperacaopacotecancelamento() { return numoperacaopacotecancelamento; @@ -18,11 +18,11 @@ public class NotaCreditoVendaPacoteVO { this.numoperacaopacotecancelamento = numoperacaopacotecancelamento; } - public Long getVouchernotacredito() { + public String getVouchernotacredito() { return vouchernotacredito; } - public void setVouchernotacredito(Long vouchernotacredito) { + public void setVouchernotacredito(String vouchernotacredito) { this.vouchernotacredito = vouchernotacredito; } diff --git a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/PacoteVO.java b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/PacoteVO.java index 73e5c4647..98fe1c76c 100644 --- a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/PacoteVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/PacoteVO.java @@ -13,7 +13,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "pacote") @XmlType(propOrder = { "numoperacao", "datavenda", "datapacote", "dataalteracao", "datacancelamento", "nompacote", "pacoteId", "descpacote", "usuariovenda", - "status", "pontoVenda", "empresa", "quantidade", "totalTarifa", "totalSeguro", "totalOutros", "totalPedagio", "totalTaxaEmbarque", + "status", "pontoVenda", "empresaId", "empresa", "quantidade", "totalTarifa", "totalSeguro", "totalOutros", "totalPedagio", "totalTaxaEmbarque", "valorsubtotal", "valortotal", "valordesconto", "formaspagamento", "servico", "pax", "enderecoApanhe", "clientePacote", "itens" }) public class PacoteVO { @@ -49,6 +49,8 @@ public class PacoteVO { private List pax = new ArrayList(); private List itens = new ArrayList(); + private Integer empresaId; + /* Auxiliares */ private Integer qtdePacoteFormaspago; @@ -292,4 +294,12 @@ public class PacoteVO { this.dataalteracao = dataalteracao; } + public Integer getEmpresaId() { + return empresaId; + } + + public void setEmpresaId(Integer empresaId) { + this.empresaId = empresaId; + } + } diff --git a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosEnderecoApanheResultTransformer.java b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosEnderecoApanheResultTransformer.java index e00135d2a..13ca852b5 100644 --- a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosEnderecoApanheResultTransformer.java +++ b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosEnderecoApanheResultTransformer.java @@ -5,7 +5,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.commons.lang.StringUtils; import org.hibernate.transform.ResultTransformer; import com.rjconsultores.ventaboletos.enums.LocalEnderecoApanhe; @@ -51,15 +50,8 @@ public class DatosEnderecoApanheResultTransformer implements ResultTransformer { private void setDatosEnderecoApanhe(EnderecoApanheVO enderecoApanhe, Map tupleMap) { LocalEnderecoApanhe localEnderecoApanhe = LocalEnderecoApanhe.getLocalEnderecoApanhe((Integer) tupleMap.get("LOCAL")); - if(localEnderecoApanhe != null && LocalEnderecoApanhe.HOTEL.equals(localEnderecoApanhe)) { - enderecoApanhe.setLocal((String) tupleMap.get("DESCHOTEL")); - if(StringUtils.isBlank(enderecoApanhe.getLocal())) { - enderecoApanhe.setLocal(localEnderecoApanhe.toString()); - } - } else if (localEnderecoApanhe != null) { - enderecoApanhe.setLocal(localEnderecoApanhe.toString()); - } - + enderecoApanhe.setLocal(localEnderecoApanhe.toString()); + enderecoApanhe.setDeschotel((String) tupleMap.get("DESCHOTEL")); enderecoApanhe.setCep((String) tupleMap.get("CEP")); enderecoApanhe.setEndereco((String) tupleMap.get("ENDERECO")); enderecoApanhe.setNumero((String) tupleMap.get("NUMERO")); diff --git a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosPagamentoResultTransformer.java b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosPagamentoResultTransformer.java index 2af50ca65..554baeaca 100644 --- a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosPagamentoResultTransformer.java +++ b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosPagamentoResultTransformer.java @@ -73,7 +73,7 @@ public class DatosPagamentoResultTransformer implements ResultTransformer { if(tupleMap.get("NOTACREDITOVENDAPACOTE_ID") != null) { NotaCreditoVendaPacoteVO notacredito = new NotaCreditoVendaPacoteVO(); - notacredito.setVouchernotacredito((Long) tupleMap.get("NOTACREDITOVENDAPACOTE_ID")); + notacredito.setVouchernotacredito(((Long) tupleMap.get("NOTACREDITOVENDAPACOTE_ID")).toString()); notacredito.setNumoperacaopacotecancelamento((String) tupleMap.get("NUMOPERACAOPACOTECANCELAMENTO")); pagamento.setNotacredito(notacredito); } diff --git a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosTicketResultTransformer.java b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosTicketResultTransformer.java index 4c88fddee..3e209d4b3 100644 --- a/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosTicketResultTransformer.java +++ b/src/com/rjconsultores/ventaboletos/vo/busquedapacotes/transformer/DatosTicketResultTransformer.java @@ -85,6 +85,7 @@ public class DatosTicketResultTransformer implements ResultTransformer { pacote.setQtdePacoteFormaspago((Integer) tupleMap.get("QTDEPACOTEFORMAPAGO")); pacote.setDataalteracao((Date) tupleMap.get("FECMODIF")); pacote.setDatacancelamento((Date) tupleMap.get("DATACANCELAMENTO")); + pacote.setEmpresaId((Integer) tupleMap.get("EMPRESA_ID")); if(StringUtils.isNotBlank(pacote.getDescpacote())){ pacote.setDescpacote(StringEscapeUtils.unescapeHtml(pacote.getDescpacote().replaceAll(" ", " ").replaceAll("\\<.*?\\>", " ")).replaceAll("\\s+", " ")); diff --git a/src/com/rjconsultores/ventaboletos/vo/caja/CajaDetalleVO.java b/src/com/rjconsultores/ventaboletos/vo/caja/CajaDetalleVO.java index 4c0fee0bf..da58013b2 100644 --- a/src/com/rjconsultores/ventaboletos/vo/caja/CajaDetalleVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/caja/CajaDetalleVO.java @@ -10,6 +10,8 @@ import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; +import org.hibernate.type.StringType; + @XmlRootElement public class CajaDetalleVO { @@ -51,11 +53,9 @@ public class CajaDetalleVO { private String uf; private String desccategoria; private List formaspagamento = new ArrayList(); - @XmlTransient private String descPago; private String cveCategoria; private Integer formaPagoId; - @XmlTransient private BigDecimal vlrFormaPago; private String descMotivo; private Long transacaoId; @@ -67,6 +67,16 @@ public class CajaDetalleVO { private String desctipodoc2; private String desctelefono; + private String tipotarjeta; + private Integer cantparcelas; + private String numtarjeta; + private Date fecoperacion; + private String nombtitular; + + private Long notacreditovendapacoteId; + private Long ocdId; + private String numoperacionOcd; + public Long getCajaId() { return cajaId; } @@ -291,6 +301,7 @@ public class CajaDetalleVO { public void setFormaspagamento(List formaspagamento) { this.formaspagamento = formaspagamento; } + @XmlTransient public String getDescPago() { return descPago; } @@ -310,6 +321,7 @@ public class CajaDetalleVO { public void setFormaPagoId(Integer formaPagoId) { this.formaPagoId = formaPagoId; } + @XmlTransient public BigDecimal getVlrFormaPago() { return vlrFormaPago; } @@ -389,5 +401,61 @@ public class CajaDetalleVO { public void setDesctelefono(String desctelefono) { this.desctelefono = desctelefono; } + @XmlTransient + public String getTipotarjeta() { + return tipotarjeta; + } + public void setTipotarjeta(String tipotarjeta) { + this.tipotarjeta = tipotarjeta; + } + @XmlTransient + public Integer getCantparcelas() { + return cantparcelas; + } + public void setCantparcelas(Integer cantparcelas) { + this.cantparcelas = cantparcelas; + } + @XmlTransient + public String getNumtarjeta() { + return numtarjeta; + } + public void setNumtarjeta(String numtarjeta) { + this.numtarjeta = numtarjeta; + } + @XmlTransient + public Date getFecoperacion() { + return fecoperacion; + } + public void setFecoperacion(Date fecoperacion) { + this.fecoperacion = fecoperacion; + } + @XmlTransient + public String getNombtitular() { + return nombtitular; + } + public void setNombtitular(String nombtitular) { + this.nombtitular = nombtitular; + } + @XmlTransient + public Long getNotacreditovendapacoteId() { + return notacreditovendapacoteId; + } + public void setNotacreditovendapacoteId(Long notacreditovendapacoteId) { + this.notacreditovendapacoteId = notacreditovendapacoteId; + } + @XmlTransient + public Long getOcdId() { + return ocdId; + } + public void setOcdId(Long ocdId) { + this.ocdId = ocdId; + } + @XmlTransient + public String getNumoperacionOcd() { + return numoperacionOcd; + } + public void setNumoperacionOcd(String numoperacionOcd) { + this.numoperacionOcd = numoperacionOcd; + } } diff --git a/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoCartaoVO.java b/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoCartaoVO.java index f7016133a..5a641b1ab 100644 --- a/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoCartaoVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoCartaoVO.java @@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.vo.caja; import java.util.Date; import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlTransient; @XmlRootElement(name="cartao") public class PagamentoCartaoVO { diff --git a/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoVO.java b/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoVO.java index bc6a9f603..92c71e94a 100644 --- a/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/caja/PagamentoVO.java @@ -6,8 +6,10 @@ import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; import javax.xml.bind.annotation.XmlType; +import com.rjconsultores.ventaboletos.vo.busquedapacotes.NotaCreditoVendaPacoteVO; + @XmlRootElement(name = "pagamento") -@XmlType(propOrder = { "formapagamento", "moeda", "valor", "cartao"}) +@XmlType(propOrder = { "formapagamento", "moeda", "valor", "cartao", "notacredito"}) public class PagamentoVO { private String formapagamento; @@ -15,7 +17,7 @@ public class PagamentoVO { private BigDecimal valor; private PagamentoCartaoVO cartao; private Integer formapagoId; - + private NotaCreditoVendaPacoteVO notacredito; public String getMoeda() { return moeda; @@ -57,4 +59,12 @@ public class PagamentoVO { public void setFormapagoId(Integer formapagoId) { this.formapagoId = formapagoId; } + + public NotaCreditoVendaPacoteVO getNotacredito() { + return notacredito; + } + + public void setNotacredito(NotaCreditoVendaPacoteVO notacredito) { + this.notacredito = notacredito; + } }