wilian 2017-03-09 17:11:36 +00:00
parent d5cb184798
commit b5b8f05215
13 changed files with 170 additions and 27 deletions

View File

@ -75,7 +75,7 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO<Pacote,
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, ")
.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, ")
@ -88,7 +88,8 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO<Pacote,
.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("WHERE (B.BOLETO_ID IS NULL OR B.INDSTATUSBOLETO = 'V') ")
.append("AND VP.SITUACAO != :situacaoPacote ");
if(fecInicial != null) {
sQuery.append("AND VP.DATAPACOTE >= :fecInicial ");
@ -112,7 +113,8 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO<Pacote,
}
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, VP.SITUACAO, PV.NOMBPUNTOVENTA, VP.USUARIO_ID, VP.FECMODIF, VP.DATACANCELAMENTO ");
.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 ");
SQLQuery query = getSession().createSQLQuery(sQuery.toString())
.addScalar("VENDAPACOTE_ID", LongType.INSTANCE)
@ -137,10 +139,13 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO<Pacote,
.addScalar("TOTALSEGURO", BigDecimalType.INSTANCE)
.addScalar("QTDEPACOTEFORMAPAGO", IntegerType.INSTANCE)
.addScalar("FECMODIF", TimestampType.INSTANCE)
.addScalar("DATACANCELAMENTO", TimestampType.INSTANCE);
.addScalar("DATACANCELAMENTO", TimestampType.INSTANCE)
.addScalar("EMPRESA_ID", IntegerType.INSTANCE);
query.setResultTransformer(new DatosTicketResultTransformer());
query.setParameter("situacaoPacote", SituacaoVendaPacote.RESERVA.getShortValue());
if(fecInicial != null) {
query.setParameter("fecInicial", fecInicial, DateType.INSTANCE);
}

View File

@ -29,6 +29,8 @@ import com.rjconsultores.ventaboletos.exception.VendaEmbarcadaBoletoException;
import com.rjconsultores.ventaboletos.exception.VendaEmbarcadaBoletoFormapagoException;
import com.rjconsultores.ventaboletos.exception.VendaEmbarcadaCajaException;
import com.rjconsultores.ventaboletos.exception.VendaEmbarcadaCajaFormapagoException;
import com.rjconsultores.ventaboletos.utilerias.OcdUtil;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.NotaCreditoVendaPacoteVO;
import com.rjconsultores.ventaboletos.vo.caja.CajaCerradoVO;
import com.rjconsultores.ventaboletos.vo.caja.CajaDetalleVO;
import com.rjconsultores.ventaboletos.vo.caja.CajaVO;
@ -158,8 +160,15 @@ public class CajaHibernateDAO extends GenericHibernateDAO<Object, Long> 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));
@ -189,9 +198,26 @@ public class CajaHibernateDAO extends GenericHibernateDAO<Object, Long> implemen
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);
}

View File

@ -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')");

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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<PassageiroVO> pax = new ArrayList<PassageiroVO>();
private List<ItemAdicionalVO> itens = new ArrayList<ItemAdicionalVO>();
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;
}
}

View File

@ -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<String, Object> 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"));

View File

@ -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);
}

View File

@ -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("&nbsp;", " ").replaceAll("\\<.*?\\>", " ")).replaceAll("\\s+", " "));

View File

@ -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<PagamentoVO> formaspagamento = new ArrayList<PagamentoVO>();
@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<PagamentoVO> 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;
}
}

View File

@ -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 {

View File

@ -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;
}
}